On Tue, Dec 03, 2019 at 04:33:09PM +0100, Jan Beulich wrote:
> On 29.11.2019 12:28, Roger Pau Monne wrote:
> > --- a/xen/arch/x86/apic.c
> > +++ b/xen/arch/x86/apic.c
> > @@ -492,7 +492,8 @@ static void __enable_x2apic(void)
> >  
> >  static void resume_x2apic(void)
> >  {
> > -    iommu_enable_x2apic();
> > +    if ( iommu_supports_x2apic() )
> > +        iommu_enable_x2apic();
> 
> The hooks called by this function are __init, and at least the AMD
> one also isn't (I think) prepared to be called more than once.

It's already called twice, there's one call to iommu_supports_x2apic
in x2apic_bsp_setup and another one in iommu_enable_x2apic, so I think
calling iommu_supports_x2apic multiple times is fine (or we would
already have issues).

I will cache the value of iommu_enable_x2apic to be used in the
suspend/resume paths of the local apic, so there's no need to call
iommu_supports_x2apic after init.

Thanks, Roger.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to