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