- Common USB code prepared for async USB packet handling (ported from an earlier
Qemu version).
- Added simple async packet handling to OHCI (partly ported from earlier Qemu).
- Implemented USB cdrom seek emulation for hubs with async packet support. The
legacy code is still present for hubs without this feature.
- For UHCI and xHCI the callback is set to NULL to force the usage of the
legacy cdrom read code.
TODO: clean up OHCI code, async support for UHCI and xHCI, seek emulation for
USB harddisk and floppy.
- Force a status bar update after unregistering an item.
- Added status indicators for USB disk and cdrom.
- Handle USB device disconnect in the runtime config handler, too.
devices like USB disk, cdrom or floppy. Using this feature for the new USB
floppy. Removed static indicators for port activity from the USB HC code.
TODO: Implement status LEDs for USB disk and cdrom.
Notes by Ben:
This emulates a NEC/Renesas uPD720202 2-port (2 socket, 4-port register sets)
Root Hub xHCI Host Controller.
Many, many thanks to Renesas for their work and effort in helping my research.
I have tested in with my own tests and WinXP Home Edition SP3.
Use port1 and port2 to emulate a Super-speed device, and use port3 and port4
to emulate Low-, Full-, or High-speed devices.
NOTE: The Windows driver for this device uses a proprietary detection
mechanism and we don't have the permission to implement it. That's why it only
works fine with non-Windows guests.
- removed max_packet_size member from USB device structure
- usb_uhci: improved speed info
- updated USB-related documentation
- TODO: review and test the main part of the xHCI changes by Ben
- If the runtime flag of a bx_list_c object is set, all it's items are set up
as runtime options.
- Set the runtime parameter for all top-level runtime-only lists. Setting up
each single parameter is no longer needed.
- bx_list_c: added support for removing parameter with other parent list
- USB HC's: remove item from runtime config on simulation exit
- initialize bx_user_quit in bx_begin_simulation()
- only remove optional plugin from list if alrady unloaded
- SIM->opt_plugin_ctrl() now can be used to verify the optional plugin
configuration when using the plugin name "*". The 'load' value 1 makes
sure that all plugins with the value 1 are loaded. The 'load' value 0
unloads all plugin with the value 0 (marked for removal).
- add the default set of plugins to the 'plugin_ctrl' list and load all these
pre-defined optional plugins before parsing the configuration.
- special wx case: verify plugin configuration before showing the plugin
control dialog and before initialising hardware.
- device plugins that have been loaded, but not configured now set their
plugin control value to 0. Added the plugin unload check before signalling reset.
- siminterface: don't create plugin parameter if it already exists
- wx: make sure all plugins are loaded when creating plugin control dialog
- USB HC's: fixed removal of parameters when unloading plugin