diff options
Diffstat (limited to 'kernel/arch/frv/include/asm/ptrace.h')
-rw-r--r-- | kernel/arch/frv/include/asm/ptrace.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/kernel/arch/frv/include/asm/ptrace.h b/kernel/arch/frv/include/asm/ptrace.h new file mode 100644 index 000000000..034f17934 --- /dev/null +++ b/kernel/arch/frv/include/asm/ptrace.h @@ -0,0 +1,41 @@ +/* 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 */ |