On Fri, 21 Feb 2020 at 14:13, Will Deacon <will@xxxxxxxxxx> wrote: > > On Thu, Feb 20, 2020 at 04:58:39PM +0000, James Morse wrote: > > KVM uses some of the static-inline helpers like icache_is_vipt() from > > its HYP code. This assumes the function is inlined so that the code is > > mapped to EL2. The compiler may decide not to inline these, and the > > out-of-line version may not be in the __hyp_text section. > > > > Add the additional __always_ hint to these static-inlines that are used > > by KVM. > > > > Signed-off-by: James Morse <james.morse@xxxxxxx> > > --- > > arch/arm64/include/asm/cache.h | 2 +- > > arch/arm64/include/asm/cacheflush.h | 2 +- > > arch/arm64/include/asm/cpufeature.h | 8 ++++---- > > arch/arm64/include/asm/io.h | 4 ++-- > > 4 files changed, 8 insertions(+), 8 deletions(-) > > Acked-by: Will Deacon <will@xxxxxxxxxx> > > It's the right thing to do, but if this stuff keeps trickling in then > we should make CONFIG_OPTIMIZE_INLINING depend on !ARM64 because seeing > "__always_inline" tells you nothing about /why/ it needs to be there and > it's hard to know if/when you can remove those annotations in future. > We might need to follow the same approach as we took for the EFI stub, and create a special __kvm_hyp symbol namespace so that we can carefully control which routines from the kernel proper it has access to. _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm