Commit Graph

12503 Commits

Author SHA1 Message Date
Volker Ruppert
7c8748a661 Removed stub for the "external" disk image mode. It was designed for
implementing disk image support with an external C++ class. With the new code
it's now easier to implement support for additional disk images formats, so we
don't need the old stub anymore.
2021-01-07 20:50:34 +00:00
Volker Ruppert
30519781eb Fixed deadlock in GTK debugger gui pointed out in SF patch #557. 2021-01-06 12:18:35 +00:00
Volker Ruppert
5ffb319df1 Rewrite of the disk image mode handling. Disk image modes are now stored as
string constants instead of hardcoded values. Available modes are detected at
Bochs startup and stored in a string array before initializing options. In the
plugins case additional modes are read from the plugins list. If plugins are
off, the hdimage_locator_c registry is used. Related changes in all parts of
Bochs that need the hdimage stuff.
TODO #1: Network and sound drivers could be handled in a similar way.
TODO #2: Make disk image mode detection work again in plugins mode.
2021-01-05 21:57:13 +00:00
Volker Ruppert
d48ca7e2a4 Fixed compilation with plugin support disabled. 2021-01-02 21:05:56 +00:00
Volker Ruppert
2ee6a0b0bf Regenerated configure script. 2021-01-02 20:50:37 +00:00
Volker Ruppert
4f311f0618 Some work on the Bochs plugins support.
- Added suffix "_gui" to the base name of display library plugins.
- Added new function plugins_search() that browses the plugin folder(s) and
  detects the type from the library name. Plugins with no prefix or suffix are
  treated as i/o device plugins. The plugin_load() function uses this database.
- Some related fixes and cleanups.
2021-01-02 20:49:39 +00:00
Stanislav Shwartsman
b7855153a0 new disasm: print branch target in 32-bit mode as 32-bit value 2021-01-02 16:48:13 +00:00
Stanislav Shwartsman
e15012cfcf fix code duplication in <limiting max cpuid leaf to 0x02 for winnt> feature 2021-01-02 16:28:51 +00:00
Stanislav Shwartsman
c33308731e fixed disasm of shift/rotate with implicit shift count=1 2021-01-02 15:12:29 +00:00
Stanislav Shwartsman
1a20dbc7f7 fixed bug in new disasm 2021-01-02 14:32:52 +00:00
Stanislav Shwartsman
5755328ff1 fixed compilation warnings in bxdisasm.cc 2021-01-02 14:27:11 +00:00
Stanislav Shwartsman
62511c3101 allow dbg_fetch_mem function in broader scope 2021-01-02 14:19:28 +00:00
Stanislav Shwartsman
980cfc1903 fixed compilation with no debugger configured in 2021-01-02 14:09:03 +00:00
Stanislav Shwartsman
bea432dacb fixed compilation with no debugger configured in 2021-01-02 14:04:35 +00:00
Stanislav Shwartsman
154c06b11b regen configure script 2021-01-02 13:48:17 +00:00
Stanislav Shwartsman
11fd7a369c update CHANGES 2021-01-02 13:46:55 +00:00
Stanislav Shwartsman
41ea50ba22 complete transition to new disasm, remove old disasm from source code 2021-01-02 13:43:10 +00:00
Stanislav Shwartsman
2cbf3577ce update CHANGES 2021-01-02 12:33:04 +00:00
Stanislav Shwartsman
a8e066ede7 remove debugger command for disasm constant hex print mode, was not used and new disasm doesn't support it 2021-01-02 12:12:02 +00:00
Stanislav Shwartsman
2f3adf849c enable syntax switch with new disasm also in GUI debugger, switch to new disasm by default everywhere 2021-01-02 12:04:52 +00:00
Stanislav Shwartsman
bc2e9fb177 rename old disasm methods: use GAS (GNU assembly) for AT&T syntax naming 2021-01-02 11:55:51 +00:00
Stanislav Shwartsman
22774a0534 support for AT&T (GAS) disasm style in new disassembler 2021-01-02 11:12:23 +00:00
Volker Ruppert
578d40e301 Fixed include file name. 2020-12-30 17:58:51 +00:00
Volker Ruppert
c99bd49f34 Some work on the hdimage plugin support.
- Renamed vpc-img.* files to vpc.* and removed hack for image mode name conversion.
- Added suffix "_img" to all disk image mode plugin base names. This is important
  for the future implementation of a plugin enumeration at Bochs startup.
2020-12-30 17:56:27 +00:00
Stanislav Shwartsman
c8eec65f04 fix code indentation 2020-12-30 17:23:12 +00:00
Stanislav Shwartsman
a4a2562c8d fixed compilation with no debugger enabled - will be cleaned up later 2020-12-30 16:58:17 +00:00
Stanislav Shwartsman
d2896bbd2a fixed compilation with no debugger enabled 2020-12-30 14:48:34 +00:00
Stanislav Shwartsman
bb568997c9 use new disasm wrapper method in more place 2020-12-30 14:09:25 +00:00
Stanislav Shwartsman
72db10d766 fix symbols display within disasm for new disassember, integrate new disasm with GUI debugger properly 2020-12-30 12:23:19 +00:00
Stanislav Shwartsman
79db3896d4 enable symbols for branch targets and JMP/CALL direct ptr instructions in new disassembler (still to be tested), attempt to use new disassembler in GUI debugger 2020-12-30 11:36:33 +00:00
Volker Ruppert
b880fb2975 Rewrite of the hdimage plugin code.
- Common hdimage code, lowlevel cdrom code and the classes for the Bochs "own"
  image modes (e.g. flat, sparse, growing") are now a part of the Bochs core.
- All classes for image modes present in separate files are now built as
  plugins with the same self register mechanism as network, sound and usb
  modules. Defined new plugin type PLUGTYPE_HDIMAGE.
- Temporarily disabled the base image format detection of the undoable/volatile
  modes for the "external" modes in the plugins case.
- TODO: Bochs should know about all of the available plugins and their
  capabilities right after startup, but before the configuration stage.
2020-12-27 17:26:33 +00:00
Stanislav Shwartsman
d1d65ce49f fixed disasm of adcq instruction 2020-12-26 18:36:22 +00:00
Volker Ruppert
269d4dd30d Removed unnecessary include. 2020-12-26 08:53:06 +00:00
Volker Ruppert
b0cee9a038 Added the sample config file for the 'vnet' networking module to install list. 2020-12-26 08:31:16 +00:00
Volker Ruppert
518cedb602 Some more USB device fixes.
- Removed not functional secondary interface from USB keyboard / keypad.
- Fixed mouse wheel function of the USB tablet.
2020-12-23 16:07:06 +00:00
Volker Ruppert
66dfa8fc90 Two small USB device changes.
- Changing LOG_THIS symbol fixes USB device logging.
- USB HID: removed unused variable.
2020-12-22 14:09:57 +00:00
Volker Ruppert
14baa621c5 Some USB mouse fixes.
- Now all mouse events create a mouse packet in buffer (fixes slow movement).
- Fixed a warning.
2020-12-21 11:39:33 +00:00
Volker Ruppert
a96e1779ed Added buffer for mouse / tablet button events to make sure all changes are sent
to the guest. Double click are now recognized.
2020-12-21 08:31:49 +00:00
Volker Ruppert
68dd8e6e75 Some work on the USB keyboard / keypad support
- Added USB HID idle timer.
- Don't modify status indicators by default keyboard if owned by removable one.
2020-12-20 09:07:49 +00:00
Volker Ruppert
fc39da7d55 Moved paste feature and keyboard / mouse runtime handlers to the devices code.
The paste feature now basically works with the USB keyboard.
Prepared improvements for the keyboard indicator handling.
2020-12-19 11:00:36 +00:00
Stanislav Shwartsman
47f72f5ff7 fixed disasm of symbolic labels when target print is not required 2020-12-19 06:35:02 +00:00
Volker Ruppert
c644b826f5 Some changes for the USB keyboard support.
- Added buffer for maximum 16 key events.
- PS/2 keyboard now sets the changed indicators only.
- Added support for the yellow status indicator in the win32 gui.
2020-12-16 20:04:47 +00:00
Volker Ruppert
0660b7e313 Some USB keyboard related changes.
- Added HID code for the menu key.
- Added support for the yellow status indicator in the rfb and vncsrv guis.
- Cleaned up status indicator code in SDL, SDL2 and X guis.
2020-12-16 12:24:35 +00:00
Stanislav Shwartsman
e6822c81a1 fixed behavior of MMX PSRAW/PSRAD instructions when shift count is zero - still has to invalidate x87 tags for dest register 2020-12-15 20:05:54 +00:00
Volker Ruppert
4c81e496b6 Some work on the USB keyboard / keypad emulation.
- Unified USB keyboard and keypad code. Removed the keypad lookup table.
- Moved keyboard indicator stuff to the devices code and use it for both the
  USB and legacy keyboard device. In the USB case a different color is used.
- In the SDL, SDL2 and X guis added new status indicator color yellow. It is
  designed to be used by the USB keyboard (write flag 1 and "auto_off" flag 0).
- Added missing sysmbol to the German X11 keymap table.
2020-12-15 11:29:36 +00:00
Volker Ruppert
250215b2f7 Added USB keyboard support as an extension to the numeric keypad.
TODO #1; Add some missing HID key codes.
TODO #2: Add key event queue to avoid losing events.
TODO #3: Unify keyboard and keypad code.
TODO #4: Support multiple non-modifier keys pressed at the same time.
TODO #5: Share keyboard indicators with the legacy PS/2 keyboard.
2020-12-14 16:33:20 +00:00
Volker Ruppert
2b5ef99a56 Some work on the USB keypad support.
- Added NUMLOCK to the table of supported keys.
- Temporarily added status bar item for the keypad NUMLOCK indicator.
- TODO: Add new HID device "keyboard" with all keys supported.
2020-12-13 20:35:41 +00:00
Volker Ruppert
8dc51f2cb7 Fixed PS/2 keyboard usage. 2020-12-13 16:30:42 +00:00
Volker Ruppert
520ca1459e Some keyboard related changes.
- Added new devices method register_default_keyboard() and handle keyboard
  events similar to the mouse stuff.
- Prepared removable keyboard support for the "paste bytes" feature.
- Store keyboard type in device object to avoid reading parameter at runtime.
- Related code cleanups.
- TODO #1: Extend USB keypad to full featured keyboard.
- TODO #2: Paste bytes support for USB keyboard.
2020-12-12 21:27:43 +00:00
Volker Ruppert
575ebe9cad Simplified floppy / cdrom toolbar button handlers and related cleanups. 2020-12-12 12:32:26 +00:00