Commit Graph

12221 Commits

Author SHA1 Message Date
Stanislav Shwartsman
2cb9bb4e44 remove cpudb.h from some Makefile dependencies. TODO: it should be only in cpu/init.cc and config.cc 2021-07-25 18:06:31 +00:00
Stanislav Shwartsman
7129b1d7c5 fixed number of arguments for BX_INFO 2021-07-25 18:02:36 +00:00
Stanislav Shwartsman
da21b16d7f remove cpudb.h from bochs.h 2021-07-25 18:01:28 +00:00
Stanislav Shwartsman
7b2bb50722 fixed VMX exit qualification info for INVEPT/INVVPID/INVPCID instructions 2021-07-23 10:13:48 +00:00
Stanislav Shwartsman
0cba8b66c9 more robust handling of SVM VMCB host ptr 2021-07-23 09:30:17 +00:00
Stanislav Shwartsman
daaab792b6 added SVM vmcbptr to save/restore image 2021-07-23 08:06:58 +00:00
Volker Ruppert
6b08329fa2 Voodoo 1/2: Always reset 'swaps_pending' counter when switching to Voodoo mode.
This fixes a possible deadlock in accelerated Direct3D test.
2021-07-18 07:25:08 +00:00
Volker Ruppert
a216fc71a3 Recompiled BIOS images. 2021-07-14 16:11:51 +00:00
Volker Ruppert
7ed5d6447a Fixed two SF bugs in the Bochs BIOS code.
- MS-DOS 4.01 caused a stack overflow in the int15_function(). Now handle all
  functions that simply return success in the ASM code. Fixes SF bug #1439.
- Added two delay loops in keyboard_init(). Fixes SF bug #1438.
2021-07-14 16:10:19 +00:00
Volker Ruppert
bf8dda4e06 Regenerated configure script. 2021-07-12 19:06:38 +00:00
Volker Ruppert
e34d017f60 Some fixes for compiling for WIN64 with MSVC.
- Added check in config.h whether or not Bochs is configured and compiled for
  the same target platform (WIN32 / WIN64).
- Fixed some warnings that occur in the MSVC WIN64 case.
2021-07-12 19:05:25 +00:00
Volker Ruppert
61f24a0727 Updated gui makefile dependencies. 2021-07-08 20:16:51 +00:00
Volker Ruppert
7c8b1c5f28 Some small changes in the Voodoo Banshee code.
- Report some more unimplemented bits of the vidProcCfg register.
- Code cleanup in some bitblt methods.
2021-07-08 14:43:18 +00:00
Volker Ruppert
a38f0fdb02 The 2D destination x/y positions are signed values. Modified code to handle
negative values properly.
2021-07-07 06:54:30 +00:00
Volker Ruppert
44288f603d Fixed and cleaned up pattern fill methods. 2021-07-06 12:09:38 +00:00
Volker Ruppert
e17539861c Fixed and simplified setup of source and destination pitch. 2021-07-06 09:08:12 +00:00
Volker Ruppert
4bf3b23983 Added support for drawing polygon with pattern. 2021-07-06 06:40:53 +00:00
Volker Ruppert
0262b100a5 Some Banshee bitblt fixes.
- Fixed screen-to-screen code in the right-to-left case.
- Some pattern handling fixes (pattern origin is always destination x0, y0).
2021-07-05 10:30:04 +00:00
Volker Ruppert
8de6206ab6 Some Banshee bitblt clip code changes.
- Fixed screen-to-screen stretch code using new clip check.
- Simplified line / polygon drawing code using new clip check.
2021-07-04 15:06:50 +00:00
Volker Ruppert
fe9198b5a7 Fixed clipping related issues in host-to-screen methods.
- Added simple clip check method to be called for each destination x / y change.
- Use the new clip check in both host-to-screen methods.
- Some related changes.
- TODO: verify other bitblt methods for clipping correctness.
2021-07-04 08:17:55 +00:00
Volker Ruppert
e0cc76af53 Some changes in the Voodoo Banshee code.
- Calculate host-to-screen data size for "source stride packing" in color mode
  similar to the monochrome mode.
- Set up data swizzle mode for all launch area operations.
- Temporarily draw polygon in normal mode in case the currently unsupported
  pattern mode is selected.
- TODO #1: Rewrite of the clipping code at least for host-to-screen functions.
- TODO #2: Drawing polygon with pattern if requested.
2021-07-03 20:54:38 +00:00
Stanislav Shwartsman
01e785f479 minor tab2space 2021-07-03 19:00:41 +00:00
Stanislav Shwartsman
25ad0b804a VMX: fixed exit qualification info for VMREAD/VMWRITE instructions 2021-07-03 14:31:14 +00:00
Volker Ruppert
3062a14ef4 The i440BX chipset now reports 66 MHz DRAM clock. 2021-07-03 08:33:09 +00:00
Volker Ruppert
69c4758fbb New attempt to fix the Banshee bitblt issues in host-to-screen mode with
monochrome source and "source stride" packing. Now adding the source stride
converted to pixels to the 5-bit srcX value.
TODO #1: color source needs to be handled in a similar way (no test case yet).
TODO #2: clipping needs to be rewritten at least for host-to-screen blts.
2021-07-02 17:29:22 +00:00
Volker Ruppert
a23db5e82a Small changes in the Voodoo Banshee code.
- Redirect byte and word writes into CMDFIFO space to LFB (FIXME).
- Added stub for the CMDFIFO code #6 (AGP-to-VRAM transfer).
2021-07-01 19:32:28 +00:00
Volker Ruppert
7e75d3d66b Two fixes in the USB code.
- Fixed possible segfault in the EHCI code.
- Fixed and improved backward compatibility code for USB port options.
2021-06-30 15:50:49 +00:00
Volker Ruppert
28b506f2de Small changes in the Voodoo Banshee code.
- Added support for byte and word access to Banshee i/o space.
- Added stub for the CMDFIFO command JMP AGP.
2021-06-30 07:41:21 +00:00
Volker Ruppert
89a0507703 Recompiled BIOS binaries to support i440BX chipset without AGP. 2021-06-27 14:53:44 +00:00
Volker Ruppert
caf52aacac Added advanced PCI option 'noagp' for the i440BX chipset.
Since AGP support is incomplete, it may be useful to disable this subsystem.
2021-06-27 14:50:26 +00:00
Volker Ruppert
d9dd62e42f Improved conversion of old-style USB device options to new format. 2021-06-24 19:45:20 +00:00
Volker Ruppert
50bac3b15c Finally fixed memory restore state failure.
- When saving memory swap file, reset it's file pointer.
- Using fflush() is not necessary here.
2021-06-24 17:50:05 +00:00
Volker Ruppert
484b0eeee7 Minor changes in memory save/restore code (restore failure still not fixed).
- When restoring memory swap file, reset file pointer if file is already open.
- Increased buffer size for restoring memory swap file.
- Fixed save/restore list (added next_swapout_idx, removed host / guest size).
2021-06-24 17:03:09 +00:00
Volker Ruppert
4b465e5b50 Attempt to fix issues after restore in case "large ramfile" support is used.
- bx_shadow_filedata_c: using tmpfile64() (same as memory code).
- memory parameters: minimum value set to -2 (means "swapped out").
- FIXME: restore issues still not fixed.
2021-06-23 20:59:08 +00:00
Volker Ruppert
3d852a208e Added 'vtimer_running' flag to save/restore list (fixes display flickering
after restore Banshee in 3D mode).
2021-06-22 17:03:05 +00:00
Volker Ruppert
2eca0db8fd Fixed setting up BOCHS_BITS symbol (currently only used by NSIS installer). 2021-06-20 13:37:23 +00:00
Volker Ruppert
821b42f309 Fixed some MSVC warnings when compiling for WIN64. 2021-06-20 07:30:29 +00:00
Volker Ruppert
56fb9cacc2 Fixed "extended address wrap" mode: setting "plane shift" value not correct in
"chain4" mode (fixes DOS Doom in Win95).
2021-06-18 23:00:40 +00:00
Volker Ruppert
e1265b7536 Fixed special rule for the backward compatible device type selection of card #0.
If at least one ne2k device is assigned to a PCI slot, card #0 defaults to PCI
type, unless type is set up in ne2k line.
2021-06-17 21:04:35 +00:00
Volker Ruppert
fe9ac400b2 Fixed compilation with remote GDB stub enabled. 2021-06-14 05:45:41 +00:00
Volker Ruppert
06894e5b5e Updates after pre-release, partly updated Bochs URL usage. 2021-06-13 08:02:33 +00:00
Volker Ruppert
426408cca6 Regenerated configure script for pre-release. 2021-06-13 05:16:36 +00:00
Volker Ruppert
88275ce948 Preparing pre-release. 2021-06-13 05:15:32 +00:00
Volker Ruppert
28b280c4bc Added display library option for disabling the Bochs gui console - using system
console / xterm instead (rfb, sdl, sdl2, vncsrv, x).
2021-06-11 14:46:38 +00:00
Volker Ruppert
277830ca07 Cleaned up method determine_screen_dimensions(): no special cases handling needed. 2021-06-08 19:06:22 +00:00
Volker Ruppert
d0fef2e502 Mention the gui console in the description for the textconfig interface. 2021-06-07 15:41:38 +00:00
Volker Ruppert
715d26015a Force a VGA window refresh when leaving gui console mode. 2021-06-07 11:30:08 +00:00
Volker Ruppert
c6eb8ccfc6 Read maximum window size in specific_init() and retrieve it in get_capabilities(). 2021-06-06 09:38:47 +00:00
Volker Ruppert
6422fe32b6 Documentation updates (e.g. improved gui debugger section).
File docs-html/enh_dbg_user_man.txt no longer needed.
2021-06-05 20:00:12 +00:00
Volker Ruppert
0dd9d7b33e Removed README.rfb and upated RFB info user documentation. 2021-06-05 11:32:51 +00:00
Volker Ruppert
98e55fe6b2 Fixed and extended summary of changes. 2021-06-05 05:22:11 +00:00
Volker Ruppert
9640d248d6 Adding summary of changes. 2021-06-04 15:49:32 +00:00
Volker Ruppert
ad3090ab1a Some small fixes found with original Cirrus VGABIOS at VBE mode testing.
- Setting up bank #0 modifies the external offset for VRAM access in VGA core.
- Added support for interlaced VGA modes.
2021-06-04 12:14:45 +00:00
Volker Ruppert
ea389fe782 LGPL'd VGABIOS updated to version 0.8a. 2021-06-03 16:43:40 +00:00
Volker Ruppert
7a70d4ae8d LGPL'd VGABIOS updated from SVN.
- Some small fixes in the VBE code of all VGABIOS extensions.
2021-06-03 12:32:09 +00:00
Volker Ruppert
34ab50dd5a LGPL'd VGABIOS updated from SVN.
- Now using the new VBE read and write apertures when setting the banks for
  full scrolling support.
