Re: [PATCH 0/3] KVM: arm64: Ask the compiler to __always_inline functions used by KVM at HYP
From: Ard Biesheuvel <hidden>
Date: 2020-02-20 17:36:03
Also in:
kvmarm
From: Ard Biesheuvel <hidden>
Date: 2020-02-20 17:36:03
Also in:
kvmarm
On Thu, 20 Feb 2020 at 18:33, James Morse [off-list ref] wrote:
Hi Ard, On 20/02/2020 17:04, Ard Biesheuvel wrote:quoted
On Thu, 20 Feb 2020 at 17:58, James Morse [off-list ref] wrote:quoted
It turns out KVM relies on the inline hint being honoured by the compiler in quite a few more places than expected. Something about the Shadow Call Stack support[0] causes the compiler to avoid inline-ing and to place these functions outside the __hyp_text. This ruins KVM's day. Add the simon-says __always_inline annotation to all the static inlines that KVM calls from HYP code.quoted
This isn't quite as yuck as I expected, fortunately, but it does beg the question whether we shouldn't simply map the entire kernel at EL2 instead?If the kernel is big enough to need internal veneers (the 128M range?), these would certainly go horribly wrong because its running somewhere other than the relocation-time address. We would need a way of telling the linker to keep the bits of KVM close together...
Ah, of course, there is that as well ... _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel