#20696 new defect
Port Change Detect (PCD) bit not set on port change interrupt (xHCI)
回報者: | Lewis Rosenthal | 負責人: | |
---|---|---|---|
元件: | USB | 版本: | VirtualBox 6.1.30 |
關鍵字: | 副本: | ||
Guest type: | all | Host type: | Mac OS X |
描述
The XHCI emulation fails to set the Port Change Detect (PCD) bit (bit 4) in the USB Status Register on a port change interrupt as described in the "eXtensible Host Controller Interface for Universal Serial Bus (xHCI) Requirements Specification May 2019 Revision 1.2" section 5.4.2.
When real hardware generates a port change interrupt the Port Change Detect (PCD) bit is always set. In the VirtualBox VM, when a port change interrupt occurs, the USB Status Register only contains the Event Interrupt (EINT) bit set, and not the Port Change Detect (PCD) bit. This does not match the way real hardware works.
This (obviously) affects all guest OSes, and is not limited to specific ones.
I have not tested this on other host platforms.
This (obviously) doesn't affect the xHCI driver in major OSes, otherwise we (or someone else) would've noticed some misbehavior years ago.