diff options
author | H. Peter Anvin <hpa@zytor.com> | 2008-01-30 07:30:56 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:30:56 -0500 |
commit | 153d5f2e5787c74e9cbb6b6687c9b04be1b59893 (patch) | |
tree | cacde0a0ce46bb797a6b4b8e6817ceef996ebc5e /include/asm-x86/user_32.h | |
parent | 65ea5b0349903585bfed9720fa06f5edb4f1cd25 (diff) |
x86: use generic register names in struct user_regs_struct
Switch struct user_regs_struct (defined in <asm/user.h>, which is no
longer exported to userspace) to using register names without e- or
r-prefixes for both 32 and 64 bit x86. This is intended as a
preliminary step in unifying this code between architectures.
Also, be a bit more strict in truncating 32-bit "extended" segment
register values to 16 bits.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/asm-x86/user_32.h')
-rw-r--r-- | include/asm-x86/user_32.h | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/include/asm-x86/user_32.h b/include/asm-x86/user_32.h index 0e85d2a5e33a..ed8b8fc6906c 100644 --- a/include/asm-x86/user_32.h +++ b/include/asm-x86/user_32.h | |||
@@ -75,13 +75,23 @@ struct user_fxsr_struct { | |||
75 | * doesn't use the extra segment registers) | 75 | * doesn't use the extra segment registers) |
76 | */ | 76 | */ |
77 | struct user_regs_struct { | 77 | struct user_regs_struct { |
78 | long ebx, ecx, edx, esi, edi, ebp, eax; | 78 | unsigned long bx; |
79 | unsigned short ds, __ds, es, __es; | 79 | unsigned long cx; |
80 | unsigned short fs, __fs, gs, __gs; | 80 | unsigned long dx; |
81 | long orig_eax, eip; | 81 | unsigned long si; |
82 | unsigned short cs, __cs; | 82 | unsigned long di; |
83 | long eflags, esp; | 83 | unsigned long bp; |
84 | unsigned short ss, __ss; | 84 | unsigned long ax; |
85 | unsigned long ds; | ||
86 | unsigned long es; | ||
87 | unsigned long fs; | ||
88 | unsigned long gs; | ||
89 | unsigned long orig_ax; | ||
90 | unsigned long ip; | ||
91 | unsigned long cs; | ||
92 | unsigned long flags; | ||
93 | unsigned long sp; | ||
94 | unsigned long ss; | ||
85 | }; | 95 | }; |
86 | 96 | ||
87 | /* When the kernel dumps core, it starts by dumping the user struct - | 97 | /* When the kernel dumps core, it starts by dumping the user struct - |