Lines Matching +full:supervisor +full:- +full:mode
1 /* SPDX-License-Identifier: GPL-2.0 */
13 #define PS_S 0x80000000 /* Supervisor Mode */
19 ({ (struct pt_regs *)((char *)current_thread_info() + THREAD_SIZE) - 1; })
21 #define user_stack_pointer(regs) ((regs)->usp)
23 #define user_mode(regs) (!((regs)->sr & PS_S))
24 #define instruction_pointer(regs) ((regs)->pc)
26 #define trap_no(regs) ((regs->sr >> 16) & 0xff)
31 regs->pc = val; in instruction_pointer_set()
42 return ((regs->sr >> 16) & 0xff) == VEC_TRAP0; in in_syscall()
47 regs->sr &= ~(0xff << 16); in forget_syscall()
52 return regs->a0; in regs_return_value()
58 regs->a0 = val; in regs_set_return_value()
61 /* Valid only for Kernel mode traps. */
64 return regs->usp; in kernel_stack_pointer()
69 return regs->regs[4]; in frame_pointer()
74 regs->regs[4] = val; in frame_pointer_set()
82 * regs_get_register() - get register value from its offset