Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/sparc64/include clean up slightly; prepare to make ...



details:   https://anonhg.NetBSD.org/src/rev/335d0a8be260
branches:  trunk
changeset: 504430:335d0a8be260
user:      mrg <mrg%NetBSD.org@localhost>
date:      Fri Mar 02 07:40:18 2001 +0000

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

diffstat:

 sys/arch/sparc64/include/frame.h |  22 +++++++++++++++++++---
 1 files changed, 19 insertions(+), 3 deletions(-)

diffs (50 lines):

diff -r 59300f1872d6 -r 335d0a8be260 sys/arch/sparc64/include/frame.h
--- a/sys/arch/sparc64/include/frame.h  Fri Mar 02 07:36:57 2001 +0000
+++ b/sys/arch/sparc64/include/frame.h  Fri Mar 02 07:40:18 2001 +0000
@@ -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 @@
        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 @@
  */
 #define CCFSZ          96
 
-
 /*
  * Sparc v9 stack frame format.
  *



Home | Main Index | Thread Index | Old Index