Module Name:    src
Committed By:   matt
Date:           Wed Mar 16 21:15:30 UTC 2011

Modified Files:
        src/sys/arch/powerpc/powerpc: compat_13_machdep.c compat_16_machdep.c
            core_machdep.c darwin_machdep.c mach_machdep.c powerpc_machdep.c
            process_machdep.c sig_machdep.c syscall.c trap.c

Log Message:
Use l->l_md.md_utf in preference to trapframe(l).  This shrink the kernel
just a bit in size.


To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.19 src/sys/arch/powerpc/powerpc/compat_13_machdep.c
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/powerpc/powerpc/compat_16_machdep.c
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/powerpc/powerpc/core_machdep.c
cvs rdiff -u -r1.29 -r1.30 src/sys/arch/powerpc/powerpc/darwin_machdep.c \
    src/sys/arch/powerpc/powerpc/process_machdep.c
cvs rdiff -u -r1.30 -r1.31 src/sys/arch/powerpc/powerpc/mach_machdep.c
cvs rdiff -u -r1.46 -r1.47 src/sys/arch/powerpc/powerpc/powerpc_machdep.c \
    src/sys/arch/powerpc/powerpc/syscall.c
cvs rdiff -u -r1.39 -r1.40 src/sys/arch/powerpc/powerpc/sig_machdep.c
cvs rdiff -u -r1.138 -r1.139 src/sys/arch/powerpc/powerpc/trap.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/powerpc/powerpc/compat_13_machdep.c
diff -u src/sys/arch/powerpc/powerpc/compat_13_machdep.c:1.18 src/sys/arch/powerpc/powerpc/compat_13_machdep.c:1.19
--- src/sys/arch/powerpc/powerpc/compat_13_machdep.c:1.18	Tue Jan 18 01:02:55 2011
+++ src/sys/arch/powerpc/powerpc/compat_13_machdep.c	Wed Mar 16 21:15:29 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: compat_13_machdep.c,v 1.18 2011/01/18 01:02:55 matt Exp $	*/
+/*	$NetBSD: compat_13_machdep.c,v 1.19 2011/03/16 21:15:29 matt Exp $	*/
 
 /*
  * Copyright (C) 1995, 1996 Wolfgang Solfrank.
@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: compat_13_machdep.c,v 1.18 2011/01/18 01:02:55 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: compat_13_machdep.c,v 1.19 2011/03/16 21:15:29 matt Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_ppcarch.h"
@@ -58,9 +58,9 @@
 	/* {
 		syscallarg(struct sigcontext13 *) sigcntxp;
 	} */
-	struct proc *p = l->l_proc;
+	struct proc * const p = l->l_proc;
+	struct trapframe * const tf = l->l_md.md_utf;
 	struct sigcontext13 sc;
-	struct trapframe *tf;
 	int error;
 	sigset_t mask;
 
@@ -72,8 +72,6 @@
 	if ((error = copyin(SCARG(uap, sigcntxp), &sc, sizeof sc)) != 0)
 		return (error);
 
-	/* Restore the register context. */
-	tf = trapframe(l);
 	if (!PSL_USEROK_P(sc.sc_frame.srr1))
 		return (EINVAL);
 

Index: src/sys/arch/powerpc/powerpc/compat_16_machdep.c
diff -u src/sys/arch/powerpc/powerpc/compat_16_machdep.c:1.16 src/sys/arch/powerpc/powerpc/compat_16_machdep.c:1.17
--- src/sys/arch/powerpc/powerpc/compat_16_machdep.c:1.16	Tue Jan 18 01:02:55 2011
+++ src/sys/arch/powerpc/powerpc/compat_16_machdep.c	Wed Mar 16 21:15:29 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: compat_16_machdep.c,v 1.16 2011/01/18 01:02:55 matt Exp $	*/
+/*	$NetBSD: compat_16_machdep.c,v 1.17 2011/03/16 21:15:29 matt Exp $	*/
 
 /*
  * Copyright (C) 1995, 1996 Wolfgang Solfrank.
@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: compat_16_machdep.c,v 1.16 2011/01/18 01:02:55 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: compat_16_machdep.c,v 1.17 2011/03/16 21:15:29 matt Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_compat_netbsd.h"
@@ -61,18 +61,17 @@
 void
 sendsig_sigcontext(const ksiginfo_t *ksi, const sigset_t *mask)
 {
-	struct lwp *l = curlwp;
-	struct proc *p = l->l_proc;
-	struct sigacts *ps = p->p_sigacts;
+	struct lwp * const l = curlwp;
+	struct proc * const p = l->l_proc;
+	struct sigacts * const ps = p->p_sigacts;
 	struct sigcontext *fp, frame;
-	struct trapframe *tf;
-	struct utrapframe *utf = &frame.sc_frame;
+	struct trapframe * const tf = l->l_md.md_utf;
+	struct utrapframe * const utf = &frame.sc_frame;
 	int onstack, error;
 	int sig = ksi->ksi_signo;
 	u_long code = KSI_TRAPCODE(ksi);
 	sig_t catcher = SIGACTION(p, sig).sa_handler;
 
-	tf = trapframe(l);
 
 	/* Do we need to jump onto the signal stack? */
 	onstack =
