mirror of
https://github.com/nxp-imx/linux-imx.git
synced 2025-07-07 01:45:18 +02:00
Revert "FROMLIST: KVM: arm64: Fix clobbered ELR in sync abort/SError"
Revert submission 3081516 Reason for revert: Cherry-picking corresponding FROMGIT commit Reverted changes: /q/submissionid:3081516 Change-Id: I8d1e41011679eaf22fca5f32c82d39bfd22847fd Signed-off-by: Pierre-Clément Tosi <ptosi@google.com>
This commit is contained in:
parent
0bbdca2ec5
commit
30068fa327
|
@ -130,7 +130,6 @@ int main(void)
|
|||
DEFINE(VCPU_FAULT_DISR, offsetof(struct kvm_vcpu, arch.fault.disr_el1));
|
||||
DEFINE(VCPU_HCR_EL2, offsetof(struct kvm_vcpu, arch.hcr_el2));
|
||||
DEFINE(CPU_USER_PT_REGS, offsetof(struct kvm_cpu_context, regs));
|
||||
DEFINE(CPU_ELR_EL2, offsetof(struct kvm_cpu_context, sys_regs[ELR_EL2]));
|
||||
DEFINE(CPU_RGSR_EL1, offsetof(struct kvm_cpu_context, sys_regs[RGSR_EL1]));
|
||||
DEFINE(CPU_GCR_EL1, offsetof(struct kvm_cpu_context, sys_regs[GCR_EL1]));
|
||||
DEFINE(CPU_APIAKEYLO_EL1, offsetof(struct kvm_cpu_context, sys_regs[APIAKEYLO_EL1]));
|
||||
|
|
|
@ -83,15 +83,6 @@ alternative_else_nop_endif
|
|||
eret
|
||||
sb
|
||||
|
||||
SYM_INNER_LABEL(__guest_exit_restore_elr_and_panic, SYM_L_GLOBAL)
|
||||
// x0-x29,lr: hyp regs
|
||||
|
||||
stp x0, x1, [sp, #-16]!
|
||||
adr_this_cpu x0, kvm_hyp_ctxt, x1
|
||||
ldr x0, [x0, #CPU_ELR_EL2]
|
||||
msr elr_el2, x0
|
||||
ldp x0, x1, [sp], #16
|
||||
|
||||
SYM_INNER_LABEL(__guest_exit_panic, SYM_L_GLOBAL)
|
||||
// x2-x29,lr: vcpu regs
|
||||
// vcpu x0-x1 on the stack
|
||||
|
|
|
@ -720,7 +720,7 @@ guest:
|
|||
|
||||
static inline void __kvm_unexpected_el2_exception(void)
|
||||
{
|
||||
extern char __guest_exit_restore_elr_and_panic[];
|
||||
extern char __guest_exit_panic[];
|
||||
unsigned long addr, fixup;
|
||||
struct kvm_exception_table_entry *entry, *end;
|
||||
unsigned long elr_el2 = read_sysreg(elr_el2);
|
||||
|
@ -742,8 +742,7 @@ static inline void __kvm_unexpected_el2_exception(void)
|
|||
}
|
||||
|
||||
/* Trigger a panic after restoring the hyp context. */
|
||||
this_cpu_ptr(&kvm_hyp_ctxt)->sys_regs[ELR_EL2] = elr_el2;
|
||||
write_sysreg(__guest_exit_restore_elr_and_panic, elr_el2);
|
||||
write_sysreg(__guest_exit_panic, elr_el2);
|
||||
}
|
||||
|
||||
#endif /* __ARM64_KVM_HYP_SWITCH_H__ */
|
||||
|
|
Loading…
Reference in New Issue
Block a user