: USB-OHCI v0.1 (not ready for users)
PATCH 1/1 : USB-OHCI v0.1 (not ready for users)
Hi,
I've started working on USB support for qemu, by implementing an OHCI controller frontend, which is usable on any of the architectures qemu supports.
It's not ready yet, but thought I'd share what I have after day 1, developments are updated on:
http://www.scaramanga.co.uk/stuff/qemu-usb/
All this code does currently is emulate a decent amount of the HC frontend, enough to setup the root hub. All that means is that in linux you should see /proc/bus/usb/ nodes! :)
TODO:
o Implement ED/TD list handling. ie. make transfers work.
o Implement USB device API and test devices mouse/kb/proxy/storage
o Make root hub look like standard devices
Signature · 3 lines
// Gianni Tedesco (gianni at scaramanga dot co dot uk) lynx --source www.scaramanga.co.uk/scaramanga.asc | gpg --import 8646BE7D: 6D9F 2287 870E A2C9 8F60 3A3C 91B5 7669 8646 BE7D
Makefile.target +1 -1
@@ -232,7 +232,7 @@ endif # must use static linking to avoid leaving stuff in virtual address space -VL_OBJS=vl.o osdep.o block.o monitor.o pci.o +VL_OBJS=vl.o osdep.o block.o monitor.o pci.o usb-ohci.o ifeq ($(TARGET_ARCH), i386) # Hardware support
hw/pc.c +3 -0
@@ -432,6 +432,9 @@pci_ne2000_init (&nd_table[i]); }pci_piix3_ide_init (bs_table); + +/* Shut up! */ +usb_ohci_init ("Apple KeyLargo/Intrepid" ,0x106b ,0x003f ,0 ,-1 ); }else { nb_nics1 = nb_nics;if (nb_nics1 >NE2000_NB_MAX )
hw/usb-ohci.c +586 -0
586 lines not on this page · raw message
vl.h +3 -0
@@ -510,6 +510,9 @@void pci_bios_init (void );void pci_info (void ); +void usb_ohci_init (const char *name,uint16_t vid,uint16_t did, +int bus_num,int devfn); +/* temporary: will be moved in platform specific file */ void pci_prep_init (void );void pci_pmac_init (void );