Annotation of sys/arch/mips64/include/frame.h, Revision 1.1
1.1 ! nbrk 1: /* $OpenBSD: frame.h,v 1.4 2004/09/27 17:42:23 pefo Exp $ */
! 2:
! 3: /*
! 4: * Copyright (c) 1998-2003 Opsycon AB (www.opsycon.se)
! 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
! 13: * documentation and/or other materials provided with the distribution.
! 14: *
! 15: * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
! 16: * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
! 17: * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
! 18: * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
! 19: * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
! 20: * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
! 21: * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
! 22: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
! 23: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
! 24: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
! 25: * SUCH DAMAGE.
! 26: *
! 27: */
! 28: #ifndef _MIPS64_FRAME_H_
! 29: #define _MIPS64_FRAME_H_
! 30:
! 31: /*
! 32: * The layout of this *must* match with regnum.h or bad things
! 33: * will happen. libc setjmp/longjmp depends on this as well.
! 34: */
! 35: struct trap_frame {
! 36: register_t zero;
! 37: register_t ast;
! 38: register_t v0;
! 39: register_t v1;
! 40: register_t a0;
! 41: register_t a1;
! 42: register_t a2;
! 43: register_t a3;
! 44: register_t t0;
! 45: register_t t1;
! 46: register_t t2;
! 47: register_t t3;
! 48: #define a4 t0
! 49: #define a5 t1
! 50: #define a6 t2
! 51: #define a7 t3
! 52: register_t t4;
! 53: register_t t5;
! 54: register_t t6;
! 55: register_t t7;
! 56: register_t s0;
! 57: register_t s1;
! 58: register_t s2;
! 59: register_t s3;
! 60: register_t s4;
! 61: register_t s5;
! 62: register_t s6;
! 63: register_t s7;
! 64: register_t t8;
! 65: register_t t9;
! 66: register_t k0;
! 67: register_t k1;
! 68: register_t gp;
! 69: register_t sp;
! 70: register_t s8;
! 71: register_t ra;
! 72: register_t sr;
! 73: register_t mullo;
! 74: register_t mulhi;
! 75: register_t badvaddr;
! 76: register_t cause;
! 77: register_t pc;
! 78: register_t ic;
! 79: register_t cpl;
! 80:
! 81: /* From here and on, only saved user processes. */
! 82:
! 83: f_register_t f0;
! 84: f_register_t f1;
! 85: f_register_t f2;
! 86: f_register_t f3;
! 87: f_register_t f4;
! 88: f_register_t f5;
! 89: f_register_t f6;
! 90: f_register_t f7;
! 91: f_register_t f8;
! 92: f_register_t f9;
! 93: f_register_t f10;
! 94: f_register_t f11;
! 95: f_register_t f12;
! 96: f_register_t f13;
! 97: f_register_t f14;
! 98: f_register_t f15;
! 99: f_register_t f16;
! 100: f_register_t f17;
! 101: f_register_t f18;
! 102: f_register_t f19;
! 103: f_register_t f20;
! 104: f_register_t f21;
! 105: f_register_t f22;
! 106: f_register_t f23;
! 107: f_register_t f24;
! 108: f_register_t f25;
! 109: f_register_t f26;
! 110: f_register_t f27;
! 111: f_register_t f28;
! 112: f_register_t f29;
! 113: f_register_t f30;
! 114: f_register_t f31;
! 115: register_t fsr;
! 116: };
! 117:
! 118: #endif /* !_MIPS64_FRAME_H_ */
CVSweb