Lines Matching +full:guest +full:- +full:side
1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Copyright (C) 2015 - ARM Ltd
26 // x1-x17: clobbered by macros
27 // x29: guest context
39 // defer the guest entry. The DSB isn't necessary before v8.2 as any
59 // ptrauth_switch_to_guest(guest cxt, tmp1, tmp2, tmp3)
60 // The below macro to restore guest keys is not implemented in C code
65 // Restore the guest's sp_el0
68 // Restore guest regs x0-x17
79 // Restore guest regs x18-x29, lr
87 // x2-x29,lr: vcpu regs
88 // vcpu x0-x1 on the stack
95 // x2-x29,lr: vcpu regs
96 // vcpu x0-x1 on the stack
107 // return address to tail call into hyp_panic. As a side effect, the
108 // current state is saved to the guest context but it will only be
109 // accurate if the guest had been completely restored.
119 // x2-x29,lr: vcpu regs
120 // vcpu x0-x1 on the stack
126 // Store the guest regs x2 and x3
129 // Retrieve the guest regs x0-x1 from the stack
132 // Store the guest regs x0-x1 and x4-x17
142 // Store the guest regs x18-x29, lr
145 // Store the guest's sp_el0
151 // ptrauth_switch_to_hyp(guest cxt, host cxt, tmp1, tmp2, tmp3)
170 // without an unmask-SError and isb. The ESB-instruction consumed any
171 // pending guest error when we took the exception from the guest.
173 str x2, [x1, #(VCPU_FAULT_DISR - VCPU_CONTEXT)]
179 dsb sy // Synchronize against in-flight ld/st
180 isb // Prevent an early read of side-effect free ISR