Commit Graph

195 Commits

Author SHA1 Message Date
Stanislav Shwartsman
6b86091441 Implemented new debugger 'page' command according to feature request
[ bochs-Feature Requests-604221 ] Debugger command: query lin<->phys mapping
2007-09-23 21:10:06 +00:00
Stanislav Shwartsman
8014e4061b Patch from mailing list 2007-07-09 14:57:33 +00:00
Stanislav Shwartsman
5e97ddb984 Use GDT and IDTR limit in 'info gdt/idt commands 2007-05-12 19:19:15 +00:00
Stanislav Shwartsman
c738d82290 Fix for debugger in SMP binary executing single CPU 2007-03-06 21:18:00 +00:00
Stanislav Shwartsman
40a395a3f4 Improve single threaded simulation speed in SMP binary of Bochs
This is still significantly slower than in native no-SMP binary but faster than before at least
2007-03-06 21:12:20 +00:00
Stanislav Shwartsman
d54c63e9cb FIxed compilation error 2007-01-25 19:21:20 +00:00
Stanislav Shwartsman
dd00bc66d0 Fixed disasm in 64bit mode, added new accessor for printing 64bit values 2007-01-13 10:43:31 +00:00
Stanislav Shwartsman
b7be2eb0b1 Fixed timer breakpoint bug 2007-01-04 20:12:32 +00:00
Volker Ruppert
3063397fd4 - first attempt to implement a debugger gui dialog for win32
- new display library option "windebug" enables the new feature
  - simple dialog box with a command line and a multiline text viever
  - TODO: implement modeless dialog with cpu registers and it should be possible
    to interrupt "continue" and "step N" commands
- win32dialog: fixed function GetBochsWindow()
- textconfig: removed unused save/restore prompt
2006-11-12 10:07:18 +00:00
Stanislav Shwartsman
f19595136b *** empty log message *** 2006-11-07 08:24:22 +00:00
Volker Ruppert
f348c6cf50 - fixed broken debugger "rc file" command line option. Now it is possible to
execute debugger commands from the specified file. This is the command line
  counterpart to the undocumented debugger command "source".
