Commit Graph

9211 Commits

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