1*55120Storek /* 2*55120Storek * Copyright (c) 1992 The Regents of the University of California. 3*55120Storek * All rights reserved. 4*55120Storek * 5*55120Storek * This software was developed by the Computer Systems Engineering group 6*55120Storek * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and 7*55120Storek * contributed to Berkeley. 8*55120Storek * 9*55120Storek * %sccs.include.redist.c% 10*55120Storek * 11*55120Storek * @(#)frame.h 7.1 (Berkeley) 07/13/92 12*55120Storek * 13*55120Storek * from: $Header: frame.h,v 1.4 92/06/17 06:10:17 torek Exp $ 14*55120Storek */ 15*55120Storek 16*55120Storek /* 17*55120Storek * Sparc stack frame format. 18*55120Storek * 19*55120Storek * Note that the contents of each stack frame may be held only in 20*55120Storek * machine register windows. In order to get an accurate picture 21*55120Storek * of the frame, you must first force the kernel to write any such 22*55120Storek * windows to the stack. 23*55120Storek */ 24*55120Storek struct frame { 25*55120Storek int fr_local[8]; /* space to save locals (%l0..%l7) */ 26*55120Storek int fr_arg[6]; /* space to save arguments (%i0..%i5) */ 27*55120Storek struct frame *fr_fp; /* space to save frame pointer (%i6) */ 28*55120Storek int fr_pc; /* space to save return pc (%i7) */ 29*55120Storek /* 30*55120Storek * SunOS reserves another 8 words here; this is pointless 31*55120Storek * but we do it for compatibility. 32*55120Storek */ 33*55120Storek int fr_xxx; /* `structure return pointer' (unused) */ 34*55120Storek int fr_argd[6]; /* `arg dump area' (lunacy) */ 35*55120Storek int fr_argx[1]; /* arg extension (args 7..n; variable size) */ 36*55120Storek }; 37