aboutsummaryrefslogtreecommitdiff
path: root/hw/usb/quirks.h
diff options
context:
space:
mode:
authorPhil Dennis-Jordan <phil@philjordan.eu>2024-12-08 20:16:44 +0100
committerPhilippe Mathieu-Daudé <philmd@linaro.org>2025-03-04 14:45:34 +0100
commit9422a5acf2125e9a67a8a14538306f123bcc6098 (patch)
tree9c11993bdf51ff75e02e0d2aa3fd327d7f59c32f /hw/usb/quirks.h
parentee241d79bbf45fe7354dde51b0ca2574824205d4 (diff)
downloadqemu-9422a5acf2125e9a67a8a14538306f123bcc6098.zip
qemu-9422a5acf2125e9a67a8a14538306f123bcc6098.tar.gz
qemu-9422a5acf2125e9a67a8a14538306f123bcc6098.tar.bz2
hw/usb/hcd-xhci-pci: Adds property for disabling mapping in IRQ mode
This change addresses an edge case that trips up macOS guest drivers for PCI based XHCI controllers. The guest driver would attempt to schedule events to XHCI event rings 1 and 2 even when using PCI pin-based interrupts. Interrupts would therefore be dropped, and events only handled on timeout. So, in addition to disabling interrupter mapping if numintrs is 1, a callback is added to xhci to check whether interrupter mapping should be enabled. The PCI XHCI device type now provides an implementation of this callback if the new "conditional-intr-mapping" property is enabled. (default: disabled) When enabled, interrupter mapping is only enabled when MSI-X or MSI is active. This means that when using pin-based interrupts, events are only submitted to interrupter 0 regardless of selected target. This allows the macOS guest drivers to work with the device in those configurations. Signed-off-by: Phil Dennis-Jordan <phil@philjordan.eu> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2705 Message-ID: <20241227121336.25838-6-phil@philjordan.eu> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Diffstat (limited to 'hw/usb/quirks.h')
0 files changed, 0 insertions, 0 deletions