@@ -196,7 +195,7 @@
 		return (error);
 
 	/* Restore the register context. */
-	struct trapframe * const tf = trapframe(l);
+	struct trapframe * const tf = l->l_md.md_utf;
 
 	/*
 	 * Make sure SRR1 hasn't been maliciously tampered with.

Index: src/sys/arch/powerpc/powerpc/core_machdep.c
diff -u src/sys/arch/powerpc/powerpc/core_machdep.c:1.5 src/sys/arch/powerpc/powerpc/core_machdep.c:1.6
--- src/sys/arch/powerpc/powerpc/core_machdep.c:1.5	Tue Jan 18 01:02:55 2011
+++ src/sys/arch/powerpc/powerpc/core_machdep.c	Wed Mar 16 21:15:30 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: core_machdep.c,v 1.5 2011/01/18 01:02:55 matt Exp $	*/
+/*	$NetBSD: core_machdep.c,v 1.6 2011/03/16 21:15:30 matt Exp $	*/
 
 /*
  * Copyright (C) 1995, 1996 Wolfgang Solfrank.
@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: core_machdep.c,v 1.5 2011/01/18 01:02:55 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: core_machdep.c,v 1.6 2011/03/16 21:15:30 matt Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_altivec.h"
@@ -76,7 +76,7 @@
 		return 0;
 	}
 
-	md_core.frame = *trapframe(l);
+	md_core.frame = *l->l_md.md_utf;
 	if (l->l_md.md_flags & MDLWP_OWNFPU) {
 #ifdef PPC_HAVE_FPU
 		fpu_save_lwp(l, FPU_SAVE);

Index: src/sys/arch/powerpc/powerpc/darwin_machdep.c
diff -u src/sys/arch/powerpc/powerpc/darwin_machdep.c:1.29 src/sys/arch/powerpc/powerpc/darwin_machdep.c:1.30
--- src/sys/arch/powerpc/powerpc/darwin_machdep.c:1.29	Sat Feb 26 05:25:27 2011
+++ src/sys/arch/powerpc/powerpc/darwin_machdep.c	Wed Mar 16 21:15:30 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: darwin_machdep.c,v 1.29 2011/02/26 05:25:27 kiyohara Exp $ */
+/*	$NetBSD: darwin_machdep.c,v 1.30 2011/03/16 21:15:30 matt Exp $ */
 
 /*-
  * Copyright (c) 2002 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: darwin_machdep.c,v 1.29 2011/02/26 05:25:27 kiyohara Exp $");
+__KERNEL_RCSID(0, "$NetBSD: darwin_machdep.c,v 1.30 2011/03/16 21:15:30 matt Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -66,10 +66,10 @@
 void
 darwin_sendsig(const ksiginfo_t *ksi, const sigset_t *mask)
 {
-	struct lwp *l = curlwp;
-	struct proc *p = l->l_proc;
-	struct sigacts *ps = p->p_sigacts;
-	struct trapframe *tf;
+	struct lwp * const l = curlwp;
+	struct proc * const p = l->l_proc;
+	struct sigacts * const ps = p->p_sigacts;
+	struct trapframe * const tf = l->l_md.md_utf;
 	struct darwin_sigframe *sfp, sf;
 	int onstack;
 	size_t stack_size;
@@ -77,7 +77,6 @@
 	int sig;
 	int error;
 
-	tf = trapframe(l);
 
 	sig = ksi->ksi_signo;
 	catcher = SIGACTION(p, sig).sa_handler;
@@ -191,7 +190,7 @@
 	} */
 	struct darwin_ucontext uctx;
 	struct darwin_mcontext mctx;
