Commit Graph

9547 Commits

Author SHA1 Message Date
Volker Ruppert
bdfe4ae1bb - added debug_dump() (prints the same as 'info ne2k' without arguments)
- removed FILE parameter from print_info() (unused - since dbg_printf() doesn't
  need it)
- converted tabs to spaces
- TODO: implement 'info device' with optional arguments to get rid of the
  print_info() method
2012-04-18 17:03:00 +00:00
Stanislav Shwartsman
07a50eac31 closing SF bug #3518753: update dump after manual chages to memory contents 2012-04-17 14:32:57 +00:00
Stanislav Shwartsman
e12494bf7b fixed segfault when setting ESP/EIP in GUI debugger 2012-04-16 19:18:23 +00:00
Volker Ruppert
99a31bd150 - devices 'parallel' and 'serial':
- added to optional plugin control
  - moved config parameter creation and bochsrc option parsing to the plugin
    device code
2012-04-16 19:17:10 +00:00
Volker Ruppert
679f980b39 - updated override-ask example
- fixed path in user plugin example
2012-04-15 12:51:33 +00:00
Volker Ruppert
b433f4072b - updated user plugin example 2012-04-14 14:47:08 +00:00
Stanislav Shwartsman
39e4335d6d forgot one instance 2012-04-11 19:02:12 +00:00
Stanislav Shwartsman
c7c431f88e bx_instr_mem_data_access became completely obsolete with new stack optimization merged into SVN.
It already had limited usability before. With stack direct access optimization the callback won't be called for stack accesses as well.
See note by Brian Slechta:

=== Cut Hete ===
While using Bochs as a reference model for simulations, the simulator needs
information about what loads/stores are taking place with each instruction.
Presumably,  that  is  what  the BX_INSTR_MEM_DATA() instrumentation macros
cover (which is the place where our simulator hooks up).

The RETnear_xxx() functions call access_linear() directly, rather than call
read_virtual_xxx()  functions. This is a problem for code making use of the
BX_INSTR_MEM_DATA()   hook  because  it  does  not  get  called  for  these
instructions.  Should  this  be  changed along with some other instructions
that exhibit this?
=== Cut Hete ===

For Bryan's usage bx_instr_lin_access and bx_instr_phy_read/bx_instr_phy_write callbacks should be used.
2012-04-11 19:01:25 +00:00
Stanislav Shwartsman
59e13d5299 fixed compilation error with 386/486 and internal dbger enabled 2012-04-11 18:11:14 +00:00
Volker Ruppert
7e67845ac8 - pcidev: enable support for Linux kernel 3.x (Debian patch by Guillem Jover)
- don't clean docbook directories if building documentation is disabled
2012-04-11 16:53:38 +00:00
Volker Ruppert
fe37b61c18 - pcidev: enable support for Linux kernel 3.x (Debian patch by Guillem Jover)
- don't clean docbook directories if building documentation is disabled
2012-04-11 16:53:02 +00:00
Stanislav Shwartsman
6bfad819de bugfix 2012-04-11 14:47:47 +00:00
Stanislav Shwartsman
83d1e1ee0f update CHANGES 2012-04-10 14:18:54 +00:00
Stanislav Shwartsman
077b691296 correctly fix SF #3516029 : bug stepping not working in debugger GUI in case of smp vm
reverted buggy SF patch #3502052: Added refresh of debugger gui when stepping

re-generated bx_debugger lex/yacc files
2012-04-10 12:44:06 +00:00
Volker Ruppert
34ca44cbcd - sb16 / es1370: fixed possible segfaults when unloading plugin 2012-04-09 08:48:10 +00:00
Volker Ruppert
c24080c92a - more accurate horizontal retrace emulation (based on the DOSBox implementation) 2012-04-08 14:21:18 +00:00
Volker Ruppert
fc482db353 - improved documentation for the 'log options by device" feature 2012-04-07 10:52:36 +00:00
Volker Ruppert
70a38a8a3d - apply 'log actions by device' to the existing modules before editing them
in the config interface. Applied settings are marked as 'done' with the value
  -1 to avoid unwanted modification. NOTE: Not all Bochs modules exist when
  running the start menu / dialog.
2012-04-06 13:15:27 +00:00
Stanislav Shwartsman
a68ad9a7f6 small code optimization 2012-04-06 09:41:58 +00:00
Stanislav Shwartsman
60e92204b1 update CHANGES 2012-04-04 19:59:26 +00:00
Stanislav Shwartsman
a6f0ca70ff more robust SVM fix 2012-04-04 19:55:36 +00:00
Stanislav Shwartsman
72a00ce9dd improved debug prints in MOV to/from CR
SVM bugfix
remove redundant TLB flush call from SVM and VMX code
2012-04-04 19:31:02 +00:00
Volker Ruppert
56cce60be8 - improved device log prefix table (list all existing prefixes, added column
with log function name)
- TODO: move table to a new section under "Tips & Techniques" and add reference
  from the bochsrc log controls to it.
