diff options
author | Radim Krčmář <rkrcmar@redhat.com> | 2016-09-29 14:01:51 (GMT) |
---|---|---|
committer | Radim Krčmář <rkrcmar@redhat.com> | 2016-09-29 14:01:51 (GMT) |
commit | 45ca877ad0519a02c22aaff2e2cdf333a1421a0a (patch) | |
tree | d7abbc767611379f878bf30b8c3b507d4e31982e /arch/arm/include/asm/kvm_asm.h | |
parent | c5a6d5f7faad8549bb5ff7e3e5792e33933c5b9f (diff) | |
parent | 0099b7701f5296a758d9e6b945ec96f96847cc2f (diff) | |
download | linux-45ca877ad0519a02c22aaff2e2cdf333a1421a0a.tar.xz |
Merge tag 'kvm-arm-for-v4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into next
KVM/ARM Changes for v4.9
- Various cleanups and removal of redundant code
- Two important fixes for not using an in-kernel irqchip
- A bit of optimizations
- Handle SError exceptions and present them to guests if appropriate
- Proxying of GICV access at EL2 if guest mappings are unsafe
- GICv3 on AArch32 on ARMv8
- Preparations for GICv3 save/restore, including ABI docs
Diffstat (limited to 'arch/arm/include/asm/kvm_asm.h')
-rw-r--r-- | arch/arm/include/asm/kvm_asm.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/arm/include/asm/kvm_asm.h b/arch/arm/include/asm/kvm_asm.h index 58faff5..d7ea6bc 100644 --- a/arch/arm/include/asm/kvm_asm.h +++ b/arch/arm/include/asm/kvm_asm.h @@ -21,6 +21,10 @@ #include <asm/virt.h> +#define ARM_EXIT_WITH_ABORT_BIT 31 +#define ARM_EXCEPTION_CODE(x) ((x) & ~(1U << ARM_EXIT_WITH_ABORT_BIT)) +#define ARM_ABORT_PENDING(x) !!((x) & (1U << ARM_EXIT_WITH_ABORT_BIT)) + #define ARM_EXCEPTION_RESET 0 #define ARM_EXCEPTION_UNDEFINED 1 #define ARM_EXCEPTION_SOFTWARE 2 @@ -68,6 +72,9 @@ extern int __kvm_vcpu_run(struct kvm_vcpu *vcpu); extern void __init_stage2_translation(void); extern void __kvm_hyp_reset(unsigned long); + +extern u64 __vgic_v3_get_ich_vtr_el2(void); +extern void __vgic_v3_init_lrs(void); #endif #endif /* __ARM_KVM_ASM_H__ */ |