All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] hw/usb-uhci.c: set hchalt bit of status register when run/stop bit unset
@ 2006-03-16  9:00 Lonnie Mendez
  2006-03-16 16:09 ` Lonnie Mendez
  0 siblings, 1 reply; 2+ messages in thread
From: Lonnie Mendez @ 2006-03-16  9:00 UTC (permalink / raw)
  To: qemu-devel

   Hello list.  Linked is a patch that fixes a bug that occurs on 
Windows XP sp1a - sp2 and perhaps earlier.  Windows 2000 seems 
unaffected.  This patch sets the hchalted bit of the status I/O register 
when the run/stop bit is unset during a write to the usb command I/O 
register of the emulated uhci host controller.

   To test simply start Windows XP with '-usb' option and bring up the 
device manager.  The 'generic usb hub' will disappear and appear over 
and over again.  The host controller driver expects hchalted to be set 
and continues to poll status until it gives up and resets the controller 
and therefore bus state.  Some log output from the transaction below.

http://gnome.dnsalias.net/patches/qemu-hchalt.patch

uhci readw port=0x0006 val=0x03e5
uhci readw port=0x0000 val=0x0081
uhci writew port=0x0000 val=0x0080  (clears Run/Stop bit)
uhci readw port=0x0002 val=0x0000
uhci readw port=0x0002 val=0x0000
uhci readw port=0x0002 val=0x0000
uhci readw port=0x0002 val=0x0000
uhci readw port=0x0002 val=0x0000   ... doesn't see hchalted being set
uhci readw port=0x0002 val=0x0000
uhci readw port=0x0002 val=0x0000
uhci readw port=0x0002 val=0x0000
uhci readw port=0x0002 val=0x0000
uhci readw port=0x0002 val=0x0000
uhci writew port=0x0000 val=0x0084  (perform global reset)
uhci writew port=0x0000 val=0x0080

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2006-03-16 16:09 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-03-16  9:00 [Qemu-devel] [PATCH] hw/usb-uhci.c: set hchalt bit of status register when run/stop bit unset Lonnie Mendez
2006-03-16 16:09 ` Lonnie Mendez

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.