2012-04-03 18:41:28 +00:00
Volker Ruppert
e82fa719fb - at runtime the log options dialog starts up with "log options per device"
enabled
2012-04-02 21:30:37 +00:00
Volker Ruppert
a3f7a30422 - ioapic: added debug_dump() (prints redirection table) 2012-04-01 18:53:16 +00:00
Volker Ruppert
5a983a3ea0 - disable the "close" button for the Bochs main window - only the "power" button
should be used to terminate Bochs
2012-04-01 16:50:42 +00:00
Volker Ruppert
601bb7e084 - only quit Bochs simulation after pressing the "Quit" button in the runtime
config dialog. Now the close button and the ESC key let the simulation
  continue in the runtime case (fixes SF bug #3510403).
2012-03-29 17:05:44 +00:00
Stanislav Shwartsman
279c61dc67 updated + fixed instrumentation example for instr histogram, code cleanup in the cpu 2012-03-28 21:11:19 +00:00
Stanislav Shwartsman
fa03e8b925 added const to several class members 2012-03-27 21:30:34 +00:00
Stanislav Shwartsman
90fc12d9e4 switching between compatibility and long64 mode also affect SS.BASE which is always zero in long64 mode 2012-03-27 15:21:40 +00:00
Stanislav Shwartsman
e7a4a1bec8 surprisingly, opensuse 12.1 requre alignment check support in hardware so I can't disable it by default for all configurations.
but in case you want a few %% of extra emulation performance - it is still possible to disable it with configure option.
most guests I saw do not use it !
2012-03-26 19:33:38 +00:00
Stanislav Shwartsman
8b78f6ca2c fixed prev commit 2012-03-26 19:24:20 +00:00
Stanislav Shwartsman
97a6d0ad46 missed ; 2012-03-26 19:08:28 +00:00
Stanislav Shwartsman
547678e8bd fixed compilation error in 386 config. also fixed bugs in tasking code found by new assertion added in stack.cc new code 2012-03-26 19:05:58 +00:00
Stanislav Shwartsman
bfca96f8ce added TLB contents to param tree for debugger purposes. Nopw the TLB could be browsed through param-tree in debugger and GUI debugger as well 2012-03-25 20:56:18 +00:00
Stanislav Shwartsman
6cd7d08c34 added new stack.cc into MSVCPP2008 workspaces 2012-03-25 20:21:15 +00:00
Volker Ruppert
4c253c8cd6 - more accurate vertical retrace emulation (based on the DOSBox implementation) 2012-03-25 19:16:44 +00:00
Stanislav Shwartsman
d4688e8b95 - Do not compile support for alignment check (#AC exception) by default
for CPU emulation performance reasons, the alignment check compilation
    still can be enabled using configure option --enable-alignment-check.

There is no software in the world which enable #AC exception checking, this
x86 feature is completely legacy but its emulation support costs up to 3-5%
emulation speed.

The checking for #AC exception enable still will be done, if

 CPL == 3, EFLAGS.AC = 1 and CR0.AM = 1

but the alignment check is not compiled in, the Bochs will PANIC with corresponding message.
You can press 'always continue' and ignore the PANIC, the simulation will continue as if alignment checking is not enabled.
2012-03-25 19:07:17 +00:00
Stanislav Shwartsman
3ca29cbdf3 stack direct access optimization - 5% emu speedup to all 32-bit guests, for 64-bit guests speedup is less because they have less stack accesses 2012-03-25 11:54:32 +00:00
Volker Ruppert
c43cf378f4 - floppy: added debug_dump() 2012-03-23 17:22:30 +00:00
Volker Ruppert
51cba8776d - improved debug_dump()
- small code cleanup
2012-03-20 18:29:49 +00:00
Stanislav Shwartsman
b5a33e82ac fixed a lot of code duplication in debugging/instrumentation of mem access 2012-03-20 18:26:04 +00:00
Stanislav Shwartsman
e1506e3e29 some cleanup in CPU code + patch SVM SS.DPL instead of failing VMRUN 2012-03-19 19:24:15 +00:00
Stanislav Shwartsman
a8565cdfc3 added missed line in MSR fix 2012-03-17 12:07:27 +00:00
Stanislav Shwartsman
bd4aa017fe Lazy flags improvement patch by Darek Mihocka - measured 5% speedup everywhere accross the board
The problem with Parity is it is generally referenced very rarely so the current lazy flags code is not efficient to updated Parify flag only (because it updates low 8 bits of .result value the existing Zero Flag has to be shadowed in .auxbits.
So I flipped it around, to make Parity be shadowed in auxbits.  .result now is only needed to derive Zero Flag, and both Sign and Parify are derived from .result + .auxbits (as Zero Flag is now).  For the 90% of the conditional jumps that are JZ or JNZ, this is a speedup.
Parity is now derived from 8 bits in .result and 8 bits in .auxbits, and Sign is derived from one flag in .result and 1 bit in .auxbits by XOR-ing them all together.  It makes the code sequences for SAHF and POPF simpler too.
2012-03-17 08:51:52 +00:00
Stanislav Shwartsman
733dc3bb3c dump CPUID .bochsrc options only if no CPUDB profile is selected 2012-03-15 19:55:14 +00:00
Stanislav Shwartsman
5a33b1be84 mvoed MWAIT_IS_NOP option from CPUID to CPU - it has meaning even if CPUID tree is not used because CPU is configured with CPUDB pre-defined configuration 2012-03-15 19:46:57 +00:00
Stanislav Shwartsman
1dd0500259 Merge SF patch 3505209 and update CHANGES 2012-03-15 19:34:13 +00:00
Volker Ruppert
a00bf4c01a - pci2isa: show PCI IRQ level in debug_dump()
- dma: added debug_dump() with verbose output if channel is active
2012-03-15 18:12:13 +00:00
Stanislav Shwartsman
9d5d33632c VMX: Fixed reading of VMX MSR-HI (0xC0000000 <= index <= 0xC0001FFF) bitmaps / Fixed memory overflow 2012-03-14 19:42:06 +00:00