2006-10-24 17:53:47 +00:00
Stanislav Shwartsman
4ceec75181 Print EFER status in 'info cr' command 2006-10-21 22:18:39 +00:00
Stanislav Shwartsman
650086669c Print 64-bit registers in 'info registers' command and in dump_regs 2006-10-21 22:06:39 +00:00
Stanislav Shwartsman
e410fa4a5a Small optimization for debugger parser - avoid using of non-safe "numeric range" param 2006-10-21 21:28:20 +00:00
Volker Ruppert
0c827dcbf1 - implemented debugger access to SMRAM area 2006-10-02 17:40:20 +00:00
Stanislav Shwartsman
925ae93e22 Reveer back changes for debug.h removal from bochs.h 2006-09-26 19:16:10 +00:00
Stanislav Shwartsman
aab3feb2e0 Fixed Makefile to compile with ACPI stub disabled
Remove bx_debug.h from bochs.h to reduce compilation dependencies
2006-09-25 20:13:52 +00:00
Stanislav Shwartsman
3111909a64 Merged patch from Bochs-Developers mailing list.
Fixes bp handling.
2006-09-17 19:22:24 +00:00
Volker Ruppert
ec9c361e9c - fixed handling of parameter "debug_running" for restart support
- wx: delete of "debugCommand" fixed
2006-09-17 07:12:50 +00:00
Stanislav Shwartsman
fdac9efa9b Fixed ton of code duplication.
Do not save/restore XMM8-XMM15 not in 64-bit mode
2006-08-31 18:18:17 +00:00
Stanislav Shwartsman
5000ad2a55 Fixed compilation warning 2006-08-22 19:07:50 +00:00
Stanislav Shwartsman
5ade11bae4 Added exception debug print 2006-06-22 19:53:58 +00:00
Stanislav Shwartsman
6fd9b3107b Fix descriptor printing format 2006-06-22 16:44:37 +00:00
Stanislav Shwartsman
070d782ec8 Move paddr_valid param of dbg_xlate_linear2phy method to return value.
This is much easier to use.
2006-06-17 12:09:55 +00:00
Stanislav Shwartsman
8ed8916ea9 Break to debugger on triple fault or panic (this time do it correctly)
Indent changes
2006-06-12 19:51:31 +00:00
Stanislav Shwartsman
49d7b4614f Fixed another bug generator - duplication between descriptor type field and four descriptor cache bits 2006-06-12 16:58:27 +00:00
Stanislav Shwartsman
869f74b3ee Reduce amount of dbg_get_cpu calls (I would like to remove this function) and use save/restore power in debugger 2006-06-11 16:40:37 +00:00
Stanislav Shwartsman
a4f1c8db33 Fix possible memory corruption in bx_debug
Fix 'examine' debugger command
Indent changes
2006-06-09 12:26:34 +00:00
Stanislav Shwartsman
594b8cce47 Fixed segfault with bochs debugger but reported today 2006-05-31 17:20:52 +00:00
Stanislav Shwartsman
34061a2f22 Enable show-param support in debugger.
Fixed print_tree function to correctly print 64-bit data
2006-05-30 19:46:31 +00:00
Stanislav Shwartsman
2889ed190c Removed icount guard for debugger. Implement STEPN debugger command using CPU_LOOP method capabilities 2006-04-29 09:27:49 +00:00
Stanislav Shwartsman
1a0b7ee1e3 I want to replace debugger ICOUNT guard by existent cpu_loop funtionality, first step to do that ... 2006-04-29 07:12:13 +00:00
Stanislav Shwartsman
7ba6e5a2bb Forgot to check-in main.cc
But anyway - this is more clear fix which also fixes code duplication
2006-03-08 20:10:29 +00:00
Stanislav Shwartsman
7b6c2587a9 Now devices could be compiled separatelly from CPU
Averything that required cpu.h include now has it explicitly and there are a lot of files not dependant by CPU at all which will compile a lot faster now ...
2006-03-06 22:03:16 +00:00
Volker Ruppert
0c573d15cf - fixed compile error (missing typecast)
- fix for parameter objects without a parent list
- textconfig: logfile options moved to a submenu
- obsolete parameter init methods removed
2006-03-06 18:50:55 +00:00
Volker Ruppert
dd7e08de99 - remaining config options and special menus added to parameter tree
- parameter tree structure updated (TODO: should be moved to development.dbk)
- code cleanup: bx_options stuff and obsolete parameter access methods removed
- TODO: rewrite of shadow parameter stuff (for subtree "save_restore")
2006-03-05 10:24:29 +00:00
Volker Ruppert
a4f412d3e8 - boot and loader options rewritten to a parameter tree
- wx: ParamDialog method EnableParam can now handle new-style parameters
- saving of pcidev options fixed
2006-02-23 22:48:57 +00:00
Volker Ruppert
6311fface8 - pci options rewritten to a parameter tree
- proposed parameter tree updated
- pci presence flag stored in the memory code
2006-02-19 21:35:50 +00:00
Stanislav Shwartsman
3a420aacaa First step in removing of bx_num_range, fixed parser.
Cleaned and improved 'info idt' 'info ivt' and 'info gdt' commands
2006-02-13 21:32:21 +00:00
Stanislav Shwartsman
d37f62d2b4 Support for 64-bit registers set reg = expr command
Print found guard cs_eip in more nice way, it was too mane leading zeroes in x86-64 mode ON
2006-02-13 18:28:14 +00:00
Stanislav Shwartsman
6e768f81d9 Split 'show int' option to 'show extint', 'show softint' and 'show iret', allow to toggle every option separatelly.
Command 'show int' still supported, meaning - all three together
2006-02-12 20:43:01 +00:00
Stanislav Shwartsman
2646484dc1 Fix 'show' command in Boch debugger.
Fully supported show-interrupts, show-mode and show-call options
Enable toggling of show options (bug report from SF)
2006-02-12 20:21:36 +00:00
Stanislav Shwartsman
bc30171d4a Remove parenthesis around 'show command' arguments
Fixed in lexer and parser
2006-02-11 21:19:22 +00:00
Stanislav Shwartsman
e8ec9e854b Remove redundant 0x from FMT_ADDRX macro for cygwin
Moved 'show "tab"' command to 'info' (use 'info tab' now)
Fixed printing of the command
2006-02-11 20:47:22 +00:00
Stanislav Shwartsman
ace3b9916a Print branch target linear address for all in disasm when possible (i.e. cs.base and eip supplied) 2006-02-11 19:46:03 +00:00
Volker Ruppert
d7caed8655 - fixed compile error 2006-02-05 20:03:24 +00:00
Stanislav Shwartsman
5a65e1065e Decoding functionality for Bochs disassembler.
Fixed 'step over' debugger command using bx_dbg_read_linear method.
Small debugger fix in cpu.cc
2006-02-05 19:48:29 +00:00
Stanislav Shwartsman
c7760750d3 Fixed SMP related debugging for some methods - hardcoded BX_CPU(0) instead of BX_CPU(dbg_cpu)
New debugger problem discovered - most of dbg linear memory acceses not aware on paging and possible page split !
Implemented new dbg method bx_dbg_read_linear (very similar to CPU access_linear) - every debugger method should use it to read any amount of memory based on linear address.
Implemented print_stack command for x86-64 support
2006-02-02 22:33:32 +00:00
Stanislav Shwartsman
6ca296de8b Move --enable-reset-on-triple-fault option to runtime CPU::reste_on_triple-fault option in .bocshrc
Cleanup and optimize parser for debugger
2006-02-01 18:12:08 +00:00
Stanislav Shwartsman
1d4fa8b327 Available back ability to use eip register as source in 'set reg = <expr>' cmd.
Setting the eip register still not available (deliberatelly).
I don't want to enable it util I find some easy interface to do it.
I don't want to allow setting of part of RIP register using 'set eip=<expr>' and leave the upper part unchanged ....

