Commit Graph

9758 Commits

Author SHA1 Message Date
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