diff options
| author | Phil Dennis-Jordan <phil@philjordan.eu> | 2024-12-08 20:16:44 +0100 |
|---|---|---|
| committer | Philippe Mathieu-Daudé <philmd@linaro.org> | 2025-03-04 14:45:34 +0100 |
| commit | 9422a5acf2125e9a67a8a14538306f123bcc6098 (patch) | |
| tree | 9c11993bdf51ff75e02e0d2aa3fd327d7f59c32f /rust/qemu-api/src | |
| parent | ee241d79bbf45fe7354dde51b0ca2574824205d4 (diff) | |
| download | focaccia-qemu-9422a5acf2125e9a67a8a14538306f123bcc6098.tar.gz focaccia-qemu-9422a5acf2125e9a67a8a14538306f123bcc6098.zip | |
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 'rust/qemu-api/src')
0 files changed, 0 insertions, 0 deletions