diff options
-rw-r--r-- | include/asm-x86/user_64.h | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/include/asm-x86/user_64.h b/include/asm-x86/user_64.h index 963616455609..6037b634c77f 100644 --- a/include/asm-x86/user_64.h +++ b/include/asm-x86/user_64.h | |||
@@ -45,12 +45,13 @@ | |||
45 | */ | 45 | */ |
46 | 46 | ||
47 | /* This matches the 64bit FXSAVE format as defined by AMD. It is the same | 47 | /* This matches the 64bit FXSAVE format as defined by AMD. It is the same |
48 | as the 32bit format defined by Intel, except that the selector:offset pairs for | 48 | as the 32bit format defined by Intel, except that the selector:offset pairs |
49 | data and eip are replaced with flat 64bit pointers. */ | 49 | for data and eip are replaced with flat 64bit pointers. */ |
50 | struct user_i387_struct { | 50 | struct user_i387_struct { |
51 | unsigned short cwd; | 51 | unsigned short cwd; |
52 | unsigned short swd; | 52 | unsigned short swd; |
53 | unsigned short twd; /* Note this is not the same as the 32bit/x87/FSAVE twd */ | 53 | unsigned short twd; /* Note this is not the same as |
54 | the 32bit/x87/FSAVE twd */ | ||
54 | unsigned short fop; | 55 | unsigned short fop; |
55 | __u64 rip; | 56 | __u64 rip; |
56 | __u64 rdp; | 57 | __u64 rdp; |
@@ -97,13 +98,14 @@ struct user_regs_struct { | |||
97 | /* When the kernel dumps core, it starts by dumping the user struct - | 98 | /* When the kernel dumps core, it starts by dumping the user struct - |
98 | this will be used by gdb to figure out where the data and stack segments | 99 | this will be used by gdb to figure out where the data and stack segments |
99 | are within the file, and what virtual addresses to use. */ | 100 | are within the file, and what virtual addresses to use. */ |
100 | struct user{ | 101 | |
102 | struct user { | ||
101 | /* We start with the registers, to mimic the way that "memory" is returned | 103 | /* We start with the registers, to mimic the way that "memory" is returned |
102 | from the ptrace(3,...) function. */ | 104 | from the ptrace(3,...) function. */ |
103 | struct user_regs_struct regs; /* Where the registers are actually stored */ | 105 | struct user_regs_struct regs; /* Where the registers are actually stored */ |
104 | /* ptrace does not yet supply these. Someday.... */ | 106 | /* ptrace does not yet supply these. Someday.... */ |
105 | int u_fpvalid; /* True if math co-processor being used. */ | 107 | int u_fpvalid; /* True if math co-processor being used. */ |
106 | /* for this mess. Not yet used. */ | 108 | /* for this mess. Not yet used. */ |
107 | int pad0; | 109 | int pad0; |
108 | struct user_i387_struct i387; /* Math Co-processor registers. */ | 110 | struct user_i387_struct i387; /* Math Co-processor registers. */ |
109 | /* The rest of this junk is to help gdb figure out what goes where */ | 111 | /* The rest of this junk is to help gdb figure out what goes where */ |
@@ -120,7 +122,7 @@ struct user{ | |||
120 | int pad1; | 122 | int pad1; |
121 | unsigned long u_ar0; /* Used by gdb to help find the values for */ | 123 | unsigned long u_ar0; /* Used by gdb to help find the values for */ |
122 | /* the registers. */ | 124 | /* the registers. */ |
123 | struct user_i387_struct* u_fpstate; /* Math Co-processor pointer. */ | 125 | struct user_i387_struct *u_fpstate; /* Math Co-processor pointer. */ |
124 | unsigned long magic; /* To uniquely identify a core file */ | 126 | unsigned long magic; /* To uniquely identify a core file */ |
125 | char u_comm[32]; /* User command that was responsible */ | 127 | char u_comm[32]; /* User command that was responsible */ |
126 | unsigned long u_debugreg[8]; | 128 | unsigned long u_debugreg[8]; |