-	struct trapframe *tf;
+	struct trapframe * const tf = l->l_md.md_utf;
 	sigset_t mask;
 	size_t mcsize;
 	int error;
@@ -213,9 +212,8 @@
 		return (error);
 
 	/* Check for security abuse */
-	tf = trapframe(l);
 	if (!PSL_USEROK_P(mctx.ss.srr1)) {
-		DPRINTF(("uctx.ss.srr1 = 0x%08x, rf->srr1 = 0x%08lx\n",
+		DPRINTF(("uctx.ss.srr1 = 0x%08x, tf->srr1 = 0x%08lx\n",
 		    mctx.ss.srr1, tf->tf_srr1));
 		return (EINVAL);
 	}
@@ -284,7 +282,7 @@
 {
 	struct lwp * const l = arg;
 	struct proc * const p = l->l_proc;
-	struct trapframe * const tf = trapframe(l);
+	struct trapframe * const tf = l->l_md.md_utf;
 
 	child_return(arg);
 
Index: src/sys/arch/powerpc/powerpc/process_machdep.c
diff -u src/sys/arch/powerpc/powerpc/process_machdep.c:1.29 src/sys/arch/powerpc/powerpc/process_machdep.c:1.30
--- src/sys/arch/powerpc/powerpc/process_machdep.c:1.29	Tue Jan 18 01:02:55 2011
+++ src/sys/arch/powerpc/powerpc/process_machdep.c	Wed Mar 16 21:15:30 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: process_machdep.c,v 1.29 2011/01/18 01:02:55 matt Exp $	*/
+/*	$NetBSD: process_machdep.c,v 1.30 2011/03/16 21:15:30 matt Exp $	*/
 
 /*
  * Copyright (C) 1995, 1996 Wolfgang Solfrank.
@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: process_machdep.c,v 1.29 2011/01/18 01:02:55 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: process_machdep.c,v 1.30 2011/03/16 21:15:30 matt Exp $");
 
 #include "opt_altivec.h"
 
@@ -52,7 +52,7 @@
 int
 process_read_regs(struct lwp *l, struct reg *regs)
 {
-	struct trapframe * const tf = trapframe(l);
+	struct trapframe * const tf = l->l_md.md_utf;
 
 	memcpy(regs->fixreg, tf->tf_fixreg, sizeof(regs->fixreg));
 	regs->lr = tf->tf_lr;
@@ -67,7 +67,7 @@
 int
 process_write_regs(struct lwp *l, const struct reg *regs)
 {
-	struct trapframe * const tf = trapframe(l);
+	struct trapframe * const tf = l->l_md.md_utf;
 
 	memcpy(tf->tf_fixreg, regs->fixreg, sizeof(regs->fixreg));
 	tf->tf_lr = regs->lr;
@@ -121,7 +121,7 @@
 int
 process_set_pc(struct lwp *l, void *addr)
 {
-	struct trapframe * const tf = trapframe(l);
+	struct trapframe * const tf = l->l_md.md_utf;
 	
 	tf->tf_srr0 = (register_t)addr;
 
@@ -131,7 +131,7 @@
 int
 process_sstep(struct lwp *l, int sstep)
 {
-	struct trapframe *tf = trapframe(l);
+	struct trapframe * const tf = l->l_md.md_utf;
 	
 	if (sstep)
 		tf->tf_srr1 |= PSL_SE;

Index: src/sys/arch/powerpc/powerpc/mach_machdep.c
diff -u src/sys/arch/powerpc/powerpc/mach_machdep.c:1.30 src/sys/arch/powerpc/powerpc/mach_machdep.c:1.31
--- src/sys/arch/powerpc/powerpc/mach_machdep.c:1.30	Sat Feb 26 05:23:22 2011
+++ src/sys/arch/powerpc/powerpc/mach_machdep.c	Wed Mar 16 21:15:30 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: mach_machdep.c,v 1.30 2011/02/26 05:23:22 kiyohara Exp $ */
+/*	$NetBSD: mach_machdep.c,v 1.31 2011/03/16 21:15:30 matt Exp $ */
 
 /*-
  * Copyright (c) 2002 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: mach_machdep.c,v 1.30 2011/02/26 05:23:22 kiyohara Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mach_machdep.c,v 1.31 2011/03/16 21:15:30 matt Exp $");
 
 #include "opt_ppcarch.h"
 #include <sys/param.h>
@@ -81,18 +81,15 @@
 void
 mach_create_thread_child(void *arg)
 {
-	struct mach_create_thread_child_args *mctc;
-	struct lwp *l;
-	struct trapframe *tf;
+	struct mach_create_thread_child_args * const mctc = arg;
+	struct lwp * const l = mctc->mctc_lwp;
+	struct trapframe * const tf = l->l_md.md_utf;
 	struct exec_macho_powerpc_thread_state *regs;
 
 #ifdef DEBUG_MACH
 	printf("entering mach_create_thread_child\n");
 #endif
 
-	mctc = (struct mach_create_thread_child_args *)arg;
-	l = mctc->mctc_lwp;
-
 	if (mctc->mctc_flavor != MACHO_POWERPC_THREAD_STATE) {
 		mctc->mctc_child_done = 1;
 		wakeup(&mctc->mctc_child_done);	
@@ -101,7 +98,6 @@
 		mutex_exit(proc_lock);
 	}
 	
-	tf = trapframe(l);
 	regs = (struct exec_macho_powerpc_thread_state *)mctc->mctc_state;
 
 	/* 

Index: src/sys/arch/powerpc/powerpc/powerpc_machdep.c
diff -u src/sys/arch/powerpc/powerpc/powerpc_machdep.c:1.46 src/sys/arch/powerpc/powerpc/powerpc_machdep.c:1.47
--- src/sys/arch/powerpc/powerpc/powerpc_machdep.c:1.46	Fri Mar  4 22:25:28 2011
+++ src/sys/arch/powerpc/powerpc/powerpc_machdep.c	Wed Mar 16 21:15:30 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: powerpc_machdep.c,v 1.46 2011/03/04 22:25:28 joerg Exp $	*/
+/*	$NetBSD: powerpc_machdep.c,v 1.47 2011/03/16 21:15:30 matt Exp $	*/
 
 /*
  * Copyright (C) 1995, 1996 Wolfgang Solfrank.
@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: powerpc_machdep.c,v 1.46 2011/03/04 22:25:28 joerg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: powerpc_machdep.c,v 1.47 2011/03/16 21:15:30 matt Exp $");
 
 #include "opt_altivec.h"
 #include "opt_modular.h"
@@ -69,9 +69,9 @@
 void
 setregs(struct lwp *l, struct exec_package *pack, vaddr_t stack)
 {
-	struct proc *p = l->l_proc;
-	struct trapframe *tf = trapframe(l);
-	struct pcb *pcb = lwp_getpcb(l);
+	struct proc * const p = l->l_proc;
+	struct trapframe * const tf = l->l_md.md_utf;
+	struct pcb * const pcb = lwp_getpcb(l);
 	struct ps_strings arginfo;
 
 	memset(tf, 0, sizeof *tf);
@@ -283,9 +283,7 @@
 cpu_upcall(struct lwp *l, int type, int nevents, int ninterrupted,
 	void *sas, void *ap, void *sp, sa_upcall_t upcall)
 {
-	struct trapframe *tf;
-
-	tf = trapframe(l);
+	struct trapframe * const tf = l->l_md.md_utf;
 
 	/*
 	 * Build context to run handler in.
Index: src/sys/arch/powerpc/powerpc/syscall.c
diff -u src/sys/arch/powerpc/powerpc/syscall.c:1.46 src/sys/arch/powerpc/powerpc/syscall.c:1.47
--- src/sys/arch/powerpc/powerpc/syscall.c:1.46	Tue Jan 18 01:02:55 2011
+++ src/sys/arch/powerpc/powerpc/syscall.c	Wed Mar 16 21:15:30 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: syscall.c,v 1.46 2011/01/18 01:02:55 matt Exp $	*/
+/*	$NetBSD: syscall.c,v 1.47 2011/03/16 21:15:30 matt Exp $	*/
 
 /*
  * Copyright (C) 2002 Matt Thomas
@@ -64,13 +64,13 @@
 #define EMULNAME(x)	(x)
 #define EMULNAMEU(x)	(x)
 
-__KERNEL_RCSID(0, "$NetBSD: syscall.c,v 1.46 2011/01/18 01:02:55 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: syscall.c,v 1.47 2011/03/16 21:15:30 matt Exp $");
 
 void
 child_return(void *arg)
 {
 	struct lwp * const l = arg;
-	struct trapframe * const tf = trapframe(l);
+	struct trapframe * const tf = l->l_md.md_utf;
 
 	tf->tf_fixreg[FIRSTARG] = 0;
 	tf->tf_fixreg[FIRSTARG + 1] = 1;

Index: src/sys/arch/powerpc/powerpc/sig_machdep.c
diff -u src/sys/arch/powerpc/powerpc/sig_machdep.c:1.39 src/sys/arch/powerpc/powerpc/sig_machdep.c:1.40
--- src/sys/arch/powerpc/powerpc/sig_machdep.c:1.39	Mon Feb  7 09:39:48 2011
+++ src/sys/arch/powerpc/powerpc/sig_machdep.c	Wed Mar 16 21:15:30 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: sig_machdep.c,v 1.39 2011/02/07 09:39:48 matt Exp $	*/
+/*	$NetBSD: sig_machdep.c,v 1.40 2011/03/16 21:15:30 matt Exp $	*/
 
 /*
  * Copyright (C) 1995, 1996 Wolfgang Solfrank.
@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sig_machdep.c,v 1.39 2011/02/07 09:39:48 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sig_machdep.c,v 1.40 2011/03/16 21:15:30 matt Exp $");
 
 #include "opt_ppcarch.h"
 #include "opt_altivec.h"
@@ -147,7 +147,7 @@
 void
 cpu_getmcontext(struct lwp *l, mcontext_t *mcp, unsigned int *flagp)
 {
-	const struct trapframe * const tf = trapframe(l);
+	const struct trapframe * const tf = l->l_md.md_utf;
 	__greg_t * const gr = mcp->__gregs;
 #if defined(PPC_HAVE_FPU)
 	struct pcb * const pcb = lwp_getpcb(l);
@@ -188,7 +188,7 @@
 int
 cpu_setmcontext(struct lwp *l, const mcontext_t *mcp, unsigned int flags)
 {
-	struct trapframe * const tf = trapframe(l);
+	struct trapframe * const tf = l->l_md.md_utf;
 	const __greg_t * const gr = mcp->__gregs;
 
 	/* Restore GPR context, if any. */

Index: src/sys/arch/powerpc/powerpc/trap.c
diff -u src/sys/arch/powerpc/powerpc/trap.c:1.138 src/sys/arch/powerpc/powerpc/trap.c:1.139
--- src/sys/arch/powerpc/powerpc/trap.c:1.138	Tue Jan 18 01:02:55 2011
+++ src/sys/arch/powerpc/powerpc/trap.c	Wed Mar 16 21:15:30 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: trap.c,v 1.138 2011/01/18 01:02:55 matt Exp $	*/
+/*	$NetBSD: trap.c,v 1.139 2011/03/16 21:15:30 matt Exp $	*/
 
 /*
  * Copyright (C) 1995, 1996 Wolfgang Solfrank.
@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: trap.c,v 1.138 2011/01/18 01:02:55 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: trap.c,v 1.139 2011/03/16 21:15:30 matt Exp $");
 
 #include "opt_altivec.h"
 #include "opt_ddb.h"
@@ -96,8 +96,8 @@
 
 	ci->ci_ev_traps.ev_count++;
 
-	KASSERTMSG(!usertrap || tf == trapframe(l),
-	    ("trap: tf=%p is invalid: trapframe(%p)=%p", tf, l, trapframe(l)));
+	KASSERTMSG(!usertrap || tf == l->l_md.md_utf,
+	    ("trap: tf=%p is invalid: trapframe(%p)=%p", tf, l, l->l_md.md_utf));
 
 	if (usertrap) {
 		type |= EXC_USER;
@@ -914,9 +914,9 @@
 void
 startlwp(void *arg)
 {
-	ucontext_t *uc = arg;
-	lwp_t *l = curlwp;
-	struct trapframe *tf = trapframe(l);
+	ucontext_t * const uc = arg;
+	lwp_t * const l = curlwp;
+	struct trapframe * const tf = l->l_md.md_utf;
 	int error;
 
 	error = cpu_setmcontext(l, &uc->uc_mcontext, uc->uc_flags);
@@ -929,7 +929,7 @@
 void
 upcallret(struct lwp *l)
 {
-        struct trapframe *tf = trapframe(l);
+        struct trapframe * const tf = l->l_md.md_utf;
 
 	KERNEL_UNLOCK_LAST(l);
 	userret(l, tf);

Reply via email to