Commit Graph

7333 Commits

Author SHA1 Message Date
Stanislav Shwartsman
57f5bcf9e7 some very small optimization in cpu_loop 2009-04-06 18:14:20 +00:00
Volker Ruppert
11fa3b2c4a - added runtime configuration parameters for USB cdrom drive
- scsi_device: changed some variable types
- usb_hub: removed unused method
2009-04-06 15:36:55 +00:00
Volker Ruppert
0a37bcfbdc - added get/set methods for device pointers in bx_param_c. This makes it easier
to access non-static devices from static parameter handlers.
- removed USB hub register mechanism and use the new device pointer parameter
  methods instead
2009-04-06 10:38:57 +00:00
Volker Ruppert
b7842a169a - the status bar indicators for the USB HCs now show the data transfer 2009-04-06 09:30:26 +00:00
Stanislav Shwartsman
153f86b1a8 save/restore mwait status correctly 2009-04-05 19:38:44 +00:00
Stanislav Shwartsman
9e092a86c3 merge "system" and "segment" blocks of descriptor 2009-04-05 19:09:44 +00:00
Volker Ruppert
e6c30344d3 - fixed unwanted side effect: disabling these parameters is no longer necessary
and it disabled media status selection
2009-04-05 19:06:11 +00:00
Stanislav Shwartsman
248af1b0c3 typo fix 2009-04-05 18:22:03 +00:00
Stanislav Shwartsman
c9383813f0 don't have to keep both limit and limit_scale 2009-04-05 18:16:29 +00:00
Volker Ruppert
ccdd32c111 - prepared media change support in the SCSI cdrom code 2009-04-05 16:28:35 +00:00
Volker Ruppert
fab6f61199 - list option SERIES_ASK is required at runtime when using textconfig 2009-04-05 16:28:02 +00:00
Volker Ruppert
82a81e45f8 - rewrite of ParamDialog method CopyGuiToParam() to support list size changes
when adding/removing the USB hub
- added support for wx configuration in the USB hub code
2009-04-05 08:33:27 +00:00
Stanislav Shwartsman
5894f106a9 Fixed max watchpoints hardcoded value 2009-04-03 17:45:01 +00:00
Stanislav Shwartsman
981c2e595d Improve internal debugger commands parsing.
Now possible to set read/write watchpoits using 'r' and 'w' shortcuts instead of full 'read' and 'write' words
2009-04-03 17:36:24 +00:00
Volker Ruppert
86f2615dc9 - fixed SCSI cdrom support (missing completion call) and enabled USB/SCSI cdrom
support in USB config
- added unique serial number for USB/SCSI drives
- fixed maximum LBA value
2009-04-03 16:42:56 +00:00
Stanislav Shwartsman
522a47135f bios indent cleanuip 2009-04-03 15:53:46 +00:00
Stanislav Shwartsman
23f1a49308 Applied patch:
Patch name: Fix bug #2031993 (install_macosx)
Author: Jeremy W. Sherman
Date: 2009-04-03

Added gdbstub option to .conf.everything
2009-04-03 15:22:41 +00:00
Volker Ruppert
9716be2cbd - fixed runtime menu handling (non-runtime parameters must be handled like
disabled ones)
2009-04-02 17:38:01 +00:00
Volker Ruppert
2ef1be6284 - ported most of the SCSI disk changes from Qemu to Bochs
- minor changes in SCSI command 0x23 (this command is designed for USB floppy
  support - we have to check if it is really needed for flash sticks and
  external hard drives)
- usb_msd: fixed indention
2009-04-01 18:19:46 +00:00
Volker Ruppert
365fa7fa35 - another bugfix by Ben Lunt 2009-04-01 07:27:34 +00:00
Volker Ruppert
ef901c0b0d - minor bugfixes 2009-03-31 20:05:30 +00:00
Volker Ruppert
c7ad2a9515 - implemented SCSI command 0x23 2009-03-31 20:04:56 +00:00
Volker Ruppert
c7e3604303 - added and updated comments 2009-03-30 20:42:06 +00:00
Volker Ruppert
26bb244bf0 - show a message box instead of an empty dialog if the parameter list is empty
- set keyboard focus depending on the Bochs start mode
- removed unused variable
2009-03-30 19:34:22 +00:00
Volker Ruppert
ee131a7471 - new implementation of the win32 runtime dialog based on the start menu dialog
* removed old win32 runtime config dialog since the property sheet isn't
    compatible with the win32 ParamDialog
  * reorganized runtime parameter lists (usb and cdrom setup in device init)
  * renamed win32 StartMenuDialog() to MainMenuDialog() and some related name
    changes
  * added runtime support to the MainMenuDialog
- win32 start/runtime menu: set keyboard focus to the start/continue button
- win32paramdlg: SetParamList() now checks for list size changes to avoid crash
2009-03-29 20:48:17 +00:00
Stanislav Shwartsman
3ffda1442a Allow loading roms bigger than 0x10000. Set the limit to 0x20000. 2009-03-29 20:08:27 +00:00
Volker Ruppert
2b82260d5c - ParamDialog: added support for string parameter dependent lists 2009-03-29 13:26:07 +00:00
Volker Ruppert
8d92dbdee3 - implemented dependent list for string parameters (string length must be > 0
and value must be != "none" to enable dependents)
- set dependent list for floppy path (removed enable handler)
- win32paramdlg: added support for string parameter dependent lists
2009-03-29 11:13:49 +00:00
Volker Ruppert
773b0ab8c2 - fixed debug output (max. 16 hex bytes per line) 2009-03-29 07:56:28 +00:00
Volker Ruppert
9081334b9e - added stub for the verify command 2009-03-29 00:22:03 +00:00
Volker Ruppert
96ebaa78c5 - fixed checks for return value of AskFilename()
- added hotkeys for the start menu dialog
2009-03-29 00:21:10 +00:00
Stanislav Shwartsman
f7efa100e0 Redefine "generic" VMCS table 2009-03-28 13:42:09 +00:00
Volker Ruppert
3337d7f83c - siminterface: bx_param_enum_c must have it's own set_enabled() method for
updating the dependents
- win32paramdlg: mark edit control as modified after browsing for file
2009-03-28 11:49:26 +00:00
Stanislav Shwartsman
85303f774a update TODO 2009-03-28 10:42:42 +00:00
Stanislav Shwartsman
c9d63a4e53 redo x86 hw i/o breakpoint stuff 2009-03-28 08:27:01 +00:00
Volker Ruppert
394881ead6 - new implementation of the FloppyConfigDialog based on ParamDialog
* floppy device type selection wasn't present in the old version
  * "Create Image" button for creating floppy image with selected name and type
  * after selecting image file with "Browse", the media type is set to "auto"
    and the status is "inserted".
2009-03-27 22:22:07 +00:00
Stanislav Shwartsman
2a4a481b0e Fixed watchpoint handling 2009-03-27 21:01:16 +00:00
Stanislav Shwartsman
a0b1fda178 bugfixes 2009-03-27 16:42:21 +00:00
Stanislav Shwartsman
10e373f79f Fixed compilation err 2009-03-27 13:20:23 +00:00
Stanislav Shwartsman
8eb93f4c41 More debug prints 2009-03-27 09:37:48 +00:00
Volker Ruppert
8da9dddb89 - AskFilename(): added new pointer argument 'buffer'. If not set to NULL, the
filename is read from and written to this buffer instead of using the get/set
  methods of the given parameter (now used by win32ParamDialog() and similar
  dialogs using the "Browse" button)
2009-03-26 17:57:20 +00:00
Stanislav Shwartsman
fcb51dc168 oops, this break max_instr_count feature 2009-03-26 10:24:10 +00:00
Stanislav Shwartsman
38e77f0721 print header to stdout 2009-03-26 09:51:22 +00:00
Stanislav Shwartsman
c4eed92bb0 small optimization 2009-03-26 09:44:23 +00:00
Stanislav Shwartsman
043be27c2c M$ comilerr can't optimize very good functions with long_jmp inside 2009-03-26 09:28:49 +00:00
Stanislav Shwartsman
ca4166389b generic is keyword in recent M$ .NET compiler 2009-03-26 09:19:56 +00:00
Volker Ruppert
1dee09c468 - changed parameter type for floppy status (inserted/ejected) to bx_param_bool_c 2009-03-25 18:33:43 +00:00
Stanislav Shwartsman
1c0f788d3f Fixed compilation err 2009-03-25 07:09:52 +00:00
Volker Ruppert
40fde6b89f - fixed compilation with standalone wxMSW 2009-03-24 20:17:02 +00:00
Stanislav Shwartsman
91351cb78e Update CHANGES 2009-03-24 16:33:01 +00:00
Volker Ruppert
04990bb856 - created new config interface 'win32config' using the new start menu dialog and
the existing runtime dialog ('textconfig' is still available)
- removed notify callback redirection from sdl.cc and win32.cc
- removed win32 specific code from textconfig.cc
- fixed parent window for folder selection dialog
- minor size changes in start menu dialog
2009-03-24 16:28:03 +00:00
Stanislav Shwartsman
722d489ad9 Fix SMC detection optimization 2009-03-24 16:04:47 +00:00
Stanislav Shwartsman
77d901da42 typo fix 2009-03-24 15:23:05 +00:00
Stanislav Shwartsman
839ef8b6ce optimizations in icache 2009-03-24 12:37:28 +00:00
Stanislav Shwartsman
ef1b5b5763 Upd CHANGES 2009-03-24 12:35:39 +00:00
Volker Ruppert
501eccef0a - floppya/floppyb bochsrc options: the new parameter 'type' can be used to
enable the floppy drive without media and status specified
- simplified parsing of floppy bochsrc options
- default media status for floppy drives set to BX_EJECTED
- cdrom drives no longer need the path to be set in bochsrc (empty path had
  disabled the device in the previous version)
