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