Deleted Added
full compact
signal.h (230765) signal.h (247047)
1/*-
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.
2 * Copyright (c) 1986, 1989, 1991, 1993
3 * The Regents of the University of California. All rights reserved.
4 * Copyright (c) 2003 Peter Wemm.
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:
9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the

--- 10 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
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:
9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the

--- 10 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 230765 2012-01-30 07:51:52Z kib $
31 * $FreeBSD: head/sys/x86/include/signal.h 247047 2013-02-20 17:39:52Z kib $
32 */
33
32 */
33
34#ifndef _MACHINE_SIGNAL_H_
35#define _MACHINE_SIGNAL_H_
34#ifndef _X86_SIGNAL_H
35#define _X86_SIGNAL_H 1
36
36
37#include <sys/cdefs.h>
38#include <sys/_sigset.h>
39
40/*
41 * Machine-dependent signal definitions
42 */
43
37/*
38 * Machine-dependent signal definitions
39 */
40
44typedef long sig_atomic_t;
41#include <sys/cdefs.h>
42#include <sys/_sigset.h>
45
46#if __BSD_VISIBLE
47#include <machine/trap.h> /* codes for SIGILL, SIGFPE */
43
44#if __BSD_VISIBLE
45#include <machine/trap.h> /* codes for SIGILL, SIGFPE */
46#endif
48
47
48#ifdef __i386__
49typedef int sig_atomic_t;
50
51#if __BSD_VISIBLE
52struct sigcontext {
53 struct __sigset sc_mask; /* signal mask to restore */
54 int sc_onstack; /* sigstack state to restore */
55 int sc_gs; /* machine state (struct trapframe) */
56 int sc_fs;
57 int sc_es;
58 int sc_ds;
59 int sc_edi;
60 int sc_esi;
61 int sc_ebp;
62 int sc_isp;
63 int sc_ebx;
64 int sc_edx;
65 int sc_ecx;
66 int sc_eax;
67 int sc_trapno;
68 int sc_err;
69 int sc_eip;
70 int sc_cs;
71 int sc_efl;
72 int sc_esp;
73 int sc_ss;
74 int sc_len; /* sizeof(mcontext_t) */
75 /*
76 * See <machine/ucontext.h> and <machine/npx.h> for
77 * the following fields.
78 */
79 int sc_fpformat;
80 int sc_ownedfp;
81 int sc_flags;
82 int sc_fpstate[128] __aligned(16);
83
84 int sc_fsbase;
85 int sc_gsbase;
86
87 int sc_xfpustate;
88 int sc_xfpustate_len;
89
90 int sc_spare2[4];
91};
92
93#define sc_sp sc_esp
94#define sc_fp sc_ebp
95#define sc_pc sc_eip
96#define sc_ps sc_efl
97#define sc_eflags sc_efl
98
99#endif /* __BSD_VISIBLE */
100#endif /* __i386__ */
101
102#ifdef __amd64__
103typedef long sig_atomic_t;
104
105#if __BSD_VISIBLE
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

--- 43 unchanged lines hidden (view full) ---

100 long sc_gsbase;
101
102 long sc_xfpustate;
103 long sc_xfpustate_len;
104
105 long sc_spare[4];
106};
107#endif /* __BSD_VISIBLE */
106/*
107 * Information pushed on stack when a signal is delivered.
108 * This is used by the kernel to restore state following
109 * execution of the signal handler. It is also made available
110 * to the handler to allow it to restore state properly if
111 * a non-standard exit is performed.
112 *
113 * The sequence of the fields/registers after sc_mask in struct

--- 43 unchanged lines hidden (view full) ---

157 long sc_gsbase;
158
159 long sc_xfpustate;
160 long sc_xfpustate_len;
161
162 long sc_spare[4];
163};
164#endif /* __BSD_VISIBLE */
165#endif /* __amd64__ */
108
166
109#endif /* !_MACHINE_SIGNAL_H_ */
167#endif