- Added TTY support flags for all 8-bpp VBE mode entries.
2021-05-31 20:32:38 +00:00
Volker Ruppert
733e466628 Split the VBE bank into separate read and write apertures. The compatibility
mode sets both banks to the same value. Reading VBE bank register always
returns the write aperture setting. This feature is designed for the scrolling
function of the VBE 'write character' support. VBE code should use compatibility
mode for now.
TODO: update VGABIOS to use this feature.
2021-05-30 16:13:37 +00:00
Volker Ruppert
c78c1a9af9 Enable preferred timing mode as expected by EDID format version 1.3. 2021-05-30 07:28:53 +00:00
Volker Ruppert
086e188e90 LGPL'd VGABIOS updated from SVN.
- Bochs VBE: implemented 'write character' support.
- Bochs VBE: save/restore code rewritten in assembler.
2021-05-28 20:13:22 +00:00
Volker Ruppert
887b232c95 Updated documentation after adding Banshee version of the LGPL'd VGABIOS. 2021-05-25 19:41:43 +00:00
Volker Ruppert
1d4b8ee46c LGPL'd VGABIOS updated from SVN.
- Banshee: added missing palette loading for 8-bpp modes.
- Banshee VBE: added save/restore Banshee state function.
- Code optimizations: some VGA functions rewritten in assembler.
2021-05-25 18:10:03 +00:00
Stanislav Shwartsman
097c8f13b9 minor coding style modifications 2021-05-25 06:27:49 +00:00
Volker Ruppert
431b3215fd LGPL'd VGABIOS updated from SVN.
- Bochs VBE: enable 32k bank granularity mode.
- Fixed general 'scroll down' bug in graphics modes.
- Code optimizations: some VBE and VGA functions rewritten in assembler.
2021-05-24 06:48:40 +00:00
Volker Ruppert
8cbf4eff8e Some changes for the Bochs VBE 32k bank granularity feature.
- VBE enable register returns 32k granularity flag if enabled.
- VBE bank register returns 32k granularity flag if VBE_DISPI_GETCAPS is set.
- Defining new DISPI ID not necessary.
- TODO: update VGABIOS to use this feature.
2021-05-23 06:30:51 +00:00
Stanislav Shwartsman
d9273a2414 merge type conversion patch from SF tracker #562 Fix type cast bug in bochs debugger by Xinyang Ge 2021-05-23 04:59:43 +00:00
Volker Ruppert
7ba54c951d LGPL'd VGABIOS updated from SVN.
- Banshee: added 'write character' support for 8 bpp modes.
- Banshee / Cirrus: report TTY support for 8 bpp VBE modes.
- FIXME: Banshee scroll code works for 'scroll up' only.
- TODO: TTY support for the Bochs VBE adapter.
2021-05-22 16:24:28 +00:00
Volker Ruppert
43033b2137 Some changes for the Bochs VBE support.
- Limit VBE bank size to 64k as expected.
- Enabling VBE mode now clears the whole video memory for all bpp modes unless
  "noclear" bit is set.
