Module Name:    src
Committed By:   matt
Date:           Mon Sep  7 21:54:39 UTC 2009

Modified Files:
        src/sys/arch/mips/mips [matt-nb5-mips64]: db_interface.c db_trace.c
            genassym.cf vm_machdep.c

Log Message:
Use the new symbolic constants for label_t.
Use label_t where appropriate.
Add some LP64 KASSERTs


To generate a diff of this commit:
cvs rdiff -u -r1.64.16.3 -r1.64.16.4 src/sys/arch/mips/mips/db_interface.c
cvs rdiff -u -r1.35.38.2 -r1.35.38.3 src/sys/arch/mips/mips/db_trace.c
cvs rdiff -u -r1.44.12.5 -r1.44.12.6 src/sys/arch/mips/mips/genassym.cf
cvs rdiff -u -r1.121.6.1.2.3 -r1.121.6.1.2.4 \
    src/sys/arch/mips/mips/vm_machdep.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/mips/mips/db_interface.c
diff -u src/sys/arch/mips/mips/db_interface.c:1.64.16.3 src/sys/arch/mips/mips/db_interface.c:1.64.16.4
--- src/sys/arch/mips/mips/db_interface.c:1.64.16.3	Sun Sep  6 23:01:59 2009
+++ src/sys/arch/mips/mips/db_interface.c	Mon Sep  7 21:54:39 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: db_interface.c,v 1.64.16.3 2009/09/06 23:01:59 matt Exp $	*/
+/*	$NetBSD: db_interface.c,v 1.64.16.4 2009/09/07 21:54:39 matt Exp $	*/
 
 /*
  * Mach Operating System
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.64.16.3 2009/09/06 23:01:59 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.64.16.4 2009/09/07 21:54:39 matt Exp $");
 
 #include "opt_cputype.h"	/* which mips CPUs do we support? */
 #include "opt_ddb.h"
@@ -62,7 +62,7 @@
 
 int		db_active = 0;
 db_regs_t	ddb_regs;
-mips_reg_t	kdbaux[11]; /* XXX struct switchframe: better inside curpcb? XXX */
+label_t		kdbaux; /* XXX struct switchframe: better inside curpcb? XXX */
 
 void db_tlbdump_cmd(db_expr_t, bool, db_expr_t, const char *);
 void db_kvtophys_cmd(db_expr_t, bool, db_expr_t, const char *);
@@ -201,17 +201,18 @@
 		tfp[TF_MULLO] = f->f_regs[_R_MULLO];
 		tfp[TF_MULHI] = f->f_regs[_R_MULHI];
 		tfp[TF_EPC] = f->f_regs[_R_PC];
-		kdbaux[0] = f->f_regs[_R_S0];
-		kdbaux[1] = f->f_regs[_R_S1];
-		kdbaux[2] = f->f_regs[_R_S2];
-		kdbaux[3] = f->f_regs[_R_S3];
-		kdbaux[4] = f->f_regs[_R_S4];
-		kdbaux[5] = f->f_regs[_R_S5];
-		kdbaux[6] = f->f_regs[_R_S6];
-		kdbaux[7] = f->f_regs[_R_S7];
-		kdbaux[8] = f->f_regs[_R_SP];
-		kdbaux[9] = f->f_regs[_R_S8];
-		kdbaux[10] = f->f_regs[_R_GP];
+		kdbaux.val[_L_S0] = f->f_regs[_R_S0];
+		kdbaux.val[_L_S1] = f->f_regs[_R_S1];
+		kdbaux.val[_L_S2] = f->f_regs[_R_S2];
+		kdbaux.val[_L_S3] = f->f_regs[_R_S3];
+		kdbaux.val[_L_S4] = f->f_regs[_R_S4];
+		kdbaux.val[_L_S5] = f->f_regs[_R_S5];
+		kdbaux.val[_L_S6] = f->f_regs[_R_S6];
+		kdbaux.val[_L_S7] = f->f_regs[_R_S7];
+		kdbaux.val[_L_GP] = f->f_regs[_R_GP];
+		kdbaux.val[_L_SP] = f->f_regs[_R_SP];
+		kdbaux.val[_L_S8] = f->f_regs[_R_S8];
+		kdbaux.val[_L_SR] = f->f_regs[_R_SR];
 	}
 
 	return (1);
