1 1.3 ragge /* $NetBSD: frame.h,v 1.3 2017/05/22 17:12:11 ragge Exp $ */ 2 1.1 ragge /* 3 1.1 ragge * Copyright (c) 1995 Ludd, University of Lule}, Sweden. 4 1.1 ragge * All rights reserved. 5 1.1 ragge * 6 1.1 ragge * Redistribution and use in source and binary forms, with or without 7 1.1 ragge * modification, are permitted provided that the following conditions 8 1.1 ragge * are met: 9 1.1 ragge * 1. Redistributions of source code must retain the above copyright 10 1.1 ragge * notice, this list of conditions and the following disclaimer. 11 1.1 ragge * 2. Redistributions in binary form must reproduce the above copyright 12 1.1 ragge * notice, this list of conditions and the following disclaimer in the 13 1.1 ragge * documentation and/or other materials provided with the distribution. 14 1.1 ragge * 15 1.1 ragge * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 16 1.1 ragge * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 17 1.1 ragge * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 18 1.1 ragge * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 19 1.1 ragge * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 20 1.1 ragge * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21 1.1 ragge * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22 1.1 ragge * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 1.1 ragge * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24 1.1 ragge * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 1.1 ragge */ 26 1.1 ragge 27 1.2 matt #ifndef _VAX_FRAME_H_ 28 1.2 matt #define _VAX_FRAME_H_ 29 1.2 matt 30 1.1 ragge /* 31 1.1 ragge * Description of calls frame on stack. This is the 32 1.1 ragge * standard way of making procedure calls on vax systems. 33 1.1 ragge */ 34 1.1 ragge struct callsframe { 35 1.1 ragge unsigned int ca_cond; /* condition handler */ 36 1.1 ragge unsigned int ca_maskpsw; /* register mask and saved psw */ 37 1.1 ragge unsigned int ca_ap; /* argument pointer */ 38 1.1 ragge unsigned int ca_fp; /* frame pointer */ 39 1.1 ragge unsigned int ca_pc; /* program counter */ 40 1.1 ragge unsigned int ca_argno; /* argument count on stack */ 41 1.1 ragge unsigned int ca_arg1; /* first arg on stack */ 42 1.1 ragge /* This can be followed by more arguments */ 43 1.1 ragge }; 44 1.1 ragge 45 1.2 matt struct icallsframe { 46 1.2 matt struct callsframe ica_frame; /* std call frame */ 47 1.2 matt unsigned int ica_r0; /* interrupt saved r0 */ 48 1.2 matt unsigned int ica_r1; /* interrupt saved r1 */ 49 1.2 matt unsigned int ica_r2; /* interrupt saved r2 */ 50 1.2 matt unsigned int ica_r3; /* interrupt saved r3 */ 51 1.2 matt unsigned int ica_r4; /* interrupt saved r4 */ 52 1.2 matt unsigned int ica_r5; /* interrupt saved r5 */ 53 1.2 matt unsigned int ica_pc; /* interrupt saved pc */ 54 1.2 matt unsigned int ica_psl; /* interrupt saved psl */ 55 1.2 matt }; 56 1.1 ragge 57 1.2 matt #endif /* _VAX_FRAME_H */ 58