- Prepared 32k bank granularity mode required for text output functions. Added
  new VBE_DISPI_ID6 to indicate this capability. The default is still 64k.
2021-05-21 20:49:34 +00:00
Volker Ruppert
f36ce19524 LGPL'd VGABIOS for Cirrus adapter updated from SVN.
- VBE: vbe_main_handler now checks the presence of the Bochs VBE support.
- Some fixes and code optimizations.
2021-05-20 18:59:20 +00:00
Volker Ruppert
3c8b0ce2b2 LGPL'd VGABIOS for Cirrus adapter updated from SVN.
- Cirrus mode 0x7B (1600x1200x8) now usable.
- Some related fixes and improvements.
2021-05-16 08:02:08 +00:00
Volker Ruppert
57ad842568 Some small Cirrus changes.
- Save/restore: fixed number of registers per controller.
- Report interlaced mode on mode switch.
- Added BX_DEBUG message for MCLK setting (unused).
2021-05-16 07:40:46 +00:00
Volker Ruppert
128e54a137 Some small Cirrus Video clock changes.
- Fixed reset values for VCLK and related sequencer registers.
- Added BX_ERROR for unimplemented feature (using MCLK as VCLK).
2021-05-15 16:15:59 +00:00
Volker Ruppert
8e68dfbef1 LGPL'd VGABIOS updated from SVN.
- Fixed Banshee VBE modes with LFB support enabled.
- Fixed 'write character' support for Cirrus 8-bpp VBE modes.
2021-05-14 17:09:05 +00:00
Volker Ruppert
bf76a6a9ef LGPL'd VGABIOS updated from SVN.
- VGA restore state code now completely rewritten in assembler.
- Added some Banshee 24-bpp modes.
- Added Banshee VBE function AX=0x4f15.
2021-05-13 18:22:06 +00:00
Volker Ruppert
aa9045b63f Set EDID checksum in constructor. 2021-05-13 17:58:57 +00:00
Volker Ruppert
18c8c4bd76 LGPL'd VGABIOS updated from SVN.
- Fixed XOR bug in write_gfx_char_pl4 function.
- VGA restore state code partly rewritten in assembler.
- Added some Banshee 16-bpp modes.
- Added Banshee VBE functions AX=0x4f06 and AX=0x4f07.
2021-05-11 19:42:13 +00:00
Volker Ruppert
95dc1b2012 Skip display update if a mode update is in progress. 2021-05-11 15:00:58 +00:00
Volker Ruppert
4db9f76819 Added port 0xE9 hack switch to runtime options. 2021-05-11 14:42:31 +00:00
Volker Ruppert
4f906524de Banshee VGABIOS: added minimal VBE support for some 8-bpp modes. 2021-05-07 19:32:37 +00:00
Volker Ruppert
73b4429091 Banshee VGABIOS: fixed infinite loop in case Banshee is not detected. 2021-05-02 08:37:11 +00:00
Volker Ruppert
7b8f97b448 Updated LGPL'd VGABIOS from SVN.
- Added 'write character' support for Cirrus 8-bpp modes using bitblt engine.
- Some code optimizations.
2021-04-30 21:00:40 +00:00
Stanislav Shwartsman
e4b2079109 fixed compilation in x86-64 off mode 2021-04-29 04:18:33 +00:00
Stanislav Shwartsman
d112ab9943 fixed compilation 2021-04-28 17:57:57 +00:00
Stanislav Shwartsman
f174ce2b6f SMM enter: never turn off EFER.SVME 2021-04-27 09:33:46 +00:00
Stanislav Shwartsman
2d2ec5e0aa hack to W/A NX paging fault under nested paging while virtualizing SMM under SVM 2021-04-27 08:22:45 +00:00
Stanislav Shwartsman
79d6a16e3b intercept SMI support in SVM 2021-04-27 08:22:04 +00:00
Volker Ruppert
6781067b55 Don't increment number of status items before comparing with maximum.
Fixes segfault when connecting an USB disk and all of the 10 slots are in use.
2021-04-23 20:08:12 +00:00
Volker Ruppert
77cc12cce5 Added support for reading VGA latches using CRTC register 0x22 (undocumented
for original VGA, documented for Cirrus and Voodoo Banshee).
2021-04-23 06:42:52 +00:00
Stanislav Shwartsman
4e41530b8a SVM: Fixed EXITINFO error code after nested page fault (prevented Hyper-V from running) 2021-04-22 11:12:26 +00:00
Volker Ruppert
adf209fe9e Fixed some issues reported by valgrind. 2021-04-18 17:20:41 +00:00
Volker Ruppert
d53a068c5e Some updates after adding USB packet logging support in PCAP format.
- Updated MSVC workspace files.
- Documentation updates.
2021-04-18 15:26:26 +00:00
Volker Ruppert
b19a7b1042 Added USB packet logging support in PCAP format (patch #560 by Ben Lunt).
- Added new files with small changes, output can be viewed with Wireshark.
- FIXME: Windows ports crash with original Win98 guest and USB disk connected.
- TODO: mention new feature in documentation.
2021-04-17 18:57:05 +00:00
Volker Ruppert
719592e2f3 Fixed device connect failure handling in all HCs (reset port parameters).
The old code has blocked the port after failure.
2021-04-17 17:48:42 +00:00
Volker Ruppert
30e24fa3d5 Prepared USB packet logging support in PCAP format (patch #560 by Ben Lunt).
- DONE: config option handling, usb_dump_packet() changes
- TODO: add new file after compiling and testing new code on Windows
2021-04-17 09:30:58 +00:00
Volker Ruppert
6d5897217c Added missing PEL mask support in the VGA core. 2021-04-17 08:42:03 +00:00
Volker Ruppert
049826aa32 Fixed possible segfault in case of invalid filename based on patch #559.
Since this save/restore list exists in all devices, it's safe to move the new
code to the usb_device_c destructor.
2021-04-13 11:56:41 +00:00
Volker Ruppert
d74210b93f Added missing new VGABIOS binary for Banshee. 2021-04-12 19:37:17 +00:00
Volker Ruppert
faa11624e0 Updated LGPL'd VGABIOS from SVN.
- Added initial version of the VGABIOS for Voodoo Banshee adapters.
- Several code optimizations to reduce binary size.
NOTE #1: Banshee version has no VBE support yet.
NOTE #2: Banshee binary uses PCI ID for Banshee PCI and Bochs temporarily
         modifies the PCI data for Voodoo3 and AGP models.
2021-04-12 19:35:37 +00:00
Volker Ruppert
69695bfd67 Prepared the Banshee code for the planned LGPL'd VGABIOS with 3dfx Voodoo
support. The VGABIOS image will be compiled for Banshee PCI and this code
modifies the PCI data for the Voodoo3 and AGP models.
2021-04-11 20:09:43 +00:00
Volker Ruppert
e9eccadb82 Recompiled binaries. 2021-04-09 06:47:35 +00:00
Volker Ruppert
59a3b3f8b3 Added helper function get_ebda_seg() to optimize code. 2021-04-09 06:45:42 +00:00
Volker Ruppert
7aa5eb7a51 Some changes for correct vertical frequency reporting on mode switch.
- vgacore: method get_crtc_params() now returns selected video clock value.
- banshee: now using selected video clock instead of hardcoded VCLK #3.
- cirrus: added vertical frequency to mode switch BX_INFO.
2021-04-07 06:31:25 +00:00
Volker Ruppert
7aea547b9f Fixed possible segfault on some platforms. We need 'count + 4' device entries,
one for the "none" entry and a terminating NULL entry.
2021-04-05 11:17:20 +00:00
Volker Ruppert
857c3be2ba Some work on the Voodoo Banshee code.
- Moved setup of default i/o register values to reset().
- Set up strapInfo register bits in init().
- Don't overwrite readonly bits in miscInit1 register.
- Set up subsystem ID in VGABIOS ROM in case it's > 32k (doesn't exist yet).
- Copy subsystem ID from ROM to PCI config registers in reset().
2021-04-04 19:00:29 +00:00
Volker Ruppert
d8b25c5f26 Some more cleanup in the plugins code. 2021-04-03 18:26:03 +00:00
Volker Ruppert
7b355cd399 Get rid of the code duplication in the PIC write handler. 2021-04-03 16:44:19 +00:00
Volker Ruppert
7d104ffceb Fixed setting up advanced PCI options. 2021-04-03 12:54:25 +00:00
Volker Ruppert
e411667942 Started reducing PIC code duplication and some cleanups. 2021-04-02 19:01:37 +00:00
Volker Ruppert
8e8414aae4 Some cleanup in the plugins code and related documentation additions. 2021-04-01 19:36:59 +00:00
Volker Ruppert
5406c037ec Improved example script for cross compiling Bochs on Linux for Windows.
- Disable the readline library since it's not present by default.
- Added support for adding config options with variable CONFIGURE_ARGS.
2021-03-29 11:39:24 +00:00
Volker Ruppert
249fcf9442 Set the device type correctly for all media types when parsing floppy options.
- Added helper function get_floppy_devtype_from_type().
- The floppy type option now accepts the value "none".
- Added parameter handler for "devtype" to handle the BX_FDD_NONE case.
- Cleaned up floppy options parser code.
2021-03-29 11:17:03 +00:00
Volker Ruppert
b1c36691de Partly fixed floppy issues caused by previous commit. If device type is set to
"none" the dependent parameters cannot be set. That's why the bochsrc parser
needs to set device type first.
- Set initial device type of first floppy to '3.5" 1.44M'.
- Detect device type along with image type if necessary.
- TODO: fixes for media types like "1_44" and some more cleanup.
2021-03-28 08:40:28 +00:00
Volker Ruppert
0ccf537103 Fixed two minor issues in bx_param_num_c class.
- reset() must call set() to ensure the set handler is called if present.
- don't set value if parameter is disabled.
2021-03-28 06:31:03 +00:00
Volker Ruppert
dc9c93f0c5 Updated both VS2019 workspace packages after textconfig / win32config changes. 2021-03-27 20:42:14 +00:00
Volker Ruppert
3fcc320897 Added new plugin type PLUGTYPE_CI for config interfaces. Updated related code
and documentation.
2021-03-27 17:23:31 +00:00
Volker Ruppert
9426ba987b Converted the win32config module to a plugin (using PLUGTYPE_CORE for now). 2021-03-26 19:12:09 +00:00
Volker Ruppert
e9df9c51c8 Fixed compilation with PCI host device mapping support enabled. Since a plugin
cannot unload itself, BX_UNREGISTER_DEVICE_DEVMODEL() call will fail. Setting
plugin control flag to 0 like other devices do. When starting simulation, all
unused plugins are removed.
NOTE: The pcidev stuff is unmaintained, functionality not tested.
2021-03-26 18:41:28 +00:00
Volker Ruppert
de0a844b75 Regenerated configure script. 2021-03-23 10:06:13 +00:00
Volker Ruppert
7661b74d5c Step #1 for converting the win32config code to a plugin.
- Renamed win32dialog.cc to win32config.cc.
2021-03-23 10:04:29 +00:00
Volker Ruppert
df3b45edea Resource fixes for Windows ports.
- Bochs for wxMSW: fixed duplicate value caused by manifest.
- Bochs for wxMSW: fixed resource file dependencies.
- Include gui debugger resources only when enabled.
2021-03-22 08:50:55 +00:00
Volker Ruppert
81f7b6d47a Fixed floppy format track handling. After introducing the DMA optimization it
stopped after first sector.
2021-03-21 20:53:48 +00:00
Stanislav Shwartsman
8e58d7336f implement MSR PAR handling in AMD SVM 2021-03-21 15:33:18 +00:00
Volker Ruppert
ca654e2033 References to the gui debugger are no longer needed here. 2021-03-20 15:54:42 +00:00
Volker Ruppert
db3a176c84 Fixed issue reported in SF patch #558: deassert INT if IMR change masks active request. 2021-03-19 17:45:49 +00:00
Stanislav Shwartsman
0736953e89 save GUEST PAT into VMCB for SVM 2021-03-19 06:03:04 +00:00
Volker Ruppert
4966843c90 Converted the textconfig module into a plugin, using PLUGTYPE_CORE for now.
It has been compiled and tested on Linux, with MinGW/MSYS and MSVC nmake.
TODO: Check whether or not the config interface choice "win32config" can be
a plugin, too. Possibly add a new plugin type for config interfaces.
2021-03-18 19:50:12 +00:00
Volker Ruppert
b79b868ff9 Attempt to fix the issue reported in SF patch #558 (fixed spurious interrupt
detection).
2021-03-17 19:42:41 +00:00
Volker Ruppert
5e2365d8de Fixed compilation error in case the textconfig module is disabled. 2021-03-17 16:40:08 +00:00
Volker Ruppert
4d6f1039c7 Removed reference to textconfig.cc from win32dialog.cc. Added switching config
interface to textconfig if the selected gui has a builtin console in
SIM->set_init_done(). This is required on Windows for the rfb and vncsrv guis.
Cleaned up the textconfig code.
2021-03-17 16:11:05 +00:00
Volker Ruppert
130be4e7bb Separation of textconfig and paramtree modules. Converting textconfig to a
plugin is possible now. Added new functions text_print() and text_ask() in
textconfig.cc to replace related methods of bx_param_c classes. Removed a now
obsolete comment section in siminterface.h.
2021-03-14 18:27:42 +00:00
Volker Ruppert
5385b2b98b Some textconfig related changes.
- Removed unused method bx_list_c::text_print().
- Fixed default prompt in bx_param_enum_c::text_ask().
- speaker.cc: fixed a typo in ask format.
2021-03-14 09:52:15 +00:00
Volker Ruppert
25e725a23c Makefile dependency updates
- Don't include paramtree.h in siminterface.h to get rid of duplicates
  in a lot of Makefile dependency lines.
