Lines Matching +full:non +full:- +full:volatile

1 /* SPDX-License-Identifier: GPL-2.0-only */
12 #include <asm/asm-offsets.h>
20 * Save transactional state and TM-related registers.
22 * - r3 pointing to the vcpu struct
23 * - r4 containing the MSR with current TS bits:
25 * - r5 containing a flag indicating that non-volatile registers
34 stdu r1, -SWITCH_FRAME_SIZE(r1)
43 rldimi r8, r0, MSR_TM_LG, 63-MSR_TM_LG
48 rldicl. r4, r4, 64 - MSR_TS_S_LG, 62
54 /* Save CR on the stack - even if r5 == 0 we need to get cr7 back. */
64 * registers. Save the non-volatile registers on the stack if
65 * preservation of non-volatile state has been requested.
70 /* MSR[TS] will be 0 (non-transactional) once we do treclaim. */
72 rldimi r10, r0, MSR_TS_S_LG, 63 - MSR_TS_T_LG
89 /* All GPRs are volatile at this point. */
115 /* Save all but r0-r2, r9 & r13 */
161 /* Restore non-volatile registers if requested to */
195 stdu r1, -PPC_MIN_STKFRM(r1)
198 std r8, PPC_MIN_STKFRM-8(r1)
200 li r5, 1 /* preserve non-volatile registers */
203 ld r8, PPC_MIN_STKFRM-8(r1)
214 * Restore transactional state and TM-related registers.
216 * - r3 pointing to the vcpu struct.
217 * - r4 is the guest MSR with desired TS bits:
220 * - r5 containing a flag indicating that non-volatile registers
254 rldicl. r5, r5, 64 - MSR_TS_S_LG, 62
266 * Make a stack frame and save non-volatile registers if requested.
268 stdu r1, -SWITCH_FRAME_SIZE(r1)
282 rldimi r10, r0, MSR_TS_S_LG, 63 - MSR_TS_T_LG
325 /* Load GPRs r0-r28 */
340 /* TM checkpointed state is now setup. All GPRs are now volatile. */
359 /* Restore non-volatile registers if requested to. */
380 stdu r1, -PPC_MIN_STKFRM(r1)
384 std r8, PPC_MIN_STKFRM-8(r1)
389 ld r8, PPC_MIN_STKFRM-8(r1)