Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 91981
b: refs/heads/master
c: 8243e40
h: refs/heads/master
i:
  91979: 27c5e64
v: v3
  • Loading branch information
David S. Miller committed Apr 24, 2008
1 parent 78db29f commit 729358e
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: db9a7fb12c8d05104e8a541003593d62a42ade8f
refs/heads/master: 8243e40acb087fcd9e7609333f0b0551391f49fc
4 changes: 4 additions & 0 deletions trunk/arch/sparc64/kernel/etrap.S
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,11 @@ etrap_irq:
stx %g3, [%g2 + STACKFRAME_SZ + PT_V9_TPC]
rd %y, %g3
stx %g1, [%g2 + STACKFRAME_SZ + PT_V9_TNPC]
rdpr %tt, %g1
st %g3, [%g2 + STACKFRAME_SZ + PT_V9_Y]
sethi %hi(PT_REGS_MAGIC), %g3
or %g3, %g1, %g1
st %g1, [%g2 + STACKFRAME_SZ + PT_V9_MAGIC]

rdpr %cansave, %g1
brnz,pt %g1, etrap_save
Expand Down
18 changes: 16 additions & 2 deletions trunk/include/asm-sparc64/ptrace.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
* stack during a system call and basically all traps.
*/

#define PT_REGS_MAGIC 0x57ac6c00

#ifndef __ASSEMBLY__

struct pt_regs {
Expand All @@ -16,7 +18,19 @@ struct pt_regs {
unsigned long tpc;
unsigned long tnpc;
unsigned int y;
unsigned int fprs;

/* We encode a magic number, PT_REGS_MAGIC, along
* with the %tt (trap type) register value at trap
* entry time. The magic number allows us to identify
* accurately a trap stack frame in the stack
* unwinder, and the %tt value allows us to test
* things like "in a system call" etc. for an arbitray
* process.
*
* The PT_REGS_MAGIC is choosen such that it can be
* loaded completely using just a sethi instruction.
*/
unsigned int magic;
};

struct pt_regs32 {
Expand Down Expand Up @@ -147,7 +161,7 @@ extern void __show_regs(struct pt_regs *);
#define PT_V9_TPC 0x88
#define PT_V9_TNPC 0x90
#define PT_V9_Y 0x98
#define PT_V9_FPRS 0x9c
#define PT_V9_MAGIC 0x9c
#define PT_TSTATE PT_V9_TSTATE
#define PT_TPC PT_V9_TPC
#define PT_TNPC PT_V9_TNPC
Expand Down

0 comments on commit 729358e

Please sign in to comment.