diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-24 11:37:29 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-24 11:37:29 -0400 |
| commit | e270b51df657011983241ec61a1fc7de186e16cd (patch) | |
| tree | 3397be4cbf31676ca6ebb187903e8cfc2218f223 /include/asm-sparc64/ptrace.h | |
| parent | 8fa82790fb9dfe57aeafc8de6b6a5c1df63efa06 (diff) | |
| parent | 227739bf4c110bbd02d0c0f13b272c32de406e4c (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: (23 commits)
sparc: sunzilog uart order
[SPARC64]: Detect trap frames in stack backtraces.
[SPARC64]: %l6 trap return handling no longer necessary.
[SPARC64]: Use trap type stored in pt_regs to handle syscall restart.
[SPARC64]: Store magic cookie and trap type in pt_regs.
[SPARC64]: PROM debug console can be CON_ANYTIME.
sparc64: cleanup after SunOS/Solaris binary emulation removal
sparc: cleanup after SunOS binary emulation removal
[SPARC64]: Add NUMA support.
[SPARC64]: Allocate TSB node-local.
[SPARC64]: NUMA device infrastructure.
[SPARC64]: Kill pci_iommu_table_init() declaration.
[SPARC64]: Once we have the boot cmdline, call parse_early_param()
[SPARC64]: Remove unused asm-sparc64/numnodes.h
[SPARC64]: Decrease SECTION_SIZE_BITS to 30.
[SPARC64]: Initialize MDESC earlier and use lmb_alloc()
[SPARC64]: Use lmb_alloc() for PROM device tree.
[SPARC64]: Call real_setup_per_cpu_areas() earlier and use lmb_alloc().
[SPARC64]: Fully use LMB information in bootmem_init().
[SPARC64]: Start using LMB information in bootmem_init().
...
Diffstat (limited to 'include/asm-sparc64/ptrace.h')
| -rw-r--r-- | include/asm-sparc64/ptrace.h | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/include/asm-sparc64/ptrace.h b/include/asm-sparc64/ptrace.h index 6da197803efc..b4b951d570bb 100644 --- a/include/asm-sparc64/ptrace.h +++ b/include/asm-sparc64/ptrace.h | |||
| @@ -8,6 +8,8 @@ | |||
| 8 | * stack during a system call and basically all traps. | 8 | * stack during a system call and basically all traps. |
| 9 | */ | 9 | */ |
| 10 | 10 | ||
| 11 | #define PT_REGS_MAGIC 0x57ac6c00 | ||
| 12 | |||
| 11 | #ifndef __ASSEMBLY__ | 13 | #ifndef __ASSEMBLY__ |
| 12 | 14 | ||
| 13 | struct pt_regs { | 15 | struct pt_regs { |
| @@ -16,7 +18,19 @@ struct pt_regs { | |||
| 16 | unsigned long tpc; | 18 | unsigned long tpc; |
| 17 | unsigned long tnpc; | 19 | unsigned long tnpc; |
| 18 | unsigned int y; | 20 | unsigned int y; |
| 19 | unsigned int fprs; | 21 | |
| 22 | /* We encode a magic number, PT_REGS_MAGIC, along | ||
| 23 | * with the %tt (trap type) register value at trap | ||
| 24 | * entry time. The magic number allows us to identify | ||
| 25 | * accurately a trap stack frame in the stack | ||
| 26 | * unwinder, and the %tt value allows us to test | ||
| 27 | * things like "in a system call" etc. for an arbitray | ||
| 28 | * process. | ||
| 29 | * | ||
| 30 | * The PT_REGS_MAGIC is choosen such that it can be | ||
| 31 | * loaded completely using just a sethi instruction. | ||
| 32 | */ | ||
| 33 | unsigned int magic; | ||
| 20 | }; | 34 | }; |
| 21 | 35 | ||
| 22 | struct pt_regs32 { | 36 | struct pt_regs32 { |
| @@ -147,7 +161,7 @@ extern void __show_regs(struct pt_regs *); | |||
| 147 | #define PT_V9_TPC 0x88 | 161 | #define PT_V9_TPC 0x88 |
| 148 | #define PT_V9_TNPC 0x90 | 162 | #define PT_V9_TNPC 0x90 |
| 149 | #define PT_V9_Y 0x98 | 163 | #define PT_V9_Y 0x98 |
| 150 | #define PT_V9_FPRS 0x9c | 164 | #define PT_V9_MAGIC 0x9c |
| 151 | #define PT_TSTATE PT_V9_TSTATE | 165 | #define PT_TSTATE PT_V9_TSTATE |
| 152 | #define PT_TPC PT_V9_TPC | 166 | #define PT_TPC PT_V9_TPC |
| 153 | #define PT_TNPC PT_V9_TNPC | 167 | #define PT_TNPC PT_V9_TNPC |