@@ -258,17 +259,17 @@
 		f->f_regs[_R_MULLO] = tfp[TF_MULLO];
 		f->f_regs[_R_MULHI] = tfp[TF_MULHI];
 		f->f_regs[_R_PC] = tfp[TF_EPC];
-		f->f_regs[_R_S0] = kdbaux[0];
-		f->f_regs[_R_S1] = kdbaux[1];
-		f->f_regs[_R_S2] = kdbaux[2];
-		f->f_regs[_R_S3] = kdbaux[3];
-		f->f_regs[_R_S4] = kdbaux[4];
-		f->f_regs[_R_S5] = kdbaux[5];
-		f->f_regs[_R_S6] = kdbaux[6];
-		f->f_regs[_R_S7] = kdbaux[7];
-		f->f_regs[_R_SP] = kdbaux[8];
-		f->f_regs[_R_S8] = kdbaux[9];
-		f->f_regs[_R_GP] = kdbaux[10];
+		f->f_regs[_R_S0] = kdbaux.val[_L_S0];
+		f->f_regs[_R_S1] = kdbaux.val[_L_S1];
+		f->f_regs[_R_S2] = kdbaux.val[_L_S2];
+		f->f_regs[_R_S3] = kdbaux.val[_L_S3];
+		f->f_regs[_R_S4] = kdbaux.val[_L_S4];
+		f->f_regs[_R_S5] = kdbaux.val[_L_S5];
+		f->f_regs[_R_S6] = kdbaux.val[_L_S6];
+		f->f_regs[_R_S7] = kdbaux.val[_L_S7];
+		f->f_regs[_R_GP] = kdbaux.val[_L_GP];
+		f->f_regs[_R_SP] = kdbaux.val[_L_SP];
+		f->f_regs[_R_S8] = kdbaux.val[_L_S8];
 	}
 }
 

Index: src/sys/arch/mips/mips/db_trace.c
diff -u src/sys/arch/mips/mips/db_trace.c:1.35.38.2 src/sys/arch/mips/mips/db_trace.c:1.35.38.3
--- src/sys/arch/mips/mips/db_trace.c:1.35.38.2	Sun Aug 23 04:38:34 2009
+++ src/sys/arch/mips/mips/db_trace.c	Mon Sep  7 21:54:39 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: db_trace.c,v 1.35.38.2 2009/08/23 04:38:34 uebayasi Exp $	*/
+/*	$NetBSD: db_trace.c,v 1.35.38.3 2009/09/07 21:54:39 matt Exp $	*/
 
 /*
  * Mach Operating System
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: db_trace.c,v 1.35.38.2 2009/08/23 04:38:34 uebayasi Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_trace.c,v 1.35.38.3 2009/09/07 21:54:39 matt Exp $");
 
 #include "opt_ddb.h"
 
@@ -177,9 +177,9 @@
 
 	stacktrace_subr(0,0,0,0,	/* no args known */
 			(vaddr_t)cpu_switchto,