- Regenerated Makefile dependencies in iodev and affected subdirectories.
- FIXME #1: including debug.h causes duplicate entries of config.h and osdep.h.
- FIXME #2: cpudb.h appears in most of the iodev* dependencies, but only needed
  by config.cc and the cpu class.
2021-03-13 09:54:06 +00:00
Volker Ruppert
90ac89ea22 After changing network device object pointer to class logfunctions the
networking modules don't need to include iodev.h.
2021-03-12 21:31:51 +00:00
Volker Ruppert
51a9557acf Disk image and sound driver modules don't need to include iodev.h. 2021-03-11 21:46:25 +00:00
Stanislav Shwartsman
a2004dd0f0 update CHANGES 2021-03-11 21:26:01 +00:00
Stanislav Shwartsman
08a068a161 fixed SVM V_TPR handling SF bug #1428 AMD SVM Hyper-V fails 2021-03-11 21:19:45 +00:00
Volker Ruppert
c07daa3a1c Some more code cleanup.
- Removed unnecessary SIM-opt_plugin_ctrl() call.
- Removed outdated menu layout sketch.
2021-03-11 08:10:12 +00:00
Volker Ruppert
b5428785aa Small code cleanup. 2021-03-08 09:04:16 +00:00
Volker Ruppert
8cf09f8545 Some additions in the plugins section and fixes/updates in other sections.
Removed obsolete README-plugins file.
2021-03-07 17:10:20 +00:00
Volker Ruppert
a2cf072751 Some cleanups in the plugins code. 2021-03-07 16:01:39 +00:00
Volker Ruppert
0c2a9c69d6 Some config option changes.
- Moved serial and parallel config parameter list creation to the corresponding
  device code.
