aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86
diff options
context:
space:
mode:
authorHiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>2009-02-20 22:00:13 -0500
committerIngo Molnar <mingo@elte.hu>2009-02-22 11:54:47 -0500
commit8801ead40caa8ba9c7d47a06ff1247c166cbfd5a (patch)
treeb26597ea01f5402a6a410ce73dbe06ea73d95f6a /arch/x86
parenta47e3ec197f515e25c77805f02d26f9e86456f65 (diff)
x86: ia32_signal: introduce GET_SEG() macro
Impact: cleanup introduce GET_SEG() macro like arch/x86/kernel/signal.c. Signed-off-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/ia32/ia32_signal.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/arch/x86/ia32/ia32_signal.c b/arch/x86/ia32/ia32_signal.c
index adc63f81cb8e..8dd0903da08b 100644
--- a/arch/x86/ia32/ia32_signal.c
+++ b/arch/x86/ia32/ia32_signal.c
@@ -192,11 +192,15 @@ asmlinkage long sys32_sigaltstack(const stack_ia32_t __user *uss_ptr,
192 get_user_ex(regs->x, &sc->x); \ 192 get_user_ex(regs->x, &sc->x); \
193} 193}
194 194
195#define COPY_SEG_CPL3(seg) { \ 195#define GET_SEG(seg) ({ \
196 unsigned short tmp; \ 196 unsigned short tmp; \
197 get_user_ex(tmp, &sc->seg); \ 197 get_user_ex(tmp, &sc->seg); \
198 regs->seg = tmp | 3; \ 198 tmp; \
199} 199})
200
201#define COPY_SEG_CPL3(seg) do { \
202 regs->seg = GET_SEG(seg) | 3; \
203} while (0)
200 204
201#define RELOAD_SEG(seg) { \ 205#define RELOAD_SEG(seg) { \
202 unsigned int cur, pre; \ 206 unsigned int cur, pre; \