Commit Graph

12564 Commits

Author SHA1 Message Date
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 c1503bb2c7 Converted one more image. 2021-03-21 22:07:15 +00:00
Volker Ruppert a4ff25aafd Converted Bochs logo to PNG format. 2021-03-21 21:40:24 +00:00
Volker Ruppert 72ab59c38a Converted some images from GIF to PNG. 2021-03-21 21:21:57 +00:00
Volker Ruppert 4517fcb4fa Some changes after upgrading website to HTTPS. 2021-03-21 20:55:01 +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