frame.h (95768) | frame.h (115084) |
---|---|
1/*- 2 * Copyright (c) 2000 Doug Rabson 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 9 unchanged lines hidden (view full) --- 18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 * | 1/*- 2 * Copyright (c) 2000 Doug Rabson 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 9 unchanged lines hidden (view full) --- 18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 * |
26 * $FreeBSD: head/sys/ia64/include/frame.h 95768 2002-04-30 06:37:25Z marcel $ | 26 * $FreeBSD: head/sys/ia64/include/frame.h 115084 2003-05-16 21:26:42Z marcel $ |
27 */ 28 29#ifndef _MACHINE_FRAME_H_ 30#define _MACHINE_FRAME_H_ 31 | 27 */ 28 29#ifndef _MACHINE_FRAME_H_ 30#define _MACHINE_FRAME_H_ 31 |
32#include <machine/reg.h> | 32#include <machine/_regset.h> |
33 34/* 35 * Software trap, exception, and syscall frame. 36 */ 37struct trapframe { | 33 34/* 35 * Software trap, exception, and syscall frame. 36 */ 37struct trapframe { |
38 u_int64_t tf_flags; | 38 uint64_t tf_length; 39 uint64_t tf_flags; |
39#define FRAME_SYSCALL 1 /* syscalls use a partial trapframe */ | 40#define FRAME_SYSCALL 1 /* syscalls use a partial trapframe */ |
40 41 u_int64_t tf_cr_iip; 42 u_int64_t tf_cr_ipsr; 43 u_int64_t tf_cr_isr; 44 u_int64_t tf_cr_ifa; 45 u_int64_t tf_pr; 46 u_int64_t tf_ar_rsc; 47 u_int64_t tf_ar_pfs; 48 u_int64_t tf_cr_ifs; 49 u_int64_t tf_ar_bspstore; 50 u_int64_t tf_ar_rnat; 51 u_int64_t tf_ndirty; 52 u_int64_t tf_ar_unat; 53 u_int64_t tf_ar_ccv; 54 u_int64_t tf_ar_fpsr; 55 u_int64_t tf_ar_lc; 56 u_int64_t tf_ar_ec; 57 58 u_int64_t tf_b[8]; 59 60 u_int64_t tf_r[31]; /* don't need to save r0 */ 61#define FRAME_R1 0 62#define FRAME_R2 1 63#define FRAME_R3 2 64#define FRAME_R4 3 65#define FRAME_R5 4 66#define FRAME_R6 5 67#define FRAME_R7 6 68#define FRAME_R8 7 69#define FRAME_R9 8 70#define FRAME_R10 9 71#define FRAME_R11 10 72#define FRAME_R12 11 73#define FRAME_R13 12 74#define FRAME_R14 13 75#define FRAME_R15 14 76#define FRAME_R16 15 77#define FRAME_R17 16 78#define FRAME_R18 17 79#define FRAME_R19 18 80#define FRAME_R20 19 81#define FRAME_R21 20 82#define FRAME_R22 21 83#define FRAME_R23 22 84#define FRAME_R24 23 85#define FRAME_R25 24 86#define FRAME_R26 25 87#define FRAME_R27 26 88#define FRAME_R28 27 89#define FRAME_R29 28 90#define FRAME_R30 29 91#define FRAME_R31 30 92 93#define FRAME_GP FRAME_R1 94#define FRAME_SP FRAME_R12 95#define FRAME_TP FRAME_R13 96 97 /* 98 * We rely on the compiler to save/restore f2-f5 and 99 * f16-f31. We also tell the compiler to avoid f32-f127 100 * completely so we don't worry about them at all. 101 */ 102 struct ia64_fpreg tf_f[10]; 103#define FRAME_F6 0 104#define FRAME_F7 1 105#define FRAME_F8 2 106#define FRAME_F9 3 107#define FRAME_F10 4 108#define FRAME_F11 5 109#define FRAME_F12 6 110#define FRAME_F13 7 111#define FRAME_F14 8 112#define FRAME_F15 9 | 41 struct _special tf_special; 42 struct _caller_saved tf_scratch; 43 struct _caller_saved_fp tf_scratch_fp; |
113}; 114 115#endif /* _MACHINE_FRAME_H_ */ | 44}; 45 46#endif /* _MACHINE_FRAME_H_ */ |