-			pcb->pcb_context[8],
-			pcb->pcb_context[9],
-			pcb->pcb_context[10],
+			pcb->pcb_context.val[_L_SP],
+			pcb->pcb_context.val[_L_S8],
+			pcb->pcb_context.val[_L_RA],
 			pr);
 #else
 /*

Index: src/sys/arch/mips/mips/genassym.cf
diff -u src/sys/arch/mips/mips/genassym.cf:1.44.12.5 src/sys/arch/mips/mips/genassym.cf:1.44.12.6
--- src/sys/arch/mips/mips/genassym.cf:1.44.12.5	Sun Sep  6 23:01:04 2009
+++ src/sys/arch/mips/mips/genassym.cf	Mon Sep  7 21:54:39 2009
@@ -1,4 +1,4 @@
-#	$NetBSD: genassym.cf,v 1.44.12.5 2009/09/06 23:01:04 matt Exp $
+#	$NetBSD: genassym.cf,v 1.44.12.6 2009/09/07 21:54:39 matt Exp $
 #
 # Copyright (c) 1992, 1993
 #	The Regents of the University of California.  All rights reserved.
@@ -118,6 +118,7 @@
 
 define	VM_MIN_ADDRESS		VM_MIN_ADDRESS
 define	VM_MIN_KERNEL_ADDRESS	VM_MIN_KERNEL_ADDRESS
+define	VM_MAX_KERNEL_ADDRESS	VM_MAX_KERNEL_ADDRESS
 
 define	UVMEXP_SWTCH		offsetof(struct uvmexp, swtch)
 
@@ -291,19 +292,19 @@
 define	TF_PAD		offsetof(struct trapframe, tf_pad)
 
 define	CTXSWFRAME_SIZ	sizeof(label_t)
-define	SF_REG_GP	offsetof(label_t, val[12])
-define	SF_REG_SR	offsetof(label_t, val[11])
-define	SF_REG_RA	offsetof(label_t, val[10])
-define	SF_REG_S0	offsetof(label_t, val[0])
-define	SF_REG_S1	offsetof(label_t, val[1])
-define	SF_REG_S2	offsetof(label_t, val[2])
-define	SF_REG_S3	offsetof(label_t, val[3])
-define	SF_REG_S4	offsetof(label_t, val[4])
-define	SF_REG_S5	offsetof(label_t, val[5])
-define	SF_REG_S6	offsetof(label_t, val[6])
-define	SF_REG_S7	offsetof(label_t, val[7])
-define	SF_REG_SP	offsetof(label_t, val[8])
-define	SF_REG_S8	offsetof(label_t, val[9])
+define	SF_REG_S0	offsetof(label_t, val[_L_S0])
+define	SF_REG_S1	offsetof(label_t, val[_L_S1])
+define	SF_REG_S2	offsetof(label_t, val[_L_S2])
+define	SF_REG_S3	offsetof(label_t, val[_L_S3])
+define	SF_REG_S4	offsetof(label_t, val[_L_S4])
+define	SF_REG_S5	offsetof(label_t, val[_L_S5])
+define	SF_REG_S6	offsetof(label_t, val[_L_S6])
+define	SF_REG_S7	offsetof(label_t, val[_L_S7])
+define	SF_REG_GP	offsetof(label_t, val[_L_GP])
+define	SF_REG_SP	offsetof(label_t, val[_L_SP])
+define	SF_REG_S8	offsetof(label_t, val[_L_S8])
+define	SF_REG_RA	offsetof(label_t, val[_L_RA])
+define	SF_REG_SR	offsetof(label_t, val[_L_SR])
 
 define	MTX_OWNER	offsetof(struct kmutex, mtx_owner)
 define	MTX_LOCK	offsetof(struct kmutex, mtx_lock)

Index: src/sys/arch/mips/mips/vm_machdep.c
diff -u src/sys/arch/mips/mips/vm_machdep.c:1.121.6.1.2.3 src/sys/arch/mips/mips/vm_machdep.c:1.121.6.1.2.4
--- src/sys/arch/mips/mips/vm_machdep.c:1.121.6.1.2.3	Sun Sep  6 22:57:11 2009
+++ src/sys/arch/mips/mips/vm_machdep.c	Mon Sep  7 21:54:39 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: vm_machdep.c,v 1.121.6.1.2.3 2009/09/06 22:57:11 matt Exp $	*/
+/*	$NetBSD: vm_machdep.c,v 1.121.6.1.2.4 2009/09/07 21:54:39 matt Exp $	*/
 
 /*
  * Copyright (c) 1992, 1993
@@ -80,7 +80,7 @@
 #include "opt_coredump.h"
 
 #include <sys/cdefs.h>			/* RCS ID & Copyright macro defns */
