On 01/02/2019 16:44, Jan Beulich wrote: >>>> On 01.02.19 at 16:13, <jgr...@suse.com> wrote: >> --- a/xen/drivers/passthrough/amd/pci_amd_iommu.c >> +++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c >> @@ -570,7 +570,7 @@ static void amd_dump_p2m_table(struct domain *d) >> amd_dump_p2m_table_level(hd->arch.root_table, hd->arch.paging_mode, 0, >> 0); >> } >> >> -static const struct iommu_ops __initconstrel amd_iommu_ops = { >> +static const struct iommu_ops amd_iommu_ops = { > > This one's not needed - there's only an __init function referencing > this structure. > >> --- a/xen/drivers/passthrough/vtd/iommu.c >> +++ b/xen/drivers/passthrough/vtd/iommu.c >> @@ -2706,7 +2706,7 @@ static void vtd_dump_p2m_table(struct domain *d) >> vtd_dump_p2m_table_level(hd->arch.pgd_maddr, >> agaw_to_level(hd->arch.agaw), 0, 0); >> } >> >> -const struct iommu_ops __initconstrel intel_iommu_ops = { >> +const struct iommu_ops intel_iommu_ops = { > > This one's indeed referenced by a non-__init function, but the > fix is imo to avoid that reference from iommu_enable_x2apic_IR(): > We should not overwrite the previously established (and > potentially subsequently adjusted) hook pointers. So I think > the assignment wants to go in a system_state dependent > conditional (and there is one a few lines up, so it could move > just there).
Okay, I'll try that. Juergen _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel