[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [XEN PATCH] x86/iommu: Conditionally compile platform-specific union entries
On Thu, May 23, 2024 at 09:19:53AM +0000, Teddy Astie wrote: > If some platform driver isn't compiled in, remove its related union > entries as they are not used. > > Signed-off-by Teddy Astie <teddy.astie@xxxxxxxxxx> > --- > xen/arch/x86/include/asm/iommu.h | 4 ++++ > xen/arch/x86/include/asm/pci.h | 4 ++++ > 2 files changed, 8 insertions(+) > > diff --git a/xen/arch/x86/include/asm/iommu.h > b/xen/arch/x86/include/asm/iommu.h > index 8dc464fbd3..99180940c4 100644 > --- a/xen/arch/x86/include/asm/iommu.h > +++ b/xen/arch/x86/include/asm/iommu.h > @@ -42,17 +42,21 @@ struct arch_iommu > struct list_head identity_maps; > > union { > + #ifdef CONFIG_INTEL_IOMMU > /* Intel VT-d */ > struct { > uint64_t pgd_maddr; /* io page directory machine address */ > unsigned int agaw; /* adjusted guest address width, 0 is level 2 > 30-bit */ > unsigned long *iommu_bitmap; /* bitmap of iommu(s) that the > domain uses */ > } vtd; > + #endif > + #ifdef CONFIG_AMD_IOMMU > /* AMD IOMMU */ > struct { > unsigned int paging_mode; > struct page_info *root_table; > } amd; > + #endif > }; > }; > > diff --git a/xen/arch/x86/include/asm/pci.h b/xen/arch/x86/include/asm/pci.h > index fd5480d67d..842710f0dc 100644 > --- a/xen/arch/x86/include/asm/pci.h > +++ b/xen/arch/x86/include/asm/pci.h > @@ -22,12 +22,16 @@ struct arch_pci_dev { > */ > union { > /* Subset of struct arch_iommu's fields, to be used in dom_io. */ > + #ifdef CONFIG_INTEL_IOMMU > struct { > uint64_t pgd_maddr; > } vtd; > + #endif > + #ifdef CONFIG_AMD_IOMMU > struct { > struct page_info *root_table; > } amd; > + #endif > }; The #ifdef and #endif processor directives shouldn't be indented. Would you mind adding /* CONFIG_{AMD,INTEL}_IOMMU */ comments in the #endif directives? I wonder if we could move the definitions of those structures to the vendor specific headers, but that's more convoluted, and would require including the iommu headers in pci.h Thanks, Roger.
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |