xref: /qemu/bsd-user/x86_64/signal.c (revision ae2b5d8381a73b27f35f19c988d45c78bb4d5768)
11b4e358aSWarner Losh /*
21b4e358aSWarner Losh  *  x86_64 signal definitions
31b4e358aSWarner Losh  *
41b4e358aSWarner Losh  *
51b4e358aSWarner Losh  *  This program is free software; you can redistribute it and/or modify
61b4e358aSWarner Losh  *  it under the terms of the GNU General Public License as published by
71b4e358aSWarner Losh  *  the Free Software Foundation; either version 2 of the License, or
81b4e358aSWarner Losh  *  (at your option) any later version.
91b4e358aSWarner Losh  *
101b4e358aSWarner Losh  *  This program is distributed in the hope that it will be useful,
111b4e358aSWarner Losh  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
121b4e358aSWarner Losh  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
131b4e358aSWarner Losh  *  GNU General Public License for more details.
141b4e358aSWarner Losh  *
151b4e358aSWarner Losh  *  You should have received a copy of the GNU General Public License
161b4e358aSWarner Losh  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
171b4e358aSWarner Losh  */
181b4e358aSWarner Losh 
19*48e438a3SMarkus Armbruster #include "qemu/osdep.h"
201b4e358aSWarner Losh #include "qemu.h"
211b4e358aSWarner Losh 
221b4e358aSWarner Losh /*
231b4e358aSWarner Losh  * Compare to amd64/amd64/machdep.c sendsig()
241b4e358aSWarner Losh  * Assumes that target stack frame memory is locked.
251b4e358aSWarner Losh  */
set_sigtramp_args(CPUX86State * regs,int sig,struct target_sigframe * frame,abi_ulong frame_addr,struct target_sigaction * ka)261b4e358aSWarner Losh abi_long set_sigtramp_args(CPUX86State *regs,
271b4e358aSWarner Losh         int sig, struct target_sigframe *frame, abi_ulong frame_addr,
281b4e358aSWarner Losh         struct target_sigaction *ka)
291b4e358aSWarner Losh {
301b4e358aSWarner Losh     /* XXX return -TARGET_EOPNOTSUPP; */
311b4e358aSWarner Losh     return 0;
321b4e358aSWarner Losh }
331b4e358aSWarner Losh 
342373a62aSWarner Losh /*
352373a62aSWarner Losh  * Compare to amd64/amd64/exec_machdep.c sendsig()
362373a62aSWarner Losh  * Assumes that the memory is locked if frame points to user memory.
372373a62aSWarner Losh  */
setup_sigframe_arch(CPUX86State * env,abi_ulong frame_addr,struct target_sigframe * frame,int flags)382373a62aSWarner Losh abi_long setup_sigframe_arch(CPUX86State *env, abi_ulong frame_addr,
392373a62aSWarner Losh                              struct target_sigframe *frame, int flags)
402373a62aSWarner Losh {
412373a62aSWarner Losh     target_mcontext_t *mcp = &frame->sf_uc.uc_mcontext;
422373a62aSWarner Losh 
432373a62aSWarner Losh     get_mcontext(env, mcp, flags);
442373a62aSWarner Losh     return 0;
452373a62aSWarner Losh }
462373a62aSWarner Losh 
471b4e358aSWarner Losh /* Compare to amd64/amd64/machdep.c get_mcontext() */
get_mcontext(CPUX86State * regs,target_mcontext_t * mcp,int flags)481b4e358aSWarner Losh abi_long get_mcontext(CPUX86State *regs,
491b4e358aSWarner Losh                 target_mcontext_t *mcp, int flags)
501b4e358aSWarner Losh {
511b4e358aSWarner Losh     /* XXX */
521b4e358aSWarner Losh     return -TARGET_EOPNOTSUPP;
531b4e358aSWarner Losh }
541b4e358aSWarner Losh 
551b4e358aSWarner Losh /* Compare to amd64/amd64/machdep.c set_mcontext() */
set_mcontext(CPUX86State * regs,target_mcontext_t * mcp,int srflag)561b4e358aSWarner Losh abi_long set_mcontext(CPUX86State *regs,
571b4e358aSWarner Losh         target_mcontext_t *mcp, int srflag)
581b4e358aSWarner Losh {
591b4e358aSWarner Losh     /* XXX */
601b4e358aSWarner Losh     return -TARGET_EOPNOTSUPP;
611b4e358aSWarner Losh }
621b4e358aSWarner Losh 
get_ucontext_sigreturn(CPUX86State * regs,abi_ulong target_sf,abi_ulong * target_uc)631b4e358aSWarner Losh abi_long get_ucontext_sigreturn(CPUX86State *regs,
641b4e358aSWarner Losh         abi_ulong target_sf, abi_ulong *target_uc)
651b4e358aSWarner Losh {
661b4e358aSWarner Losh     /* XXX */
671b4e358aSWarner Losh     *target_uc = 0;
681b4e358aSWarner Losh     return -TARGET_EOPNOTSUPP;
691b4e358aSWarner Losh }
70