diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-18 10:10:36 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-18 10:10:36 -0800 |
commit | 3d9de1909b339f967f1b37367df233a0dcfc10cf (patch) | |
tree | b2360a9ac142e15007ebe0fabf0365b9d4cd8b65 /arch/alpha/include/uapi/asm/ptrace.h | |
parent | 9a8a5702c5a7298c0edd125464aa178dd8b50440 (diff) | |
parent | 96433f6ee49032d7a8bda76de2b05cfde2914354 (diff) | |
download | op-kernel-dev-3d9de1909b339f967f1b37367df233a0dcfc10cf.zip op-kernel-dev-3d9de1909b339f967f1b37367df233a0dcfc10cf.tar.gz |
Merge tag 'disintegrate-alpha-20121217' of git://git.infradead.org/users/dhowells/linux-headers
Pull UAPI disintegration for Alpha from David Howells:
"I've been asked to send the Alpha UAPI disintegration to you directly.
The acks I have been given have been added into the patch."
* tag 'disintegrate-alpha-20121217' of git://git.infradead.org/users/dhowells/linux-headers:
UAPI: (Scripted) Disintegrate arch/alpha/include/asm
Diffstat (limited to 'arch/alpha/include/uapi/asm/ptrace.h')
-rw-r--r-- | arch/alpha/include/uapi/asm/ptrace.h | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/arch/alpha/include/uapi/asm/ptrace.h b/arch/alpha/include/uapi/asm/ptrace.h new file mode 100644 index 0000000..5ce83fa --- /dev/null +++ b/arch/alpha/include/uapi/asm/ptrace.h @@ -0,0 +1,70 @@ +#ifndef _UAPI_ASMAXP_PTRACE_H +#define _UAPI_ASMAXP_PTRACE_H + + +/* + * This struct defines the way the registers are stored on the + * kernel stack during a system call or other kernel entry + * + * NOTE! I want to minimize the overhead of system calls, so this + * struct has as little information as possible. I does not have + * + * - floating point regs: the kernel doesn't change those + * - r9-15: saved by the C compiler + * + * This makes "fork()" and "exec()" a bit more complex, but should + * give us low system call latency. + */ + +struct pt_regs { + unsigned long r0; + unsigned long r1; + unsigned long r2; + unsigned long r3; + unsigned long r4; + unsigned long r5; + unsigned long r6; + unsigned long r7; + unsigned long r8; + unsigned long r19; + unsigned long r20; + unsigned long r21; + unsigned long r22; + unsigned long r23; + unsigned long r24; + unsigned long r25; + unsigned long r26; + unsigned long r27; + unsigned long r28; + unsigned long hae; +/* JRP - These are the values provided to a0-a2 by PALcode */ + unsigned long trap_a0; + unsigned long trap_a1; + unsigned long trap_a2; +/* These are saved by PAL-code: */ + unsigned long ps; + unsigned long pc; + unsigned long gp; + unsigned long r16; + unsigned long r17; + unsigned long r18; +}; + +/* + * This is the extended stack used by signal handlers and the context + * switcher: it's pushed after the normal "struct pt_regs". + */ +struct switch_stack { + unsigned long r9; + unsigned long r10; + unsigned long r11; + unsigned long r12; + unsigned long r13; + unsigned long r14; + unsigned long r15; + unsigned long r26; + unsigned long fp[32]; /* fp[31] is fpcr */ +}; + + +#endif /* _UAPI_ASMAXP_PTRACE_H */ |