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

Marc Zyngier
2019-07-03T09:30:11Z

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...

Thanks,

M.
--
Jazz is not dead. It just smells funny...