frame.h (50477) | frame.h (51792) |
---|---|
1/*- 2 * Copyright (c) 1990 The Regents of the University of California. 3 * All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * William Jolitz. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 20 unchanged lines hidden (view full) --- 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 34 * SUCH DAMAGE. 35 * 36 * from: @(#)frame.h 5.2 (Berkeley) 1/18/91 | 1/*- 2 * Copyright (c) 1990 The Regents of the University of California. 3 * All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * William Jolitz. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 20 unchanged lines hidden (view full) --- 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 34 * SUCH DAMAGE. 35 * 36 * from: @(#)frame.h 5.2 (Berkeley) 1/18/91 |
37 * $FreeBSD: head/sys/amd64/include/frame.h 50477 1999-08-28 01:08:13Z peter $ | 37 * $FreeBSD: head/sys/amd64/include/frame.h 51792 1999-09-29 15:06:27Z marcel $ |
38 */ 39 40#ifndef _MACHINE_FRAME_H_ 41#define _MACHINE_FRAME_H_ 1 42 | 38 */ 39 40#ifndef _MACHINE_FRAME_H_ 41#define _MACHINE_FRAME_H_ 1 42 |
43#include <sys/signal.h> 44 | |
45/* 46 * System stack frames. 47 */ 48 49/* 50 * Exception/Trap Stack Frame 51 */ 52 --- 99 unchanged lines hidden (view full) --- 152 int cf_eip; 153 int cf_cs; 154 int cf_eflags; 155 /* below only when crossing rings (e.g. user to kernel) */ 156 int cf_esp; 157 int cf_ss; 158}; 159 | 43/* 44 * System stack frames. 45 */ 46 47/* 48 * Exception/Trap Stack Frame 49 */ 50 --- 99 unchanged lines hidden (view full) --- 150 int cf_eip; 151 int cf_cs; 152 int cf_eflags; 153 /* below only when crossing rings (e.g. user to kernel) */ 154 int cf_esp; 155 int cf_ss; 156}; 157 |
160/* 161 * Signal frame, arguments passed to application signal handlers. 162 */ 163struct sigframe { 164 /* 165 * The first three members may be used by applications. 166 */ 167 168 register_t sf_signum; 169 170 /* 171 * Either 'int' for old-style FreeBSD handler or 'siginfo_t *' 172 * pointing to sf_siginfo for SA_SIGINFO handlers. 173 */ 174 register_t sf_arg2; 175 176 /* Points to sf_siginfo.si_sc. */ 177 register_t sf_scp; 178 179 /* 180 * The following arguments are not constrained by the 181 * function call protocol. 182 * Applications are not supposed to access these members, 183 * except using the pointers we provide in the first three 184 * arguments. 185 */ 186 char *sf_addr; 187 union { 188 __siginfohandler_t *sf_action; 189 __sighandler_t *sf_handler; 190 } sf_ahu; 191 192 /* In the SA_SIGINFO case, sf_arg2 points here. */ 193 siginfo_t sf_siginfo; 194}; 195 | |
196int kdb_trap __P((int, int, struct trapframe *)); 197extern int (*pmath_emulate) __P((struct trapframe *)); 198 199#define INTR_TO_TRAPFRAME(frame) ((struct trapframe *)&(frame)->if_fs) 200 201#endif /* _MACHINE_FRAME_H_ */ | 158int kdb_trap __P((int, int, struct trapframe *)); 159extern int (*pmath_emulate) __P((struct trapframe *)); 160 161#define INTR_TO_TRAPFRAME(frame) ((struct trapframe *)&(frame)->if_fs) 162 163#endif /* _MACHINE_FRAME_H_ */ |