diff options
Diffstat (limited to 'arch/arm/kvm/hyp/tlb.c')
-rw-r--r-- | arch/arm/kvm/hyp/tlb.c | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/arch/arm/kvm/hyp/tlb.c b/arch/arm/kvm/hyp/tlb.c index a2636001e616..729652854f90 100644 --- a/arch/arm/kvm/hyp/tlb.c +++ b/arch/arm/kvm/hyp/tlb.c | |||
@@ -34,7 +34,7 @@ | |||
34 | * As v7 does not support flushing per IPA, just nuke the whole TLB | 34 | * As v7 does not support flushing per IPA, just nuke the whole TLB |
35 | * instead, ignoring the ipa value. | 35 | * instead, ignoring the ipa value. |
36 | */ | 36 | */ |
37 | static void __hyp_text __tlb_flush_vmid(struct kvm *kvm) | 37 | void __hyp_text __kvm_tlb_flush_vmid(struct kvm *kvm) |
38 | { | 38 | { |
39 | dsb(ishst); | 39 | dsb(ishst); |
40 | 40 | ||
@@ -50,21 +50,14 @@ static void __hyp_text __tlb_flush_vmid(struct kvm *kvm) | |||
50 | write_sysreg(0, VTTBR); | 50 | write_sysreg(0, VTTBR); |
51 | } | 51 | } |
52 | 52 | ||
53 | __alias(__tlb_flush_vmid) void __kvm_tlb_flush_vmid(struct kvm *kvm); | 53 | void __hyp_text __kvm_tlb_flush_vmid_ipa(struct kvm *kvm, phys_addr_t ipa) |
54 | |||
55 | static void __hyp_text __tlb_flush_vmid_ipa(struct kvm *kvm, phys_addr_t ipa) | ||
56 | { | 54 | { |
57 | __tlb_flush_vmid(kvm); | 55 | __kvm_tlb_flush_vmid(kvm); |
58 | } | 56 | } |
59 | 57 | ||
60 | __alias(__tlb_flush_vmid_ipa) void __kvm_tlb_flush_vmid_ipa(struct kvm *kvm, | 58 | void __hyp_text __kvm_flush_vm_context(void) |
61 | phys_addr_t ipa); | ||
62 | |||
63 | static void __hyp_text __tlb_flush_vm_context(void) | ||
64 | { | 59 | { |
65 | write_sysreg(0, TLBIALLNSNHIS); | 60 | write_sysreg(0, TLBIALLNSNHIS); |
66 | write_sysreg(0, ICIALLUIS); | 61 | write_sysreg(0, ICIALLUIS); |
67 | dsb(ish); | 62 | dsb(ish); |
68 | } | 63 | } |
69 | |||
70 | __alias(__tlb_flush_vm_context) void __kvm_flush_vm_context(void); | ||