1/*- 2 * Copyright (c) 2003 Peter Wemm. 3 * Copyright (c) 1986, 1989, 1991, 1993 4 * The Regents of the University of California. All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: --- 14 unchanged lines hidden (view full) --- 23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 24 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 25 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 26 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 27 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 28 * SUCH DAMAGE. 29 * 30 * @(#)signal.h 8.1 (Berkeley) 6/11/93 |
31 * $FreeBSD: head/sys/amd64/include/signal.h 227399 2011-11-09 18:25:50Z kib $ |
32 */ 33 34#ifndef _MACHINE_SIGNAL_H_ 35#define _MACHINE_SIGNAL_H_ 36 37#include <sys/cdefs.h> 38#include <sys/_sigset.h> 39 40/* 41 * Machine-dependent signal definitions 42 */ 43 44typedef long sig_atomic_t; 45 46#if __BSD_VISIBLE 47#include <machine/trap.h> /* codes for SIGILL, SIGFPE */ 48 49/* |
50 * Information pushed on stack when a signal is delivered. 51 * This is used by the kernel to restore state following 52 * execution of the signal handler. It is also made available 53 * to the handler to allow it to restore state properly if 54 * a non-standard exit is performed. |
55 * 56 * The sequence of the fields/registers after sc_mask in struct 57 * sigcontext must match those in mcontext_t and struct trapframe. |
58 */ |
59struct sigcontext { 60 struct __sigset sc_mask; /* signal mask to restore */ 61 long sc_onstack; /* sigstack state to restore */ 62 long sc_rdi; /* machine state (struct trapframe) */ 63 long sc_rsi; 64 long sc_rdx; 65 long sc_rcx; 66 long sc_r8; --- 17 unchanged lines hidden (view full) --- 84 long sc_err; 85 long sc_rip; 86 long sc_cs; 87 long sc_rflags; 88 long sc_rsp; 89 long sc_ss; 90 long sc_len; /* sizeof(mcontext_t) */ 91 /* |
92 * See <machine/ucontext.h> and <machine/fpu.h> for the following 93 * fields. |
94 */ 95 long sc_fpformat; 96 long sc_ownedfp; 97 long sc_fpstate[64] __aligned(16); 98 99 long sc_fsbase; 100 long sc_gsbase; 101 102 long sc_spare[6]; 103}; 104#endif /* __BSD_VISIBLE */ 105 106#endif /* !_MACHINE_SIGNAL_H_ */ |