summaryrefslogtreecommitdiff
path: root/arch/x86/include/asm/msi.h
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2022-11-25 02:26:05 +0300
committerThomas Gleixner <tglx@linutronix.de>2022-12-06 00:22:33 +0300
commitb6d5fc3a5245c65f7c83440460a1566d09cc9038 (patch)
tree6fb8a289f07a3253e51591e30df0422abab8436e /arch/x86/include/asm/msi.h
parent15c72f824b32761696b1854500bb3dedccbbb45a (diff)
downloadlinux-b6d5fc3a5245c65f7c83440460a1566d09cc9038.tar.xz
x86/apic/vector: Provide MSI parent domain
Enable MSI parent domain support in the x86 vector domain and fixup the checks in the iommu implementations to check whether device::msi::domain is the default MSI parent domain. That keeps the existing logic to protect e.g. devices behind VMD working. The interrupt remap PCI/MSI code still works because the underlying vector domain still provides the same functionality. None of the other x86 PCI/MSI, e.g. XEN and HyperV, implementations are affected either. They still work the same way both at the low level and the PCI/MSI implementations they provide. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Kevin Tian <kevin.tian@intel.com> Acked-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20221124232326.034672592@linutronix.de
Diffstat (limited to 'arch/x86/include/asm/msi.h')
-rw-r--r--arch/x86/include/asm/msi.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/x86/include/asm/msi.h b/arch/x86/include/asm/msi.h
index d71c7e8b738d..770295887e56 100644
--- a/arch/x86/include/asm/msi.h
+++ b/arch/x86/include/asm/msi.h
@@ -62,4 +62,10 @@ typedef struct x86_msi_addr_hi {
struct msi_msg;
u32 x86_msi_msg_get_destid(struct msi_msg *msg, bool extid);
+#define X86_VECTOR_MSI_FLAGS_SUPPORTED \
+ (MSI_GENERIC_FLAGS_MASK | MSI_FLAG_PCI_MSIX)
+
+#define X86_VECTOR_MSI_FLAGS_REQUIRED \
+ (MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS)
+
#endif /* _ASM_X86_MSI_H */