bsd-user: Create setup_sigframe_arch to setup sigframe context
Define setup_sigframe_arch whose job it is to setup the mcontext for the sigframe. Implement for x86 to just call mcontext. Signed-off-by: Warner Losh <imp@bsdimp.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
4550c661bf
commit
2373a62ae9
@ -4,6 +4,9 @@
|
|||||||
#include "target_os_siginfo.h"
|
#include "target_os_siginfo.h"
|
||||||
#include "target_arch_signal.h"
|
#include "target_arch_signal.h"
|
||||||
|
|
||||||
|
abi_long setup_sigframe_arch(CPUArchState *env, abi_ulong frame_addr,
|
||||||
|
struct target_sigframe *frame, int flags);
|
||||||
|
|
||||||
/* Compare to sys/signal.h */
|
/* Compare to sys/signal.h */
|
||||||
#define TARGET_SIGHUP 1 /* hangup */
|
#define TARGET_SIGHUP 1 /* hangup */
|
||||||
#define TARGET_SIGINT 2 /* interrupt */
|
#define TARGET_SIGINT 2 /* interrupt */
|
||||||
|
@ -32,6 +32,19 @@ abi_long set_sigtramp_args(CPUX86State *env, int sig,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Compare to i386/i386/exec_machdep.c sendsig()
|
||||||
|
* Assumes that the memory is locked if frame points to user memory.
|
||||||
|
*/
|
||||||
|
abi_long setup_sigframe_arch(CPUX86State *env, abi_ulong frame_addr,
|
||||||
|
struct target_sigframe *frame, int flags)
|
||||||
|
{
|
||||||
|
target_mcontext_t *mcp = &frame->sf_uc.uc_mcontext;
|
||||||
|
|
||||||
|
get_mcontext(env, mcp, flags);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* Compare to i386/i386/machdep.c get_mcontext() */
|
/* Compare to i386/i386/machdep.c get_mcontext() */
|
||||||
abi_long get_mcontext(CPUX86State *regs, target_mcontext_t *mcp, int flags)
|
abi_long get_mcontext(CPUX86State *regs, target_mcontext_t *mcp, int flags)
|
||||||
{
|
{
|
||||||
|
@ -30,6 +30,19 @@ abi_long set_sigtramp_args(CPUX86State *regs,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Compare to amd64/amd64/exec_machdep.c sendsig()
|
||||||
|
* Assumes that the memory is locked if frame points to user memory.
|
||||||
|
*/
|
||||||
|
abi_long setup_sigframe_arch(CPUX86State *env, abi_ulong frame_addr,
|
||||||
|
struct target_sigframe *frame, int flags)
|
||||||
|
{
|
||||||
|
target_mcontext_t *mcp = &frame->sf_uc.uc_mcontext;
|
||||||
|
|
||||||
|
get_mcontext(env, mcp, flags);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* Compare to amd64/amd64/machdep.c get_mcontext() */
|
/* Compare to amd64/amd64/machdep.c get_mcontext() */
|
||||||
abi_long get_mcontext(CPUX86State *regs,
|
abi_long get_mcontext(CPUX86State *regs,
|
||||||
target_mcontext_t *mcp, int flags)
|
target_mcontext_t *mcp, int flags)
|
||||||
|
Loading…
Reference in New Issue
Block a user