[PATCH] arm64: KVM: Turn kvm_ksym_ref into a NOP on VHE

Paolo Bonzini pbonzini at redhat.com
Mon Mar 21 05:36:10 PDT 2016



On 21/03/2016 09:47, Ard Biesheuvel wrote:
> On 18 March 2016 at 18:25, Marc Zyngier <marc.zyngier at arm.com> wrote:
>> When running with VHE, there is no need to translate kernel pointers
>> to the EL2 memory space, since we're already there (and we have a much
>> saner memory map to start with).
>>
>> Unfortunately, kvm_ksym_ref is getting in the way, and the first
>> call into the "hypervisor" section is going to end up in fireworks,
>> since we're now branching into nowhereland. Meh.
>>
>> A potential solution is to test if VHE is engaged or not, and only
>> perform the translation in the negative case. With this in place,
>> VHE is able to run again.
>>
>> Signed-off-by: Marc Zyngier <marc.zyngier at arm.com>
> 
> I think you need the & when initializing val, otherwise, it will
> silently refer to the value rather than the address of a void* symbol
> if we ever end up using this macro on one.
> 
> That was the whoie point of the opaque struct type in the original
> patch that introduced this macro, to disallow references lacking the
> &, but unfortunately, that was incompatible with the other VHE
> changes.
> 
> With that fixed
> 
> Acked-by: Ard Biesheuvel <ard.biesheuvel at linaro.org>

Marc, if you send a v2 I can merge it directly without a pull request.

Paolo



More information about the linux-arm-kernel mailing list