Commit e625ca72 authored by Dmitry Safonov's avatar Dmitry Safonov Committed by Pavel Emelyanov

sigframe: introduce SIGFRAME_MAX_OFFSET

For x86 there are different SIGFRAME_OFFSET for native and compatible
tasks. In the next patches I will make SIGFRAME_OFFSET(rt_sigframe)
macro (depending on rt_sigframe).

As RESTORE_STACK_SIGFRAME used only for allocation sizes,
I don't want to introduce RESTORE_STACK_SIGFRAME(rt_sigframe)
dependency on rt_sigframe type. Let's just use for this porpose max
sigframe offset of native/compat tasks.

Cc: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: 's avatarDmitry Safonov <dsafonov@virtuozzo.com>
Signed-off-by: 's avatarPavel Emelyanov <xemul@virtuozzo.com>
parent def23744
......@@ -36,6 +36,8 @@ struct rt_sigcontext {
unsigned long reserved1[8];
};
#define SIGFRAME_MAX_OFFSET 8
#include "sigframe.h"
struct rt_sigframe {
......@@ -140,7 +142,6 @@ struct rt_sigframe {
#define SIGFRAME_OFFSET 8
int restore_gpregs(struct rt_sigframe *f, UserX86RegsEntry *r);
int restore_nonsigframe_gpregs(UserX86RegsEntry *r);
......
......@@ -10,8 +10,13 @@
struct rt_sigframe;
#ifndef SIGFRAME_MAX_OFFSET
#define SIGFRAME_MAX_OFFSET SIGFRAME_OFFSET
#endif
/* sigframe should be aligned on 64 byte for x86 and 8 bytes for arm */
#define RESTORE_STACK_SIGFRAME ALIGN(sizeof(struct rt_sigframe) + SIGFRAME_OFFSET, 64)
#define RESTORE_STACK_SIGFRAME \
ALIGN(sizeof(struct rt_sigframe) + SIGFRAME_MAX_OFFSET, 64)
#ifndef __ARCH_SI_PREAMBLE_SIZE
#define __ARCH_SI_PREAMBLE_SIZE (3 * sizeof(int))
......
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