aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/include
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2016-11-11 05:13:36 -0500
committerPaolo Bonzini <pbonzini@redhat.com>2016-11-11 05:13:36 -0500
commit05d36a7dff0b091803034a0d70b41af86aecbc8d (patch)
treee8e3768f280fc8ec168471b79d36575c0b9f4638 /arch/arm/include
parentbc33b0ca11e3df467777a4fa7639ba488c9d4911 (diff)
parentd42c79701a3ee5c38fbbc82f98a140420bd40134 (diff)
Merge tag 'kvm-arm-for-v4.9-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD
KVM/ARM updates for v4.9-rc4 - Kick the vcpu when a pending interrupt becomes pending again - Prevent access to invalid interrupt registers - Invalid TLBs when two vcpus from the same VM share a CPU
Diffstat (limited to 'arch/arm/include')
-rw-r--r--arch/arm/include/asm/kvm_asm.h1
-rw-r--r--arch/arm/include/asm/kvm_host.h3
-rw-r--r--arch/arm/include/asm/kvm_hyp.h1
3 files changed, 5 insertions, 0 deletions
diff --git a/arch/arm/include/asm/kvm_asm.h b/arch/arm/include/asm/kvm_asm.h
index d7ea6bcb29bf..8ef05381984b 100644
--- a/arch/arm/include/asm/kvm_asm.h
+++ b/arch/arm/include/asm/kvm_asm.h
@@ -66,6 +66,7 @@ extern char __kvm_hyp_vector[];
66extern void __kvm_flush_vm_context(void); 66extern void __kvm_flush_vm_context(void);
67extern void __kvm_tlb_flush_vmid_ipa(struct kvm *kvm, phys_addr_t ipa); 67extern void __kvm_tlb_flush_vmid_ipa(struct kvm *kvm, phys_addr_t ipa);
68extern void __kvm_tlb_flush_vmid(struct kvm *kvm); 68extern void __kvm_tlb_flush_vmid(struct kvm *kvm);
69extern void __kvm_tlb_flush_local_vmid(struct kvm_vcpu *vcpu);
69 70
70extern int __kvm_vcpu_run(struct kvm_vcpu *vcpu); 71extern int __kvm_vcpu_run(struct kvm_vcpu *vcpu);
71 72
diff --git a/arch/arm/include/asm/kvm_host.h b/arch/arm/include/asm/kvm_host.h
index 2d19e02d03fd..d5423ab15ed5 100644
--- a/arch/arm/include/asm/kvm_host.h
+++ b/arch/arm/include/asm/kvm_host.h
@@ -57,6 +57,9 @@ struct kvm_arch {
57 /* VTTBR value associated with below pgd and vmid */ 57 /* VTTBR value associated with below pgd and vmid */
58 u64 vttbr; 58 u64 vttbr;
59 59
60 /* The last vcpu id that ran on each physical CPU */
61 int __percpu *last_vcpu_ran;
62
60 /* Timer */ 63 /* Timer */
61 struct arch_timer_kvm timer; 64 struct arch_timer_kvm timer;
62 65
diff --git a/arch/arm/include/asm/kvm_hyp.h b/arch/arm/include/asm/kvm_hyp.h
index 343135ede5fa..58508900c4bb 100644
--- a/arch/arm/include/asm/kvm_hyp.h
+++ b/arch/arm/include/asm/kvm_hyp.h
@@ -71,6 +71,7 @@
71#define ICIALLUIS __ACCESS_CP15(c7, 0, c1, 0) 71#define ICIALLUIS __ACCESS_CP15(c7, 0, c1, 0)
72#define ATS1CPR __ACCESS_CP15(c7, 0, c8, 0) 72#define ATS1CPR __ACCESS_CP15(c7, 0, c8, 0)
73#define TLBIALLIS __ACCESS_CP15(c8, 0, c3, 0) 73#define TLBIALLIS __ACCESS_CP15(c8, 0, c3, 0)
74#define TLBIALL __ACCESS_CP15(c8, 0, c7, 0)
74#define TLBIALLNSNHIS __ACCESS_CP15(c8, 4, c3, 4) 75#define TLBIALLNSNHIS __ACCESS_CP15(c8, 4, c3, 4)
75#define PRRR __ACCESS_CP15(c10, 0, c2, 0) 76#define PRRR __ACCESS_CP15(c10, 0, c2, 0)
76#define NMRR __ACCESS_CP15(c10, 0, c2, 1) 77#define NMRR __ACCESS_CP15(c10, 0, c2, 1)