amd_iommu: Fix kvm_enable_x2apic link error with clang in non-KVM builds
authorSairaj Kodilkar <sarunkod@amd.com>
Thu, 14 Nov 2024 11:45:09 +0000 (17:15 +0530)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 28 Nov 2024 16:59:47 +0000 (17:59 +0100)
commit0266aef8cd6511e5de0c0cb818d02ae7814d4940
tree9bda3f8bf10772018e7e307d503f6a6abf05f9a3
parent24602b77f5658ae8377958c15fdef2f44affc743
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: b12cb3819baf (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>
hw/i386/amd_iommu.c