xref: /qemu/bsd-user/x86_64/signal.c (revision 2373a62ae9600aef57923fdba0518e916cc8d28c)
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 
191b4e358aSWarner Losh #include "qemu.h"
201b4e358aSWarner Losh 
211b4e358aSWarner Losh /*
221b4e358aSWarner Losh  * Compare to amd64/amd64/machdep.c sendsig()
231b4e358aSWarner Losh  * Assumes that target stack frame memory is locked.
241b4e358aSWarner Losh  */
251b4e358aSWarner Losh abi_long set_sigtramp_args(CPUX86State *regs,
261b4e358aSWarner Losh         int sig, struct target_sigframe *frame, abi_ulong frame_addr,
271b4e358aSWarner Losh         struct target_sigaction *ka)
281b4e358aSWarner Losh {
291b4e358aSWarner Losh     /* XXX return -TARGET_EOPNOTSUPP; */
301b4e358aSWarner Losh     return 0;
311b4e358aSWarner Losh }
321b4e358aSWarner Losh 
33*2373a62aSWarner Losh /*
34*2373a62aSWarner Losh  * Compare to amd64/amd64/exec_machdep.c sendsig()
35*2373a62aSWarner Losh  * Assumes that the memory is locked if frame points to user memory.
36*2373a62aSWarner Losh  */
37*2373a62aSWarner Losh abi_long setup_sigframe_arch(CPUX86State *env, abi_ulong frame_addr,
38*2373a62aSWarner Losh                              struct target_sigframe *frame, int flags)
39*2373a62aSWarner Losh {
40*2373a62aSWarner Losh     target_mcontext_t *mcp = &frame->sf_uc.uc_mcontext;
41*2373a62aSWarner Losh 
42*2373a62aSWarner Losh     get_mcontext(env, mcp, flags);
43*2373a62aSWarner Losh     return 0;
44*2373a62aSWarner Losh }
45*2373a62aSWarner Losh 
461b4e358aSWarner Losh /* Compare to amd64/amd64/machdep.c get_mcontext() */
471b4e358aSWarner Losh abi_long get_mcontext(CPUX86State *regs,
481b4e358aSWarner Losh                 target_mcontext_t *mcp, int flags)
491b4e358aSWarner Losh {
501b4e358aSWarner Losh     /* XXX */
511b4e358aSWarner Losh     return -TARGET_EOPNOTSUPP;
521b4e358aSWarner Losh }
531b4e358aSWarner Losh 
541b4e358aSWarner Losh /* Compare to amd64/amd64/machdep.c set_mcontext() */
551b4e358aSWarner Losh abi_long set_mcontext(CPUX86State *regs,
561b4e358aSWarner Losh         target_mcontext_t *mcp, int srflag)
571b4e358aSWarner Losh {
581b4e358aSWarner Losh     /* XXX */
591b4e358aSWarner Losh     return -TARGET_EOPNOTSUPP;
601b4e358aSWarner Losh }
611b4e358aSWarner Losh 
621b4e358aSWarner Losh abi_long get_ucontext_sigreturn(CPUX86State *regs,
631b4e358aSWarner Losh         abi_ulong target_sf, abi_ulong *target_uc)
641b4e358aSWarner Losh {
651b4e358aSWarner Losh     /* XXX */
661b4e358aSWarner Losh     *target_uc = 0;
671b4e358aSWarner Losh     return -TARGET_EOPNOTSUPP;
681b4e358aSWarner Losh }
69