Volker Ruppert
6787d3b629
some PCI register behaviour fixes
2012-11-11 16:55:59 +00:00
Volker Ruppert
f0a3679e34
moved function is_pci_device() to the siminterface class
2012-11-11 12:21:09 +00:00
Volker Ruppert
e415cb9db8
recompiled after PCI changes
2012-11-11 09:10:28 +00:00
Volker Ruppert
cc56245407
started implementing the i430FX chipset
...
- renamed config parameter "i440fx_support" to "enabled"
- new config parameter "chipset" added (current choices "i430FX" and "i440FX")
- don't load ACPI support if the i430FX chipset is selected
- select register values for the core PCI devices depending on the chipset
- USB UHCI must be connected to a PCI slot if the i430FX chipset is used
- rombios changes to make the i430FX chipset work
- TODO #1 : implement limitation to 1 cpu and 128 MB RAM for the i430FX chipset
- TODO #2 : verify register behaviour of both chipsets
2012-11-11 08:11:17 +00:00
Stanislav Shwartsman
64f9c12bbc
name new CPUID bits from AMD
2012-11-10 11:00:09 +00:00
Volker Ruppert
ab57eb3615
fixed compilation error with debugger enabled
...
- read PCI confAddr value from the devices code for debugger output
- PCI confData value isn't needed at all (changes by each read / write access)
- PCI framework methods don't need to be virtual
2012-11-09 13:30:52 +00:00
Volker Ruppert
b63d835b30
- regenerated after the PCI changes
2012-11-08 19:20:46 +00:00
Volker Ruppert
46d09f3852
moved PCI framework to the common devices code
...
- PCI slot configuration, memory and i/o BAR registration, PCI i/o space
handlers now present in devices.cc
- configure: E1000 emulation and USB support need PCI
- vga: fixes for the non-PCI case
2012-11-08 19:12:26 +00:00
Stanislav Shwartsman
29d5f4149b
correct typo
2012-11-07 04:41:30 +00:00
Stanislav Shwartsman
34b5044e06
added back set for compatibility
2012-11-06 20:10:32 +00:00
Stanislav Shwartsman
edf4ea4c74
fixed SF bug #1318 dbg: several issues with 'set' command
2012-11-06 20:01:02 +00:00
Stanislav Shwartsman
110fd4b92a
Fixed issue with configure script with debugger enabled.
...
I am copiling using Cygwin+mingw and cnfigure script by default doesn't find and GUI library and therefore I supply --with-win32.
But seems it is not enough to get GUI debugger compiled - Makefile was missing win32_enh_dbg_osdep.cc
2012-11-06 19:59:18 +00:00
Stanislav Shwartsman
b9d3d3f3cd
Set INT vector 1Dh to zero; MDA/CGA Video Parameter Table is not available.
2012-11-05 11:10:07 +00:00
Stanislav Shwartsman
7bace61c12
fixed compilation issue
2012-11-05 06:41:10 +00:00
Volker Ruppert
6cc92b1e2c
recompiled after ACPI changes
2012-11-04 18:25:54 +00:00
Volker Ruppert
58b94d8f32
applied two old ACPI BIOS patches for Debian by Avi Kivity
...
- use preprocessor for pci link routing
- add 26 pci slots, bringing the total to 32
2012-11-04 18:21:06 +00:00
Volker Ruppert
4bc41a51e6
- removed unused declarations
2012-11-03 23:18:14 +00:00
Volker Ruppert
4d4dec0d62
simplified floppy dialog init code
2012-11-02 10:31:59 +00:00
Volker Ruppert
67714925c9
fixed some warnings / removed unused method
2012-11-02 08:23:09 +00:00
Stanislav Shwartsman
8a01ee1661
implemented SVM decode assists. some is still missing - coming soon
2012-11-02 07:46:50 +00:00
Volker Ruppert
9011005580
fixed some MSVC warnings in the iodev code (vgacore, voodoo, vpc-img, vvfat)
...
TODO: fix MSVC warnings in the voodoo rasterizer code
2012-11-01 15:43:12 +00:00
Volker Ruppert
c8012c3f1d
cleaned up devices timer handler / fixed keyboard paste counter
2012-10-30 17:25:33 +00:00
Volker Ruppert
45a7020f5d
recompiled BIOS after latest changes
2012-10-28 19:41:04 +00:00
Stanislav Shwartsman
a9396c3ffc
Set INT vector 78h and above to zero; AWARD BIOS does this. Change based on sf patch #507 .
2012-10-28 18:34:01 +00:00
Stanislav Shwartsman
8d32f2e305
fixed another compilaton err in vapic
2012-10-28 18:32:58 +00:00
Volker Ruppert
80e4fe3ec6
updated / improved Bochs code overview
2012-10-28 18:22:11 +00:00
Stanislav Shwartsman
7e663e785e
fix compilation err
2012-10-28 16:34:25 +00:00
Volker Ruppert
24d9f5c194
documentation updates
...
- loading the 'voodoo' plugin with plugin_ctrl
- updated license sections in the manpages
- updated comments in siminterface.h
2012-10-28 15:53:06 +00:00
Volker Ruppert
f034bb5479
improved information related to SVN write access
2012-10-28 12:48:06 +00:00
Volker Ruppert
9933ffa3d9
vga refresh framework changes
...
- renamed trigger_timer() methods to refresh_display()
- new argument 'redraw' added to force a refresh of the entire screen
(used in snapshot mode)
- siminterface method refresh_vga() now checks if the Bochs gui init is complete
- use SIM->refresh_vga() in some more cases
2012-10-28 08:23:39 +00:00
Volker Ruppert
f122549153
documentation updates
...
- Voodoo Graphics emulation
- PCI support available by default
- undoable / volatile mode with other types of base images
2012-10-27 07:33:09 +00:00
Volker Ruppert
78e29cc7eb
- recompiled after latest changes
2012-10-27 06:40:21 +00:00
Stanislav Shwartsman
744001e35e
Implemented VMX APIC Registers Virtualization and VMX Virtual Interrupt Delivery emulation
...
Bugfix: VMX: VmEntry should do TPR Virtualization (TPR Shadow + APIC Access Virtualization case is affected) and even could possibly cause TPR Threshold VMEXIT
2012-10-26 18:43:53 +00:00
Volker Ruppert
6276173b85
- updated SVN URLs in the Bochs documentation
...
- TODO #1 : update links on the website
- TODO #2 : add some information about SVN hook scripts and SVN backups with
rsync to the developer doc
2012-10-26 16:43:19 +00:00
Volker Ruppert
4d870e3f4c
changed another SVN URL (next test commit)
2012-10-26 15:50:21 +00:00
Volker Ruppert
9595689b54
- next test commit (updated SVN URL)
2012-10-26 12:43:20 +00:00
Volker Ruppert
7469df3c56
- updated Bochs SVN URL (test commit, some more changes are required
2012-10-26 12:28:24 +00:00
Stanislav Shwartsman
9b65cae026
make WRMSR end-of-trace instruction
2012-10-25 16:49:22 +00:00
Stanislav Shwartsman
4273b41d00
fixed write to apicbase when in x2apic mode
2012-10-25 16:09:34 +00:00
Stanislav Shwartsman
7e1b67f91e
fixed bugs in vmx code
2012-10-25 16:08:28 +00:00
Stanislav Shwartsman
e4d659c54d
fix compilation err
2012-10-25 16:07:11 +00:00
Volker Ruppert
eac784c0bb
- regenerated after 'configure --help' changes
2012-10-25 16:03:11 +00:00
Volker Ruppert
699eabbac8
Enable PCI support by default / better text formatting for 'configure --help'
...
and added default values
2012-10-25 16:02:03 +00:00
Volker Ruppert
4eae421272
Graphics snapshot feature re-implemented for the new graphics API
...
- graphics_tile_info() split into a common and specific part
- store snapshot mode in structure bx_svga_tileinfo_t
- in snapshot mode, display adapters copy raw data to buffer
- rewrite of the trigger_timer() code to make it work in all cases
- added new class bx_nonvga_device_c to make forwarding refresh requests to the
Voodoo adapter possible
2012-10-25 15:53:04 +00:00
Stanislav Shwartsman
d43bf74aa3
post_init_ivt change based on sf patch #3567829
2012-10-16 10:39:52 +00:00
Volker Ruppert
bdf28d89dd
Graphics snapshot handling for standard VGA and compatible modes (old graphics
...
API) moved to the gui code. Splitted graphics_tile_update() in a common and a
specific part. The common part handles the snapshot case if active. As a side
effect, the snapshot feature now works for CGA modes, too. Fixed palette colors
in 8 bpp snapshots.
2012-10-15 19:43:06 +00:00
Volker Ruppert
1fd6745aea
Started rewrite of the gui code to make the graphics snapshot independent from
...
the display adapter code. When ready, the common gui code should handle it
completely. The snapshot handler should set a flag 'snapshot_mode' and then it
should force a display update. The graphics update code should be redirected to
some code that 'draws' to a snapshot buffer. These first steps are done:
- store some guest display settings in the gui code (text / graphics switch,
x / y resolution and bpp)
- split 8 bpp palette update code in a common and a specific part and store the
palette values in the gui code
2012-10-14 18:29:44 +00:00
Stanislav Shwartsman
75908a2985
add comment
2012-10-14 15:58:10 +00:00
Volker Ruppert
26659d5667
- some more work on save/restore support (now almost usable)
...
- TODO: add graphics snapshot support
2012-10-12 15:14:30 +00:00
Stanislav Shwartsman
45d5d690d7
initialize random generator for RDRAND/RDSEED
2012-10-09 20:53:50 +00:00
Stanislav Shwartsman
2044b6c7ea
add rdrand.cc to MSDEV workspace files
2012-10-09 16:50:45 +00:00
Stanislav Shwartsman
2638c1136a
Add RDRAND/RDSEED instructions support (+ disasm)
...
Of course no true random numbers will be generated - use standard "C" rand() function as stub.
In future it will be possible to improve (using another random generator) or even use real rdrand/rdseed intrinsics
2012-10-09 15:16:48 +00:00
Volker Ruppert
1f7aa18003
implemented log action exclude checks in textconfig
2012-10-08 18:44:26 +00:00
Volker Ruppert
698afee9aa
undoable / volatile mode: added support for other types of r/o base images.
...
These hdimage modes are now supported: flat, sparse, growing, vmware3, vmware4
und vpc. The image mode is auto-detected, so no change of configuration syntax
is necessary (TODO: documentation update). Example:
ata0-master: type=disk, mode=volatile, path=vmware4-test.img
2012-10-07 18:36:22 +00:00
Volker Ruppert
9f21d56c9d
- vmware3: implemented check_format() for image mode autodetection
...
- vmware3: coding style changes
- vmware4: fixed endianness before version check
2012-10-07 11:38:55 +00:00
Stanislav Shwartsman
e7a2c9892c
re-implement VTPF write using event handling interface as trap event (in preparation to more apic virtualization features)
2012-10-07 09:16:13 +00:00
Volker Ruppert
67e2610870
vmware4: implemented check_format() for image mode autodetection
2012-10-06 10:12:36 +00:00
Stanislav Shwartsman
b0edc32f4c
fixed compilation with VMX
2012-10-06 09:13:41 +00:00
Volker Ruppert
e2a1e8192d
- moved the logic to exclude log level / log action combinations that don't
...
make sense to siminterface.h and use it in the win32 dialog and for
bochsrc parsing
2012-10-05 21:36:49 +00:00
Stanislav Shwartsman
c48e516386
implemented injection of MTF event. The MTF VMexec control is still not implemented yet
2012-10-05 20:48:22 +00:00
Volker Ruppert
d0a545c010
- moved log action definitions to siminterface.h
...
- wxdialog: use symbols and allow log action ACT_IGNORE for LOGLEV_ERROR
- wxdialog: removed obsolete pass event
- TODO: fix win32dialog stuff in a similar way
2012-10-05 16:04:40 +00:00
Stanislav Shwartsman
3cd11b02ee
optimization and bugfix for prev commit
2012-10-04 21:30:50 +00:00
Stanislav Shwartsman
1b228aec32
Fixed double and triple fault detection in exception.cc. Remove errorno variable from CPU (redundant now)
2012-10-04 20:52:27 +00:00
Volker Ruppert
fb778e706c
- sparse: simplified restore code
...
- redolog class: added support for opening redolog file in read-only mode
- open backups for header check in read-only mode (growing, undoable, volatile, vpc)
2012-10-04 17:01:17 +00:00
Stanislav Shwartsman
f69bc016d2
vmx: nmi blocking after NMI event injection. better dbg print for VMEXIT
2012-10-04 16:15:58 +00:00
Volker Ruppert
d6bdc0c18f
vpc-img: implemented check_format() for image autodetection
2012-10-03 21:25:20 +00:00
Stanislav Shwartsman
be1642e02e
fixed compile with debugger enabled
2012-10-03 20:32:02 +00:00
Stanislav Shwartsman
2ca0c6c677
Move INTR, Local APIC INTR and SVN VINTR into new event interface (hardest part)
...
Minor speedup (of 1-2%) was observed due to new implementation
Remove obsolete dbg_take_irq function and dbg_force_interrupt function from CPU code, the functions were not working properly anyway
2012-10-03 20:24:29 +00:00
Volker Ruppert
961a88ab43
- started implementation of hdimage mode autodetection and use it to check the
...
type of the r/o disk for the undoable / volatile mode. The format check code
is currently written for flat, sparse and growing images. The undoable and
volatile mode now cause a panic if the r/o image mode is unsupported.
- TODO #1 : rewrite the header checks for vmware3, vmware4 and vpc images to make
them usable for autodetection.
- TODO #2 : add support for other types of r/o disks in undoable/volatile mode.
- TODO #3 : add an image mode 'auto' for the supported types (NOTE: unknown images
can be treated as flat ones if their size is multiple of 512).
2012-10-03 16:17:37 +00:00
Stanislav Shwartsman
49bb3ba8f5
some cleanups and optimizations with new event interface
2012-10-03 15:49:45 +00:00
Volker Ruppert
16ee7f8936
- turn on status bar LEDs after restore if necessary
2012-10-03 09:09:04 +00:00
Volker Ruppert
a0852c83b9
- continued work on save/restore support (still incomplete)
2012-10-03 08:12:35 +00:00
Stanislav Shwartsman
ae06a0825b
svm virq - move to new event interface
2012-10-02 20:49:16 +00:00
Stanislav Shwartsman
9132c29280
optimization and code duplication cleanup in event handling code
2012-10-02 20:07:26 +00:00
Stanislav Shwartsman
5247dfb709
added some debug log messages when cannot open VPC image
2012-10-02 20:06:31 +00:00
Stanislav Shwartsman
0ee8af67c3
Partial undo of sf patch #3540389 to keep more "natural" argument order.
...
Sebastian
2012-10-01 20:41:11 +00:00
Stanislav Shwartsman
dbb23aed43
close another SMC hole
2012-10-01 18:19:09 +00:00
Volker Ruppert
54063b3e0b
- skip screen update if video is unchanged
...
- some work on save/restore support (not yet complete)
- changed some variable types to bx_bool
2012-10-01 17:02:18 +00:00
Stanislav Shwartsman
3a6f649b18
fixed comment
2012-10-01 12:08:23 +00:00
Stanislav Shwartsman
e3c5f9027d
exclude code based on uninitialized variables used only for DEBUG
2012-10-01 09:50:33 +00:00
Volker Ruppert
0611793f4c
- enable Voodoo clock in init()
...
- don't enable Voodoo mode if hSync or vSync are still 0 to avoid Bochs crash
(division by zero error)
- handle PCI register 0x40 (initEnable)
- fixed reported display size
2012-09-30 12:11:01 +00:00
Volker Ruppert
74dc4fc37a
- replaced empty LOG_VOODOO function by BX_DEBUG
2012-09-30 10:33:51 +00:00
Volker Ruppert
05ae9fadae
updated VS2008Ex workspaces files
2012-09-29 20:57:52 +00:00
Stanislav Shwartsman
e397a86ce0
fixed code duplication related to EXT field
2012-09-29 09:31:34 +00:00
Volker Ruppert
2d4f9009cd
- save/restore documentation updates
...
- removed obsolete comment
2012-09-28 21:13:46 +00:00
Volker Ruppert
b142dbcc2c
- add new function hdimage_open_file() that returns file size and modification
...
time if requested (reduces code duplication)
- 'vpc' image mode: moved header check to a separate function that opens the
file, checks header/footer and returns disk type (if requested)
- implemented restore function for 'vpc' mode images
- gui: updated yes/no dialog message after saving state
- save/restore documentation update (TODO: developer doc)
2012-09-27 18:38:30 +00:00
Stanislav Shwartsman
dc369d831f
small cleanup
2012-09-27 07:03:25 +00:00
Volker Ruppert
35ec96f740
- implemented restore function for 'vmeare3' mode images
...
- 'vmware4' image mode: handle restore failure
2012-09-26 16:20:38 +00:00
Stanislav Shwartsman
8189a5ed20
fixed compilation with SMP
2012-09-26 16:00:49 +00:00
Stanislav Shwartsman
42a460638e
don't allow voodoo configure with no PCI
2012-09-26 13:40:37 +00:00
Stanislav Shwartsman
b2afa834c5
fixed compilation with intrumentation w/o x86-64
2012-09-25 20:48:46 +00:00
Stanislav Shwartsman
66a9a769fc
fixed nmi window exiting
2012-09-25 20:00:33 +00:00
Volker Ruppert
176121dd2b
- implemented restore function for 'volatile' mode images
2012-09-25 20:00:26 +00:00
Volker Ruppert
c06e02f9f0
- fixed uninitialized variable warning and BX_INFO output
2012-09-25 18:32:38 +00:00
Volker Ruppert
84cfd36d38
- implemented restore function for 'vmware4' mode images
...
- fixed restore function for 'sparse' mode images
- prepared restore functions for 'vmware3' and 'vpc' mode images
2012-09-25 16:24:19 +00:00
Stanislav Shwartsman
08d0ef6dbf
fixes for new event handling code
2012-09-25 13:53:26 +00:00
Stanislav Shwartsman
d5f858d100
transfer VMX NMI window exiting into event vector infrastructure
2012-09-25 10:21:29 +00:00
Stanislav Shwartsman
40ba9c8d7b
introducing new interface for handling CPU events based on vector of events and not on many not related variables. this is very initial implementation which takes into new interface only few events, more will code soon
2012-09-25 09:35:38 +00:00
Volker Ruppert
d29fb9a592
- implemented restore function for 'concat' mode images
...
- always use 'pathname' for the full path of the original image
2012-09-25 05:12:46 +00:00
Stanislav Shwartsman
3855c9c2fe
fixed warning
2012-09-24 20:11:50 +00:00
Stanislav Shwartsman
f0c153e550
fixed warning
2012-09-24 19:53:49 +00:00
Volker Ruppert
723dfc2ad7
- improved packet logging function (added ASCII dump to hexdump)
2012-09-24 19:32:57 +00:00
Volker Ruppert
7ca95178b0
- fixed save/restore in VBE mode. The class bx_shadow_bool_c expects bit #0 to
...
be set for "true", but variable "lfb_enabled" wasn't correctly set up.
- TODO: check the whole Bochs code for the correct usage of variables saved
with bx_param_bool_c.
2012-09-24 15:40:50 +00:00
Stanislav Shwartsman
da150bc163
small optimization in icache
2012-09-23 19:35:46 +00:00
Volker Ruppert
5d562a7830
- implemented restore function for 'growing' mode images
...
- fixes and cleanups in the restore functions
2012-09-23 19:28:28 +00:00
Volker Ruppert
b560c72b52
- added check for overlapping memory regions using a Bit16u bitmap (each bit
...
represents a 64k block in the 1M page)
- fixed some format warnings
2012-09-23 19:09:20 +00:00
Volker Ruppert
7fff912faf
- implemented restore function for 'sparse' mode images
...
- fixed restore function for 'flat' mode images
2012-09-23 11:03:52 +00:00
Stanislav Shwartsman
fe327394c7
fix gcc 4.7 warnings in voodoo code
2012-09-22 19:59:40 +00:00
Volker Ruppert
31461c26fb
- added helper function hdimage_copy_file() for the hdimage restore functions.
...
On win32 the native CopyFile() function is used. The restore function should
work this way: coherency check (if necessary), close current image, copy saved
image from restore path (overwrites existing one), finally re-open image.
- implemented restore function for 'flat' and 'undoable' mode images
2012-09-22 10:04:28 +00:00
Volker Ruppert
28bc5e4bc2
- moved coherency check for r/o disk and journal to a separate function to
...
make it usable for the required check before restoring journal file
- prepared restore function of undoable and volatile images
2012-09-21 20:25:23 +00:00
Stanislav Shwartsman
eb348992c2
optimize POPCNT implementation
2012-09-21 14:56:56 +00:00
Stanislav Shwartsman
74f5bb1934
WBINVD not necessary havw to flush ICACHE
2012-09-21 08:55:10 +00:00
Stanislav Shwartsman
cc5f8d12d1
fixed unused var warning
2012-09-20 21:14:13 +00:00
Volker Ruppert
bcd0a58537
- simplified save_state() method of 'sparse' mode images (saving parent images
...
not necessary, since all changes go to the toplevel image)
2012-09-20 20:41:14 +00:00
Stanislav Shwartsman
fe727d12e3
fixed uninitialized variable warning in vga.cc
2012-09-20 19:33:39 +00:00
Volker Ruppert
50482a9f2b
- implemented save state function for the disk image modes 'vmware3', 'vmware4'
...
and 'vpc'
- prepared hdimage restore support
- vmware4: code cleanup
2012-09-19 21:05:18 +00:00
Volker Ruppert
5cbf0894ac
- implemented save state function for the disk image modes 'concat' and 'sparse'
...
- set timestamp of r/o disk in volatile mode, too (for save/restore support)
- TODO: save state function for the remaining image modes, restore support
2012-09-18 19:00:25 +00:00
Volker Ruppert
7da5057be5
- implemented save state function for redolog_t based disk image modes (growing,
...
undoable, volatile)
- TODO: save state function for the remaining image modes, restore support
- save/restore: when saving binary data to a file, use the full parameter path
(except "bochs." prefix) as the file name to avoid overwriting duplicates
2012-09-17 19:30:40 +00:00
Stanislav Shwartsman
6682d019e3
remove inline asm code which doesn't compile for MSDEV 64-bit. compiler knows to generate code not worse than this inline asm
2012-09-17 07:57:07 +00:00
Volker Ruppert
9ee5a77747
- started implementation of sav/restore support for hard disk images using a
...
dummy parameter and it's save/restore handlers. Currently only the save
support is implemented and the specific save function is only written for
flat mode images (copies whole disk image file to the save/restore folder).
- TODO #1 : implement save function for the other disk image modes
- TODO #2 : add restore support (replace disk image file with the one from the
save/restore folder)
2012-09-16 19:51:30 +00:00
Volker Ruppert
54a637a431
- indent changes
2012-09-16 10:59:15 +00:00
Volker Ruppert
b3478cf57b
- bochsrc include directive now supports 2 include levels
2012-09-16 08:55:59 +00:00
Volker Ruppert
35f97235ed
- fixed compilation error in MinGW/MSYS and some warnings
2012-09-16 07:52:55 +00:00
Stanislav Shwartsman
f419798ca5
fixed reset value for mtrr
2012-09-15 19:52:11 +00:00
Volker Ruppert
c8907855c2
- remove spaces from short filename (otherwise long name is ignored)
2012-09-15 13:15:30 +00:00
Stanislav Shwartsman
e0aea74693
code indent
2012-09-15 10:03:22 +00:00
Stanislav Shwartsman
4eaa72a32f
small coding style changes + warning fixes in voodoo code
2012-09-15 09:47:31 +00:00
Volker Ruppert
c7b33ec742
- regenerated after adding Voodoo Graphics support
2012-09-14 21:55:43 +00:00
Volker Ruppert
5f5d8e2c33
Applied initial version of the 3dfx Voodoo Graphics emulation. The Voodoo core
...
is based on a patch originally designed for DOSBox. Currently only the Voodoo1
adapter model can be emulation. The emulation is currently slow, but we intend
to clean up and optimize the code. Running the 3D engine in a separate thread
is also planned. To compile with Voodoo support the configure option
"--enable-voodoo" must be used. Then the device can be activated with
"plugin_ctrl: voodoo=1" in bochsrc or on the command line. The device will be
assigned automatically to a PCI slot unless you do that manually. A specific bochsrc
option to select the adapter model will be added when the code has support for it.
2012-09-14 21:50:50 +00:00
Stanislav Shwartsman
f151463f0f
removed old deprecated options from the code
2012-09-14 13:32:54 +00:00
Stanislav Shwartsman
4f6557697b
small comments updates in vmx code
2012-09-13 05:33:05 +00:00
Volker Ruppert
125c6f0bde
- refenerated after fpu -> cpu/fpu change
2012-09-12 21:10:55 +00:00
Volker Ruppert
c2560a8d44
- fpu directory is now a subdirectory in 'cpu'
2012-09-12 21:08:40 +00:00
Stanislav Shwartsman
2c5165bc06
fix check of error_code feild on event injection
2012-09-12 04:12:58 +00:00
Volker Ruppert
25518fe172
- added save/restore support for the VGA override mode
...
- store update interval in the vga object
2012-09-11 06:52:11 +00:00
Volker Ruppert
4de921f1b6
- fixed copy and paste error
2012-09-10 20:54:15 +00:00
Volker Ruppert
1af2fb6a92
- regenerated after adding iodev/display folder
2012-09-10 20:50:46 +00:00
Volker Ruppert
c340da84dd
- moved the display adapter emulation to the new subdirectory iodev/display
...
- TODO #1 : update MSVC workspace files
- TODO #2 : add Voodoo Graphics emulation
2012-09-10 20:49:29 +00:00
Stanislav Shwartsman
2f3c7ff8e4
implemented SMAP (Supervisor Mode Access Protection) from [Intel Architecture Instruction Set Extensions Programming Reference] rev14
...
fixed enabling of ADX extensions in generic CPUID when enabled through .bochsrc
Small code cleanups on the way to implementation of APIC Registers Virtualization features disclosed in recent Intel SDM rev043
2012-09-10 15:22:26 +00:00
Stanislav Shwartsman
0386f49e03
fixed comments for SHLD/SHRD instructrions and make code a little more clear
2012-09-09 17:44:42 +00:00
Volker Ruppert
d2aaa00336
- dimension_update() must be called when leaving VGA override mode
...
- Cirrus adapter needs to set the last resolution and BPP for VGA override
- TODO #1 : move display adapter code to iodev subdirectory 'display'
- TODO #2 : add 3dfx Voodoo Graphics emulation
2012-09-09 15:44:20 +00:00
Stanislav Shwartsman
7e48b30b5d
fixed random freeze issues caused by commit rev11402
2012-09-06 19:51:33 +00:00
Stanislav Shwartsman
bff3ba1535
small optimization in lazy flags code
2012-09-06 19:49:14 +00:00
Stanislav Shwartsman
f1fd44b2cf
preparations for apic regs virtualization feature described in SDM rev044
2012-09-06 15:21:08 +00:00
Volker Ruppert
8aac6ac761
- some fixes and updates related to the release process
2012-09-04 18:33:37 +00:00
Stanislav Shwartsman
8044a2bda6
rename i->execute field in the instruction
...
move victim cache lookup into cache lookup so traces could be linked with victim cache hits directly
2012-09-04 15:45:05 +00:00
Stanislav Shwartsman
90f544d307
after release 2.6
2012-09-02 18:43:27 +00:00
Stanislav Shwartsman
295e3ab8db
fixed compilation warning
2012-09-02 18:38:04 +00:00
Volker Ruppert
8bc7213d9d
- forgot to add release date
2012-09-02 11:24:32 +00:00
Volker Ruppert
1b21d26930
- regenerated for release
2012-09-02 11:11:54 +00:00
Volker Ruppert
39e41ac312
- preparing release 2.6
2012-09-02 11:11:00 +00:00
Volker Ruppert
8863056b7a
- documentation updates (iodev subdirectories)
2012-09-02 10:51:47 +00:00
Volker Ruppert
de34274fcb
- parts of the USB keypad code are still based on Ben's code, so we need to
...
add the LGPL to usb_hid.cc
- moved Ben's comment to usb_uhci.cc, since this file contains most of his
initial pciusb patch
- TODO: implement full USB keyboard support (port from QEMU)
2012-09-02 09:37:47 +00:00
Stanislav Shwartsman
d1879b839e
increase icache size
2012-09-01 19:13:01 +00:00
Volker Ruppert
f4622e3fbd
- added documentation for some configure options
...
- use the <option> tag for configure options
- use the <anchor> tag for internal links into lists and tables
- some other updates related to configure options
2012-09-01 10:50:03 +00:00
Volker Ruppert
b9446cba4f
- updated license information in the docs
2012-08-31 20:57:11 +00:00
Stanislav Shwartsman
ca720c40b8
Inte SDM rev44 was published, the rev043 is not the latest published one anyore
2012-08-31 16:01:41 +00:00
Stanislav Shwartsman
86a06ff9f6
more new vmx defines
2012-08-31 15:38:28 +00:00
Volker Ruppert
62a568c131
- changed license headers from LGPL to MIT for all devices / drivers that have
...
been ported from QEMU and originally have this license
- TODO: The QEMU people should verify the changes and tell us if something is
missing. Bochs 2.6 will be released after everything has been confirmed to
be okay.
2012-08-31 12:08:19 +00:00
Stanislav Shwartsman
2a459fb9be
add more disclosed VMCS fields and vmexit codes to enums (from rev44 published today)
2012-08-31 09:25:13 +00:00
Volker Ruppert
48042499cf
- added original authors on top of LGPL'd sources ported from Qemu
...
- added LICENSE file to clarify the Bochs license
- TODO: fix source files ported from Qemu with MIT license
2012-08-30 20:41:25 +00:00
Volker Ruppert
4e878a1ef9
- implemented "hideIPS" option in the win32 gui
2012-08-29 20:36:12 +00:00
Stanislav Shwartsman
1e752a1c34
fixed compilation error in rfb.cc (definition of TIMERPROC function)
2012-08-28 19:37:40 +00:00
Volker Ruppert
de3792b7f0
- rfb: the "show ips" feature now works on Windows host (separate thread
...
with a dummy message loop is required to make the Windows console timer work)
2012-08-28 18:59:56 +00:00
Volker Ruppert
24eb755c5a
- rewrite of the "show ips" feature similar to other guis
...
- implemented "hideIPS" option
- minor other cleanups and updates
- TODO: make "show ips" feature work on Windows host
2012-08-28 17:16:10 +00:00
Stanislav Shwartsman
40a9992aa6
small cleanups
2012-08-28 16:05:39 +00:00
Volker Ruppert
8e070cecb4
- fixed size of version message string (Bochs RFB server now works with the
...
latest TightVNC client)
2012-08-27 21:01:42 +00:00
Volker Ruppert
9b1cc19afe
- don't set 'client_connected' variable before client <-> server connection is
...
really established
- show countdown on console while waiting for client
- minor other fixes
2012-08-27 17:02:05 +00:00
Stanislav Shwartsman
e17cffab57
simplify generated code
2012-08-26 15:49:30 +00:00
Volker Ruppert
5ff2d2d172
- changes updated
2012-08-26 15:21:12 +00:00
Volker Ruppert
53c87a8bee
- fixed compilation with large ramfile support present on MSVC
2012-08-26 14:44:06 +00:00
Volker Ruppert
fb0e05e36c
- fixed compilation with large ramfile support present on MSVC
2012-08-26 14:43:14 +00:00
Volker Ruppert
c2f9150497
- split "show ips" handler from bx_signal_handler to simplify usage without alarm()
2012-08-26 12:32:10 +00:00
Volker Ruppert
ae74c5a1d0
- fixed link failures with wxGTK
...
- without both plugins and X11 configured, -lX11 is required for XStringToKeysym
- GTK debugger must be enabled, although is not used yet
2012-08-26 07:18:12 +00:00
Volker Ruppert
3d7205116f
- fixed link failures with wxGTK
...
- without both plugins and X11 configured, -lX11 is required for XStringToKeysym
- GTK debugger must be enabled, although is not used yet
2012-08-26 07:17:43 +00:00
Volker Ruppert
ba80ab8395
- next attempt to fix random freezes in wxGTK
...
- re-implemented siminterface method is_wx_selected() (the old one had been
renamed to has_debug_gui() which is something different now)
- don't use alarm() if the wx gui is selected and instead use the wxTimer based
code that already exists for wxMSW
2012-08-25 13:20:55 +00:00
Volker Ruppert
69fd66dbaf
- fixed thread deadlock after pressing the power button (SF bug #625877 ):
...
Added a new event BX_ASYNC_EVT_QUIT_SIM that is posted from the simulation thread
to the gui thread and the "Bochs stopped" message box is shown there.
- TODO: Fix random freezes in wxGTK that seem to be caused by the "show ips"
feature. A async event like the one above could possibly fix this problem.
2012-08-24 21:49:02 +00:00
Volker Ruppert
0bab385f54
- added some historical facts I found on the web
...
- minor fixes and updates
- misc.txt: removed already applied and outdated sections
2012-08-24 08:46:13 +00:00
Stanislav Shwartsman
7a90d8e2dc
enabled large ramfile support by default
2012-08-23 19:31:33 +00:00
Stanislav Shwartsman
3a565afd89
random docs updates
2012-08-23 19:30:59 +00:00
Stanislav Shwartsman
af6b9e5e6f
remove plex86 references from docs as well - it was removed from code
2012-08-23 18:54:27 +00:00
Volker Ruppert
20575cfa47
- updated sections "Features" and "FAQ"
...
- removed OS/2 from "Supported platforms" (it was never officially supported)
2012-08-23 06:57:49 +00:00
Stanislav Shwartsman
6092823de3
added brief summary of 2.6 release to CHANGES
2012-08-22 14:13:51 +00:00
Volker Ruppert
74f083e641
- attempt to fix random freezes when using the wxGTK port (using the gui option
...
"hideIPS" could be used if there is still trouble)
- siminterface / wx: updated / added comments
- renamed wxWidgets README (some more updates may be required)
- TODO: fix deadlock after pressing the power button (wxGTK only)
2012-08-22 13:11:08 +00:00
Volker Ruppert
5b36cebf87
- the -C option can be used in the docbook section since MSVC nmake doesn't
...
use it (based on another Debian patch)
2012-08-22 07:16:33 +00:00
Volker Ruppert
ce3228eeda
- recompiled for release
2012-08-21 21:03:22 +00:00
Stanislav Shwartsman
c41cbe6d56
Link traces over taken branch optimization which makes handlers chaining even more efficient.
...
I observed 5% speedup in all disk images over 2.6pre1.
The change is safe (passed all regressions) and I will be glad to make it into Bochs 2.6!
2012-08-21 19:58:41 +00:00
Volker Ruppert
a64636b915
- regenerated after pre-release
2012-08-21 16:22:49 +00:00
Volker Ruppert
5df4f1b1a9
- bochs rpm spec: use %{_libdir} instead of /usr/lib for 32/64 bit compatiblity
...
- developer doc: always refer to release 2.5
- updated version number after pre-release
2012-08-21 16:21:55 +00:00
Volker Ruppert
5afff93afb
- regenerated for 2.6.pre1
2012-08-20 08:51:31 +00:00
Volker Ruppert
187586f2d5
- preparing release 2.6.pre1
2012-08-20 08:50:50 +00:00
Volker Ruppert
78513089e4
- fixed unloading of support plugins
...
- TODO: reorganize plugin types, since there are now 3 subtypes of core plugins
(gui, core devices and support for networking, sound, usb)
2012-08-20 07:35:30 +00:00
Stanislav Shwartsman
399168e37d
small cleanup
2012-08-19 18:44:08 +00:00
Volker Ruppert
95e3a7141d
- reset config options support for the optional plugin control. Unload all the
...
plugins from the list and load the default set.
- initialize save/restore support earlier to avoid segfault when unloading plugin
2012-08-19 11:45:50 +00:00
Volker Ruppert
a2dd985aef
- remove registered device state in destructor (fixes crash on Bochs exit with
...
MSVC plugins)
2012-08-19 08:16:20 +00:00
Volker Ruppert
a4ce74a158
- started preparing for pre-release
2012-08-17 15:29:54 +00:00
Volker Ruppert
11b22c8473
- forgot to remove obsolete stuff
2012-08-16 12:25:55 +00:00
Volker Ruppert
43c1ac48f4
- implemented TFTP support in eth_slirp.cc
...
* moved TFTP request processing core from eth_vnet.cc to netmod.cc
* added TFTP handling in eth_slirp.cc similar to DHCP
2012-08-16 11:59:44 +00:00
Volker Ruppert
6809e9b72e
- compilation fixes
2012-08-15 21:29:32 +00:00
Volker Ruppert
03440c201e
- minor cleanups in the wx code
2012-08-15 12:47:08 +00:00
Volker Ruppert
d6b3875eec
- remove cdrom runtime parameter handlers on exit (for wx "2nd run" support)
2012-08-15 08:30:22 +00:00
Volker Ruppert
4538078abb
- several fixes for "2nd run" support in wx (still incomplete)
...
- uninstall parameter handlers (floppy, keyboard)
- unload plugin that cannot be removed automatically
- wx: removed "show keyboard" demo and some other cleanups
- TODO: remove wx debugger and make wx work with the enhanced gui debugger
2012-08-14 19:33:24 +00:00
Stanislav Shwartsman
dd7b968404
SSE cvt instructions: transition from FPU to MMX state has higher priority than SSE exception (#XF/#UD)
2012-08-11 07:41:13 +00:00
Volker Ruppert
cf539807a9
- generate parser / lexer files only if both flex and yacc are present and also
...
disable it if configuring for MSVC
2012-08-11 07:16:50 +00:00
Volker Ruppert
5054b5f836
- generate parser / lexer files only if both flex and yacc are present and also
...
disable it if configuring for MSVC
2012-08-11 07:16:23 +00:00
Volker Ruppert
fc927773fd
- regenerated after pcidev / flex changes
2012-08-09 18:28:03 +00:00
Volker Ruppert
0f35b42429
- don't clean pcidev subdirectory if support is disabled
...
- check for flex presence and skip lexer.c generation if absent
2012-08-09 18:26:14 +00:00
Stanislav Shwartsman
6570491cb5
update CHANGES
2012-08-09 15:19:19 +00:00
Stanislav Shwartsman
df90b80352
set of small cpu fixes
2012-08-09 13:11:25 +00:00
Stanislav Shwartsman
0c11901d6b
fixed segment limit check for AVX mem access - same fix for stores
2012-08-08 20:43:07 +00:00
Stanislav Shwartsman
af9e072ad6
fixed segment limit check for AVX mem access
2012-08-08 20:39:36 +00:00
Stanislav Shwartsman
be76f38b46
correct MOVBE decoding with prefix 0x66, also correct ADX decoding
2012-08-08 20:11:27 +00:00
Volker Ruppert
e90c04a65f
- fixed typo
2012-08-08 15:38:33 +00:00
Volker Ruppert
166563493a
- regenerated after X detection changes
2012-08-07 18:29:32 +00:00
Volker Ruppert
36f5fb309e
- use old-style X detection code if pkg-config is not present
2012-08-07 18:28:00 +00:00
Stanislav Shwartsman
fee1000ba2
split PINSRB instruction to /r and /m form
2012-08-07 14:38:43 +00:00
Volker Ruppert
3e34c136de
- second try to fix duplicate resource id
2012-08-06 21:00:42 +00:00
Stanislav Shwartsman
cac261553d
Fixed stupid typo which caused incorrect VMX instr info on LDTR/TR instruction VMEXIT
2012-08-06 20:41:16 +00:00
Volker Ruppert
92afa6cc28
- updated MSVC plugins workspace
...
- fixed duplicate resource id
2012-08-06 20:16:53 +00:00
Volker Ruppert
2d0d73b5e3
- fixed MSVC compilation error
...
- updated default VS2008Ex workspace file (TODO: update plugin version)
2012-08-06 18:32:54 +00:00
Stanislav Shwartsman
882e07518e
fixed comments
2012-08-06 17:59:54 +00:00
Stanislav Shwartsman
d70ec50df3
update TODO and CHANGES
2012-08-05 19:55:00 +00:00
Volker Ruppert
ff610ee255
- regenerated after iodev/hdimage changes
2012-08-05 18:15:02 +00:00
Volker Ruppert
90168f5dcd
- moved the lowlevel cdrom and disk image stuff to the new subdirectory iodev/hdimage
...
- TODO: update MSVC workspace files
2012-08-05 18:13:38 +00:00
Volker Ruppert
7bbc26c70f
- redolog: skip bitmap update if extent_index is unchanged after lseek()
...
- more usage of helper functions bx_read_image() / bx_write_image()
- CHANGES update
2012-08-05 14:42:37 +00:00
Stanislav Shwartsman
cc694377b9
Standartization of Bochs instruction handlers.
...
Bochs instruction emulation handlers won't refer to direct fields of instructions like MODRM.NNN or MODRM.RM anymore.
Use generic source/destination indications like SRC1, SRC2 and DST.
All handlers are modified to support new notation. In addition fetchDecode module was modified to assign sources to instructions properly.
Immediate benefits:
- Removal of several duplicated handlers (FMA3 duplicated with FMA4 is a trivial example)
- Simpler to understand fetch-decode code
Future benefits:
- Integration of disassembler into Bochs CPU module, ability to disasm bx_instruction_c instance (planned)
Huge patch. Almost all source files wre modified.
2012-08-05 13:52:40 +00:00
Stanislav Shwartsman
0d7a18ed0d
cleanup instrumentation stub
2012-08-05 13:40:32 +00:00
Volker Ruppert
7c6f287fc7
- added VirtualPC image support, new disk image mode is called 'vpc'
...
- ported Qemu block driver (written by Alex Beregszaszi and Kevin Wolf)
- added helper functions bx_read_image() and bx_write_image()
- TODO: use helper function for the other disk image modes
2012-08-05 09:33:33 +00:00
Stanislav Shwartsman
4d03b57291
Allow larger quantum value for SMP simulations (up to 32)
...
Update CHANGES
2012-08-02 20:48:27 +00:00
Stanislav Shwartsman
d5c5c8e9e1
fixed bug produced by SVN commit rev11299 - missed case to clean
2012-08-02 20:43:14 +00:00
Stanislav Shwartsman
df3b61e3a9
typo fix
2012-08-02 14:37:17 +00:00
Stanislav Shwartsman
2e0f79d499
fixed compilation with AVX OFF but x86-64 on
2012-08-02 12:13:21 +00:00
Stanislav Shwartsman
abaad74fc9
trivial optimization - part of pacthes from Yeong-uk Jo
2012-08-01 16:11:20 +00:00
Stanislav Shwartsman
b43ac7358e
fixed typo-like bug in smm.cc
2012-08-01 14:56:51 +00:00
Volker Ruppert
9cda22223c
- documentation updates (vmware4 format, command line arguments)
2012-07-29 08:19:15 +00:00
Volker Ruppert
6daac95de0
- update "snapshot" docs
2012-07-28 16:43:19 +00:00
Stanislav Shwartsman
553d1bfb37
fixed SIGSEGV when cannot open file for text snapshot
2012-07-28 08:17:08 +00:00
Stanislav Shwartsman
a1ebdc41ac
Fixed SF bug [3548109] VMX State Not Restored After Entering SMM on 32-bit Systems
...
Fixed .conf.nothing configure script
Fixed copyright for some files
2012-07-27 08:13:39 +00:00
Volker Ruppert
9a008c8e3c
- use a constant for the maximum disk size calculated from max. cylinder bits
...
- increased maximum disk size to 8 TB (should work with growing and sparse disks)
2012-07-26 16:15:48 +00:00
Stanislav Shwartsman
e0729e32b8
fixed bug 3548108 VMEXIT instruction length Not always getting updated
2012-07-26 16:03:26 +00:00
Stanislav Shwartsman
a7c8d38871
Re-add lost comments in floppy_media_sense
2012-07-25 19:49:35 +00:00
Volker Ruppert
ab0300f6b2
- some work on the 'sparse' disk image mode
...
- fixed broken read support caused by wrong #if
- when opening disk some info is printed to log file
- coding style changes
2012-07-24 19:27:22 +00:00
Volker Ruppert
63ea597741
- fixed variable type for 'cyl' for > 2 TB support
...
- define symbols for the maximum hard disk size (still at 2 TB)
2012-07-24 19:15:00 +00:00
Stanislav Shwartsman
d9998269ef
added branch_eip into near branch instructiontation callbacks
2012-07-24 15:32:55 +00:00
Stanislav Shwartsman
eb9616024f
Use ASM comment marks
2012-07-23 16:11:24 +00:00
Volker Ruppert
a49c0746b4
- increased maximum disk image size to 2 TeraByte (tested with 'growing' image)
...
- TODO #1 : tests with higher values
- TODO #2 : tests 'sparse' image mode
2012-07-22 20:40:31 +00:00
Stanislav Shwartsman
cbfeaec11c
fixed spelling in TODO file
2012-07-22 12:39:30 +00:00
Volker Ruppert
8d30a38f7e
- undoable: added support for checking the modification time of the base disk
...
- store r/o disk timestamp in FAT format in reserved field of redolog header
- use the VVFAT function fat_datetime() to convert the mtime value
- update redolog header if timestamp is undefined (first usage)
- Bochs now panics if the r/o disk has been modified after the first usage with
the undoable disk image mode to avoid journal file corruption.
- undoable: fixed r/o disk size check
2012-07-21 12:00:46 +00:00
Stanislav Shwartsman
b57ace2579
Merged a side note patch by Sebastian
...
[Bochs-developers] [Patch #3539228 ] Part 3
> Added dummy EOI handler and all unused IRQ vectors set to this.QEMM 97 does not crash any more.
Looks good. Those "SET_INT_VECTOR comments" should be removed.
Sebastian
2012-07-19 19:36:44 +00:00
Stanislav Shwartsman
e5f47fd86f
fixed typo
2012-07-19 18:03:10 +00:00
Stanislav Shwartsman
5afe0cbb48
use constant instead of magic value
2012-07-17 19:58:00 +00:00
Volker Ruppert
65b3567240
- enable mouse cursor on exit (fixes possible hang if captured)
2012-07-15 15:17:10 +00:00
Volker Ruppert
9ad179f6e7
- removed outdated patch
2012-07-15 09:31:02 +00:00
Volker Ruppert
d15b8b113c
- documentation updates / typo fixes
2012-07-15 08:14:43 +00:00
Volker Ruppert
adfec8454c
- moved several related options to the new "keyboard" bochsrc option
...
- TODO: more documentation updates
2012-07-14 16:13:01 +00:00
Volker Ruppert
44098d90e6
- fixed location of optional plugin load / unload calls
2012-07-14 15:48:48 +00:00
Volker Ruppert
85a914c9e9
- implemented "fast-dma" support for 16 bit and in the SB16
...
- TODO: fix BX_DBG_DMA_REPORT
2012-07-14 14:20:36 +00:00
Stanislav Shwartsman
b225c158a9
fixed link error with no x86-64
2012-07-14 08:45:43 +00:00
Volker Ruppert
61292eb45b
- missing SHELL fixes
2012-07-14 07:13:56 +00:00
Volker Ruppert
6edd2ba547
- regenerated after Debian fixes
2012-07-14 07:04:17 +00:00
Volker Ruppert
53438e92c6
- fixes based on Debian patches by Guillem Jover
...
- set SHELL variable with configure script
- add '--tag CXX' argument to libtool calls
2012-07-14 07:01:43 +00:00
Volker Ruppert
c6a9f8eb0d
- added the capability to transfer more then one byte per ISA DMA cycle.
...
- use this feature for floppy read and write operations. This does not mean that
the floppy now works faster than realtime, but it reduces the number of DMA
calls from the CPU.
- removed outdated file: patch.fast-dma-cbothamy
- TODO: implement this feature in the SB16 (8 and 16 bit)
2012-07-12 21:20:46 +00:00
Stanislav Shwartsman
5d66e8450e
implemented ADCX/ADOX instructions from rev013 of arch extensions published by Intel
2012-07-12 14:51:54 +00:00
Volker Ruppert
82c65076cc
- renamed PCI Pseudo NIC bochsrc option to "pcipnic" (temporary hack should
...
be removed after next Bochs release)
- documentation updates
2012-07-11 21:03:59 +00:00
Stanislav Shwartsman
24edf649eb
added comments in BIOS code
2012-07-11 19:16:23 +00:00
Stanislav Shwartsman
bafde35c9c
Intel Architecture
...
Instruction Set Extensions
Programming Reference
rev013
was published including RDSEED and ADCX/ADOX instructions
add CPUID bits and VMX controls mentioned in the document
2012-07-11 18:58:00 +00:00
Stanislav Shwartsman
ec06475dbf
improve x86 hw breakpoint handling
2012-07-11 15:07:54 +00:00
Stanislav Shwartsman
fef13ddb95
update CHANGES
2012-07-10 20:21:54 +00:00
Volker Ruppert
3c707ee976
- recompiled after patch #5
2012-07-10 18:33:52 +00:00
Volker Ruppert
926900739f
- rombios patch #5 by greatpsycho
...
- Changed memory reference functions argument order to suitable for use
LDS/LES instructions.
2012-07-10 18:33:09 +00:00
Volker Ruppert
625991504b
- recompiled after patch #4
2012-07-10 18:31:10 +00:00
Volker Ruppert
433fc25a88
- rombios patch #4 by greatpsycho
...
- Added SS based reference helper function and changed SS based refer to use
this functions.
2012-07-10 18:30:17 +00:00
Volker Ruppert
f0c3b2ad90
- recompiled after patch #3
2012-07-10 18:28:56 +00:00
Volker Ruppert
7b07d3287a
- rombios patch #3 by greatpsycho
...
- Changed to frequently using segment base to DS based - Added set_DS function
(Set DS value,returns old DS value),(read/write)_(byte/word/dword)_DS macro
to refer DS segment based data.
- Almost BIOS interrupt handler wrapper changed to DS base to use DS-based
reference macro effectiently.
2012-07-10 18:28:14 +00:00
Volker Ruppert
4f2b643aca
- recompiled after patch #2
2012-07-10 18:26:45 +00:00
Volker Ruppert
6267fd7e9d
- rombios patch #2 by greatpsycho
...
- Merged ata_cmd_data_in and ata_cmd_data_out function to ata_cmd_data_io
- Merged INT13 AH=02 and AH=03 I/O routine
- Modified cdrom_boot,int15_function,set_e820_range and pci/pnobios low level code to more optimal
- Deleted INT1C handler that duplicated with dummy_iret_handler
2012-07-10 18:26:01 +00:00
Volker Ruppert
748315591c
- recompiled BIOS after patch #1
2012-07-10 18:22:57 +00:00
Volker Ruppert
82ebbbdd0b
- rombios patch #1 by greatpsycho. This compatibility patch includes:
...
- Added dummy EOI handler and all unused IRQ vectors set to this.QEMM 97 does not crash any more.
- Changed INT15 AH=80,81,82,90,91 functions to return success.
- Added INT71(IRQ9 - Redirect to IRQ2) handler.
- Some IRQ handlers call INT15 with AH=91.
- INT16 handler calls INT15 with AX=9002.
- Fixed IRQ14 handler that overwrites 40:8F to 00
2012-07-10 18:21:51 +00:00
Stanislav Shwartsman
ac95abdb61
fixed crash when running with debugger but with no iodebug
2012-07-09 19:22:50 +00:00
Volker Ruppert
707f9b816c
- PCI-only now can be automatically assigned to a PCI slot if not specified
...
in the PCI slot configuration. Combined PCI/ISA devices (cirrus, vga, ne2k)
still must be assigned to a PCI slot to let it work as a PCI device.
2012-07-09 17:23:07 +00:00
Volker Ruppert
641fc2febb
- treat unknown bochsrc directive as plugin name and try to load it
...
- TODO #1 : fix pcipnic / pnic name problem to support direct plugin loading
- TODO #2 : automatically assign PCI-only devices to a PCI slot if not already done
2012-07-08 19:35:58 +00:00
Stanislav Shwartsman
58dde88887
VME is for CPU_LEVEL>=5 only
2012-07-08 18:16:25 +00:00
Volker Ruppert
5994d0e100
- added 'gameport' and 'iodebug' to the default set of plugins (if present)
...
- use the "auto-unload" feature for 'serial' and 'parallel' plugins, too
- TODO: treat unknown bochsrc directive as plugin name and try to load it
2012-07-08 07:01:25 +00:00
Volker Ruppert
1ac405f6f2
- added command line option '--help features' to show all available features
...
and devices. This option can be used by external bochsrc creation tools to
offer config related to the emulated hardware only (fixes SF item #1251456 ).
- TODO: add available display libraries.
2012-07-07 10:49:46 +00:00
Volker Ruppert
db633275b0
- several improvements to the optional plugin control
...
- SIM->opt_plugin_ctrl() now can be used to verify the optional plugin
configuration when using the plugin name "*". The 'load' value 1 makes
sure that all plugins with the value 1 are loaded. The 'load' value 0
unloads all plugin with the value 0 (marked for removal).
- add the default set of plugins to the 'plugin_ctrl' list and load all these
pre-defined optional plugins before parsing the configuration.
- special wx case: verify plugin configuration before showing the plugin
control dialog and before initialising hardware.
- device plugins that have been loaded, but not configured now set their
plugin control value to 0. Added the plugin unload check before signalling reset.
2012-07-06 17:19:32 +00:00
Volker Ruppert
15ac388502
- documentation updates
2012-07-03 18:49:42 +00:00
Stanislav Shwartsman
1964ef679a
fixed compilation with x86-64 disabled
2012-07-01 14:46:27 +00:00
Volker Ruppert
3b478a8f32
- added support for the gui debugger with sdl on Windows (required separate thread)
...
- enh_dbg: fixed defined-but-not-used warnings
- siminterface: renamed 'wx_debug_gui' to 'bx_debug_gui' and updated comments
- TODO: remove the wx debugger and use the enhanced gui debugger instead
2012-07-01 14:37:46 +00:00
Volker Ruppert
72d3b294d2
- added support for the gui debugger with sdl on Windows (required separate thread)
...
- enh_dbg: fixed defined-but-not-used warnings
- siminterface: renamed 'wx_debug_gui' to 'bx_debug_gui' and updated comments
- TODO: remove the wx debugger and use the enhanced gui debugger instead
2012-07-01 14:37:13 +00:00
Stanislav Shwartsman
bb50381ed0
update CHANGES
2012-06-30 19:36:02 +00:00
Stanislav Shwartsman
874ba7388d
coding style change
2012-06-30 19:33:49 +00:00
Stanislav Shwartsman
39f3051ce5
fixed opcode primitive used for AVX instructions reading only half register (8byte) from the memory
2012-06-30 19:31:32 +00:00
Stanislav Shwartsman
16ecab5644
trying to guess real HW behavior for (V)DPPS/(V)DPPD instructions
2012-06-30 18:19:22 +00:00
Volker Ruppert
5eb8eab608
- link only needed libs (modified Debian patch by Guillem Jover)
2012-06-30 12:44:24 +00:00
Volker Ruppert
2c94cbb688
- link only needed libs (modified Debian patch by Guillem Jover)
2012-06-30 12:43:55 +00:00
Volker Ruppert
523ea27b4f
- make 'enter' and 'tab' keys work again in wxMSW (wxPanel's default window
...
style wxTAB_TRAVERSAL is only okay if it is a member of a dialog box)
2012-06-29 16:30:18 +00:00
Stanislav Shwartsman
04e46ee9b7
fixed typos caused compilation err
2012-06-28 18:34:28 +00:00
Stanislav Shwartsman
f12396566c
added CR8 to control registers print in debugger
2012-06-28 18:27:26 +00:00
Volker Ruppert
9ead528c5a
- recompiled after latest changes
2012-06-28 15:20:15 +00:00
Stanislav Shwartsman
2e9f5570d9
SF BOS patches:
...
- Basic low-level function optimization
- Optimization of bios_printf() and removal of put_int()
- Optimization of timer_tick_post
2012-06-28 11:02:39 +00:00
Stanislav Shwartsman
3415f7bb0f
add XD bit to page attributes print
2012-06-28 10:59:30 +00:00
Stanislav Shwartsman
79628a2f4f
fixed VME corner case
2012-06-27 15:09:10 +00:00
Volker Ruppert
d1fe267313
- updates
2012-06-26 20:02:09 +00:00
Volker Ruppert
1cd90a06c6
- implemented absolute x/y mouse position mode in the wx gui
...
- fixed cursor show / hide functions in wxMSW
2012-06-26 19:48:28 +00:00
Volker Ruppert
216ee2aa09
- implemented absolute x/y mouse position mode in the win32 gui
2012-06-25 20:08:52 +00:00
Volker Ruppert
b0ece1d1ea
- implemented absolute x/y mouse position mode in the rfb gui
...
- sdl / x11: fixed calculation of absolute x/y values
- x11: update "warp home" position after resize
2012-06-25 17:26:36 +00:00
Stanislav Shwartsman
4c38969ef0
fixed uninitialized variables
2012-06-24 17:52:45 +00:00
Stanislav Shwartsman
77bbea504c
merged compilation patch by Sebastian, update closed bugs in CHANGES
2012-06-24 17:42:24 +00:00
Volker Ruppert
1de1f06952
- implemented absolute x/y mouse position mode in the SDL gui
...
- converted tabs to spaces and small cleanup
2012-06-24 10:38:46 +00:00
Volker Ruppert
aba8372a78
- function InitDebugDialog() is optimized out by GCC when compiling with plugins
...
enabled (not called internally). Added new gui method init_debug_dialog() and
call it from there.
- fixed typo in enh_dbg.cc
2012-06-24 09:14:43 +00:00
Volker Ruppert
a9f27d029c
- implemented absolute x/y mouse position mode in the X11 gui
...
- minor fixes in the USB tablet HID report descriptor
2012-06-24 07:43:36 +00:00
Stanislav Shwartsman
c6ea1482b0
added ifdef
2012-06-24 07:16:14 +00:00
Stanislav Shwartsman
60ceffc5d1
fixed SF bug [3537473] GUI debugger only shows 32-bit CRx registers in x86-64 mode
2012-06-24 07:06:31 +00:00
Stanislav Shwartsman
48ae41a2fd
fixed MASKMOVDQU SSE instruction to match hardware
2012-06-23 16:25:52 +00:00
Volker Ruppert
9189105a0b
- prepared support for sending absolute x/y values from the gui to the mouse emulation
...
- new gui method set_mouse_mode_absxy() should switch the gui to absolute
x/y mode
- new DEV_mouse_motion() argument 'absxy' indicates whether or not the gui
sends absolute x/y values
- USB tablet code prepared to use the new feature
- TODO: implement this feature for each gui (sdl, win32, wx, x, ...)
2012-06-21 17:33:37 +00:00
Volker Ruppert
40f33ff8c2
- don't clear pending interrupt bits when setting the new status
2012-06-21 17:06:57 +00:00
Stanislav Shwartsman
515d8b5c25
add new instrumentation callbacks for physical memory access from CPU
2012-06-18 11:41:26 +00:00
Volker Ruppert
05fe85659a
- fixed and improved IRQ handling (ported update_irq() function from Qemu)
2012-06-17 07:14:27 +00:00
Stanislav Shwartsman
42347a26ee
fixed dbg print format
2012-06-15 14:17:17 +00:00
Stanislav Shwartsman
df57bfdc00
update CHANGES
2012-06-14 19:00:53 +00:00
Stanislav Shwartsman
720a9b2fb7
fixed 64-bit segment print from internal debugger
2012-06-14 18:56:47 +00:00
Volker Ruppert
02749956e0
- mention SDL audio output support in the docs
2012-06-10 13:47:07 +00:00
Volker Ruppert
af960685d9
- added SDL sound support (wave output only)
2012-06-09 10:12:34 +00:00
Volker Ruppert
095fd7d18a
- added SDL sound support (wave output only)
2012-06-09 10:12:05 +00:00
Volker Ruppert
3a4c3e9d54
- added method to return the type of the lowlevel sound module and use it to
...
check if a sleep / delay call is rquired in the beep generator
- preparing SDL sound support
2012-06-08 20:49:39 +00:00
Stanislav Shwartsman
171d400bd8
GATHER: update gather mask handling to match latest Intel SDM definition
...
Fixes in x86 HW breakpoint handling
2012-06-06 14:01:45 +00:00
Stanislav Shwartsman
6782efde05
correctly initialize lazy flags on reset
2012-06-05 20:53:22 +00:00
Stanislav Shwartsman
832d3a09a3
compile fix for SMP disable
2012-06-05 11:42:07 +00:00
Stanislav Shwartsman
a604818ecf
fixed another valgrind issue
2012-06-05 11:40:59 +00:00
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