Commit 296bbf7e authored by Cyrill Gorcunov's avatar Cyrill Gorcunov Committed by Pavel Emelyanov

x86: Add proper ifdefs into sigframe construction

This will help to support compat mode in the future.
Signed-off-by: 's avatarCyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
parent 61a59fdd
...@@ -463,6 +463,7 @@ int restore_gpregs(struct rt_sigframe *f, UserX86RegsEntry *r) ...@@ -463,6 +463,7 @@ int restore_gpregs(struct rt_sigframe *f, UserX86RegsEntry *r)
#define CPREG1(d) f->uc.uc_mcontext.d = r->d #define CPREG1(d) f->uc.uc_mcontext.d = r->d
#define CPREG2(d, s) f->uc.uc_mcontext.d = r->s #define CPREG2(d, s) f->uc.uc_mcontext.d = r->s
#ifdef CONFIG_X86_64
CPREG1(r8); CPREG1(r8);
CPREG1(r9); CPREG1(r9);
CPREG1(r10); CPREG1(r10);
...@@ -471,6 +472,8 @@ int restore_gpregs(struct rt_sigframe *f, UserX86RegsEntry *r) ...@@ -471,6 +472,8 @@ int restore_gpregs(struct rt_sigframe *f, UserX86RegsEntry *r)
CPREG1(r13); CPREG1(r13);
CPREG1(r14); CPREG1(r14);
CPREG1(r15); CPREG1(r15);
#endif
CPREG2(rdi, di); CPREG2(rdi, di);
CPREG2(rsi, si); CPREG2(rsi, si);
CPREG2(rbp, bp); CPREG2(rbp, bp);
...@@ -481,10 +484,19 @@ int restore_gpregs(struct rt_sigframe *f, UserX86RegsEntry *r) ...@@ -481,10 +484,19 @@ int restore_gpregs(struct rt_sigframe *f, UserX86RegsEntry *r)
CPREG2(rsp, sp); CPREG2(rsp, sp);
CPREG2(rip, ip); CPREG2(rip, ip);
CPREG2(eflags, flags); CPREG2(eflags, flags);
CPREG1(cs); CPREG1(cs);
#ifdef CONFIG_X86_32
CPREG1(ss); CPREG1(ss);
#endif
#ifdef CONFIG_X86_32
CPREG1(gs); CPREG1(gs);
CPREG1(fs); CPREG1(fs);
CPREG1(es);
CPREG1(ds);
#endif
return 0; return 0;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment