From: Gerd Hoffmann Date: Fri, 16 Oct 2020 11:38:32 +0000 (+0200) Subject: microvm: set pci_irq_mask X-Git-Tag: v5.2.0-rc0~41^2~13 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=64b070dad39dcae2fe06f498c0536df9a54e4beb;p=thirdparty%2Fqemu.git microvm: set pci_irq_mask Makes sure the PCI interrupt overrides are added to the APIC table in case PCIe is enabled. Signed-off-by: Gerd Hoffmann Message-id: 20201016113835.17465-5-kraxel@redhat.com --- diff --git a/hw/i386/acpi-microvm.c b/hw/i386/acpi-microvm.c index f16f2311955..8e2d2b7cff8 100644 --- a/hw/i386/acpi-microvm.c +++ b/hw/i386/acpi-microvm.c @@ -196,7 +196,7 @@ static void acpi_build_microvm(AcpiBuildTables *tables, acpi_add_table(table_offsets, tables_blob); acpi_build_madt(tables_blob, tables->linker, X86_MACHINE(machine), - ACPI_DEVICE_IF(x86ms->acpi_dev), false); + ACPI_DEVICE_IF(x86ms->acpi_dev), x86ms->pci_irq_mask != 0); xsdt = tables_blob->len; build_xsdt(tables_blob, tables->linker, table_offsets, NULL, NULL); diff --git a/hw/i386/microvm.c b/hw/i386/microvm.c index 68a7f424acf..c60ba4e840b 100644 --- a/hw/i386/microvm.c +++ b/hw/i386/microvm.c @@ -210,6 +210,12 @@ static void microvm_devices_init(MicrovmMachineState *mms) mms->gpex.ecam.size = PCIE_ECAM_SIZE; mms->gpex.irq = PCIE_IRQ_BASE; create_gpex(mms); + x86ms->pci_irq_mask = ((1 << (PCIE_IRQ_BASE + 0)) | + (1 << (PCIE_IRQ_BASE + 1)) | + (1 << (PCIE_IRQ_BASE + 2)) | + (1 << (PCIE_IRQ_BASE + 3))); + } else { + x86ms->pci_irq_mask = 0; } if (mms->pic == ON_OFF_AUTO_ON || mms->pic == ON_OFF_AUTO_AUTO) {