On 19.12.2022 07:34, Xenia Ragiadakou wrote: > Move its definition to the AMD-Vi driver and use CONFIG_AMD_IOMMU > to guard its usage in common code. > > Take the opportunity to replace bool_t with bool and 1 with true.
Please further take the opportunity and use ... > --- a/xen/drivers/passthrough/amd/iommu_init.c > +++ b/xen/drivers/passthrough/amd/iommu_init.c > @@ -36,6 +36,8 @@ static struct radix_tree_root ivrs_maps; > LIST_HEAD_READ_MOSTLY(amd_iommu_head); > bool_t iommuv2_enabled; > > +bool __read_mostly amd_iommu_perdev_intremap = true; ... __ro_after_init here. > --- a/xen/include/xen/iommu.h > +++ b/xen/include/xen/iommu.h > @@ -104,7 +104,9 @@ static inline void clear_iommu_hap_pt_share(void) > } > > extern bool_t iommu_debug; > -extern bool_t amd_iommu_perdev_intremap; > +#ifdef CONFIG_AMD_IOMMU > +extern bool amd_iommu_perdev_intremap; > +#endif We try to avoid such #ifdef-ary: There's no real harm from the declaration being in scope; in the worst case the build will fail not at the compile, but at the linking stage. Jan