acrn-hypervisor/devicemodel/hw
Zhao Yakui eb9a58c70e ACRN:DM: Set the desired state to inject PCI legacy intx
When the virtio-XXX pci devices fall back to legacy PCI intx,
the pci_irq_assert is called to inject the interrupt and then
the pci_irq_deassert is used to mark the completion of PCI interrupt.
Currently the HV vIOAPIC uses the pin_state for the interrupt injection
of legacy PCI intx. In such case it will fail to inject the PCI legacy
intx and the guest system fails to be booted when adding the boot option
of "pci=nomsi".

PCI legacy INTx usually use active low level trigger mode as it is Open-Drain
state and allows multitple interrupt signals to share a single line.
https://wiki.osdev.org/PCI_Local_Bus_Signals
In such case DM needs to set the correct state for the PCI device so that the
HV vIOAPIC can help to inject the PCI legacy intx.

BTW: When the MSI/MSIX is used for PCI device, it uses another mechanism
to inject the interrupt. It is harmless to configure the initial state.

Tracked-On: #7124
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Acked-by: Wang, Yu1 <yu1.wang@intel.com>
2022-02-21 15:34:01 +08:00
..
mmio dm: Fix potential overflow bug 2021-11-04 10:34:13 +08:00
pci ACRN:DM: Set the desired state to inject PCI legacy intx 2022-02-21 15:34:01 +08:00
platform dm: add checks of ioctl return value for ACRN userspace 2022-02-21 09:25:50 +08:00
block_if.c dm: blockif: Convert print output to acrn-dm logger 2020-09-10 09:33:25 +08:00
uart_core.c ACRN: misc: Unify terminology for sos/uos rin macro 2021-11-02 10:00:55 +08:00
usb_core.c DM USB: modify disconnecting logic to support Windows 10 2019-09-26 11:29:22 +08:00