- simplified ATA device setup in bochsrc parser
2009-03-24 11:20:17 +00:00
Stanislav Shwartsman
b46aa8e905 Fixed assertion failure in iret 2009-03-23 19:36:48 +00:00
Volker Ruppert
af3dfa73d7 - presence of floppy drive now depends on the devtype parameter instead of a
non-empty path
- floppy devtype parameter now uses CMOS values and drive type names
- related changes in the floppy code
- simplified floppy parameter handlers
- some floppy parameter label changes
- added enable handler for the floppy path parameter
- update dependent params after setting the dependent bitmap of enum parameter
2009-03-23 19:05:16 +00:00
Stanislav Shwartsman
85cdc96a49 Undo perf optimization which broke correctness 2009-03-23 16:46:17 +00:00
Volker Ruppert
de04d9e7cd - recompiled BIOS images 2009-03-23 11:38:07 +00:00
Stanislav Shwartsman
aee1b3d3b8 FIxed MOVBE16 2009-03-22 21:23:12 +00:00
Stanislav Shwartsman
e5be60be64 Fixed lazy flags bug I added in one of my prev merges
ICACHE code reorganization
2009-03-22 21:12:35 +00:00
Volker Ruppert
49343852a3 - changed parameter type for cdrom status (inserted/ejected) to bx_param_bool_c
- win32paramdlg: fixed setting parameters at runtime
- fixed win32 ParamDialog return value for close/cancel
- runtime dialog for the first cdrom drive on win32 is now created as a win32
  ParamDialog (removed old cdrom1 dialog stuff)
