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

Reply via email to