clean up slightly; prepare to make this identical to sparc/frame.h.

This commit is contained in:
mrg 2001-03-02 07:40:18 +00:00
parent 3c31d4fccb
commit 23fecf2b24
1 changed files with 19 additions and 3 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: frame.h,v 1.7 2000/07/23 06:15:33 mrg Exp $ */
/* $NetBSD: frame.h,v 1.8 2001/03/02 07:40:18 mrg Exp $ */
/*
* Copyright (c) 1992, 1993
@ -52,7 +52,22 @@
* of the frame, you must first force the kernel to write any such
* windows to the stack.
*/
#if !defined(_LOCORE) && !defined(_LIBC)
#ifndef _LOCORE
#ifndef __arch64__
struct frame {
int32_t fr_local[8]; /* space to save locals (%l0..%l7) */
int32_t fr_arg[6]; /* space to save arguments (%i0..%i5) */
struct frame *fr_fp; /* space to save frame pointer (%i6) */
int32_t fr_pc; /* space to save return pc (%i7) */
/*
* SunOS reserves another 8 words here; this is pointless
* but we do it for compatibility.
*/
int32_t fr_xxx; /* `structure return pointer' (unused) */
int32_t fr_argd[6]; /* `arg dump area' (lunacy) */
int32_t fr_argx[1]; /* arg extension (args 7..n; variable size) */
};
#else
struct frame32 {
int32_t fr_local[8]; /* space to save locals (%l0..%l7) */
int32_t fr_arg[6]; /* space to save arguments (%i0..%i5) */
@ -67,6 +82,8 @@ struct frame32 {
int32_t fr_argx[1]; /* arg extension (args 7..n; variable size) */
};
#endif
#endif
/*
* CCFSZ (C Compiler Frame SiZe) is the size of a stack frame required if
* a function is to call C code. It should be just 64, but Sun defined
@ -76,7 +93,6 @@ struct frame32 {
*/
#define CCFSZ 96
/*
* Sparc v9 stack frame format.
*