Re: [PATCH 02/59] KVM: arm64: Move __load_guest_stage2 to kvm_mmu.h

Dave Martin
2019-07-03T16:14:00Z

On Wed, Jul 03, 2019 at 10:30:03AM +0100, Marc Zyngier wrote:
> On 24/06/2019 12:19, Dave Martin wrote:
> > On Fri, Jun 21, 2019 at 10:37:46AM +0100, Marc Zyngier wrote:
> >> Having __load_guest_stage2 in kvm_hyp.h is quickly going to trigger
> >> a circular include problem. In order to avoid this, let's move
> >> it to kvm_mmu.h, where it will be a better fit anyway.
> >>
> >> In the process, drop the __hyp_text annotation, which doesn't help
> >> as the function is marked as __always_inline.
> >
> > Does GCC always inline things marked __always_inline?
> >
> > I seem to remember some gotchas in this area, but I may be being
> > paranoid.
>
> Yes, this is a strong guarantee. Things like static keys rely on that,
> for example.
>
> >
> > If this still only called from hyp, I'd be tempted to heep the
> > __hyp_text annotation just to be on the safe side.
>
> The trouble with that is that re-introduces the circular dependency with
> kvm_hyp.h that this patch is trying to break...

Ah, right.

I guess it's easier to put up with this, then.

Cheers
---Dave