Lines Matching +full:architecturally +full:- +full:defined

1 /* SPDX-License-Identifier: GPL-2.0-only */
5 * Copyright (C) 1996-2003 Russell King
58 /* AArch32-specific ptrace requests */
91 #define PSR_AA32_IT_MASK 0x0600fc00 /* If-Then execution state mask */
113 * a syscall -- i.e., its most recent entry into the kernel from
116 * This must have the value -1, for ABI compatibility with ptrace etc.
118 #define NO_SYSCALL (-1)
127 /* Architecturally defined mapping between AArch32 and AArch64 registers */
208 return regs->syscallno != NO_SYSCALL; in in_syscall()
213 regs->syscallno = NO_SYSCALL; in forget_syscall()
222 (((regs)->pstate & PSR_AA32_T_BIT))
228 (((regs)->pstate & PSR_MODE_MASK) == PSR_MODE_EL0t)
231 (((regs)->pstate & (PSR_MODE32_BIT | PSR_MODE_MASK)) == \
235 ((regs)->pstate & PSR_MODE_MASK)
239 (regs)->pmr_save == GIC_PRIO_IRQON : \
243 (!((regs)->pstate & PSR_I_BIT) && irqs_priority_unmasked(regs))
246 (!((regs)->pstate & PSR_F_BIT))
251 return regs->compat_sp; in user_stack_pointer()
252 return regs->sp; in user_stack_pointer()
260 * regs_get_register() - get register value from its offset
277 val = regs->regs[offset]; in regs_get_register()
280 val = regs->sp; in regs_get_register()
283 val = regs->pc; in regs_get_register()
286 val = regs->pstate; in regs_get_register()
301 return (r == 31) ? 0 : regs->regs[r]; in pt_regs_read_reg()
312 regs->regs[r] = val; in pt_regs_write_reg()
318 return regs->sp; in kernel_stack_pointer()
323 unsigned long val = regs->regs[0]; in regs_return_value()
327 * syscall_get_return_value(). Apply the same sign-extension here until in regs_return_value()
338 regs->regs[0] = rc; in regs_set_return_value()
342 * regs_get_kernel_argument() - get Nth function argument in kernel
369 return regs->pc; in instruction_pointer()
374 regs->pc = val; in instruction_pointer_set()
379 return regs->regs[29]; in frame_pointer()
382 #define procedure_link_pointer(regs) ((regs)->regs[30])