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