Hello! 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. This series based on v5.6-rc2. [0] https://lore.kernel.org/linux-arm-kernel/20200219000817.195049-1-samitolvanen@xxxxxxxxxx/ Thanks, James Morse (3): KVM: arm64: Ask the compiler to __always_inline functions used at HYP KVM: arm64: define our own swab32() to avoid a uapi static inline arm64: Ask the compiler to __always_inline functions used by KVM at HYP arch/arm64/include/asm/arch_gicv3.h | 2 +- arch/arm64/include/asm/cache.h | 2 +- arch/arm64/include/asm/cacheflush.h | 2 +- arch/arm64/include/asm/cpufeature.h | 10 ++--- arch/arm64/include/asm/io.h | 4 +- arch/arm64/include/asm/kvm_emulate.h | 48 ++++++++++++------------ arch/arm64/include/asm/kvm_hyp.h | 7 ++++ arch/arm64/include/asm/kvm_mmu.h | 3 +- arch/arm64/include/asm/virt.h | 2 +- arch/arm64/kvm/hyp/vgic-v2-cpuif-proxy.c | 4 +- 10 files changed, 46 insertions(+), 38 deletions(-) -- 2.24.1 _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm