Commit Graph

7150 Commits

Author SHA1 Message Date
Stanislav Shwartsman
10c8d8ea33 improve lazy flags after ADD instruction 2009-03-13 18:26:10 +00:00
Stanislav Shwartsman
9417cbee63 - cpu optimizations 9remove redundant, add new) 2009-03-13 18:02:33 +00:00
Volker Ruppert
c0d9238170 - number of ports for the external hub can be configured with the device name
now. Valid values are 2 to 8 and the default is set to 4 ports (device name
  "hub" uses the default, "hub:7" enables 7 ports.
2009-03-12 20:24:56 +00:00
Volker Ruppert
87c4564a98 - added handling for raw byte arrays and numeric hex values
- handle dependencies for numeric parameter, too
- fixed enable/disable of controls for parameters with multiple dependencies
2009-03-12 19:40:41 +00:00
Volker Ruppert
2d2c732882 - win32ParamDialog now called with the menu name as second argument
- implemented dependency handling for boolean items
- now show all items if not at runtime
- moved init code for checkbox and combobox controls to their create functions
- TODO: handle child lists, dependency handling for enum items, several options
  of the parameter types
2009-03-11 18:53:22 +00:00
Stanislav Shwartsman
2bdc6ff231 insert updateFetchModeMask into handleCpuModeChange - avoid bugs in future 2009-03-10 22:28:08 +00:00
Stanislav Shwartsman
08de514d9c code cleanup for future optimization 2009-03-10 21:43:11 +00:00
Stanislav Shwartsman
07f811013c bugfixes 2009-03-10 20:01:56 +00:00
Volker Ruppert
1f1dc8c012 - regenerated after adding win32paramdlg files 2009-03-10 19:34:30 +00:00
Volker Ruppert
c82e57cb5f - implemented dynamic dialog box created from a parameter list (bx_list_c)
* ported the basic functionality of the wx ParamDialog to win32
  * moved AskFilename() function to the new file
  * win32ParamDialog() now used for the external USB hub (if present)
  * TODO: with some extensions it might be possible to use it for all runtime
    dialogs and to implement a gui replacement for the textconfig start menu
2009-03-10 19:33:03 +00:00
Stanislav Shwartsman
51ea504442 Fixed compilation with debugger on 2009-03-10 17:02:03 +00:00
Stanislav Shwartsman
9e723a044f - Added configure option to enable/disable A20 pin support. Disabling the
A20 pin support slightly speeds up the emulation.

  - small code cleanup
2009-03-10 16:28:01 +00:00
Volker Ruppert
8987188a8e - new method get_frame_remaining() calculates register value from the difference
between the current time and the "start-of-frame" time
- removed 1 usec interval timer
- simplified calculation of the PPCM reset value
2009-03-09 23:18:52 +00:00
Volker Ruppert
19139d3618 - broadcast packets to enabled ports only
- changed BX_PANIC to BX_DEBUG message
2009-03-09 18:28:17 +00:00
Volker Ruppert
d909d7a8dd - prepared USB cdrom support in the usb_set_connect_status() methods
- added 2 missing request types in the usb_msd code
2009-03-09 14:44:06 +00:00
Volker Ruppert
9549d7ece6 - preparing USB cdrom support (not yet complete)
* added cdrom support in the usb_msd code (already present in the SCSI code)
  * added code for deferring packets in usb_msd and the common USB code (TODO:
    cancel packets by the host controller)
  * added SCSI cdrom drive lock flag
- clean up SCSI request queues in destructor
- changed type of cdrom path/device parameter to const char
- moved the shared init device code to a common function
- reset hub count if the last external hub has been removed
2009-03-09 12:18:40 +00:00
Volker Ruppert
9024d7b202 - set only modified numeric and string parameters in runtime dialog 2009-03-08 22:10:16 +00:00
Stanislav Shwartsman
6fe0b40b44 move a20 handling into getHostAddr method of BX_MEM 2009-03-08 21:23:40 +00:00
Volker Ruppert
55d20d99ee - don't set TRACK0 status for non-existing drive 2009-03-08 08:22:23 +00:00
Volker Ruppert
f3d3857ce3 - added OHCI options to win32 runtime dialog
- enable USB options for present devices only
- TODO: implement dynamic runtime dialog for the first external USB hub
2009-03-07 20:02:49 +00:00
Volker Ruppert
db2302d13d - regenerated after adding external USB hub 2009-03-07 16:58:38 +00:00
Volker Ruppert
dee8eef320 - added external USB hub
* ported generic hub code from Qemu
  * devices can be connected at runtime only with textconfig
  * FIXME: wx ParamDialog doesn't like removing runtime parameters on disconnect
  * TODO #1: dynanamic runtime dialog for USB on Windows
  * TODO #2: code cleanup: USB code should have one static function only for
    most of the init_device() code
2009-03-07 16:57:17 +00:00
Volker Ruppert
4e33fbbd29 - changed USB HID version for mouse and tablet to 1.00 (was: 0.01 !) 2009-03-06 23:48:25 +00:00
Volker Ruppert
87903bf0bf - don't delete bx_list_c items with different parent list 2009-03-06 16:07:56 +00:00
Volker Ruppert
82b9d9ec81 - ported packet broadcast mechanism from Qemu (required to support devices
connected to an external hub)
- accept empty strings for device disconnect in parameter handler
2009-03-05 21:35:00 +00:00
Volker Ruppert
1a3610dd32 - ported packet broadcast mechanism from Qemu (required to support devices
connected to an external hub)
- accept empty strings for device disconnect in parameter handler
2009-03-05 19:12:23 +00:00
Stanislav Shwartsman
43fc81651d Removed redundant code 2009-03-05 17:48:12 +00:00
Volker Ruppert
ad68d37b2a - small fixes to make devices connected to OHCI work with Linux guests
- changed some BX_INFO messages to BX_DEBUG
2009-03-05 17:29:09 +00:00
Volker Ruppert
de9f1dcce9 - rewrite of the USB runtime configuration code (for textconfig only)
* USB runtime options moved to a new dynamic menu
  * USB host controllers create own submenus in init()
  * USB runtime parameter handlers simplified
  * TODO: related changes in the wx and win32dialog code
2009-03-04 18:20:50 +00:00
Volker Ruppert
7a1236636a - improved mouse register mechanism for the default mouse selected with the
mouse type option and updated mouse devices to use it
- removed some stubs and stub functions from the devices code
2009-03-03 20:34:50 +00:00
Volker Ruppert
90aa30fde9 - added register/unregister methods for removable keyboard devices and updated
keyboard and usb_hid code to use them
- removed keyboard handling from the USB host controller code
- removed no longer needed USB stubs from the devices code
- converted removable mouse variables to a structure
2009-03-03 18:29:51 +00:00
Stanislav Shwartsman
72e2a2258f Fixed BSWAP in MOVBE instruction 2009-03-03 16:55:20 +00:00
Stanislav Shwartsman
4137ba4fc4 Give credit for recently fixed cpu bugs 2009-03-03 06:21:47 +00:00
Stanislav Shwartsman
56251925a3 Fixed typo in 64-bit BSWAP 2009-03-03 06:18:00 +00:00
Volker Ruppert
3c21d494cb - added register/unregister methods for removable mouse devices and updated
usb_hid code to use them
- removed mouse handling from the USB host controller code
- TODO: add similar code for keyboard devices
2009-03-02 21:21:16 +00:00
Volker Ruppert
7f9717dd10 - OHCI packet handling code rewritten (Win98 original now detects the mouse)
- moved usb_send_msg() to the common USB devices code
- simplified USB MSD devices handling
2009-03-01 19:29:36 +00:00
Volker Ruppert
69452184d8 - completed save/restore code
- CSC bit must be set on a connect change
- debug message fixed
2009-03-01 10:17:21 +00:00
Stanislav Shwartsman
6dac964b27 Two more prefix66 opcodes 2009-02-28 09:28:18 +00:00
Stanislav Shwartsman
bc8be4ed06 Fixed CR8 read 2009-02-27 20:00:02 +00:00
Volker Ruppert
4964cb7ba7 - add new method remove_device() for device cleanup
- initialize device pointers in init()
- don't delete connected devices in reset()
- update status if a device is connected during reset(), otherwise try to
  connect devices
2009-02-26 22:46:37 +00:00
Stanislav Shwartsman
93f375dc42 regen dependencies 2009-02-26 22:02:00 +00:00
Stanislav Shwartsman
b9de22961c minimize SSE tables, minor speedup in SSE code 2009-02-26 21:57:01 +00:00
Volker Ruppert
15aec6efee - add new method remove_device() for device cleanup
- some more registers converted from struct to Bit16u / Bit32u
- some progress with save/restore support
- small interrupt handling rewrite
- report misaligned read/write access
2009-02-26 18:43:11 +00:00
Volker Ruppert
f8bceae4e9 - improved device cleanup in destructor
- initialize device pointers in init()
- only connect devices in reset() if not NULL
- don't delete devices in reset_hc() to avoid segfault (update connect status
  instead)
- fixed port number calculation in read handler
- fixed enabling interrupts
2009-02-25 18:18:57 +00:00
Stanislav Shwartsman
6b790b9069 Fixed compilation error with undefined _stricmp in MSDEV 2009-02-25 16:27:31 +00:00
Volker Ruppert
8cfd6b85aa - now using Bit32u values instead of structures for some registers
- interrupt handling rewritten based on the Qemu implementation
- HcRhPortStatus now belongs to the usb_port structure
- partial save/restore support
2009-02-24 17:15:27 +00:00
Volker Ruppert
fb2723d465 - added missing include 2009-02-24 08:08:20 +00:00
Volker Ruppert
f9124b8c99 - plugin 'harddrv' now depends on the ATA configuration (don't load it if no
channel is enabled)
- pluginIOAPIC points to the stub if plugin is not loaded
2009-02-23 18:38:25 +00:00
Stanislav Shwartsman
e6685b3557 Fixed comp err with APIC disabled 2009-02-23 17:09:39 +00:00
Volker Ruppert
9e3dd83e85 - reduce some more dependencies and related Makefile.in updates 2009-02-23 11:06:53 +00:00
Volker Ruppert
71db42376f - some fixes in debug output 2009-02-23 08:31:41 +00:00
Stanislav Shwartsman
f2878feb30 Fixed 64-bit VS2008 comp failures 2009-02-22 21:48:21 +00:00
Stanislav Shwartsman
43785db799 added implemented features to changes 2009-02-22 17:41:48 +00:00
Stanislav Shwartsman
30c63c773c apic.h is not needed for ioapic.cc 2009-02-22 17:37:09 +00:00
Volker Ruppert
29f5a696fc - improved config interface labels for the optional plugin control
- documentation updates
2009-02-22 17:05:40 +00:00
Volker Ruppert
790eec83ca - converted I/O APIC to a device plugin
- updated dependencies
2009-02-22 10:44:50 +00:00
Stanislav Shwartsman
08f9c8dceb Patch by Sebastian:
Fix parameter count for set_e820_range() in legacy bios.
It's called with too few parameters since rombios.c 1.224.
2009-02-21 21:45:34 +00:00
Volker Ruppert
66e2688645 - optional plugin control: added workaround for the compilation with plugins
disabled (bx_load_plugin() function not available in this case and we don't
  want to make plugin.cc device-dependant)
2009-02-21 16:08:02 +00:00
Volker Ruppert
cb430a4371 - added option to control the presence of optional plugins without a separate
option. By default all existing plugins are enabled.
2009-02-21 11:43:18 +00:00
Stanislav Shwartsman
3ce1d47fc5 Update CHANGES 2009-02-21 09:47:16 +00:00
Stanislav Shwartsman
9b3df76910 Fixed comp err 2009-02-20 23:01:09 +00:00
Stanislav Shwartsman
2304f2abf1 reduce dependencies from CPU/APIC.H 2009-02-20 22:00:42 +00:00
Stanislav Shwartsman
87268a1ba5 Fixed dfr register in apic 2009-02-20 20:44:20 +00:00
Stanislav Shwartsman
21d753c378 short cleanup 2009-02-20 17:35:55 +00:00
Stanislav Shwartsman
09489f968a cleanup APIC initialization and setting of APIC_ID 2009-02-20 17:26:01 +00:00
Stanislav Shwartsman
78590cc6f2 remove redundant cpu->name variable 2009-02-20 17:05:03 +00:00
Stanislav Shwartsman
11e8d090b6 moved def to config.h 2009-02-20 16:01:30 +00:00
Stanislav Shwartsman
876a410230 Only 15 CPUs maximum without XAPIC 2009-02-20 15:47:04 +00:00
Stanislav Shwartsman
5cbe27b04e Allow to configure up to 255 CPUs 2009-02-20 15:39:06 +00:00
Stanislav Shwartsman
c88886b4d2 Allow to configure up to 255 CPUs (and let's hope it will work :)) 2009-02-20 15:38:36 +00:00
Stanislav Shwartsman
36518ba6c6 Patch by Sebastian [Bochs-developers] [PATCH] rombios32: use cpuid info in mptable processor entry 2009-02-20 15:36:29 +00:00
Stanislav Shwartsman
d01725b1e9 Fixed compilation error on MAC 2009-02-20 08:12:51 +00:00
Stanislav Shwartsman
31a367283a small optimizations for apic code 2009-02-19 23:19:11 +00:00
Stanislav Shwartsman
7be90a7426 forgot to enable local_apic in init() 2009-02-18 22:38:58 +00:00
Stanislav Shwartsman
3564ef3162 small fixes 2009-02-18 22:33:06 +00:00
Stanislav Shwartsman
1b72e66bb3 support for apic global disable
separate between I/O apic and local apic
2009-02-18 22:25:04 +00:00
Stanislav Shwartsman
87b705d036 Changes in lapicbase msr 2009-02-17 19:44:02 +00:00
Stanislav Shwartsman
3a1852ea23 take local APIC read/write access into CPU class from BX_MEM (needed for APIC virtualization later) 2009-02-17 19:20:47 +00:00
Volker Ruppert
717c528cd6 - fix for USB drive on Win98SE 2009-02-17 16:43:51 +00:00
Stanislav Shwartsman
1e2fd1a737 Fixed compilation err 2009-02-16 18:27:50 +00:00
Stanislav Shwartsman
801484d877 mention > 32 bit phy addr feature 2009-02-15 19:00:03 +00:00
Stanislav Shwartsman
2ecd288f22 Fix closed bugs list 2009-02-15 18:54:14 +00:00
Stanislav Shwartsman
6fb60de2b2 cpu to see up to 40 bit physical addr space 2009-02-15 18:51:13 +00:00
Volker Ruppert
bf92a5ea04 - removed duplicate code from reset_hc(), since the init of connected devices
is already done in reset()
- init_device(): check for device connected to port before creating a new one
  (OHCI and UHCI)
- update irq level after clearing status and masking interrupt (same behaviour
  as the Qemu implementation)
2009-02-15 14:06:55 +00:00
Volker Ruppert
e11f9b6ce6 - small fixes to make the USB mouse work in Win98 and Linux
- now the USB UHCI controller can be assigned to a PCI slot (by default it's a
  part of the PIIX3 chipset)
2009-02-15 08:16:16 +00:00
Volker Ruppert
f10e0a08af - applied latest version of the USB OHCI support by Ben Lunt (WIN98SE can use
the USB mouse now)
- minor fixes in the USB common and devices code
2009-02-14 10:06:20 +00:00
Stanislav Shwartsman
e8e699245f fix code duplication in cpu.h for eflags accessors 2009-02-13 20:09:56 +00:00
Stanislav Shwartsman
f1eb1d00fd do not produce fpu2mmx transition if mem write faults 2009-02-13 10:15:16 +00:00
Stanislav Shwartsman
714dc45589 Fixed typo 2009-02-13 10:10:39 +00:00
Stanislav Shwartsman
a5badd3b83 - bugfixes 2009-02-13 09:51:57 +00:00
Stanislav Shwartsman
b47d9046ca puts is not always working, change to fputs back, keep stdout 2009-02-12 20:39:38 +00:00
Stanislav Shwartsman
03684932c1 send debugger output to stdout instead of stderr 2009-02-12 20:30:52 +00:00
Stanislav Shwartsman
6003f52704 Fixed compilation error + x86-64 correctness fix 2009-02-09 19:46:34 +00:00
Volker Ruppert
a1a4574074 - fixed PCI IRQ router check for legacy BIOS (checking vendor ID only) 2009-02-09 17:06:06 +00:00
Volker Ruppert
d0c3b1cb1c - initialize guest IP address with 255.255.255.255 (expected by Windows guests) 2009-02-09 17:04:30 +00:00
Volker Ruppert
91013a781d - some more FSF address updates 2009-02-09 10:35:55 +00:00
Volker Ruppert
fd68355c87 - patch updated 2009-02-09 10:17:21 +00:00
Stanislav Shwartsman
20d1ee5815 Fixed memory leak + some compilation warning 2009-02-08 18:52:06 +00:00
Stanislav Shwartsman
25b7227ef2 convert some BX_DEBUG prints to BX_ERROR
fixed boundary fetch fault bug in some stupid corner cases
2009-02-08 17:37:19 +00:00
Stanislav Shwartsman
77974ab952 - removed wrong character from FSF address (converted invisible and useless
2-byte character)
2009-02-08 17:29:34 +00:00
Volker Ruppert
e5eac65b59 - removed wrong character from FSF address (converted invisible and useless
2-byte character)
- updated FSF address in some files
- added license to some files
2009-02-08 09:05:52 +00:00
Stanislav Shwartsman
dd03e043a3 Updated FSF address 2009-02-07 21:05:31 +00:00
Stanislav Shwartsman
98b198b3fe not merged yet feature :) 2009-02-07 20:47:17 +00:00
Stanislav Shwartsman
66dc9b4cb1 - updated FSF address 2009-02-07 20:35:39 +00:00
Volker Ruppert
cb9990af95 - set hostname to NULL to avoid crash 2009-02-07 10:11:19 +00:00
Stanislav Shwartsman
aeaf51d33a FIxed #DB exception in 64-bit mode 2009-02-06 15:25:57 +00:00
Stanislav Shwartsman
21e2692997 Fixed bug in trace cache mode 2009-02-06 15:03:47 +00:00
Volker Ruppert
141d69eadf - applied current version of the USB OHCI support by Ben Lunt (communication
between guest OS and USB device still not working correctly)
2009-02-05 16:53:44 +00:00
Stanislav Shwartsman
7c0582e4ea Some fixes for X86-64 OFF mode 2009-02-04 16:05:47 +00:00
Stanislav Shwartsman
26fda0626d Added missed CR0 reserved bits #GP in long mode 2009-02-03 21:11:31 +00:00
Stanislav Shwartsman
7d5e058dfe write to apic must be 16-byte aligned 2009-02-03 20:42:15 +00:00
Volker Ruppert
8b608fe045 - confirm requested hostname 2009-02-03 20:04:20 +00:00
Stanislav Shwartsman
fdf4f25230 revert incorret merge 2009-02-03 19:28:22 +00:00
Stanislav Shwartsman
fbc6f04d8a correctly deliver INIT 2009-02-03 19:26:09 +00:00
Stanislav Shwartsman
4499ae8d02 more info abourt SIPI 2009-02-03 19:25:37 +00:00
Stanislav Shwartsman
592484408f Initial NMI virtualization for VMX, clean out CPU pins set/clear code 2009-02-03 19:17:15 +00:00
Stanislav Shwartsman
30fec77004 faster i/o apic write access 2009-02-03 19:12:00 +00:00
Volker Ruppert
1a5e565c0b - always set port speed depending on connected device (device speed is always
set in constructor, but for usb_msd devices the connected status set by a
  successful init)
