summaryrefslogtreecommitdiffstats
path: root/arch/arm64/include/asm/kvm_hyp.h
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2020-02-28 11:46:59 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2020-02-28 11:50:06 +0100
commite951445f4d3b5d0df69c0c5d18ab1e9058c20e52 (patch)
tree173541185ed04ca711273da2cb2ebd89dcf75753 /arch/arm64/include/asm/kvm_hyp.h
parentkvm: x86: Limit the number of "kvm: disabled by bios" messages (diff)
parentarm64: Ask the compiler to __always_inline functions used by KVM at HYP (diff)
downloadlinux-e951445f4d3b5d0df69c0c5d18ab1e9058c20e52.tar.xz
linux-e951445f4d3b5d0df69c0c5d18ab1e9058c20e52.zip
Merge tag 'kvmarm-fixes-5.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD
KVM/arm fixes for 5.6, take #1 - Fix compilation on 32bit - Move VHE guest entry/exit into the VHE-specific entry code - Make sure all functions called by the non-VHE HYP code is tagged as __always_inline
Diffstat (limited to 'arch/arm64/include/asm/kvm_hyp.h')
-rw-r--r--arch/arm64/include/asm/kvm_hyp.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/kvm_hyp.h b/arch/arm64/include/asm/kvm_hyp.h
index a3a6a2ba9a63..fe57f60f06a8 100644
--- a/arch/arm64/include/asm/kvm_hyp.h
+++ b/arch/arm64/include/asm/kvm_hyp.h
@@ -47,6 +47,13 @@
#define read_sysreg_el2(r) read_sysreg_elx(r, _EL2, _EL1)
#define write_sysreg_el2(v,r) write_sysreg_elx(v, r, _EL2, _EL1)
+/*
+ * Without an __arch_swab32(), we fall back to ___constant_swab32(), but the
+ * static inline can allow the compiler to out-of-line this. KVM always wants
+ * the macro version as its always inlined.
+ */
+#define __kvm_swab32(x) ___constant_swab32(x)
+
int __vgic_v2_perform_cpuif_access(struct kvm_vcpu *vcpu);
void __vgic_v3_save_state(struct kvm_vcpu *vcpu);