Commit Graph

1738 Commits

Author SHA1 Message Date
Volker Ruppert
45148b3eb7 - fixed compiler warning and big endian issue in "send buffer" command code 2010-11-26 15:42:41 +00:00
Volker Ruppert
cdfedaa9bc - data type SOCKET doesn't exist on non-win32 platforms 2010-11-23 20:26:37 +00:00
Stanislav Shwartsman
9aa503cb9d fixed warnings for win64 compilation 2010-11-23 14:59:36 +00:00
Volker Ruppert
50d9fa3e9a - added support for VGA graphics mode with 400 lines (partial fix for SF bug #2948724) 2010-11-22 22:11:30 +00:00
Volker Ruppert
21d53ee619 - setting the ISR transmit complete bit doesn't depend on the corresponding IMR bit 2010-11-21 16:21:41 +00:00
Volker Ruppert
a41ab5ccf9 - attempt to fix win64 compilation (Win 95/98/ME specific floppy access method
not required on this platform)
2010-11-20 12:37:00 +00:00
Stanislav Shwartsman
85250931dd fix typo 2010-11-13 13:06:00 +00:00
Stanislav Shwartsman
e5bb07e366 a few more steps towards win64 compilation under windows 2010-11-13 13:00:26 +00:00
Stanislav Shwartsman
c7dba3525a Fixed warnings (patch from mailing list) 2010-08-15 19:57:50 +00:00
Volker Ruppert
8b46dcfc0b - added parameter to control the floppy media write protection. This is based on
the SF patch #1539417, but rewritten from scratch (patch too old). Differences
  to the original version:
  * internal parameter name "readonly"
  * update parameter if floppy image is readonly
  * wxWidgets support
  * documentation updates
  * no specific toolbar buttons
2010-07-03 05:34:27 +00:00
Volker Ruppert
e801f4a256 - removed floppy method get_media_status() (floppy media change handler already
updates the parameter)
2010-06-18 17:23:50 +00:00
Volker Ruppert
0a4c91815d - small fixes in the DHCP code (SF patch #2862322) 2010-05-22 10:15:58 +00:00
Volker Ruppert
fd477dac71 - ignore single mode command 0x02 (386BSD writes it, but works with it ignored) 2010-05-18 17:48:48 +00:00
Volker Ruppert
cdb7e0eb96 - fixed usage of variable 'apic_id_mask' for compatibility with win32 plugin target 2010-05-15 09:23:50 +00:00
Stanislav Shwartsman
35f8e91cad APIC ID mask cleanup 2010-05-14 12:10:00 +00:00
Stanislav Shwartsman
6ac1bdcbdf apic_dest_t as datatype 2010-03-27 09:56:30 +00:00
Stanislav Shwartsman
23927343d5 convert apic id to 32-bit -> pilot before x2apic merge
no functional change supposed to be seen yet
2010-03-26 13:00:14 +00:00
Stanislav Shwartsman
65a78f9887 dos2unix 2010-03-06 21:41:26 +00:00
Stanislav Shwartsman
9124f00645 Fixed format 2010-03-02 07:07:57 +00:00
Stanislav Shwartsman
e3a13a7a55 Make XAPIC runtime option as well 2010-02-28 14:52:17 +00:00
Stanislav Shwartsman
5df864b1f1 Move param_names.h into bochs root folder 2010-02-26 14:18:19 +00:00
Stanislav Shwartsman
55ee809cf7 fix warning 2010-02-08 14:53:31 +00:00
Volker Ruppert
5457fa4458 - fixed register_state() for the USB printer device (no need to save/restore the
file name since it is present in the config tree as a part of the device name)
2010-01-02 16:54:40 +00:00
Stanislav Shwartsman
153d43520d change copyright to bochs project 2009-12-04 19:50:29 +00:00
Stanislav Shwartsman
373377ff6c fix fname size 2009-12-04 17:54:22 +00:00
Stanislav Shwartsman
b2f6bffd8d updates for USB printer 2009-12-04 17:50:10 +00:00
Stanislav Shwartsman
453bb573bf indent changes 2009-12-04 13:21:33 +00:00
Stanislav Shwartsman
fb64ec4d0c Added USB printer support (patch by Ben Lunt) 2009-12-04 13:01:41 +00:00
Stanislav Shwartsman
85d0bb4632 determine APIC option from CPU_LEVEL and SMP support options - deprecate configure option for APIC support 2009-11-20 14:58:48 +00:00
Stanislav Shwartsman
6601f15c2e first step for range watchpoints - code reorg 2009-11-19 21:28:25 +00:00
Stanislav Shwartsman
da4722e257 optimize sr params 2009-10-16 18:29:45 +00:00
Stanislav Shwartsman
1b248b5212 fixes for future 2009-10-15 16:14:30 +00:00
Volker Ruppert
31d479f119 - attempt to fix SF bug #2867904: improved checks if VGA memory address is out
of bounds
2009-09-27 18:37:02 +00:00
Volker Ruppert
e34262bc7d - fixed regression caused by SF patch #2812936
* buffer size must match the IDE specs to transfer max. 255 sectors
  * resetting buffer pointers during IDE command is invalid
2009-08-16 19:59:03 +00:00
Stanislav Shwartsman
f29b5a97d6 fixes with long phy addr 2009-08-10 08:08:25 +00:00
Volker Ruppert
43194bddc6 - the status.interrupt bit should be set regardless of the enable bits if a IOC
or SPD is found (patch by Ben Lunt)
2009-07-19 17:49:27 +00:00
Volker Ruppert
19db14fe2e - changed BX_PANIC to BX_ERROR (text mode update code already skipped - should
only occur as an intermediate condition when switching to graphics mode)
2009-07-04 07:40:46 +00:00
Volker Ruppert
89f5147b06 - applied SF patch #2812936 by Derek
* reset buffer pointers properly to avoid overflow
  * resize buffers to match the PIIX/PIIX3 specs
2009-07-03 20:36:42 +00:00
Volker Ruppert
7d01754bae - fixed pit behaviour at multibyte count loads (SF patch #2812948) 2009-06-30 08:09:38 +00:00
Volker Ruppert
bdee17b183 - fixed compilation error if long physical address is enabled (OHCI uses 32-bit
address space only)
- added panic message for unsupported PCI memory flags (32-bit below 1 MB and
  64-bit address space are currently not supported)
2009-05-12 16:18:19 +00:00
Stanislav Shwartsman
1357a64519 iodebug compilation fix 2009-05-12 15:03:07 +00:00
Volker Ruppert
976cec630d - fixed uninitialized value found with valgrind 2009-05-10 07:57:26 +00:00
Volker Ruppert
6a1a080010 - override optional plugin control settings for 'acpi' and 'pci_ide' if PCI
support is disabled
2009-05-05 16:13:13 +00:00
Stanislav Shwartsman
fcd33dbdc5 SF patch IO Handler names are not compared properly 2009-05-01 09:12:07 +00:00
Stanislav Shwartsman
4c06bb8657 SFbugfix - "an integer overflow BUG of Bochs-2.3.7 source code" 2009-04-30 07:30:13 +00:00
Volker Ruppert
94a4710c5c - fixed crossing of the 4k boundary (USB disk on OHCI now works in Win98SE) 2009-04-29 18:16:31 +00:00
Volker Ruppert
4d98a816ad - for OUT transfers don't set the completion condition until all data is sent
to the device and process TD repeatedly until CC is modified (fixes MSD
  connected to OHCI with Linux guest)
- fixed CBP calculation and split transfer to memory when crossing the 4k
  boundary (makes 8k transfers work according to the specs: fixes Win98 guest crash)
- don't enable the status bar i/o indicator if it's ID is not valid (no space
  left in status bar)
- minor debug message fixes
2009-04-28 22:57:06 +00:00
Volker Ruppert
752c84ab9e - converted port 0xE9 hack option to a regular config parameter 2009-04-26 06:56:28 +00:00
Volker Ruppert
a1e65bae3a - bx_dbg cleanup in the keyboard and harddrv code
- several other debug message cleanups
2009-04-25 08:06:32 +00:00
Volker Ruppert
3a3b3f5b07 - bx_dbg cleanup in the floppy and unmapped code (using BX_DEBUG now) 2009-04-24 14:57:25 +00:00
Stanislav Shwartsman
2a268ecd5b small cleanup 2009-04-24 08:16:06 +00:00
Stanislav Shwartsman
cb312c9470 make port_e9_hack runtime option (and not configure time)
clean-up a bit in bx_dbg struct in bochs.h
2009-04-23 18:28:17 +00:00
Volker Ruppert
c85367fe80 - simplified PCI config space write debug messages for the current i/o length
- removed full device name from debug messages, since the device is specified
  by it's prefix. Full name is only required in a BX_INFO() in init().
- removed BX_PANIC messages that will never happen
2009-04-23 15:52:53 +00:00
Stanislav Shwartsman
e52cff7da3 remove very ugly and unsafe code (string functions are evil!) - new code is also 10 times faster. 2009-04-22 19:11:01 +00:00
Volker Ruppert
6a78f0d769 - removed extended debug output in some PCI config space read handlers
- small changes in some debug messages to make the log better readable
2009-04-22 18:37:06 +00:00
Stanislav Shwartsman
eab5f0fe7d some ifdefs 2009-04-21 20:32:20 +00:00
Stanislav Shwartsman
23326d86b6 fixed warning
unify names of debugger dump methods
2009-04-21 20:27:35 +00:00
Volker Ruppert
9408acde0d - update 2009-04-21 19:10:13 +00:00
Volker Ruppert
def1553ab5 - removed a bunch of unnecessary io_len checks 2009-04-21 17:53:29 +00:00
Stanislav Shwartsman
79d45186fd Docs about devices 2009-04-21 17:25:07 +00:00
Volker Ruppert
b6aa6b3f47 - fixed some warnings when compiling with VS2008Ex
* converted some functions to ISO-C syntax
  * use Sleep() instead of _sleep()
  * now using type Bit32u for cdrom LBA
2009-04-21 15:37:17 +00:00
Volker Ruppert
f751373219 - minor bugfix in the cdrom media change detection (ported from Qemu) 2009-04-21 10:18:42 +00:00
Volker Ruppert
bff8ea8831 - ported SCSI CD-ROM fixes/improvements from Qemu (patches for Qemu written by
Juergen Lock)
2009-04-19 19:25:50 +00:00
Volker Ruppert
ac1401a1cc - now using function write_pktlog_txt() for all ethernet modules that support
ethernet packet logging in text format
2009-04-19 17:25:40 +00:00
Volker Ruppert
154e1c252e - don't clear mouse button state when setting up USB packet (holding button
down has generated double-clicks)
- fixed some comments
2009-04-17 12:20:17 +00:00
Volker Ruppert
255143fa87 - updated iodev and gui Makefile dependencies 2009-04-15 06:10:28 +00:00
Volker Ruppert
84d5641e34 - lowlevel network drivers now using the log prefix of the network device it
belongs to. This is important when we want to implement other network devices
  or add support for multiple devices of the same type.
- improved some info messages / removed references to ne2k
- code cleanup: removed unnecessary spaces, changed tabs to spaces
2009-04-13 13:33:11 +00:00
Volker Ruppert
99221c93b9 - changed hub type to support 64 byte max. packet size
- added BX_ERROR messages for unsupported setup features
- removed obsolete comment
2009-04-12 07:26:58 +00:00
Volker Ruppert
fd867bb311 - fixed counter programming behaviour (new value should be transferred to the
counter at the CLK pulse, not the next timer event)
- code cleanups
2009-04-11 07:04:52 +00:00
Volker Ruppert
a342f0bfe6 - usb_msd: return status packet after partial disk write (Win98SE needs this)
- usb_hub: removed unnecessary include
- don't accept IN and OUT packets if a device is stalled (SETUP packet clears
  this mode)
2009-04-10 20:26:14 +00:00
Volker Ruppert
1020f9d9ea - vbe_set_base_addr() fixed for win32 plugin support 2009-04-10 14:41:29 +00:00
Volker Ruppert
b6a2eca248 - implemented changeable VBE LFB base address (TODO: update PCIBIOS init) 2009-04-10 11:10:32 +00:00
Volker Ruppert
e4f0de41e3 - simplified setting device prefix for log functions
- implemented unique device prefix for lowlevel cdrom
- minor device prefix changes
- minor coding style changes in cdrom.cc
2009-04-10 08:15:25 +00:00
Volker Ruppert
e7a4178b47 - USB HID descriptor for mouse, tablet and keypad added
- USB HID devices and hub: don't return status if device is not configured
2009-04-10 07:12:25 +00:00
Volker Ruppert
adb5243f25 - added unique serial number for the USB hub (multiple hubs now working on Win98) 2009-04-09 17:32:53 +00:00
Volker Ruppert
455e7730f0 - don't turn on status bar leds for empty packets 2009-04-07 10:56:19 +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
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
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
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
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
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
1dee09c468 - changed parameter type for floppy status (inserted/ejected) to bx_param_bool_c 2009-03-25 18:33:43 +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
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
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
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
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
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
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
55d20d99ee - don't set TRACK0 status for non-existing drive 2009-03-08 08:22:23 +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
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
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
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
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
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
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
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
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
30c63c773c apic.h is not needed for ioapic.cc 2009-02-22 17:37:09 +00:00
Volker Ruppert
790eec83ca - converted I/O APIC to a device plugin
- updated dependencies
2009-02-22 10:44:50 +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
2304f2abf1 reduce dependencies from CPU/APIC.H 2009-02-20 22:00:42 +00:00
Stanislav Shwartsman
31a367283a small optimizations for apic code 2009-02-19 23:19:11 +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
Volker Ruppert
717c528cd6 - fix for USB drive on Win98SE 2009-02-17 16:43:51 +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
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
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
Volker Ruppert
cb9990af95 - set hostname to NULL to avoid crash 2009-02-07 10:11:19 +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
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
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
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
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
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
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
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
b5aabf8848 - applied patch for initial USB OHCI support written by Ben Lunt (Win98 detects
the controller, connecting devices is not implemented yet)
2009-01-19 17:18:57 +00:00
Volker Ruppert
891cc05477 - prepared siminterface and bochsrc options for USB OHCI support
* 'usb_uhci' bochsrc option replaces 'usb1'
  * minor changes in the USB code
  * removed old VBE i/o port registration (they were incompatible with USB)
  * updated FSF address
- fixed saving user plugin options
2009-01-19 13:13:32 +00:00
Volker Ruppert
0b782cd749 - prepared USB OHCI support in build system and common devices code (OHCI patch
by Ben Lunt will be tested and merged soon)
- renamed specific pciusb stuff to 'usb_uhci' (files, objects)
- minor USB-related changes
- TODO: changes in siminterface and bochsrc options
2009-01-19 09:48:12 +00:00
Volker Ruppert
5ca97fb7e0 - moved common USB device code and USB definitons to separate files
- updated dependencies
- updated FSF address
2009-01-18 13:11:27 +00:00
Volker Ruppert
34d767f938 - moved mouse buffer size definition to iodev.h
- reduce dependencies (TODO: update Makefile.in)
- removed unused defines from iodev.h
- updated FSF address
2009-01-16 11:53:38 +00:00
Volker Ruppert
3c82e7983c - compilation fix for plugins on win32
- updated FSF address
2009-01-16 10:53:58 +00:00
Volker Ruppert
ae54b59cd0 - preparing "plugin-disable" feature for optional plugins not controlled by a
bochsrc option (e.g. biosdev, speaker, gameport)
  * the "unmapped device" is now an optional plugin, the builtin default handlers
    no longer cause panics
  * speaker stub calls the related gui methods for beep on/off
  * load all optional plugins before starting init of core plugins
2009-01-15 17:34:20 +00:00
Volker Ruppert
0ec93b8586 - moved common mouse handling code to devices.cc
- moved mouse capture control code back to config.cc
- related changes in the USB keyboard and mouse interface
2009-01-13 19:01:19 +00:00
Stanislav Shwartsman
bfcd242a2f Fixed compilation 2009-01-13 18:56:35 +00:00
Volker Ruppert
1e578b3b28 - converted device PIT 82C54 to a plugin (internal / virtual timers remain in
Bochs core)
- removed obsolete and unused PIT methods
- updated FSF address
2009-01-11 18:46:01 +00:00
Volker Ruppert
501952efdd - removed unused logfunctions member 'type' and related method 'settype()'
- updated FSF address in copyright
2009-01-10 11:30:20 +00:00
Volker Ruppert
8aa8b1a3db - rewrite for user plugin support with user-defined options
* initialize plugin system before parsing bochsrc and command line
  * pass previous value to bx_param_string_c handler
  * load / unload plugin in bx_param_string_handler()
  * handle user plugins after optional ones in plugin device init, reset and
    save/restore functions
  * added new siminterface method unregister_user_option()
  * removed first version of config option handling for user plugins
  * added new parameter subtree for user-defined options
  * added new bx_list_c method remove()
  * removed unused bx_devmodel_c method init_mem()
2009-01-04 21:46:20 +00:00
Volker Ruppert
e12b21e647 - update all dependencies 2009-01-03 09:54:10 +00:00
Volker Ruppert
00d404809b - reduce some more dependencies
- iodev.h already includes bochs.h
2009-01-03 08:55:00 +00:00
Volker Ruppert
b23e7bf6a0 - added basic user plugin support (TODO: add sample code) 2009-01-02 11:51:03 +00:00
Volker Ruppert
815dff019e - converted iodebug device to a plugin 2008-12-30 18:11:13 +00:00
Volker Ruppert
77ee99a7cd - reduce some more dependencies (rarely used options, no Makefile.in update
necessary)
2008-12-30 15:33:38 +00:00
Volker Ruppert
00f312ad6e - update dependencies 2008-12-30 09:37:15 +00:00
Volker Ruppert
618b8fe9b3 - reduce some more dependencies
- compilation fix in usb_msd code
2008-12-30 09:17:09 +00:00
Stanislav Shwartsman
d56c3a18aa reduce include dependencies in iodev.h
Makefile.in in iodev folder have to be regerated !
2008-12-29 20:16:08 +00:00
Stanislav Shwartsman
3fb9d7d712 clean duplicate instrumentation 2008-12-29 18:02:01 +00:00
Volker Ruppert
15ee364a93 - don't skip text update if character height is 1
- removed BX_MAX_TEXT_LINES hack; now check if text screen contents fit in memory
- simplified charmap update handling
2008-12-29 08:16:53 +00:00
Volker Ruppert
f2f5d5c915 - applied 3 patches from the Qemu project
* added support for memory above the PCI hole (Izik Eidus)
  * smp_probe: instead of timimg out, wait until all cpus are up (Avi Kivity)
  * Bochs BIOS changes to support HPET in Qemu (Beth Kon)
- added documentation about CMOS registers set by Qemu
2008-12-25 16:58:44 +00:00
Volker Ruppert
975419440c - simplified CMOS setup in floppy init code 2008-12-21 09:41:30 +00:00
Volker Ruppert
fd79c68d72 - fixed some warnings in iodev 2008-12-21 08:56:26 +00:00
Volker Ruppert
8f7fe8bc7d - use a local copy of the IPS value to avoid reading it frequently in timer handler 2008-12-19 12:52:34 +00:00
Volker Ruppert
ba5155b80b - fixed endianness problem when reading TD 2008-12-14 08:56:05 +00:00
Volker Ruppert
01b0ed241b - fixed endianness problems at PCI DMA block transfers using getHostMemAddr()
and memcpy()
- changes in getHostMemAddr() for the usage outside of the cpu
2008-12-13 11:03:36 +00:00
Volker Ruppert
ed90f8dd93 - fixed a bunch of warnings 2008-12-11 18:01:56 +00:00
Stanislav Shwartsman
fb21bbd51e Handle S3 in PIIX4 ACPI 2008-12-04 18:50:31 +00:00
Volker Ruppert
78197bae62 - fixed endianness bug (read 2 dwords instead of 1 qword) 2008-12-02 21:38:51 +00:00
Volker Ruppert
430166ef7a - TAP networking on Solaris/Sparc repaired (SF patch #2354134 by Pavel Dufek)
- ne2k: changed BX_PANIC to BX_ERROR in write_cr()
2008-11-30 17:22:22 +00:00
Stanislav Shwartsman
8fb3eb911a Clear DEVACTB register on PIIX4 ACPI reset 2008-11-29 19:39:12 +00:00
Volker Ruppert
85b2d3179c - update sector count before calling write completion function (SF patch #2144692) 2008-11-23 19:21:19 +00:00
Stanislav Shwartsman
83918212a6 Implemented HW reset for I/O APIC 2008-11-17 20:06:16 +00:00
Volker Ruppert
8cbd56123b - compilation fixes for MSVC toolkit 2003 2008-11-09 22:04:14 +00:00
Stanislav Shwartsman
0df223d363 Merged patch with blinking HDD led in RED color when HDD write occurs (GREEN when HDD read) 2008-10-06 22:00:11 +00:00
Stanislav Shwartsman
2f7d0b4a70 Fixed compilation in gcc4 2008-10-01 07:54:02 +00:00
Stanislav Shwartsman
fe193f0dcf Merged patch from @SF 2008-10-01 07:47:02 +00:00
Stanislav Shwartsman
6714f3f8c1 Added back mistake removed save-restore stuff 2008-09-18 20:16:27 +00:00
Stanislav Shwartsman
cac25119b7 fix some compilation stuff 2008-09-18 20:10:17 +00:00
Stanislav Shwartsman
dd0b8eceb2 Fixed some compilation issues with
Microsoft 32-Bit C/C++ Optimizing Compiler 9.00
2008-09-18 17:18:36 +00:00
Volker Ruppert
a68542f91c - added keyboard controller commands 0xCA and 0xCB 2008-09-12 14:40:41 +00:00
Stanislav Shwartsman
597fdd3c4f Fixed warning 2008-08-24 17:28:42 +00:00
Alexander Krisak
9e9ed42dbe fixed msvc 6.0 compilation 2008-08-22 07:58:20 +00:00
Volker Ruppert
3198eb03ba - fixed OPL timer handling
- fixed OPL operator number calculation
2008-07-27 15:41:43 +00:00
Volker Ruppert
61f51bc8af - minor ATA/ATAPI model string fixes
* cut model string on boot screen if larger than 36 characters to make one
    "ata" message fit in one line
  * config parameter for model string needs one more byte
  * harddrive: terminate model string with null
2008-07-27 08:06:52 +00:00
Volker Ruppert
7c8c40483e - removed some optional devices from the bx_devices_c object
- biosdev is now an optional plugin
2008-07-26 08:02:27 +00:00
Volker Ruppert
f856b297aa - FM synthesizer now usable with MIDI output (simple piano only)
* fixed OPL frequency to MIDI note translation
  * fixed MIDI output command
  * TODO: assign MIDI instruments depending on OPL parameters
2008-07-20 21:05:21 +00:00
Volker Ruppert
9b92f4984a - ALSA code cleanup: removed unused client and queue
- return error at unimplemented SYSEX command
2008-07-20 08:08:23 +00:00
Volker Ruppert
e3559d9994 - implemented MIDI output to ALSA sequencer (TODO: handle SYSEX messages)
- renamed ALSA pcm-related variables
- documentation updates
2008-07-19 12:01:54 +00:00
Volker Ruppert
3b6d4a12d4 - open midi/wave output files only when output starts (to avoid empty/useless
files if device is not used)
- avoid segfault when midi output init fails
2008-07-14 17:44:55 +00:00
Volker Ruppert
6970eaa5cb - use ALSA PCM output only if the wave device name is set to "alsa".
Otherwise Bochs uses OSS with the given device name.
- added failure handling for startwaveplayback()
- documentation updates
2008-07-13 15:37:19 +00:00
Volker Ruppert
50ea5f5073 - added limited ALSA sound support on Linux (PCM output only)
* ALSA PCM support added in soundlnx.cc (OSS will be used if no ALSA present)
  * minor code cleanups and documentation updates
2008-07-12 15:21:36 +00:00
Volker Ruppert
b3b95e0d84 - ATAPI command 0x1A added (based on the Qemu implementation)
- simplified media presence check for ATAPI 'mode sense' commands (accessing
  parameter tree not required)
2008-07-07 18:36:07 +00:00
Volker Ruppert
46265689aa - PACKET-DMA feature now supported by all ATAPI commands
* don't panic if byte count is zero in PACKET-DMA mode (the specs say that
    byte count is used for PIO modes. The behaviour in DMA mode is not
    mentioned, but seems to be ignored in that case.)
  * pci_ide: initialize sector size with the BM-DMA byte count (disk read
    commands will overwrite this value, some ATAPI commands are using the
    original one.)
  * non-disk-read ATAPI commands simply copy the buffer in DMA mode
2008-07-06 14:15:41 +00:00
Volker Ruppert
78c5e10250 - improved USB disk parameter check 2008-06-29 06:53:20 +00:00
Stanislav Shwartsman
599a9b2e32 Fixed bug found by icc compiler 2008-06-18 16:33:44 +00:00
Stanislav Shwartsman
77ce9d617e Small bug fixed 2008-06-11 21:10:02 +00:00
Stanislav Shwartsman
8ea32b4279 Simplify physical memory access by devices 2008-06-11 20:59:50 +00:00
Stanislav Shwartsman
e69a12c3dd Fixed typo (patchfrom @SF) 2008-06-04 16:28:16 +00:00
Volker Ruppert
19aa190d48 - it's not necessary to set up the physical address in the init code, since the
PARs are cleared by initial hardware reset. The physical address for incoming
  packets must be initialized by the guest's driver.
- added BX_INFO at completion of the physical address setup
2008-05-24 06:53:05 +00:00
Volker Ruppert
966f2c8133 - added new serial modes based on SF patch #1928848 by Eugene Toder
* "pipe-server" (win32 only): It makes bochs a named pipe server so other
     application can communicate with it using pipes API. Useful e.g. for remote
     kernel debugging.
  * "pipe-client" (win32 only)
  * "socket-server": for the use with gdb
2008-05-22 08:13:22 +00:00
Stanislav Shwartsman
0d976801be More Bit32u -> bx_phy_address changes
Hopefully sometimes I will be able to enable 64 bit physical address as well
2008-05-01 20:46:58 +00:00
Stanislav Shwartsman
f5780a5f5c Hide some BX_MEM_C variables
Optimize resolve16 methods - by reducing their amount again - reduce chance for misspredictin
2008-05-01 20:08:37 +00:00
Stanislav Shwartsman
297087fea9 fixed memory handler params - use bx_phy_address data type 2008-04-29 22:14:23 +00:00
Stanislav Shwartsman
fda4d38959 32-bit systems have a problem to allocate large amount of physical memory for Bochs simulation which makes simulation with 4G address space virtually impossible. But in most of the cases when 4G physical address space defined - it is not touched by default on every run so it is possible to allocate only really accessed blocks. This commit made all necessary preparations for it. 2008-04-17 14:39:33 +00:00
Volker Ruppert
a1950bb565 - fixed compilation error: "jump to case label crosses initialization of `Bit32u drvsel'" 2008-03-30 08:32:57 +00:00
Stanislav Shwartsman
75f18c4f99 mostly indent changes 2008-03-29 17:44:13 +00:00
Stanislav Shwartsman
8c24dfc01b MSVC6 compilation changes
More effort to remove can_pop function calls - almost everything is clean
2008-03-26 16:25:05 +00:00
Stanislav Shwartsman
47936944a2 Remove Cirrus Logic PCI special define - it will be enabled by default when PCI is enabled. 2008-03-22 22:26:03 +00:00
Stanislav Shwartsman
a459a64f3e whispace, tab2space, indent, dos2unix and other cleanups 2008-02-15 22:05:43 +00:00
Stanislav Shwartsman
cdcd7522aa Added RIP to the GPR register file as lst register
This allowed to optimize (read - remove) two more BxResolve methods in 64-bit mode
+ Some white space cleanup
2008-02-15 19:03:54 +00:00
Stanislav Shwartsman
063d896226 Optimization in 16-bit resolve functions
Fixes for hosts which can't support misaligned memory access
2008-02-07 20:43:13 +00:00
Stanislav Shwartsman
55ad3e89b6 another whitespace cleanup by Sebastien 2008-02-05 22:57:43 +00:00
Stanislav Shwartsman
b2418742c0 tab2space in unmapped.cc 2008-01-29 17:34:52 +00:00
Stanislav Shwartsman
37fbb82baa Cleanups. Move bxInstruction_c definition to separate file instr.h 2008-01-29 17:13:10 +00:00
Volker Ruppert
5daa9c5975 - text mode character blinking feature added in the X11 and SDL guis
- fixed sdl status bar update after resize
- updated some comments
2008-01-28 21:52:09 +00:00
Stanislav Shwartsman
ae35b0276e white space cleanups and coding style changes 2008-01-26 22:24:03 +00:00
Volker Ruppert
d770227f8f - fixed wrong variable type
- fixed MSVC warnings
2008-01-26 19:01:31 +00:00
Volker Ruppert
4fd404b622 - get rid of text_update() parameter 'nrows' (updated remaining guis)
- text mode cursor blinking implemented
2008-01-26 00:00:31 +00:00
Volker Ruppert
afd6348b36 - implemented screen disable bit in sequencer register #1 2008-01-23 18:10:33 +00:00
Stanislav Shwartsman
08eb75d985 Some workaround for bug report
1824189  Qemu hard disk image not reckognized
2008-01-14 20:47:11 +00:00
Volker Ruppert
bf8296f9f4 - ACPI fixes ported from Qemu
* set revision number to 3 (older revisions are known to be buggy)
  * fixed PM and SMBus base address alignment
2008-01-14 18:39:05 +00:00
Stanislav Shwartsman
72d72c92d4 Fixed warnings of VC2008 2007-12-30 18:02:22 +00:00
Stanislav Shwartsman
917a040cc4 Fixed more VCPP2008 warnings 2007-12-26 18:39:15 +00:00
Volker Ruppert
afbb8fb8d4 - ATA command "execute device diagnostic" raises interrupt at completion 2007-12-17 18:08:27 +00:00
Stanislav Shwartsman
0aaa1629aa PIC IRQ handling bug fix by Russ Cox 2007-11-30 08:56:34 +00:00
Stanislav Shwartsman
c51888f43f Split last BxLockable opcodes -> this allows to eliminate mod==0xc0 check from fetchdecode of every instruction
reduce ACPU.CC dependencies - now that file doesn't depend of CPU
2007-11-25 20:22:10 +00:00
Stanislav Shwartsman
72af550a0f Some indent fixes + speed up hardware read by using inline functions 2007-11-12 21:04:17 +00:00
Volker Ruppert
c73f262dc3 - fixed compilation error with raw serial enabled
- removed unnecessary spaces
2007-11-03 16:47:49 +00:00
Stanislav Shwartsman
aecf53ac94 Fixed compilation errors 2007-11-01 18:14:28 +00:00
Stanislav Shwartsman
1b8988f698 warnings fixed 2007-10-24 23:17:42 +00:00
Stanislav Shwartsman
42fdd8a3a1 During Bochs benchmarking I figured out that hostasm actually slow down the emulation ... so remove this ugly code which also doesn't help :)
speedup flags update for some instructions - idea was taken from DT patch by h.johansson
2007-10-21 22:07:33 +00:00
Stanislav Shwartsman
07739173f5 add --show-ips to all configs for future releases (it is not ON by default ?)
Bit32u -> bx_phy_address in debugger and some other places
2007-10-09 19:49:23 +00:00
Stanislav Shwartsman
c8b4b32826 Merged harddrive patch from #SF tracker 2007-10-08 19:33:08 +00:00
Stanislav Shwartsman
071c5c1a26 A lot of changes but everything is really trivial.
Make save/restore default feature, the configure option for save/restore removed from configure script and save/restore made available forever. All code now assume it is exists. Bochs save/restore tree previosly called "save_restore" renamed to "bochs" tree and it will be havily used everywhere, starting from save/restore and ending by various bochs debugger functions. I am going to rework debugger code to get rid of debug CPU access functions and use this "bochs" param tree instead
2007-09-28 19:52:08 +00:00
Volker Ruppert
208caf109b - missing 'datarootdir' variable added (fixed warning from configure script) 2007-09-23 08:45:14 +00:00
Volker Ruppert
cd3f204da9 - removed old BX_SCHEDULED_DIE_TIME code after added new benchmark option 2007-09-23 08:44:30 +00:00
Stanislav Shwartsman
412eeeeb7c Get crregs definition to separate file from cpu.h 2007-09-10 16:00:15 +00:00
Volker Ruppert
674fbc24ab - compare disk size with the size calculated from geometry to avoid image
corruption (if "mode" is not specified and image is not "flat")
- some message fixes
2007-09-07 10:54:19 +00:00
Volker Ruppert
267d15fc31 - fixed redolog->open() call for z-undoable image type (compressed-hd support
still incomplete)
2007-09-04 07:56:09 +00:00
Volker Ruppert
4b599a018a - tftp_send_optack() was not 64-bit clean (patch from SF bug #1787500) 2007-09-04 07:45:31 +00:00
Volker Ruppert
8f00ef6907 - evaluate_media() now returns 1 only if the media is valid (total number of
sectors > 0) to avoid division by zero error
2007-08-21 14:18:16 +00:00