2009-02-03 18:21:21 +00:00
Stanislav Shwartsman
b60aee3891 Added defines for STRICMP/STRCASECMP 2009-02-02 19:10:13 +00:00
Stanislav Shwartsman
f6cb9e529f Fixes for VMX emulation 2009-02-02 18:59:44 +00:00
Volker Ruppert
3a470c9d11 - names of bx_list_c members are now compared case insensitive
- added configure check and osdep code for the stricmp function
- minor changes in siminterface
2009-02-02 13:03:28 +00:00
Stanislav Shwartsman
3a918d21f7 VMENTER with pending dbg exceptions 2009-02-01 22:23:33 +00:00
Stanislav Shwartsman
3b799101f4 Optimize debugger stepN when single processor mode 2009-02-01 22:20:04 +00:00
Stanislav Shwartsman
2378d31998 Fixes for DR6 handling 2009-02-01 20:47:06 +00:00
Volker Ruppert
b7f10117a9 - fixed building of display libraries other than 'win32' with debugger support
on the Windows platform
2009-02-01 18:25:21 +00:00
Volker Ruppert
4f1684d07b - fixed GTK detection for wxGTK (enable GTK check only if wx gui is enabled)
- fixed GTK detection switch for the X11 gui
- enable GTK detection for the sdl gui on non-win32 platforms
2009-02-01 12:41:28 +00:00
Volker Ruppert
882269acaa - fixed win32 compilation 2009-02-01 10:30:47 +00:00
Volker Ruppert
bfedc33c09 - fixed some more GCC4 warnings 2009-02-01 08:08:20 +00:00
Stanislav Shwartsman
c801545c0b added more knobs 2009-01-31 20:41:59 +00:00
Volker Ruppert
3e525af2ca - fixed order of the Bochs parameter tree
- fixed lots of warnings
2009-01-31 19:02:24 +00:00
Volker Ruppert
4820227ce7 - moved VBE state to a separate structure
- handle VBE error messages with BX_ERROR instead of BX_INFO
- several code cleanups in the object delaration and the init code
2009-01-31 18:13:17 +00:00
Volker Ruppert
bcefe1f799 - implemented support for the GTK-based gui debugger in sdl (WIN32 support
disabled, since it breaks runtime dialog support)
- fixed a warning
- updated FSF address
2009-01-31 18:11:13 +00:00
Stanislav Shwartsman
de5814a22d Fixed compilation err 2009-01-31 15:01:29 +00:00
Stanislav Shwartsman
6eb53b15ce Fixed some gcc4 warnings 2009-01-31 14:51:41 +00:00
Stanislav Shwartsman
9430c5cf95 INIT pin is blocked when CPU is waiting for SIPI 2009-01-31 11:53:57 +00:00
Stanislav Shwartsman
6b37de5c0d TESTFORM update 2009-01-31 11:50:28 +00:00
Stanislav Shwartsman
82969504d8 updated CPU TODO 2009-01-31 11:34:51 +00:00
Stanislav Shwartsman
d63044357f Bochs enhanced debugger user manual by Bruce Ewing 2009-01-31 11:30:29 +00:00
Stanislav Shwartsman
f8185a6bc6 Added Intel VMX emulation to Bochs CPU 2009-01-31 10:43:24 +00:00
Stanislav Shwartsman
717f323722 Integrate GTK GUI debugger frontend module 2009-01-31 10:04:25 +00:00
Stanislav Shwartsman
dd21ea963e New module for cross-platform GUI debugger frontend 2009-01-31 09:52:26 +00:00
Stanislav Shwartsman
b780068399 Fixed gcc4 warnings 2009-01-30 21:47:42 +00:00
Stanislav Shwartsman
368eb61eed Fixed gcc4 warning 2009-01-30 21:05:01 +00:00
Stanislav Shwartsman
a1c11c788b sepatate activity state from debug trap 2009-01-29 20:27:57 +00:00
Stanislav Shwartsman
aa982c27d8 move startup_SIPI code to CPU 2009-01-27 21:13:38 +00:00
Stanislav Shwartsman
4dcea7e888 Fixed pause instruction disasm 2009-01-27 21:01:21 +00:00
Stanislav Shwartsman
0325c120b2 Separate PAUSE instruction from regular NOP 2009-01-27 20:29:05 +00:00
Volker Ruppert
4b4f80e6cb - implemented MTRR support in the bios. This is a combination of the individual
patches from the kvm tree. The code was written by Avi Kivity and Alex
  Williamson. Sebastian Herbszt added checks for CPUID_MTRR and CPUID_MSR.
2009-01-26 09:21:38 +00:00
Volker Ruppert
4d661c8326 - VBE video memory increased to 16 MB (new version of the LGPL'd VGABIOS under
construction)
2009-01-25 09:09:49 +00:00
Stanislav Shwartsman
8c8ef5b869 Mask bit 11:8 of segment AR field 2009-01-23 21:28:01 +00:00