Stanislav Shwartsman
efcca3e9d4
fixup VCVTPH2PS instruction implementation to match published Intel SDM
2012-06-05 11:36:50 +00:00
Stanislav Shwartsman
85e30bd410
remove unused configure check for struct timeval
2012-06-04 20:26:00 +00:00
Stanislav Shwartsman
37e193d49c
clean one more valgrind issue
2012-06-04 19:21:23 +00:00
Stanislav Shwartsman
7a02dd759d
added PANIC in x.cc in case it can't open display
2012-06-04 19:03:05 +00:00
Stanislav Shwartsman
5192d09655
fixed some more valgrind issues
2012-06-04 18:46:07 +00:00
Stanislav Shwartsman
7bae496840
fixed valgrind issues in apic initialization and generic cpuid reported in SF bug report
2012-06-04 14:27:34 +00:00
Stanislav Shwartsman
bd6330d480
small optimization for debugger
2012-06-03 18:46:20 +00:00
Stanislav Shwartsman
0eef00bb59
SSE: fixed missed unmasked undeflow issues
2012-06-02 11:36:17 +00:00
Stanislav Shwartsman
321cb7e9fc
SSE: raise underflow exception when adding denormal and zero values when underflow is unmasked (partially fixes missed undeflow problem)
2012-06-01 14:35:31 +00:00
Stanislav Shwartsman
2ee3386c37
cpu bugfixes
2012-05-31 14:25:49 +00:00
Volker Ruppert
262b994f41
- added missing files / directories to target 'dist-clean'
...
- iodev makefile: updated dependencies
2012-05-27 20:11:37 +00:00
Stanislav Shwartsman
f528290652
fixed bug EPT Access Dirty support
2012-05-27 19:17:13 +00:00
Stanislav Shwartsman
36ca7995af
update CHANGES
2012-05-26 19:40:18 +00:00
Volker Ruppert
5c0bd188ed
- check the beep output interface and report the one to be used in the reset()
...
method. This makes sure that the lowlevel sound interface is reported correctly.
2012-05-24 18:06:40 +00:00
Stanislav Shwartsman
88cc825040
allow 1-byte and 2-byte writes to I/O APIC index register
2012-05-22 14:48:48 +00:00
Volker Ruppert
f4134d5d29
- implemented pc speaker beep in the lowlevel sound module for win32
...
- improved square wave generator code
2012-05-21 18:45:09 +00:00
Stanislav Shwartsman
8e7f582bc3
correct init.cc fix - copy/paste issue
2012-05-20 19:02:29 +00:00
Stanislav Shwartsman
3f32517201
small fix for save/restore
2012-05-20 18:58:57 +00:00
Stanislav Shwartsman
eac0991fe1
fixed compilation err with lowlevel sound disabled
2012-05-20 18:58:08 +00:00
Volker Ruppert
bb790d2f15
- implemented pc speaker beep in the lowlevel sound module using pthreads
...
- TODO: win32 threads support
2012-05-20 17:23:07 +00:00
Volker Ruppert
076c8ff966
- implemented pc speaker beep in the lowlevel sound module using pthreads
...
- TODO: win32 threads support
2012-05-20 17:22:50 +00:00
Volker Ruppert
d6e7be922b
- prepared pc speaker beep support in the lowlevel sound module
...
- sound devices: moved wave output init to the init() method (required for
beep support)
- TODO: implement beep using a separete thread
2012-05-20 14:19:49 +00:00
Stanislav Shwartsman
f9540f1c24
- Improved CPU status restore after restoring from Bochs saved image
...
- Changed many BX_ERROR messages about VMX VMEXIT takesn to BX_DEBUG
2012-05-19 20:36:40 +00:00
Stanislav Shwartsman
2644ef5f63
another had_vex/had_xop fix
2012-05-19 19:46:10 +00:00
Stanislav Shwartsman
59eb1318d5
small fix
2012-05-19 19:38:57 +00:00
Volker Ruppert
89f716f599
- removed unused case with virtual timer support disabled
...
- TODO: rewrite virtual timer code to have both modes (normal and realtime)
available at the same time
2012-05-17 09:11:48 +00:00
Volker Ruppert
27fdc3cd45
- added new parameter 'rtc_sync' for the 'clock' option. If this option is
...
enabled together with the realtime synchronization, the RTC runs at realtime speed.
2012-05-15 17:03:45 +00:00
Volker Ruppert
4e95f44873
- added missing MADT interrupt source override and fixed MP table
...
(patches by Sebastian Herbszt)
2012-05-13 20:07:32 +00:00
Volker Ruppert
7b51b829f5
- added missing MADT interrupt source override and fixed MP table
...
(patches by Sebastian Herbszt)
2012-05-13 20:06:51 +00:00
Volker Ruppert
f4efb6f248
- discard "eh_frame" (compilation fix from Debian patches)
2012-05-12 22:25:09 +00:00
Stanislav Shwartsman
ffc5e4bf2d
optimize x2apic reg write
2012-05-12 19:07:18 +00:00
Stanislav Shwartsman
08d4655886
X2APIC: incorrect write to self IPI X2APIC register (with reserved bits set) should not trigger the self IPI
2012-05-12 12:49:05 +00:00
Stanislav Shwartsman
3e35d5b6ce
update CHANGES
2012-05-12 11:59:21 +00:00
Stanislav Shwartsman
4a22693deb
enable back the timer IRQ fix. TODO: ACPI MADT support is still required
2012-05-12 11:55:38 +00:00
Stanislav Shwartsman
03162d86f5
LAPIC: fixed timer interrupts after reloading of LAPIC Timer Divide Configuration register
2012-05-12 11:52:29 +00:00
Volker Ruppert
3202afb48e
- show ips feature: disable alarm timer on simulation exit to avoid wxBochs
...
process termination
2012-05-12 09:32:09 +00:00
Stanislav Shwartsman
9ea0987396
fixed send_ipi case in x2apic
2012-05-12 08:07:30 +00:00
Volker Ruppert
a925a07c3b
- cmos: added debug_dump()
2012-05-12 07:27:49 +00:00
Volker Ruppert
a8f899b0a9
- attempt to fix unsafe sprintf() calls in the show_ips code (sdl, wx, x)
...
- implemented "hideIPS" option in sdl and wx
2012-05-11 16:17:59 +00:00
Stanislav Shwartsman
6180a0a733
remove unused leafs from generic_cpuid
2012-05-11 06:51:04 +00:00
Stanislav Shwartsman
b5c5082ff2
Completely remove b1() field from bxInstruction structure and resuse it for AVX instructions flags.
...
the iaOpcode field has no masking anymore.
fixed bug during the code reorganization:
+ XOP: Fixed instructions with operands order depending on VEX.W (fixed VEX.W read from instruction object)
2012-05-11 06:35:16 +00:00
Volker Ruppert
e17000ef68
- changed format of PCI config space dump (16 values per line)
2012-05-08 19:04:35 +00:00
Volker Ruppert
53e1a5d204
- fixed typo (file names are case sensitive on Linux and others)
2012-05-08 18:33:26 +00:00
Stanislav Shwartsman
f01e5f3e11
removed b1() from shift methods in CPU - lead to removal of b1() field from bxInstruction_c
2012-05-08 16:42:15 +00:00
Stanislav Shwartsman
708fc666c8
Added Corei7 ivyBridge configuration to CPUDB
2012-05-07 12:31:22 +00:00
Stanislav Shwartsman
55e21bedcb
fixed possible rombios bug - according to comment in Bochs-Devs mailing list by David Laight
2012-05-06 19:36:41 +00:00
Stanislav Shwartsman
1ab623536c
optimize harddrv code
2012-05-06 19:19:00 +00:00
Stanislav Shwartsman
9d802e2762
very small cleanup
2012-05-05 18:40:37 +00:00
Volker Ruppert
62de4d9178
- speaker should only beep if both bit #0 and #1 of port 0x61 are set
...
- fixed possible division by zero when calculating beep frequency (counter value
0x0000 means 0x10000)
- small code cleanup
- TODO: implement beep generator in the lowlevel sound interaface
2012-05-03 19:45:06 +00:00
Stanislav Shwartsman
2188322ab3
fixed CR8 SVM intercepts
2012-05-03 16:12:58 +00:00
Stanislav Shwartsman
39c14ef0d1
Implemented EPT A/D extensions support.
...
Bochs is fully aligned with the latest published revision of
Intel Architecture Manual (revision 043) now.
2012-05-02 18:11:39 +00:00
Volker Ruppert
af74c6df44
- added devices ES1370 and E1000 to shortcut scripts (known to work with Linux
...
and WinXP guests)
- TODO: USB xHCI could also be added, but more tests are required
2012-05-01 18:03:43 +00:00
Volker Ruppert
378f8a04a6
- pit: added debug_dump()
...
- pit82c54: modified print_counter() for debugger usage
2012-05-01 15:53:28 +00:00
Stanislav Shwartsman
1f150d4399
update configuration examples in .bochsrc
2012-04-30 14:46:00 +00:00
Volker Ruppert
1462fcaf9c
- pci2isa debug_dump(): added option 'dump=full' to show the whole PCI config space
...
- updated debugger documentation
2012-04-25 16:50:41 +00:00
Volker Ruppert
bea07c65b1
- regenerated parser files
2012-04-24 17:50:41 +00:00
Volker Ruppert
a11e5713d7
- updated help texts
2012-04-24 17:48:38 +00:00
Stanislav Shwartsman
e1611e717e
Implemented feature request:
...
[3519794] debugger's ability to save physical/linear memory dumps
2012-04-24 11:01:59 +00:00
Stanislav Shwartsman
8871aa5da3
removed unused variable - fixing gcc warning
2012-04-23 18:52:11 +00:00
Volker Ruppert
6428ce38be
- updated generated lexer and parser files
2012-04-23 17:13:23 +00:00
Volker Ruppert
f65c4e66b8
- debugger command 'info device': implemented support for additional arguments
...
- ne2k: replaced debugger command 'info ne2k' completely by a new version based
on 'info device' with additional arguments and removed all of the now obsolete
stuff (ne2k device stub, macro for print_info())
- pci: added option 'dump=full' for the debugger command 'info device' to show
the whole PCI config space
- TODO: some other devices could have support for additional options in
debug_dump()
2012-04-23 17:06:19 +00:00
Stanislav Shwartsman
d71ed03ba1
fixed buffer overflow in serial.cc
2012-04-21 18:13:10 +00:00
Volker Ruppert
d364f22c3c
- don't panic in debugger if the iodebug plugin is not loaded
...
- iodebug: fixed some warnings
- development.dbk: updated iodebug documentation
2012-04-19 18:03:13 +00:00
Stanislav Shwartsman
32be4c9b61
fix .bochsrc example
2012-04-18 18:30:00 +00:00
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
Stanislav Shwartsman
a9d03340d6
correctly handle EFER.LMA and EFER.LME with unrestricted guests
2012-03-14 19:17:27 +00:00
Stanislav Shwartsman
a668ff9908
small code optimization
2012-03-13 19:41:10 +00:00
Volker Ruppert
3ba2751b6f
- update changes
2012-03-13 19:08:40 +00:00
Stanislav Shwartsman
406a381371
update CHANGES (not complete)
2012-03-13 15:24:47 +00:00
Stanislav Shwartsman
25ffaeeea8
fixed VMX issue + small code reorg
2012-03-13 15:18:21 +00:00
Volker Ruppert
5a9e4a98ff
- makefile fixes in the iodev subdirs related to SF bug #3459998
2012-03-12 21:10:44 +00:00
Stanislav Shwartsman
33fe397d22
Merge SF patch [3502052] Added refresh of debugger gui when stepping
2012-03-11 20:17:12 +00:00
Volker Ruppert
3f2cd2cad6
- compilation fixes for MSVC (SF bug #2905969 )
2012-03-11 18:12:50 +00:00
Volker Ruppert
4acef49a29
- improved debvug_dump() for pci, pic and vga / cirrus
...
- pci2isa: added debug_dump()
2012-03-11 12:17:41 +00:00
Volker Ruppert
3027c108a8
- update generated files
2012-03-10 17:18:43 +00:00
Volker Ruppert
086266d033
- implemented new debugger command 'info device [string]' that shows the state
...
of the device specified in 'string'. Added register mechanism and chained
list to store the device name and pointer. Replace hardcoded debug info
implementations for pic, pci and vga by the new one.
- TODO #1 : improve existing debug_dump() output and add more devices
- TODO #2 : add support for additional arguments and replace the NE2k print_info()
2012-03-10 17:14:07 +00:00
Stanislav Shwartsman
9c27d279b9
removed incorrect BX_INFO msg
2012-03-07 20:07:57 +00:00
Volker Ruppert
953cd82219
- make the PCI debug_dump() usable from the debugger
...
- TODO:
add debug info for more devices without adding them to bx_devices_c and
without a macro in plugin. A register mechanism in the debugger code would
be nice. Currently it is only possible to show the devices state by
accessing the save/restore tree. The debug_dump() output should show
the operation mode and the most important registers.
2012-03-07 18:08:35 +00:00
Volker Ruppert
50ac1483cf
- update version number in the bochs manifest
...
- mention the manifest file in the developer doc
2012-03-06 17:06:55 +00:00
Stanislav Shwartsman
562c8c91d1
fixed FMA4 instructions sources
2012-03-06 15:18:35 +00:00
Volker Ruppert
baee102fa2
- fixed common controls / manifest problem found during SDL testing
2012-03-05 21:17:34 +00:00
Stanislav Shwartsman
bde2f4d829
correctly handle #UD because of XOP.VVV
2012-03-05 19:48:55 +00:00
Volker Ruppert
3c8aecb312
- updated compilation instructions for SDL support with VS2008Ex
...
- TODO: add support for SDL with MSVC nmake
2012-03-05 17:19:42 +00:00
Volker Ruppert
f6c2f45299
- fixed compilation with MSVC
...
- TODO #1 : add instructions how to compile Bochs with SDL support on VS2008Ex to
the user doc
- TODO #2 : add MSVC nmake support
2012-03-04 21:37:49 +00:00
Stanislav Shwartsman
95e4191cd1
any vex instruction must use VEX.VVV or #UD
2012-03-04 17:56:22 +00:00
Volker Ruppert
f36536070c
- updated VS2008 workspace files
2012-03-04 17:27:05 +00:00
Volker Ruppert
9d42a3eca4
- removed x/y tile size parameters from specific_init() since the tile dimensions
...
are now members of the bx_gui_c class
2012-03-03 12:41:24 +00:00
Stanislav Shwartsman
572bd793fc
fixed compilation warning
2012-03-03 08:24:30 +00:00
Volker Ruppert
796754e942
- wait until UI init is ready before starting simulation (fixes tool bar and
...
status bar if running multiple instances of Bochs)
2012-03-03 07:44:53 +00:00
Volker Ruppert
2b4d9a26dc
- added new command line option '-noconsole' to disable the console window
...
on Windows. Added early command line check for this option to call the
console creation for sdl and wx only if required. NOTE: The console is still
needed for the config interface 'textconfig', the console debugger and log
output to stdout/stderr.
2012-03-02 16:51:45 +00:00
Stanislav Shwartsman
c52d97cb7f
fixed comments in paging.cc
2012-02-28 22:39:33 +00:00
Stanislav Shwartsman
1f14c171ed
rename some SSE handlers
2012-02-28 18:53:58 +00:00
Volker Ruppert
b45dbc15fc
- fixed SDL fullscreen mode on Windows (part of SF bug report #2988910 )
...
- fixed a warning on non-WIN32 platforms
2012-02-28 18:38:32 +00:00
Stanislav Shwartsman
d4541f1a88
removed dedicated handler for MOVNTI - can be replaced with existing handlers
2012-02-27 15:50:43 +00:00
Volker Ruppert
2d90b30b14
- attempt to fix SF bug #3493315
...
- for sequencer reg #1 a screen update is required after changing bit #0 , #3 and #5
- added new method skip_update() that checks the conditions to skip the screen update
and it is called after resizing the display
- clear screen request from the sequencer is now handled by the update() code
in the new method skip_update() instead of clearing display directly
2012-02-25 15:51:39 +00:00
Stanislav Shwartsman
75cf2e2c4a
Fix fallout from bx_list_c change
2012-02-24 21:58:41 +00:00
Stanislav Shwartsman
959ab435cf
fixed compilation err with SVM
2012-02-24 21:31:31 +00:00
Stanislav Shwartsman
b38c3e3629
Fix fallout from bx_list_c change
2012-02-24 19:40:18 +00:00
Stanislav Shwartsman
7d2e7e5245
Fix memset in pcipnic.cc
2012-02-24 19:38:10 +00:00
Volker Ruppert
1425e2370c
- fixes related to the wx 2nd run support (not yet complete)
...
- siminterface: don't create plugin parameter if it already exists
- wx: make sure all plugins are loaded when creating plugin control dialog
- USB HC's: fixed removal of parameters when unloading plugin
2012-02-23 21:26:13 +00:00
Stanislav Shwartsman
86c7033a63
name cpu log functions in lower case
2012-02-23 19:31:02 +00:00
Volker Ruppert
d74762b984
- wx: use new log function name for the table of log modules
...
- added some more log function names
2012-02-23 17:16:35 +00:00
Volker Ruppert
9e084b8898
- use new log function name for the listbox contents and adjust listbox size
2012-02-21 19:50:56 +00:00
Volker Ruppert
b45077ac82
- moved optional plugin control item to the top of the list, since it's now
...
important for using network, sound and usb devices.
2012-02-21 16:15:39 +00:00
Volker Ruppert
e63948434a
- class bx_list_c size limit has been removed, so the "log action by device"
...
feature no longer needs a limit.
2012-02-21 15:56:18 +00:00
Volker Ruppert
e29c25d389
- implemented optional plugin control dialog
2012-02-21 12:00:54 +00:00
Volker Ruppert
b0afd56048
- changed checks for MinGW target cases to '*-mingw32*' (should fix WIN64 build)
...
- skip libtool creation and several checks for the MSVC target
2012-02-20 14:29:10 +00:00
Volker Ruppert
91fe8b99e6
- changed checks for MinGW target cases to '*-mingw32*' (should fix WIN64 build)
...
- skip libtool creation and several checks for the MSVC target
2012-02-20 14:27:45 +00:00
Stanislav Shwartsman
45b6eae291
updated fix for SF bug 3459998
2012-02-20 06:43:53 +00:00
Stanislav Shwartsman
1599031869
changed BX_INFO back to BX_DEBUG
2012-02-19 20:16:10 +00:00
Stanislav Shwartsman
f48317affc
SVM: Added EXITINFO2 write on VMEXIT (missed in prev commit)
...
Added phenom_8650_toliman <AMD Phenom X3 8650 (Toliman)> comment into .bochsrc example with all other supported CPU configs.
Added missed SVM definitions into Toliman CPUDB module
2012-02-19 20:15:23 +00:00
Volker Ruppert
0e186e8ba1
- fixed autoconf 2.68 warnings
2012-02-19 19:50:56 +00:00
Stanislav Shwartsman
92376fb693
svm updates
2012-02-19 12:16:58 +00:00
Stanislav Shwartsman
c70a42c5d7
merged patch ftom SF bug 3459998 Bochs cannot be compiled outside the source tree
2012-02-19 12:16:14 +00:00
Volker Ruppert
d3a9768f14
- missing config dialog for CPUID options added
...
- prepared wx plugin control dialog
2012-02-18 16:25:10 +00:00
Volker Ruppert
c85fe6afcc
- enable CPUID subtree only for CPU model choice #0
2012-02-18 10:50:14 +00:00
Volker Ruppert
a3441c8e55
- fixed memory leaks
2012-02-18 08:52:25 +00:00
Volker Ruppert
891051ac83
- don't compile library if subsystem is not enabled (network, sound, usb)
...
- fixed autoconf warnings
2012-02-17 19:09:33 +00:00
Volker Ruppert
92bb663381
- don't compile library if subsystem is not enabled (network, sound, usb)
...
- fixed autoconf warnings
2012-02-17 19:08:58 +00:00
Volker Ruppert
6079d4b2c0
- implemented optional plugin control dialog (TODO: do the same for wx)
2012-02-17 17:23:57 +00:00
Volker Ruppert
e30e6a9808
- moved optional plugin load / unload code to the siminterface
...
- implemented optional plugin control in textconfig
- TODO: implement this feature in the win32 and wx gui configuration
2012-02-16 18:06:03 +00:00
Stanislav Shwartsman
c2670b40d5
small cleanup in paging code
2012-02-15 19:49:35 +00:00
Stanislav Shwartsman
2f7e5ab3a3
fixed bugs in toliman configuration
2012-02-14 22:01:50 +00:00
Volker Ruppert
55854afa86
- calculate horizontal and vertical frequency from CRT for more accurate retrace
...
timing (TODO: length of retrace signals should be calculated, too)
2012-02-14 20:56:42 +00:00
Volker Ruppert
2f5be164d2
- reverted part of rev. 11031: for dependent lists the check 'param->get_parent() == this'
...
also works and no deplist trick is required
- bx_param_c destructor now deletes the dependent list if it exists (memory leak)
- bx_list_c::clear() only deletes the parameter if the list is it's parent
- added new method cleanup_save_restore() to free memory on simulator shutdown
2012-02-14 18:13:54 +00:00
Stanislav Shwartsman
5c02e7cebd
do not need to load PAE PDPTRs if going to nested paging mode
2012-02-14 12:36:39 +00:00
Stanislav Shwartsman
bb7a648d91
Major commit !
...
------------
Implemented SVN nested paging support - the Virtual Box boots perfectly with Nested Paging guest !
A lot of code duplication was added for now - major cleanup will follow later.
! Added AMD Phenom X3 8650 (Toliman) configuration to the CPUDB - this configuration has Nested Paging enabled.
Some CPUID modules rework done to enable Toliman configuration.
Ckean up 'executable' attribute from all CPU source files.
2012-02-13 23:29:01 +00:00
Stanislav Shwartsman
deaf58b130
read from CPUDB svm extensions
2012-02-13 21:55:27 +00:00
Volker Ruppert
8bb206ccdf
- added special flag for dependent lists
...
- bx_list_c: don't accept duplicate param names in list (except dependent lists
and special menus)
- added BX_PANIC for malloc() failure
- harddrv: fixed wrong variable found with bx_list_c changes
2012-02-13 20:58:26 +00:00
Stanislav Shwartsman
813fe4e6b9
reduce code duplication - continue preparing for nested paging implementation
2012-02-13 20:06:04 +00:00
Stanislav Shwartsman
4d0a5c1b07
- VMX: EPT misconfiguration should always take priority above EPT permissions violation (translate_guest_physical corner case bug)
...
- VMX: EPT reserved bits set should cause EPT misconfiguration and not EPT violation
- VMX: EPT walk for guest CR3 address should be considered as 'page walk'
2012-02-12 21:30:22 +00:00
Stanislav Shwartsman
0b5f798af1
re-commit changes from SVN rev11026 which were accidentially undo'ed by last Volker's commit
2012-02-12 19:13:57 +00:00
Volker Ruppert
de94b08a1a
- class bx_list_c now contains a chained list of parameters. Removed the now
...
obsolete maxsize parameter from all lists.
2012-02-12 18:43:20 +00:00
Stanislav Shwartsman
855d2adece
cleanups in paging code
2012-02-12 16:09:35 +00:00
Volker Ruppert
1df471dc82
- fixed line offset change in case VBE is disabled or in 4bpp mode
2012-02-12 13:14:38 +00:00
Volker Ruppert
8ada8d66ff
- simplyfied unloading of core plugins
2012-02-12 08:37:42 +00:00
Volker Ruppert
47c68a2f04
- fixed possible crash on Windows
2012-02-11 17:11:58 +00:00
Stanislav Shwartsman
fa182e96b5
for future nested paging: under NP PDPTR CACHE will contain NP PDPTR entries
2012-02-10 20:39:46 +00:00
Volker Ruppert
f5ca539534
- fixed some uninitialized values found with valgrind
2012-02-10 18:08:17 +00:00
Stanislav Shwartsman
a304bd5fd7
update user docs too
2012-02-10 16:08:01 +00:00
Stanislav Shwartsman
37af2eb6e4
update README file with newest Bochs CPU emulation caps
2012-02-10 16:02:22 +00:00
Stanislav Shwartsman
421170b2b9
applied SF patch
2012-02-10 15:15:31 +00:00
Stanislav Shwartsman
b497077b70
intel disclosed more cpuid bits
2012-02-08 19:54:22 +00:00
Volker Ruppert
47f2137edf
- set device state structure to 0 with memset() for some devices
...
- cleaned up vga core init code after adding memset()
- floppy: removed structures that had been used for win95 direct access
2012-02-05 10:08:56 +00:00
Volker Ruppert
90e6c88c55
- limit physical head and sectors per track parameters to the values
...
supported by hardware and BIOS
2012-02-04 16:39:59 +00:00
Stanislav Shwartsman
9bebe91826
eliminate duplicated cpu methods by adding extra param to opcodes with no modrm
2012-02-03 10:24:59 +00:00
Stanislav Shwartsman
14ec87768e
expand FCMOV function to 8 different functions - each one is much simpler to implement and understand
2012-02-01 12:07:53 +00:00
Volker Ruppert
b7333b7f3e
- removed definitions that already exist in the vgacore files
...
- minor fixes and cleanups
2012-01-31 18:53:02 +00:00
Stanislav Shwartsman
2e44613032
dos2unix for avx_pfp.cc
2012-01-30 15:29:22 +00:00
Volker Ruppert
825edc4c64
- blinking in VGA graphics mode implemented (undocumented feature???)
...
- prepared function to override the VGA output (stops the update timer)
- minor cleanups the update() code
2012-01-27 18:50:07 +00:00
Volker Ruppert
35f89eeefb
- regenerated after the pcivga changes
2012-01-26 16:37:00 +00:00
Volker Ruppert
ca2e44c0c4
- moved the pcivga code to vga.cc and removed the now obsolete plugin device
2012-01-26 16:35:38 +00:00
Volker Ruppert
da42a100eb
- major rewrite of the vga / cirrus code
...
- added new class bx_vgacore_c containing the core of the standard VGA
emulation. This is now the base class for both vga and cirrus.
- created 2 separate plugins 'vga' (for standard VGA and VBE) and 'svga_cirrus'
(Cirrus emulation). The vga extension option is used to select which plugin
should be loaded.
- TODO: move the pcivga code to the VGA/VBE code, add subdirectory for display
adapters, severak improvements and cleanups
2012-01-24 21:58:24 +00:00
Stanislav Shwartsman
56ff41bcd5
removed unused token from internal debugger command line parser
2012-01-24 21:42:04 +00:00
Volker Ruppert
ac08e89e94
- void gui init code to a new method and call it after the extension init
...
- added last maximum scan line to the bx_vga_c object
2012-01-23 22:16:08 +00:00
Stanislav Shwartsman
e42008a79a
fixed uninitialized variable usage
2012-01-23 16:51:00 +00:00
Stanislav Shwartsman
457c56c822
fixup for EPT paging
2012-01-22 18:39:15 +00:00
Volker Ruppert
709dc30cf4
- changed the maximum x/y resolution and the resulting number of x/y tiles
...
from constant to variable
2012-01-22 16:13:45 +00:00
Volker Ruppert
a34cf1bcd5
- changes in the text update interface code
...
- changed argument for the text mode info structure to a pointer
- added attribute controller palette to bx_vga_tminfo_t and removed the
previous implementation
- carbon.cc: attempt to fix the text mode colors (untested)
- x.cc: fixed warnings
2012-01-22 12:22:03 +00:00
Volker Ruppert
63ab13fe09
- store max. x / y resolution in the gui object and use it in win32.cc. Now it
...
no longer needs to incluse vga.h
2012-01-22 09:08:59 +00:00
Stanislav Shwartsman
795a21ec6d
change type of the bx_list_c::choice var to Bit32u to make in compatible with ask_uint function
2012-01-21 20:54:55 +00:00
Stanislav Shwartsman
2e32bf2d84
for bx_list param - convert 'choise' variable to regular integer
...
also for textconfig - fix operation under cygwin
under cygwin it is not guaranteed that any printf is printed on the screen under you flush the FILE stream.
2012-01-21 20:36:32 +00:00
Volker Ruppert
500ad37191
- added arguments for x/y resolution to the gui init() and store x/y tilesize
...
in the gui object. Now the gui doesn't need to include vga.h.
- TODO #1 : win32.cc also shouldn't include vga.h
- TODO #2 : replace BX_MAX_XRES / BX_MAX_YRES by variables that can be set
depending on the configuration
2012-01-21 12:15:10 +00:00
Volker Ruppert
3ec77e9372
- store config parameter values in local variables to avoid searching for
...
parameters at simulation time
2012-01-20 15:56:17 +00:00
Stanislav Shwartsman
fc6712e3a3
undo part of prev paging commit
2012-01-19 20:01:32 +00:00
Volker Ruppert
ed669adfd1
- rewrite of the PCI memory management code for the expansion ROM and BIOS area
...
- store memory type array in the memory object to avoid calling the pci plugin
frequently. The pci code calls a memory method to change the memory type in
case the PAM registers are modified.
- removed now obsolete code and minor cleanups
2012-01-19 18:32:11 +00:00
Stanislav Shwartsman
12afed23a1
small fix and cleanups in paging code
2012-01-19 06:38:22 +00:00
Stanislav Shwartsman
d69f845cc6
fixed compilation with debugger
2012-01-17 22:02:19 +00:00
Stanislav Shwartsman
9461797886
added extra param to debugger phy access callback + cleanup in vmexit functions
2012-01-17 21:50:15 +00:00
Stanislav Shwartsman
f4b49633d4
paging code rework (cont)
2012-01-17 18:20:55 +00:00
Volker Ruppert
0711276b3f
- updated VS2008 workspace file (plugin version)
2012-01-17 18:03:55 +00:00
Stanislav Shwartsman
b52c36d8c8
regenerated configure script
2012-01-16 18:43:48 +00:00
Volker Ruppert
ec464f6f17
- fixed sector count to support > 32GB virtual disk size (patch by soynor)
2012-01-16 17:27:37 +00:00
Volker Ruppert
a700d33e9f
- call functions for config and bochsrc parameter handling used by plugins
...
from the siminterface (required by MSVC and maybe others)
2012-01-16 17:11:16 +00:00
Alexander Krisak
4a146456c6
fixed compilation in cygwin
...
fixed rfb under windows
2012-01-16 15:39:43 +00:00
Stanislav Shwartsman
0d64a6cb92
fixed paging bug in previous commit
2012-01-16 15:26:25 +00:00
Volker Ruppert
1b50a7f941
- updated default VS2008 workspace file (plugin version requires some source
...
code modifications)
2012-01-15 20:26:09 +00:00
Stanislav Shwartsman
7d641450ec
remove param from check_entry_PAE function - it is always the same for all calls
2012-01-15 20:25:39 +00:00
Stanislav Shwartsman
c7cb99787e
rework in paging code before nested paging implementation for SVM - step 2
...
optimize TLB flush code
2012-01-15 19:38:00 +00:00
Stanislav Shwartsman
4db23355cd
rework in paging code before nested paging implementation for SVM - step 1
2012-01-15 17:54:13 +00:00
Volker Ruppert
8d7954e576
- another iodev cleanup: renamed pit_wrap files to 'pit'
...
- updated devices.txt
2012-01-15 08:50:20 +00:00
Volker Ruppert
6fe909393b
- regenerated after moving sound stuff to new subdirectory
2012-01-15 07:56:11 +00:00
Volker Ruppert
c6bd3fb60c
- moved the sound stuff to the new subdirectory iodev/sound
...
- TODO #1 : update MSVC workspace files
- TODO #2 : these 'device classes' could be moved to subdirectories, too:
- pci (when we have more than one chipset)
- display (when we have one more device and vga / cirrus cleaned up)
2012-01-15 07:52:04 +00:00
Volker Ruppert
a1a2ca1f55
- regenerated after moving networking stuff to new subdirectory
2012-01-14 17:12:27 +00:00
Volker Ruppert
50de0a12cd
- moved the networking stuff to the new subdirectory iodev/network
...
- TODO: do the same with the sound code and update MSVC workspace files
2012-01-14 17:03:00 +00:00
Volker Ruppert
a207f9b94d
- regenerated after moving usb stuff to new subdirectory
2012-01-14 12:39:16 +00:00
Volker Ruppert
b72d603d83
- forgot to remove this file
2012-01-14 12:37:58 +00:00
Volker Ruppert
68b49ba42d
- moved the USB stuff to the new subdirectory iodev/usb
...
- TODO #1 : do the same with the network and sound code
- TODO #2 : update MSVC workspace files
2012-01-14 12:36:32 +00:00
Volker Ruppert
e4570a0939
- added special linked list for core plugins and manage them with the device
...
plugin system.The load order is important for these devices!
- load support plugins for networking, sound and usb only if at least one of the
related plugin devices is loaded.
- plugin_ctrl: added missing devices to the list in bochsrc sample
2012-01-13 17:04:47 +00:00
Volker Ruppert
fb9401c3b0
- devices 'ne2k' and 'sb16': moved config parameter creation and bochsrc option
...
parsing to the plugin device code
- sb16: modified misc runtime menu creation to make the sb16 parameters optional
- ne2k: changed location of the init() method in file (now matches coding style
of other device plugins)
2012-01-12 18:03:20 +00:00
Stanislav Shwartsman
f5d55f5eb6
- Implemented Task Switch intercept in SVM, cleanup in task switch handling code
...
- Changed (c) year in several cpu files
- Cleanup and indent fixes in VMX code
2012-01-11 20:21:29 +00:00
Stanislav Shwartsman
039326d0c9
always return const pointer from functions - these strings are not planned to be modified
2012-01-11 19:57:38 +00:00
Stanislav Shwartsman
cb366e00c5
fixed code duplication in exceptions
2012-01-11 06:27:35 +00:00
Volker Ruppert
5c49e2458f
- added new plugin type PLUGTYPE_STANDARD for optional plugins which are used in
...
nearly all cases and plugins that depend on others. These plugins cannot be
managed with 'plugin_ctrl' (e.g. keyboard, harddrv, pci_ide). Store the plugin
type in the divice structure for compatiblity with the "no-plugin" compilation.
Call the device methods init(), reset() and after_restore_state() for each type
separately in the order: stanard, optional, user. This also affects the status
bar LED feature: now the keyboard and harddrv LEDs are always visible, but
those of optional plugins may be invisible if there is no space left.
- TODO #1 : add the devices 'ne2k' and 'sb16' to 'plugin_ctrl'
- TODO #2 : manage core plugins with the device plugin system
2012-01-10 17:45:18 +00:00
Stanislav Shwartsman
ba7887f31c
fixed code duplication with v86 interrupt redirection
2012-01-10 08:13:34 +00:00
Stanislav Shwartsman
8d698c7087
fixed compilation err ith cpu-level=5 and cleanups
2012-01-09 20:52:15 +00:00
Stanislav Shwartsman
87b1c31495
fixed SVM VmEXIT on #PF error code
2012-01-09 20:24:23 +00:00
Stanislav Shwartsman
f64c38dfaf
fix in SVM event injection
2012-01-09 20:15:15 +00:00
Volker Ruppert
db4520f778
- devices 'pcidev' and 'pcipnic': moved config parameter creation and bochsrc
...
option parsing to the plugin device code
2012-01-09 17:15:03 +00:00
Stanislav Shwartsman
2900956327
Split back some frequently used arithmetic and logic opcodes (which were done as Load+Op before).
2012-01-09 13:09:59 +00:00
Stanislav Shwartsman
35bfe11c3d
SVM: forgot to save RFLAGS in guest state
2012-01-08 19:46:38 +00:00