[RFC PATCH v1 18/30] KVM: arm64: reduce scope of __guest_exit to only depend on kvm_cpu_context
Fuad Tabba
tabba at google.com
Fri Sep 24 05:53:47 PDT 2021
__guest_exit only needs kvm_cpu_context (via the offset
VCPU_CONTEXT). Only pass that to it, and fix it to ensure that it
only refers to kvm_cpu_context rather than vcpu.
Signed-off-by: Fuad Tabba <tabba at google.com>
---
arch/arm64/kvm/hyp/entry.S | 7 ++-----
arch/arm64/kvm/hyp/hyp-entry.S | 8 ++++----
2 files changed, 6 insertions(+), 9 deletions(-)
diff --git a/arch/arm64/kvm/hyp/entry.S b/arch/arm64/kvm/hyp/entry.S
index e831d3dfd50d..996bdc9555da 100644
--- a/arch/arm64/kvm/hyp/entry.S
+++ b/arch/arm64/kvm/hyp/entry.S
@@ -99,15 +99,12 @@ SYM_INNER_LABEL(__guest_exit_panic, SYM_L_GLOBAL)
adr_l x1, hyp_panic
str x1, [x0, #CPU_XREG_OFFSET(30)]
- get_vcpu_ptr x1, x0
+ get_vcpu_ctxt_ptr x1, x0
SYM_INNER_LABEL(__guest_exit, SYM_L_GLOBAL)
// x0: return code
- // x1: vcpu
+ // x1: ctxt
// x2-x29,lr: vcpu regs
- // vcpu x0-x1 on the stack
-
- add x1, x1, #VCPU_CONTEXT
ALTERNATIVE(nop, SET_PSTATE_PAN(1), ARM64_HAS_PAN, CONFIG_ARM64_PAN)
diff --git a/arch/arm64/kvm/hyp/hyp-entry.S b/arch/arm64/kvm/hyp/hyp-entry.S
index 5f49df4ffdd8..704b3388c86a 100644
--- a/arch/arm64/kvm/hyp/hyp-entry.S
+++ b/arch/arm64/kvm/hyp/hyp-entry.S
@@ -71,17 +71,17 @@ wa_epilogue:
sb
el1_trap:
- get_vcpu_ptr x1, x0
+ get_vcpu_ctxt_ptr x1, x0
mov x0, #ARM_EXCEPTION_TRAP
b __guest_exit
el1_irq:
- get_vcpu_ptr x1, x0
+ get_vcpu_ctxt_ptr x1, x0
mov x0, #ARM_EXCEPTION_IRQ
b __guest_exit
el1_error:
- get_vcpu_ptr x1, x0
+ get_vcpu_ctxt_ptr x1, x0
mov x0, #ARM_EXCEPTION_EL1_SERROR
b __guest_exit
@@ -100,7 +100,7 @@ el2_sync:
1:
/* Let's attempt a recovery from the illegal exception return */
- get_vcpu_ptr x1, x0
+ get_vcpu_ctxt_ptr x1, x0
mov x0, #ARM_EXCEPTION_IL
b __guest_exit
--
2.33.0.685.g46640cef36-goog
More information about the linux-arm-kernel
mailing list