Remove unused test registres from debugger
Fix compilation error in cpu.h
Change trace-on/trace-off commands. Make one 'trace' command with usage of 'trace on/trace off'
2006-01-31 19:45:34 +00:00
Stanislav Shwartsman
c7dd4185a7 Do not pass crc32 function as parameter to memory class - it is available as global function now 2006-01-28 16:16:03 +00:00
Stanislav Shwartsman
a0345031cf forgot to remove '0x' from FMT_ADDRX fro mingw
fix dump_table function to use CPU paging translation method instead of old debugger method which not supported PAE and other paging features
2006-01-28 15:10:33 +00:00
Stanislav Shwartsman
067f23e3da Fix set 'ah,bh,ch,dh' registers from debugger
Enable disasm by default - in adds some useful information to debug messages in log file
Remove defines for 8bit registers from cpu.h, the x86 arch defines not match defines used by set_reg and get_reg methods.
2006-01-27 19:50:00 +00:00
Stanislav Shwartsman
37eb82c69c Totally remove the cosimulation code from Bochs.
The Bochs anyway even doesn't compile if cosimulation configured enabled.
But in the same time the cosimulation code only disturbs to the future development of Bochs debugger, for example adding x86-64 functionality ...
For those of you who still may want to see the cosimulation code inside I put it in patch and upload it Bochs CVS patches folder. Read comments for the patch ! ----------------------------------------------------------------------
2006-01-25 22:20:00 +00:00
Stanislav Shwartsman
aa6874cb6e Put playback functions together, indent changes 2006-01-25 21:38:31 +00:00
Stanislav Shwartsman
83b4f7ba05 1. remove the ability of using regnames as symbols !
'set $eax = <value>' is stupid when you could do expr like 'set eax = ebx + 4'

2. cleanup and optimize Bochs debugger parsing, fixed several memory leaks
2006-01-25 18:13:44 +00:00
Stanislav Shwartsman
d257f548b9 1. implemented 'set register <name>=<expr>' command, old style 'registers <name>=<exp> command' removed, now 'r|reg|regs|registers' command shows CPU registers contents (same as 'info cpu')
2. new command 'u|disasm|disassemble mode-switch' - switch between Intel and AT&T disasm syntax

3. new command 'u|disasm|disassemble size=n' should be used instead of old 'set $disassembler_size=n'

4. 'h' is a new alias for 'help' command
2006-01-24 21:37:37 +00:00
Stanislav Shwartsman
a25be6faaa Fix indent, update bx_dbg_info_flags method 2006-01-24 19:23:42 +00:00
Stanislav Shwartsman
18afa9fd2d This is cumulative patch for bochs debugger, it is only very first step towards working debugger supporting all new simulator functionalitieS.
- move crc.cc from debugger to bochs folder and make it projct-wide and not local for debugger
 - added new 'info sse' command for debugger
 - extend 'modebp' command to break on any mode change
 - remove unimplemened 'info program' function, it is always printed fixed text
 - move debugger help to parser, cleanup and simplify it
2006-01-24 19:03:55 +00:00
Stanislav Shwartsman
21352e50a9 Fix some bugs in debugger parser, cleanup
Add some debugger functionality
2006-01-23 21:44:44 +00:00
Stanislav Shwartsman
08c15c67c0 Don't know how much it helps ...
First step to make bx debugger supporting x86-64. guard_found object fields conerted to bx_address for x86-64 support.
2006-01-19 18:32:39 +00:00
Stanislav Shwartsman
2c8f6f7720 Merged patch: determine number of processors to emulate through .bochsrc 2006-01-18 18:35:38 +00:00
Stanislav Shwartsman
5570346246 reorganize debugger code 2006-01-15 17:55:25 +00:00
Stanislav Shwartsman
5899932f0c Merge APIC patch to the CVS.
- Fix lowest priority interrupt delivery from I/O APIC
 - XAPIC support
 - Implemented APIC bus functionality
 - cleanup APIC code
2006-01-10 06:13:26 +00:00
Alexander Krisak
9f1888d523 *** empty log message *** 2005-12-24 16:07:47 +00:00
Stanislav Shwartsman
cd2a8da34c Add more debugging/instrumentation functionality 2005-12-14 20:05:40 +00:00
Stanislav Shwartsman
c89ba98297 Fix compilation errors (new interface for debug access to registers in CPU) 2005-11-27 18:25:57 +00:00
Stanislav Shwartsman
fd5bd2177a See 64-bit disasm 2005-11-21 22:26:58 +00:00
Stanislav Shwartsman
fc27c175e2 Fix typo 2005-11-14 18:31:59 +00:00
Stanislav Shwartsman
7b7ac565f9 Getting ready for long mode disasm support, patch will posted soon 2005-11-14 18:09:22 +00:00
Stanislav Shwartsman
fd2175eb57 Merged patch
[ 1352761 ] Infinite loop when trying to debug a triple exception
by Nickolai Zeldovich
2005-11-10 18:14:18 +00:00
Volker Ruppert
bb2705643a - fixes for the load32bitOShack feature from patch included in SF bug #1351667 by jpa 2005-11-09 17:17:06 +00:00
Volker Ruppert
d133c74339 - fixed MSVC warnings in the rfb and debugger code 2005-06-09 20:08:17 +00:00
Stanislav Shwartsman
694a568fb1 1. Make info cpu debugger command 2x shorter
2. More corrrect fix for bx_yyinput function in debugger.
It should read all available bytes but no more than max_size bytes
and it is no needed to modify lex_input_size.
2005-04-16 21:43:06 +00:00
Stanislav Shwartsman
a61f035998 Move cosimulation routines to separate file 2005-04-10 18:03:16 +00:00
Stanislav Shwartsman
10dfc89d56 Coding style fixes.
Replace cache.segment.base occurences by get_segment_base call for future use in x86-64
2005-04-08 18:30:34 +00:00
Stanislav Shwartsman
0ed560ed3d Enable info fpu command in debugger 2005-03-28 18:19:02 +00:00
Stanislav Shwartsman
58d216d312 BX_DEBUGGER cannot be compiled w/o BX_DISASM:
1. Added appropriate check to config.h
2. Remove all redundant checks and ifdefs from dbg_main.cc
Also small clean-up for dbg_main.cc
2005-03-26 19:41:59 +00:00
Volker Ruppert
7d9eba3d12 - fixed checks for protected mode 2005-03-19 16:38:44 +00:00
Alexander Krisak
6377066a65 fixed broken dbg_main compilation 2005-02-24 12:58:48 +00:00
Stanislav Shwartsman
9305305493 First (and may be last) step to implementation of
Virtual Mode Extensions (VME)
and
Protected Mode Virtual Interrupts (PVI)
instructions STI and CLI have full support of these features, according to Intel docs. Need to check POPF and PUSHF instructions and afterwise VME and PVI extensions could be enabled in CR4
2005-02-03 22:08:34 +00:00
Stanislav Shwartsman
3fdbf48a69 Fixed bug in interrupt function in real mode
Style change
Update CHANGES
Remove patch.v8086-exception.lightcone because it already in CVS
2005-02-01 21:17:57 +00:00
Volker Ruppert
f98ecd09b1 - changed wxWindows to wxWidgets (includes SF patch #1094407 by Alexander Schuch) 2005-01-05 19:54:32 +00:00
Alexander Krisak
414adb6b69 debugger help text typo fix 2004-11-15 10:43:39 +00:00
Volker Ruppert
20d5fc0155 - missing status bar initialisation added in bx_dbg_main() 2004-11-01 12:53:45 +00:00
Volker Ruppert
c36d0c38e7 - fixed crash after debugger command 'show "call"' (mingw doesn't like %ll and
%*s in one statement)
- defined platform dependant symbol FMT_TICK for cpu ticks output to logfile and
  debugger console
- fixed indent mode in function bx_dbg_symbolic_output()
2004-09-19 18:38:09 +00:00
Volker Ruppert
e322e49c70 - fixed error message after invalid show command
- fixed 2 warnings
2004-09-19 07:56:49 +00:00
Volker Ruppert
03b9d07d52 - unused vga function dump_status() rewritten for the use with the debugger ("info vga") 2004-08-24 10:15:56 +00:00
Stanislav Shwartsman
12b68ede54 XADD and ADD instructions have same flags modification rules - remove redundant switch case 2004-08-14 20:44:48 +00:00
Volker Ruppert
d06c80cee3 - changed all iodev config macros to BX_SUPPORT_xxx
- removed incorrect SDL/ prefix from include paths (patch from Robin KAY)
2004-08-06 15:49:55 +00:00
Stanislav Shwartsman
5873b26a82 Speed up compilation process.
bochs.h already not include iodev.h which reduces compilation dependences for almost all cpu and fpu files, now cpu files will not be recompiled if iodev includes was changed
2004-06-19 15:20:15 +00:00
Daniel Gimpelevich
ae66bb33c0 Applied Russ Cox's CPU panic debug patch from Oct 2003. 2004-01-17 08:36:29 +00:00
Christophe Bothamy
f1e558a39d - updates so bochs compiles when the debugger is enabled 2004-01-04 13:13:45 +00:00
Christophe Bothamy
966e37f067 - fix compilation problem on vcpp when debugger is enabled 2003-12-07 23:34:48 +00:00
Daniel Gimpelevich
fff74a6f83 Fixed incompatibility with gcc3.3, I think. 2003-11-28 15:07:29 +00:00