-__KERNEL_RCSID(0, "$NetBSD: vm_machdep.c,v 1.121.6.1.2.3 2009/09/06 22:57:11 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vm_machdep.c,v 1.121.6.1.2.4 2009/09/07 21:54:39 matt Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -171,11 +171,14 @@
 		l2->l_md.md_upte[i] = pte[i].pt_entry &~ x;
 
 	pcb = &l2->l_addr->u_pcb;
-	pcb->pcb_context[0] = (intptr_t)func;		/* S0 */
-	pcb->pcb_context[1] = (intptr_t)arg;		/* S1 */
-	pcb->pcb_context[MIPS_CURLWP_CARD - 16] = (intptr_t)l2;/* S? */
-	pcb->pcb_context[8] = (intptr_t)f;		/* SP */
-	pcb->pcb_context[10] = (intptr_t)lwp_trampoline;/* RA */
+	pcb->pcb_context.val[_L_S0] = (intptr_t)func;			/* S0 */
+	pcb->pcb_context.val[_L_S1] = (intptr_t)arg;			/* S1 */
+	pcb->pcb_context.val[MIPS_CURLWP_CARD - 16] = (intptr_t)l2;	/* S? */
+	pcb->pcb_context.val[_L_SP] = (intptr_t)f;			/* SP */
+	pcb->pcb_context.val[_L_RA] = (intptr_t)lwp_trampoline;		/* RA */
+#ifdef _LP64
+	KASSERT(pcb->pcb_context.val[_L_SR] & MIPS_SR_KX);
+#endif
 #ifdef IPL_ICU_MASK
 	pcb->pcb_ppl = 0;	/* machine dependent interrupt mask */
 #endif
@@ -188,18 +191,19 @@
 void
 cpu_setfunc(struct lwp *l, void (*func)(void *), void *arg)
 {
-	struct pcb *pcb;
-	struct frame *f;
+	struct pcb *pcb = &l->l_addr->u_pcb;
+	struct frame *f = l->l_md.md_regs;
 
-	f = (struct frame *)((char *)l->l_addr + USPACE) - 1;
-	KASSERT(l->l_md.md_regs == f);
+	KASSERT(f == (struct frame *)((char *)l->l_addr + USPACE) - 1);
 
-	pcb = &l->l_addr->u_pcb;
-	pcb->pcb_context[0] = (intptr_t)func;			/* S0 */
-	pcb->pcb_context[1] = (intptr_t)arg;			/* S1 */
-	pcb->pcb_context[MIPS_CURLWP_CARD - 16] = (intptr_t)l;	/* S? */
-	pcb->pcb_context[8] = (intptr_t)f;			/* SP */
-	pcb->pcb_context[10] = (intptr_t)setfunc_trampoline;	/* RA */
+	pcb->pcb_context.val[_L_S0] = (intptr_t)func;			/* S0 */
+	pcb->pcb_context.val[_L_S1] = (intptr_t)arg;			/* S1 */
+	pcb->pcb_context.val[MIPS_CURLWP_CARD - 16] = (intptr_t)l;	/* S? */
+	pcb->pcb_context.val[_L_SP] = (intptr_t)f;			/* SP */
+	pcb->pcb_context.val[_L_RA] = (intptr_t)setfunc_trampoline;	/* RA */
+#ifdef _LP64
+	KASSERT(pcb->pcb_context.val[_L_SR] & MIPS_SR_KX);
+#endif
 #ifdef IPL_ICU_MASK
 	pcb->pcb_ppl = 0;	/* machine depenedend interrupt mask */
 #endif

Reply via email to