qemu/hw/i386
Suravee Suthikulpanit 719255486d hw/i386/amd_iommu: Assign pci-id 0x1419 for the AMD IOMMU device
Currently, the QEMU-emulated AMD IOMMU device use PCI vendor id 0x1022
(AMD) with device id zero (undefined). Eventhough this does not cause any
functional issue for AMD IOMMU driver since it normally uses information
in the ACPI IVRS table to probe and initialize the device per
recommendation in the AMD IOMMU specification, the device id zero causes
the Windows Device Manager utility to show the device as an unknown device.

Since Windows only recognizes AMD IOMMU device with device id 0x1419 as
listed in the machine.inf file, modify the QEMU AMD IOMMU model to use
the id 0x1419 to avoid the issue. This advertise the IOMMU as the AMD
IOMMU device for Family 15h (Models 10h-1fh).

Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Message-Id: <20250325021140.5676-1-suravee.suthikulpanit@amd.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Yan Vugenfirer <yvugenfi@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2025-04-02 12:44:47 -04:00
..
kvm qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
xen hw/xen/xen-hvm: Reduce included headers 2025-03-04 14:45:34 +01:00
acpi-build.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
acpi-build.h hw/acpi/ich9: Enable ACPI PCI hot-plug 2021-07-16 04:33:35 -04:00
acpi-common.c hw/i386/acpi: Set PCAT_COMPAT bit only when pic is not disabled 2024-04-23 17:35:25 +02:00
acpi-common.h hw/i386/acpi: Declare pc_madt_cpu_entry() in 'acpi-common.h' 2024-02-20 20:34:21 +03:00
acpi-microvm.c hw/i386/acpi-microvm.c: Use common function to add virtio in DSDT 2024-01-10 18:47:46 +10:00
acpi-microvm.h microvm/acpi: add minimal acpi support 2020-09-17 14:16:19 +02:00
amd_iommu-stub.c amd_iommu: report x2APIC support to the operating system 2024-02-14 06:09:32 -05:00
amd_iommu.c hw/i386/amd_iommu: Assign pci-id 0x1419 for the AMD IOMMU device 2025-04-02 12:44:47 -04:00
amd_iommu.h amd_iommu: Use correct bitmask to set capability BAR 2025-02-21 07:18:42 -05:00
e820_memory_layout.c hw/i386/fw_cfg: Add etc/e820 to fw_cfg late 2024-07-03 18:14:06 -04:00
e820_memory_layout.h hw/i386/fw_cfg: Add etc/e820 to fw_cfg late 2024-07-03 18:14:06 -04:00
fw_cfg.c rust: Kconfig: Factor out whether HPET is Rust or C 2025-03-20 09:23:24 +01:00
fw_cfg.h hw/i386/fw_cfg: Add etc/e820 to fw_cfg late 2024-07-03 18:14:06 -04:00
intel_iommu.c virtio,pc,pci: features, fixes, cleanups 2025-02-22 05:06:39 +08:00
intel_iommu_internal.h intel_iommu: Introduce a property x-flts for stage-1 translation 2025-01-15 13:06:35 -05:00
Kconfig hw/acpi: Add vmclock device 2025-01-15 17:43:24 -05:00
meson.build machine/nitro-enclave: New machine type for AWS Nitro Enclaves 2024-10-31 18:28:33 +01:00
microvm-dt.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
microvm-dt.h microvm: add device tree support. 2021-11-02 17:24:17 +01:00
microvm.c hw/i386/microvm: Fix crash that occurs when introspecting the microvm machine 2025-02-21 07:18:42 -05:00
monitor.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
multiboot.c hw/loader: Pass ELFDATA endian order argument to load_elf() 2025-01-31 19:36:44 +01:00
multiboot.h target/i386: use DMA-enabled multiboot ROM for new-enough QEMU machine types 2021-11-02 15:57:27 +01:00
nitro_enclave.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
pc.c rust: Kconfig: Factor out whether HPET is Rust or C 2025-03-20 09:23:24 +01:00
pc_piix.c hw/uefi-vars-sysbus: allow for pc and q35 2025-03-04 12:07:05 +01:00
pc_q35.c hw/uefi-vars-sysbus: allow for pc and q35 2025-03-04 12:07:05 +01:00
pc_sysfw.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
pc_sysfw_ovmf-stubs.c hw/i386: Introduce X86_FW_OVMF Kconfig symbol 2021-07-14 22:28:58 +02:00
pc_sysfw_ovmf.c hw/i386: Replace magic number with field length calculation 2022-03-06 05:08:23 -05:00
port92.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
sgx-epc.c include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
sgx-stub.c target/i386/cpu: Mask off SGX/SGX_LC feature words for non-PC machine 2024-07-31 13:13:31 +02:00
sgx.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
trace-events hw/i386/intel-iommu: Migrate to 3-phase reset 2025-02-21 07:21:25 -05:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
vapic.c hw/i386: Mark devices as little-endian 2024-12-31 21:21:34 +01:00
vmmouse.c include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
vmport.c Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
x86-common.c hw/loader: Pass ELFDATA endian order argument to load_elf() 2025-01-31 19:36:44 +01:00
x86-cpu.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
x86-iommu-stub.c hw/i386/pc: Remove x86_iommu_get_type() 2021-11-01 18:49:10 -04:00
x86-iommu.c hw/i386: Have X86_IOMMU devices inherit from DYNAMIC_SYS_BUS_DEVICE 2025-02-16 14:25:07 +01:00
x86.c hw/boards: Do not create unusable default if=sd drives 2025-02-16 14:25:08 +01:00