- minor fixes in x11 string dialog for the cdrom path & status case
2009-03-22 20:18:17 +00:00
Stanislav Shwartsman
700e492228 Fixed compilation issues 2009-03-22 09:52:48 +00:00
Volker Ruppert
8c05b177dd - added new start menu dialog for win32 (currently called from the textconfig
start menu
  * textconfig: added menu item for the win32 start menu dialog and removed
    direct calls to win32ParamDialog()
  * added support for Bochs config files in AskFilename()
  * moved log options handling to separate functions used both by the start menu
    log options dialog and the related property sheet page of the runtime dialog
2009-03-22 09:40:18 +00:00
Stanislav Shwartsman
888000e7d4 Fixed compilation err with trace cache disabled 2009-03-22 06:09:18 +00:00
Volker Ruppert
8e92378b7b - enable handlers for disk parameters are no longer needed, since the enable
behaviour is controlled by the new enum dependent list feature
- moved runtime parameter setup for cdrom drives to the harddrv code
2009-03-21 00:50:53 +00:00
Volker Ruppert
5620a0082e - rewrite of the dependent list handling based on the new win32 stuff
- removed no longer used methods
2009-03-20 16:23:46 +00:00
Volker Ruppert
4d29abf2d8 - simplified and improved processing of dependent lists (e.g. handle window
enable status changes only)
- added window procedure for hex input (for parameters with BASE_HEX selected)
2009-03-19 18:23:54 +00:00
Volker Ruppert
9e2fe690ba - implemented support for bx_param_enum_c dependencies and removed old code
- changed some tabs to spaces
2009-03-18 18:57:37 +00:00
Volker Ruppert
c77837bc47 - fixed and simplified disabling of parameters when creating the dialog
- fixed two warnings
2009-03-18 12:38:17 +00:00
Volker Ruppert
b2479d7d1a - SetParamList(): don't set values of disabled parameters
- EnableParam(): don't enable/disable items of child lists
2009-03-18 07:59:04 +00:00
Volker Ruppert
ea27f82023 - implemented support for bx_param_num_c dependencies
- changed some tabs to spaces
2009-03-18 06:07:53 +00:00
Volker Ruppert
9f27f61f34 - fixed compilation errors 2009-03-17 20:20:57 +00:00
Stanislav Shwartsman
505f876466 Fixed compilation error 2009-03-17 19:47:52 +00:00
Stanislav Shwartsman
c3392488b5 reorganize cpu debugger support, less function, faster code 2009-03-17 19:40:26 +00:00
Volker Ruppert
5913073a20 - win32 ParamDialog: full parameter dependency handling implemented (recursive
dependency list processing, enum parameter support)
- bx_param_enum_c: added argument for the default value of the dependent bitmaps
  to set_dependent_list()
- bx_param_num_c: dependent_list is now a protected member of the object to make
  it accessible for the enum specific dependency code
- config.cc: ata parameter dependency rewrite to avoid multiple dependencies
- config.cc: added missing dependency for SB16 parameter list
2009-03-17 19:37:20 +00:00
Volker Ruppert
d987b68127 - implemented dependent list support for enum parameters. Each enum value has a
Bit64u value with the "enable bitmap" (e. g. bit #0 is the enable value for
  the first item of the dependent list). TODO: use this feature in win32 and wx
  dialogs
- ata drive type and loader hack parameters now using the enum dependent list
- avoid multiple dependencies in the SB16 config menu
2009-03-16 21:07:44 +00:00
Volker Ruppert
8c605c029d - store options for all parameter types in a Bit32u value instead of bx_param_num_c
- added file extension support for bx_param_filname_c
- fixed showing of tab control child lists
- added special disk menu for the win32 ParamDialog
- on win32 use the ParamDialog instead of textconfig submenus (TODO: gui dialog
  replacement for the start menus
2009-03-15 21:16:17 +00:00
Stanislav Shwartsman
b9283af695 fixed compilation warning 2009-03-15 16:52:54 +00:00
Volker Ruppert
e91c072359 - rewrite of the win32 ParamDialog code for child list support
* added dialog item list register mechanism
  * create controls for child list inside of group boxes or tab controls
  * TODO: re-implement support for multiple dependencies
- added support for the bx_param_num_c flag USE_SPIN_CONTROL
- fixed win32 dialog item ID list
2009-03-15 16:24:54 +00:00
Volker Ruppert
2b6ba5e44c - definition of the number of USB ports moved to bochs.h
- create config parameters for USB depending of the defined number of ports
- removed obsolete comment
- bx_param_num_c flag USE_SPIN_CONTROL now available for all config interfaces
2009-03-15 12:54:59 +00:00
Stanislav Shwartsman
4470c6a1c8 make ICACHE always enabled option and deprecate it in the configure script
Trace cache still can be turned off
2009-03-13 18:48:08 +00:00
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
Stanislav Shwartsman
950db498c9 Fixed #DF error code 2009-01-23 18:19:57 +00:00
Stanislav Shwartsman
cd90782293 No need to save/restore EXT field 2009-01-23 17:48:38 +00:00
Stanislav Shwartsman
503cc4c836 merge fix 2009-01-23 09:33:11 +00:00
Stanislav Shwartsman
62005d4fd9 Minimize diff with VMX support branch 2009-01-23 09:26:24 +00:00
Volker Ruppert
809449c797 - stored LFB address in base address #0 (TODO: implement changeable LFB address;
VGABIOS should read LFB base from PCI)
2009-01-22 22:29:23 +00:00
Volker Ruppert
324fccd33c - moved include statement to reduce dependencies
- updated FSF address
2009-01-21 22:16:09 +00:00
Stanislav Shwartsman
29a252b26e final version of exceptions cleanups/interface changes 2009-01-21 22:09:59 +00:00
Stanislav Shwartsman
0b3c7262d4 Wrongly committed line 2009-01-20 21:34:59 +00:00
Stanislav Shwartsman
e7ac62ac82 extensions for exception type for future 2009-01-20 21:28:43 +00:00
Stanislav Shwartsman
74b885d74b Updated instrumentation
Simplified exception code
2009-01-20 19:34:16 +00:00
Stanislav Shwartsman
c93d13d37b small cleanups 2009-01-20 18:15:25 +00:00
Volker Ruppert
7d760b809e - updated MSVC workspace files after USB code changes 2009-01-20 16:29:13 +00:00
Volker Ruppert
fcedb1f823 - workaround for unusable VGA window size
* use default value for screen width if update() is called before VGABIOS init
  * set minimum value for vga_update_interval to 40000 (default value: 50000)
  * no longer accept ips values smaller than BX_MIN_IPS and default value
    changed to 4000000
2009-01-20 12:37:41 +00:00
Volker Ruppert
d0a0fbd9d3 - usb config subtree now belongs to serial/parallel again
- added USB to the menu item names
2009-01-20 09:26:26 +00:00
Volker Ruppert
cfa759cd57 - fixed parameter name for save/restore of connected devices
- moved configuration subtree 'usb' back to the 'ports' list to make it
  accessible again by the config interface
- delete s.scsi_dev only if not NULL
2009-01-19 21:39:03 +00:00
Volker Ruppert
d3533d9fcc - the config interface should not access devices directly, using siminterface
method for VGA refresh
2009-01-19 20:37:40 +00:00
Stanislav Shwartsman
db098a1205 Fix dependencies of CPU code from disasm library
Regent Makefile.in for CPU
2009-01-19 19:01:03 +00:00