USB device type 'disk' replaces the 'flash' stubs and uses the corresponding
port option as the path to the flat image file. Successfully tested with
OpenSUSE 10.2.
TODO list:
* plugging in 2 devices of the same type not supported yet
* move all USB devices and SCSI emulation layer to separate files and C++
objects
* USB port runtime parameter 'optionX' should be handled in the code of the
connected USB device
* tests with several other guest platforms
- destructor deletes device buffer only when it exists
- handling of the USB error interrupt status bit fixed
code may be required)
- set mouse/keypad connection status to 0 when removing device
- pciusb code now accepts "none" as the device name for an unused port
The connection status is now only controlled by the USB port options (TODO:
device change support at runtime)
- a connected USB mouse now has the priority when sending mouse data from the
gui to the emulated mouse device.
(TODO: find a way to call plugin_fini() for non-core devices if plugins are
disabled)
- set the device pointers back to stubs after unloading plugins
- added debug message "Exit" in all device plugin destructors
- bx_init_options(): local variables cleanup
- hide floppy devtype parameter (floppy media type change support not yet complete)
- wx: menu order changed
- keyboard.cc: removed obsolete FIXME
- proposed parameter tree updated
- removed obsolete parameters for usb1 and pnic (now assigned by the PCI BIOS)
- PCI base address register mechanism now leaves the flags untouched
- missing reset of pnic options added
* re-insert usb mouse works now (Win98/Win98SE)
* Win98 shutdown problem fixed
* Linux HCRESET problem (device connection still fails)
* USB keypad code added (not enabled yet)
* up to 5 slots can be specified with the 'i440fxsupport' config option
* the pci slot number are hardwired to pci device numbers
* the 'devfunc' value is returned the calling device (useful for multi-function
devices)
* the core of the i440FX chipset is hardwired to pci device 1 + 2; usb is still
optional and appears at device 1, function 2
- ne2k: enable pci features if connected to a pci slot
- ne2k: asic data port supports 32-bit access if ne2k-pci is active
- pci2isa: improved error messages for ELCR1 and ELCR2
bochs.h already not include iodev.h which reduces compilation dependences for almost all cpu and fpu files, now cpu files will not be recompiled if iodev includes was changed
and improved by Christophe Bothamy and Volker Ruppert)
Comment from the author:
Attached is a "patch" file detailing what you need to do
to add USB support (UHCI only for now) to your existing
Bochs (2.0.xx) source code.
I use Win32 and VC++ but the source and modifications
should be platform and compiler independant.
Please let me know if this patch some how breaks the
build process of your compilation (Bochs 2.0.0 or above
only).
I would also like any feedback on how this code works
(or doesn't work) on your platform and within your
images. If you explain in as much detail as you can on
how it did or did not work, I will try to add to the source
to help it work on all platforms and images.