- Unregister serial and parallel bochsrc options in PLUGIN_FINI mode.
- Moved USB config and runtime parameter list creation to bx_init_usb_options().
- textconfig.cc: Small fixes in the optional plugin control.
2021-03-07 11:54:50 +00:00
Volker Ruppert
66d9fd53b5 Two more disabled options fixes in the config interfaces. 2021-03-05 21:25:13 +00:00
Volker Ruppert
01516a153f Fixed a warning. 2021-03-05 17:01:41 +00:00
Volker Ruppert
e8709d58e4 Fixes in the config interfaces handling of disabled options.
- Don't show dialog or menu if selected list is NULL or empty.
- Don't create list for lowlevel sound options if disabled in config.h.
2021-03-05 16:52:26 +00:00
Volker Ruppert
2f2752dd74 Some more documentation updates and additions (new section for the siminterface class). 2021-03-05 15:45:02 +00:00
Volker Ruppert
a475fee44f Fixed compilation with networking and USB support disabled. 2021-03-03 17:47:15 +00:00
Volker Ruppert
47f456b299 Some more documentation updates and additions (section for class bx_devmodel_c). 2021-03-01 18:16:31 +00:00
Volker Ruppert
1d162d5f2e Started adding section about the plugin interface in the developer doc and
updated plugin-related information in the user doc.
2021-02-28 15:55:03 +00:00
Volker Ruppert
27c120154b Fixed a GCC warning and some MSVC warnings. 2021-02-27 20:53:10 +00:00
Volker Ruppert
3209b04d82 Fixed compilation with plugins enabled on Windows. 2021-02-27 13:15:37 +00:00
Volker Ruppert
2aadd3e470 Changed type of the PCI slot option to bx_param_enum_c and build choices list
from plugin devives with PLUGFLAG_PCI set.
2021-02-27 10:23:05 +00:00