Source-Changes-HG archive

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

[src/trunk]: src/sys/arch/arm26/include Add some infrstructure to support sav...



details:   https://anonhg.NetBSD.org/src/rev/58cdbe945396
branches:  trunk
changeset: 502106:58cdbe945396
user:      bjh21 <bjh21%NetBSD.org@localhost>
date:      Thu Jan 11 22:03:52 2001 +0000

description:
Add some infrstructure to support saving FPU state.

diffstat:

 sys/arch/arm26/include/frame.h |  12 ++++++++++--
 sys/arch/arm26/include/pcb.h   |  13 +++++++++----
 2 files changed, 19 insertions(+), 6 deletions(-)

diffs (66 lines):

diff -r 7d025e9d9a1e -r 58cdbe945396 sys/arch/arm26/include/frame.h
--- a/sys/arch/arm26/include/frame.h    Thu Jan 11 21:52:25 2001 +0000
+++ b/sys/arch/arm26/include/frame.h    Thu Jan 11 22:03:52 2001 +0000
@@ -1,5 +1,4 @@
-/* $NetBSD: frame.h,v 1.1 2000/05/09 21:55:59 bjh21 Exp $ */
-/*     $NetBSD: frame.h,v 1.1 2000/05/09 21:55:59 bjh21 Exp $  */
+/*     $NetBSD: frame.h,v 1.2 2001/01/11 22:03:52 bjh21 Exp $  */
 
 /*
  * Copyright (c) 1999 Ben Harris.
@@ -143,6 +142,15 @@
        register_t      sf_r13; /* Stack pointer */
        register_t      sf_r14; /* Return address */
 };
+
+/*
+ * Floating-point frame.  Stores the state of the FPU.
+ */
+
+struct fpframe {
+       register_t      ff_fpsr;
+       register_t      ff_regs[8*3];
+};
  
 /*
  * Stack frame. Used during stack traces (db_trace.c)
diff -r 7d025e9d9a1e -r 58cdbe945396 sys/arch/arm26/include/pcb.h
--- a/sys/arch/arm26/include/pcb.h      Thu Jan 11 21:52:25 2001 +0000
+++ b/sys/arch/arm26/include/pcb.h      Thu Jan 11 22:03:52 2001 +0000
@@ -1,4 +1,5 @@
-/* $NetBSD: pcb.h,v 1.1 2000/05/09 21:56:00 bjh21 Exp $ */
+/* $NetBSD: pcb.h,v 1.2 2001/01/11 22:03:52 bjh21 Exp $ */
+
 /*-
  * Copyright (c) 2000 Ben Harris
  * All rights reserved.
@@ -26,16 +27,21 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 /* This file is part of NetBSD/arm26 -- a port of NetBSD to ARM2/3 machines. */
+/*
+ * pcb.h - The machine-dependent part of the user structure.
+ */
 
 #ifndef _ARM26_PCB_H
 #define _ARM26_PCB_H
 
-struct trapframe;
-struct switchframe;
+#include <machine/frame.h>
 
 struct pcb {
+       u_int   pcb_flags;
+#define PCB_OWNFPU     0x00000001
        struct  trapframe *pcb_tf;
        struct  switchframe *pcb_sf;
+       struct  fpframe pcb_ff;
        void    *pcb_onfault;  /* return here after failed page fault */
        label_t *pcb_onfault_lj; /* longjmp here ditto */
        label_t *pcb_onundef_lj; /* longjmp here on undefined instruction */
@@ -48,5 +54,4 @@
 struct md_coredump {
 };
 
-
 #endif



Home | Main Index | Thread Index | Old Index