1234567891011121314151617181920212223242526272829303132333435363738394041 |
- /* ptrace.h: ptrace() relevant definitions
- *
- * Copyright (C) 2003 Red Hat, Inc. All Rights Reserved.
- * Written by David Howells (dhowells@redhat.com)
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
- #ifndef _ASM_PTRACE_H
- #define _ASM_PTRACE_H
- #include <asm/irq_regs.h>
- #include <uapi/asm/ptrace.h>
- #define in_syscall(regs) (((regs)->tbr & TBR_TT) == TBR_TT_TRAP0)
- #ifndef __ASSEMBLY__
- struct task_struct;
- /*
- * we dedicate GR28 to keeping a pointer to the current exception frame
- * - gr28 is destroyed on entry to the kernel from userspace
- */
- register struct pt_regs *__frame asm("gr28");
- #define user_mode(regs) (!((regs)->psr & PSR_S))
- #define instruction_pointer(regs) ((regs)->pc)
- #define user_stack_pointer(regs) ((regs)->sp)
- #define current_pt_regs() (__frame)
- extern unsigned long user_stack(const struct pt_regs *);
- #define profile_pc(regs) ((regs)->pc)
- #define task_pt_regs(task) ((task)->thread.frame0)
- #define arch_has_single_step() (1)
- #endif /* !__ASSEMBLY__ */
- #endif /* _ASM_PTRACE_H */
|