Source-Changes-HG archive

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

[src/trunk]: src/sys/arch/usermode/include Add trapframe and extent pcb for N...



details:   https://anonhg.NetBSD.org/src/rev/dd1dcf332f3e
branches:  trunk
changeset: 768703:dd1dcf332f3e
user:      reinoud <reinoud%NetBSD.org@localhost>
date:      Thu Aug 25 14:24:48 2011 +0000

description:
Add trapframe and extent pcb for NetBSD/usermode; both mere dummies since
there are no traps delivered nor a process has ever been started...

diffstat:

 sys/arch/usermode/include/pcb.h |  16 +++++++++++++++-
 1 files changed, 15 insertions(+), 1 deletions(-)

diffs (33 lines):

diff -r 5e6095a50575 -r dd1dcf332f3e sys/arch/usermode/include/pcb.h
--- a/sys/arch/usermode/include/pcb.h   Thu Aug 25 11:45:25 2011 +0000
+++ b/sys/arch/usermode/include/pcb.h   Thu Aug 25 14:24:48 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: pcb.h,v 1.3 2011/08/12 00:57:24 jmcneill Exp $ */
+/* $NetBSD: pcb.h,v 1.4 2011/08/25 14:24:48 reinoud Exp $ */
 
 /*-
  * Copyright (c) 2007 Jared D. McNeill <jmcneill%invisible.ca@localhost>
@@ -32,9 +32,23 @@
 #include <sys/cdefs.h>
 #include <sys/ucontext.h>
 
+/*
+ * Trap frame.  Pushed onto the kernel stack on a trap (synchronous exception).
+ * XXX move to frame.h?
+ */
+
+typedef struct trapframe {
+       int             tf_reason;      /* XXX unused */
+       vaddr_t         tf_pc;          /* return address */
+       uintptr_t       tf_out[8];      /* to transport info */
+} trapframe_t;
+
+
 struct pcb {
        ucontext_t      pcb_ucp;
        bool            pcb_needfree;
+       struct trapframe *pcb_tf;       /* XXX */
+       void *          pcb_onfault;    /* on fault handler */
 };
 
 #endif /* !_ARCH_USERMODE_INCLUDE_PCB_H */



Home | Main Index | Thread Index | Old Index