You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qemu/hw/i386
Sairaj Kodilkar 0266aef8cd amd_iommu: Fix kvm_enable_x2apic link error with clang in non-KVM builds
Commit b12cb3819 (amd_iommu: Check APIC ID > 255 for XTSup) throws
linking error for the `kvm_enable_x2apic` when kvm is disabled
and Clang is used for compilation.

This issue comes up because Clang does not remove the function callsite
(kvm_enable_x2apic in this case) during optimization when if condition
have variable. Intel IOMMU driver solves this issue by creating separate
if condition for checking variables, which causes call site being
optimized away by virtue of `kvm_irqchip_is_split()` being defined as 0.
Implement same solution for the AMD driver.

Fixes: b12cb3819b (amd_iommu: Check APIC ID > 255 for XTSup)
Signed-off-by: Sairaj Kodilkar <sarunkod@amd.com>
Signed-off-by: Santosh Shukla <santosh.shukla@amd.com>
Tested-by: Phil Dennis-Jordan <phil@philjordan.eu>
Link: https://lore.kernel.org/r/20241114114509.15350-1-sarunkod@amd.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
6 days ago
..
kvm hw: Use device_class_set_legacy_reset() instead of opencoding 3 months ago
xen hw/xen: xenpvh: Disable buffered IOREQs for ARM 2 months ago
Kconfig machine/nitro-enclave: New machine type for AWS Nitro Enclaves 1 month ago
acpi-build.c amd_iommu: Rename variable mmio to mr_mmio 4 weeks ago
acpi-build.h hw/acpi/ich9: Enable ACPI PCI hot-plug 3 years ago
acpi-common.c hw/i386/acpi: Set PCAT_COMPAT bit only when pic is not disabled 8 months ago
acpi-common.h hw/i386/acpi: Declare pc_madt_cpu_entry() in 'acpi-common.h' 10 months ago
acpi-microvm.c hw/i386/acpi-microvm.c: Use common function to add virtio in DSDT 11 months ago
acpi-microvm.h microvm/acpi: add minimal acpi support 4 years ago
amd_iommu-stub.c amd_iommu: report x2APIC support to the operating system 10 months ago
amd_iommu.c amd_iommu: Fix kvm_enable_x2apic link error with clang in non-KVM builds 6 days ago
amd_iommu.h amd_iommu: Use shared memory region for Interrupt Remapping 4 weeks ago
e820_memory_layout.c hw/i386/fw_cfg: Add etc/e820 to fw_cfg late 5 months ago
e820_memory_layout.h hw/i386/fw_cfg: Add etc/e820 to fw_cfg late 5 months ago
fw_cfg.c hw/i386/fw_cfg: Add etc/e820 to fw_cfg late 5 months ago
fw_cfg.h hw/i386/fw_cfg: Add etc/e820 to fw_cfg late 5 months ago
intel_iommu.c intel_iommu: Add missed reserved bit check for IEC descriptor 4 weeks ago
intel_iommu_internal.h intel_iommu: Add missed reserved bit check for IEC descriptor 4 weeks ago
meson.build machine/nitro-enclave: New machine type for AWS Nitro Enclaves 1 month ago
microvm-dt.c hw/char/serial.h: Extract serial-isa.h 2 months ago
microvm-dt.h microvm: add device tree support. 3 years ago
microvm.c machine/nitro-enclave: New machine type for AWS Nitro Enclaves 1 month ago
monitor.c hw/i386: move rtc-reset-reinjection command out of hw/rtc 7 months ago
multiboot.c hw/i386: Use explicit little-endian LD/ST API 2 months ago
multiboot.h target/i386: use DMA-enabled multiboot ROM for new-enough QEMU machine types 3 years ago
nitro_enclave.c machine/nitro-enclave: New machine type for AWS Nitro Enclaves 1 month ago
pc.c hw/i386/pc: Remove vmport value assertion 2 weeks ago
pc_piix.c hw: add compat machines for 9.2 3 months ago
pc_q35.c hw: add compat machines for 9.2 3 months ago
pc_sysfw.c hw/i386/sev: Use guest_memfd for legacy ROMs 6 months ago
pc_sysfw_ovmf-stubs.c hw/i386: Introduce X86_FW_OVMF Kconfig symbol 3 years ago
pc_sysfw_ovmf.c hw/i386: Replace magic number with field length calculation 3 years ago
port92.c hw: Use device_class_set_legacy_reset() instead of opencoding 3 months ago
sgx-epc.c Mark remaining global TypeInfo instances as const 3 years ago
sgx-stub.c target/i386/cpu: Mask off SGX/SGX_LC feature words for non-PC machine 4 months ago
sgx.c target/i386/cpu: Mask off SGX/SGX_LC feature words for non-PC machine 4 months ago
trace-events vmmouse: replace DPRINTF with tracing 1 year ago
trace.h trace: switch position of headers to what Meson requires 4 years ago
vapic.c hw: Use device_class_set_legacy_reset() instead of opencoding 3 months ago
vmmouse.c hw: Use device_class_set_legacy_reset() instead of opencoding 3 months ago
vmport.c Do not include cpu.h if it's not really necessary 4 years ago
x86-common.c hw/i386/elfboot: allocate "header" in heap 2 weeks ago
x86-cpu.c hw/i386: split x86.c in multiple parts 7 months ago
x86-iommu-stub.c hw/i386/pc: Remove x86_iommu_get_type() 3 years ago
x86-iommu.c hw/i386/pc: Rename "bus" attribute to "pcibus" 9 months ago
x86.c hw/i386/x86: Fix superfluous trailing semicolon 5 months ago