Module Name:    src
Committed By:   matt
Date:           Wed Dec 29 00:50:29 UTC 2010

Modified Files:
        src/sys/arch/mips/mips [matt-nb5-mips64]: locore.S mips_emul.c
            mips_fputrap.c

Log Message:
Move from StudlyCaps to more normal names.


To generate a diff of this commit:
cvs rdiff -u -r1.167.38.21 -r1.167.38.22 src/sys/arch/mips/mips/locore.S
cvs rdiff -u -r1.14.78.11 -r1.14.78.12 src/sys/arch/mips/mips/mips_emul.c
cvs rdiff -u -r1.5.66.5 -r1.5.66.6 src/sys/arch/mips/mips/mips_fputrap.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/locore.S
diff -u src/sys/arch/mips/mips/locore.S:1.167.38.21 src/sys/arch/mips/mips/locore.S:1.167.38.22
--- src/sys/arch/mips/mips/locore.S:1.167.38.21	Wed Dec 22 06:13:36 2010
+++ src/sys/arch/mips/mips/locore.S	Wed Dec 29 00:50:29 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: locore.S,v 1.167.38.21 2010/12/22 06:13:36 matt Exp $	*/
+/*	$NetBSD: locore.S,v 1.167.38.22 2010/12/29 00:50:29 matt Exp $	*/
 
 /*
  * Copyright (c) 1992, 1993
@@ -575,23 +575,15 @@
 #if !defined(NOFPU) || defined(FPEMUL)
 /*----------------------------------------------------------------------------
  *
- * MachFPInterrupt --
- * MachFPTrap --
+ * mips_fpu_intr --
+ * mips_fpu_trap --
  *
  *	Handle a floating point interrupt (r3k) or trap (r4k).
  *	the handlers are indentical, only the reporting mechanisms differ.
  *
- *	MachFPInterrupt(status, cause, pc, frame)
- *		unsigned status;
- *		unsigned cause;
- *		unsigned pc;
- *		int *frame;
- *
- *	MachFPTrap(status, cause, pc, frame)
- *		unsigned status;
- *		unsigned cause;
- *		unsigned pc;
- *		int *frame;
+ *	mips_fpu_intr(vaddr_t pc, struct trapframe *tf)
+ *
+ *	mips_fpu_trap(vaddr_t pc, struct trapframe *tf)
  *
  * Results:
  *	None.
@@ -601,8 +593,8 @@
  *
  *----------------------------------------------------------------------------
  */
-NESTED(MachFPInterrupt, CALLFRAME_SIZ, ra)
-XNESTED(MachFPTrap)
+NESTED(mips_fpu_intr, CALLFRAME_SIZ, ra)
+XNESTED(mips_fpu_trap)
 	.mask	0x80000000, -4
 	PTR_SUBU	sp, CALLFRAME_SIZ
 	mfc0		t0, MIPS_COP_0_STATUS
@@ -611,12 +603,17 @@
 	mtc0		t0, MIPS_COP_0_STATUS
 	COP0_HAZARD_FPUENABLE
 
+	REG_PROLOGUE
+	REG_L		t3, TF_REG_CAUSE(a1)
+	REG_EPILOGUE
+
 	cfc1		t0, MIPS_FPU_CSR	# stall til FP done
 	cfc1		t0, MIPS_FPU_CSR	# now get status
 	nop
 	sll		t2, t0, (31 - 17)	# unimplemented operation?
 	bgez		t2, 3f			# no, normal trap
-	nop
+	 nop
+
 /*
  * We got an unimplemented operation trap so
  * We received an unimplemented operation trap.
@@ -626,21 +623,22 @@
  *
  * fetch the instruction and emulate the instruction.
  */
-	bgez		a1, 1f			# Check the branch delay bit.
-	nop
+	bgez		t3, 1f			# Check the branch delay bit.
+	 nop
 /*
  * The instruction is in the branch delay slot.
  */
+	move		a2, a0			# 3rd arg is opcode address
+
 	b		2f
-	lw		a0, 4(a2)		# a0 = coproc instruction
+	 INT_L		a0, 4(a0)		# a0 = coproc instruction
 /*
  * This is not in the branch delay slot so calculate the resulting
  * PC (epc + 4) into v0 and continue to MachEmulateFP().
  */
 1:
-	lw		a0, 4(a2)		# a0 = coproc instruction
+	INT_L		a0, 4(a0)		# a0 = coproc instruction
 2:
-	move		a2, a1
 
 /*
  * Check to see if the instruction to be emulated is a floating-point
@@ -648,24 +646,24 @@
  */
 	srl		t0, a0, MIPS_OPCODE_SHIFT
 	beq		t0, MIPS_OPCODE_C1, 4f
-	nop
+	 nop
 
 /*
  * Send a floating point exception signal to the current LWP.
  */
-	li		t0, 0xFFFFFF00
-	and		a1, a1, t0
-	ori		a1, a1, T_RES_INST << MIPS_CR_EXC_CODE_SHIFT
+	srl		t0, 8
+	sll		t0, 8
+	ori		t3, T_RES_INST << MIPS_CR_EXC_CODE_SHIFT
 	REG_PROLOGUE
-	REG_S		a1, TF_REG_CAUSE(a3)
+	REG_S		t3, TF_REG_CAUSE(a3)
 	REG_EPILOGUE
 
 	move		a1, a0				# code = instruction
 	jal		_C_LABEL(mips_fpuillinst)
-	move		a0, MIPS_CURLWP			# get current LWP
+	 move		a0, MIPS_CURLWP			# get current LWP
 
 	b		FPReturn
-	nop
+	 nop
 
 /*
  * Send a FPE signal to the current LWP if it tripped the any of
@@ -673,7 +671,7 @@
  */
 3:
 	REG_PROLOGUE
-	REG_S		a1, TF_REG_CAUSE(a3)
+	REG_S		t3, TF_REG_CAUSE(a3)
 	REG_EPILOGUE
 
 	and		a0, t0, ~MIPS_FPU_EXCEPTION_BITS
@@ -681,17 +679,18 @@
 
 	move		a1, t0			# FPU status
 	jal		_C_LABEL(mips_fpuexcept)
-	move		a0, MIPS_CURLWP		# get current LWP
+	 move		a0, MIPS_CURLWP		# get current LWP
 
 	b		FPReturn
-	nop
+	 nop
 
 /*
- * Finally, we can call MachEmulateFP() where a0 is the instruction to emulate.
+ * Finally, we can call
+ * mips_emul(uint32_t insn, struct trapframe *tf, vaddr_t pc).
  */
 4:
-	jal		_C_LABEL(MachEmulateFP)
-	move		a1, a3
+	jal		_C_LABEL(mips_emul_fp)
+	 nop
 
 /*
  * Turn off the floating point coprocessor and return.
@@ -699,12 +698,12 @@
 FPReturn:
 	mfc0		t0, MIPS_COP_0_STATUS
 	REG_L		ra, CALLFRAME_RA(sp)
-	and		t0, t0, ~MIPS_SR_COP_1_BIT
+	and		t0, ~MIPS_SR_COP_1_BIT
 	mtc0		t0, MIPS_COP_0_STATUS
 	COP0_SYNC
 	j		ra
-	PTR_ADDU	sp, CALLFRAME_SIZ
-END(MachFPInterrupt)
+	 PTR_ADDU	sp, CALLFRAME_SIZ
+END(mips_fpu_intr)
 #endif /* !defined(NOFPU) || defined(FPEMUL) */
 
 LEAF(mips_pagecopy)

Index: src/sys/arch/mips/mips/mips_emul.c
diff -u src/sys/arch/mips/mips/mips_emul.c:1.14.78.11 src/sys/arch/mips/mips/mips_emul.c:1.14.78.12
--- src/sys/arch/mips/mips/mips_emul.c:1.14.78.11	Tue Jun  1 19:10:45 2010
+++ src/sys/arch/mips/mips/mips_emul.c	Wed Dec 29 00:50:29 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: mips_emul.c,v 1.14.78.11 2010/06/01 19:10:45 matt Exp $ */
+/*	$NetBSD: mips_emul.c,v 1.14.78.12 2010/12/29 00:50:29 matt Exp $ */
 
 /*
  * Copyright (c) 1999 Shuichiro URATA.  All rights reserved.
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: mips_emul.c,v 1.14.78.11 2010/06/01 19:10:45 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mips_emul.c,v 1.14.78.12 2010/12/29 00:50:29 matt Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -43,49 +43,10 @@
 #include <mips/vmparam.h>			/* for VM_MAX_ADDRESS */
 #include <mips/trap.h>
 
-#if !defined(NOFPU) || defined(FPEMUL)
-void MachEmulateFP(uint32_t, struct reg *, uint32_t);
-#endif
-
 static inline void	send_sigsegv(intptr_t, uint32_t, struct trapframe *,
 			    uint32_t);
 static inline void	update_pc(struct trapframe *, uint32_t);
 
-vaddr_t MachEmulateBranch(struct trapframe *, vaddr_t, unsigned, int);
-void	MachEmulateInst(uint32_t, uint32_t, vaddr_t, struct trapframe *);
-
-void	MachEmulateLWC0(uint32_t, struct trapframe *, uint32_t);
-void	MachEmulateSWC0(uint32_t, struct trapframe *, uint32_t);
-void	MachEmulateSpecial(uint32_t, struct trapframe *, uint32_t);
-void	MachEmulateSpecial3(uint32_t, struct trapframe *, uint32_t);
-void	MachEmulateLWC1(uint32_t, struct trapframe *, uint32_t);
-void	MachEmulateLDC1(uint32_t, struct trapframe *, uint32_t);
-void	MachEmulateSWC1(uint32_t, struct trapframe *, uint32_t);
-void	MachEmulateSDC1(uint32_t, struct trapframe *, uint32_t);
-
-void	bcemul_lb(uint32_t, struct trapframe *, uint32_t);
-void	bcemul_lbu(uint32_t, struct trapframe *, uint32_t);
-void	bcemul_lh(uint32_t, struct trapframe *, uint32_t);
-void	bcemul_lhu(uint32_t, struct trapframe *, uint32_t);
-void	bcemul_lw(uint32_t, struct trapframe *, uint32_t);
-void	bcemul_lwl(uint32_t, struct trapframe *, uint32_t);
-void	bcemul_lwr(uint32_t, struct trapframe *, uint32_t);
-#if defined(__mips_n32) || defined(__mips_n64) || defined(__mips_o64)
-void	bcemul_ld(uint32_t, struct trapframe *, uint32_t);
-void	bcemul_ldl(uint32_t, struct trapframe *, uint32_t);
-void	bcemul_ldr(uint32_t, struct trapframe *, uint32_t);
-#endif
-void	bcemul_sb(uint32_t, struct trapframe *, uint32_t);
-void	bcemul_sh(uint32_t, struct trapframe *, uint32_t);
-void	bcemul_sw(uint32_t, struct trapframe *, uint32_t);
-void	bcemul_swl(uint32_t, struct trapframe *, uint32_t);
-void	bcemul_swr(uint32_t, struct trapframe *, uint32_t);
-#if defined(__mips_n32) || defined(__mips_n64) || defined(__mips_o64)
-void	bcemul_sd(uint32_t, struct trapframe *, uint32_t);
-void	bcemul_sdl(uint32_t, struct trapframe *, uint32_t);
-void	bcemul_sdr(uint32_t, struct trapframe *, uint32_t);
-#endif
-
 /*
  * MIPS2 LL instruction emulation state
  */
@@ -99,8 +60,8 @@
  * Analyse 'next' PC address taking account of branch/jump instructions
  */
 vaddr_t
-MachEmulateBranch(struct trapframe *tf, vaddr_t instpc, unsigned fpuCSR,
-    int allowNonBranch)
+mips_emul_branch(struct trapframe *tf, vaddr_t instpc, uint32_t fpuCSR,
+    bool allowNonBranch)
 {
 #define	BRANCHTARGET(pc, i) (4 + (pc) + ((short)(i).IType.imm << 2))
 	InstFmt inst;
@@ -109,7 +70,7 @@
 	if (instpc < MIPS_KSEG0_START)
 		inst.word = ufetch_uint32((void *)instpc);
 	else
-		inst.word = *(unsigned *)instpc;
+		inst.word = *(uint32_t *)instpc;
 
 	switch ((int)inst.JType.op) {
 	case OP_SPECIAL:
@@ -153,7 +114,7 @@
 	case OP_J:
 	case OP_JAL:
 		nextpc = (inst.JType.target << 2) |
-			((unsigned)instpc & 0xF0000000);
+			((intptr_t)instpc & 0xF0000000);
 		break;
 
 	case OP_BEQ:
@@ -220,7 +181,7 @@
  * Emulate instructions (including floating-point instructions)
  */
 void
-MachEmulateInst(uint32_t status, uint32_t cause, vaddr_t opc,
+mips_emul_inst(uint32_t status, uint32_t cause, vaddr_t opc,
     struct trapframe *tf)
 {
 	uint32_t inst;
@@ -237,40 +198,40 @@
 
 	switch (((InstFmt)inst).FRType.op) {
 	case OP_LWC0:
-		MachEmulateLWC0(inst, tf, cause);
+		mips_emul_lwc0(inst, tf, cause);
 		break;
 	case OP_SWC0:
-		MachEmulateSWC0(inst, tf, cause);
+		mips_emul_swc0(inst, tf, cause);
 		break;
 	case OP_SPECIAL:
-		MachEmulateSpecial(inst, tf, cause);
+		mips_emul_special(inst, tf, cause);
 		break;
 	case OP_SPECIAL3:
-		MachEmulateSpecial3(inst, tf, cause);
+		mips_emul_special3(inst, tf, cause);
 		break;
 	case OP_COP1:
 #if defined(FPEMUL)
-		MachEmulateFP(inst, &tf->tf_registers, cause);
+		mips_emul_fp(inst, tf, cause);
 		break;
 #endif
 	case OP_LWC1:
 #if defined(FPEMUL)
-		MachEmulateLWC1(inst, tf, cause);
+		mips_emul_lwc1(inst, tf, cause);
 		break;
 #endif
 	case OP_LDC1:
 #if defined(FPEMUL)
-		MachEmulateLDC1(inst, tf, cause);
+		mips_emul_ldc1(inst, tf, cause);
 		break;
 #endif
 	case OP_SWC1:
 #if defined(FPEMUL)
-		MachEmulateSWC1(inst, tf, cause);
+		mips_emul_swc1(inst, tf, cause);
 		break;
 #endif
 	case OP_SDC1:
 #if defined(FPEMUL)
-		MachEmulateSDC1(inst, tf, cause);
+		mips_emul_sdc1(inst, tf, cause);
 		break;
 #else
 		code = ILL_COPROC;
@@ -297,7 +258,7 @@
     uint32_t cause)
 {
 	ksiginfo_t ksi;
-	cause = (cause & 0xFFFFFF00) | (exccode << MIPS_CR_EXC_CODE_SHIFT);
+	cause = (cause & ~0xFF) | (exccode << MIPS_CR_EXC_CODE_SHIFT);
 	tf->tf_regs[_R_CAUSE] = cause;
 	tf->tf_regs[_R_BADVADDR] = vaddr;
 	KSI_INIT_TRAP(&ksi);
@@ -314,7 +275,7 @@
 
 	if (cause & MIPS_CR_BR_DELAY)
 		tf->tf_regs[_R_PC] = 
-		    MachEmulateBranch(tf, tf->tf_regs[_R_PC],
+		    mips_emul_branch(tf, tf->tf_regs[_R_PC],
 			PCB_FSR(curpcb), 0);
 	else
 		tf->tf_regs[_R_PC] += 4;
@@ -324,7 +285,7 @@
  * MIPS2 LL instruction
  */
 void
-MachEmulateLWC0(uint32_t inst, struct trapframe *tf, uint32_t cause)
+mips_emul_lwc0(uint32_t inst, struct trapframe *tf, uint32_t cause)
 {
 	intptr_t	vaddr;
 	int16_t		offset;
@@ -357,7 +318,7 @@
  * MIPS2 SC instruction
  */
 void
-MachEmulateSWC0(uint32_t inst, struct trapframe *tf, uint32_t cause)
+mips_emul_swc0(uint32_t inst, struct trapframe *tf, uint32_t cause)
 {
 	intptr_t	vaddr;
 	uint32_t	value;
@@ -408,7 +369,7 @@
 }
 
 void
-MachEmulateSpecial(uint32_t inst, struct trapframe *tf, uint32_t cause)
+mips_emul_special(uint32_t inst, struct trapframe *tf, uint32_t cause)
 {
 	ksiginfo_t ksi;
 	switch (((InstFmt)inst).RType.func) {
@@ -431,7 +392,7 @@
 }
 
 void
-MachEmulateSpecial3(uint32_t inst, struct trapframe *tf, uint32_t cause)
+mips_emul_special3(uint32_t inst, struct trapframe *tf, uint32_t cause)
 {
 	ksiginfo_t ksi;
 	switch (((InstFmt)inst).RType.func) {
@@ -463,7 +424,7 @@
 #define LWSWC1_MAXLOOP	12
 
 void
-MachEmulateLWC1(uint32_t inst, struct trapframe *tf, uint32_t cause)
+mips_emul_lwc1(uint32_t inst, struct trapframe *tf, uint32_t cause)
 {
 	intptr_t	vaddr;
 	int16_t		offset;
@@ -526,7 +487,7 @@
 }
 
 void
-MachEmulateLDC1(uint32_t inst, struct trapframe *tf, uint32_t cause)
+mips_emul_ldc1(uint32_t inst, struct trapframe *tf, uint32_t cause)
 {
 	intptr_t	vaddr;
 	int16_t		offset;
@@ -553,7 +514,7 @@
 }
 
 void
-MachEmulateSWC1(uint32_t inst, struct trapframe *tf, uint32_t cause)
+mips_emul_swc1(uint32_t inst, struct trapframe *tf, uint32_t cause)
 {
 	intptr_t	vaddr;
 	int16_t		offset;
@@ -616,7 +577,7 @@
 }
 
 void
-MachEmulateSDC1(uint32_t inst, struct trapframe *tf, uint32_t cause)
+mips_emul_sdc1(uint32_t inst, struct trapframe *tf, uint32_t cause)
 {
 	intptr_t	vaddr;
 	int16_t		offset;
@@ -643,7 +604,7 @@
 }
 
 void
-bcemul_lb(uint32_t inst, struct trapframe *tf, uint32_t cause)
+mips_emul_lb(uint32_t inst, struct trapframe *tf, uint32_t cause)
 {
 	intptr_t	vaddr;
 	int16_t		offset;
@@ -663,17 +624,17 @@
 		return;
 	}
 
-	tf->tf_regs[(inst>>16)&0x1F] = (int32_t)x;
+	tf->tf_regs[(inst>>16)&0x1F] = x;
 
 	update_pc(tf, cause);
 }
 
 void
-bcemul_lbu(uint32_t inst, struct trapframe *tf, uint32_t cause)
+mips_emul_lbu(uint32_t inst, struct trapframe *tf, uint32_t cause)
 {
 	intptr_t	vaddr;
 	int16_t		offset;
-	uint8_t	x;
+	uint8_t		x;
 
 	offset = inst & 0xFFFF;
 	vaddr = tf->tf_regs[(inst>>21)&0x1F] + offset;
@@ -689,13 +650,13 @@
 		return;
 	}
 
-	tf->tf_regs[(inst>>16)&0x1F] = (mips_ureg_t)x;
+	tf->tf_regs[(inst>>16)&0x1F] = x;
 
 	update_pc(tf, cause);
 }
 
 void
-bcemul_lh(uint32_t inst, struct trapframe *tf, uint32_t cause)
+mips_emul_lh(uint32_t inst, struct trapframe *tf, uint32_t cause)
 {
 	intptr_t	vaddr;
 	int16_t		offset;
@@ -721,11 +682,11 @@
 }
 
 void
-bcemul_lhu(uint32_t inst, struct trapframe *tf, uint32_t cause)
+mips_emul_lhu(uint32_t inst, struct trapframe *tf, uint32_t cause)
 {
 	intptr_t	vaddr;
 	int16_t		offset;
-	u_int16_t	x;
+	uint16_t	x;
 
 	offset = inst & 0xFFFF;
 	vaddr = tf->tf_regs[(inst>>21)&0x1F] + offset;
@@ -747,10 +708,11 @@
 }
 
 void
-bcemul_lw(uint32_t inst, struct trapframe *tf, uint32_t cause)
+mips_emul_lw(uint32_t inst, struct trapframe *tf, uint32_t cause)
 {
 	intptr_t	vaddr;
 	int16_t		offset;
+	int32_t		x;
 
 	offset = inst & 0xFFFF;
 	vaddr = tf->tf_regs[(inst>>21)&0x1F] + offset;
@@ -761,16 +723,18 @@
 		return;
 	}
 
-	if (copyin((void *)vaddr, &(tf->tf_regs[(inst>>16)&0x1F]), 4) != 0) {
+	if (copyin((void *)vaddr, &x, 4) != 0) {
 		send_sigsegv(vaddr, T_TLB_LD_MISS, tf, cause);
 		return;
 	}
 
+	tf->tf_regs[(inst>>16)&0x1F] = x;
+
 	update_pc(tf, cause);
 }
 
 void
-bcemul_lwl(uint32_t inst, struct trapframe *tf, uint32_t cause)
+mips_emul_lwl(uint32_t inst, struct trapframe *tf, uint32_t cause)
 {
 	intptr_t	vaddr;
 	uint32_t	a, x, shift;
@@ -803,9 +767,9 @@
 }
 
 void
-bcemul_lwr(uint32_t inst, struct trapframe *tf, uint32_t cause)
+mips_emul_lwr(uint32_t inst, struct trapframe *tf, uint32_t cause)
 {
-	intptr_t		vaddr;
+	intptr_t	vaddr;
 	uint32_t	a, x, shift;
 	int16_t		offset;
 
@@ -837,7 +801,33 @@
 
 #if defined(__mips_n32) || defined(__mips_n64) || defined(__mips_o64)
 void
-bcemul_ld(uint32_t inst, struct trapframe *tf, uint32_t cause)
+mips_emul_lwu(uint32_t inst, struct trapframe *tf, uint32_t cause)
+{
+	intptr_t	vaddr;
+	int16_t		offset;
+	uint32_t	x;
+
+	offset = inst & 0xFFFF;
+	vaddr = tf->tf_regs[(inst>>21)&0x1F] + offset;
+
+	/* segment and alignment check */
+	if (vaddr > VM_MAX_ADDRESS || vaddr & 0x3) {
+		send_sigsegv(vaddr, T_ADDR_ERR_LD, tf, cause);
+		return;
+	}
+
+	if (copyin((void *)vaddr, &x, 4) != 0) {
+		send_sigsegv(vaddr, T_TLB_LD_MISS, tf, cause);
+		return;
+	}
+
+	tf->tf_regs[(inst>>16)&0x1F] = x;
+
+	update_pc(tf, cause);
+}
+
+void
+mips_emul_ld(uint32_t inst, struct trapframe *tf, uint32_t cause)
 {
 	intptr_t	vaddr;
 	int16_t		offset;
@@ -860,7 +850,7 @@
 }
 
 void
-bcemul_ldl(uint32_t inst, struct trapframe *tf, uint32_t cause)
+mips_emul_ldl(uint32_t inst, struct trapframe *tf, uint32_t cause)
 {
 	intptr_t	vaddr;
 	uint64_t	a, x;
@@ -894,7 +884,7 @@
 }
 
 void
-bcemul_ldr(uint32_t inst, struct trapframe *tf, uint32_t cause)
+mips_emul_ldr(uint32_t inst, struct trapframe *tf, uint32_t cause)
 {
 	intptr_t	vaddr;
 	uint64_t	a, x;
@@ -929,7 +919,7 @@
 #endif /* defined(__mips_n32) || defined(__mips_n64) || defined(__mips_o64) */
 
 void
-bcemul_sb(uint32_t inst, struct trapframe *tf, uint32_t cause)
+mips_emul_sb(uint32_t inst, struct trapframe *tf, uint32_t cause)
 {
 	intptr_t	vaddr;
 	int16_t		offset;
@@ -952,7 +942,7 @@
 }
 
 void
-bcemul_sh(uint32_t inst, struct trapframe *tf, uint32_t cause)
+mips_emul_sh(uint32_t inst, struct trapframe *tf, uint32_t cause)
 {
 	intptr_t	vaddr;
 	int16_t		offset;
@@ -975,7 +965,7 @@
 }
 
 void
-bcemul_sw(uint32_t inst, struct trapframe *tf, uint32_t cause)
+mips_emul_sw(uint32_t inst, struct trapframe *tf, uint32_t cause)
 {
 	intptr_t	vaddr;
 	int16_t		offset;
@@ -998,7 +988,7 @@
 }
 
 void
-bcemul_swl(uint32_t inst, struct trapframe *tf, uint32_t cause)
+mips_emul_swl(uint32_t inst, struct trapframe *tf, uint32_t cause)
 {
 	intptr_t	vaddr;
 	uint32_t	a, x, shift;
@@ -1034,7 +1024,7 @@
 }
 
 void
-bcemul_swr(uint32_t inst, struct trapframe *tf, uint32_t cause)
+mips_emul_swr(uint32_t inst, struct trapframe *tf, uint32_t cause)
 {
 	intptr_t	vaddr;
 	uint32_t	a, x, shift;
@@ -1071,7 +1061,7 @@
 
 #if defined(__mips_n32) || defined(__mips_n64) || defined(__mips_o64)
 void
-bcemul_sd(uint32_t inst, struct trapframe *tf, uint32_t cause)
+mips_emul_sd(uint32_t inst, struct trapframe *tf, uint32_t cause)
 {
 	intptr_t	vaddr;
 	int16_t		offset;
@@ -1094,7 +1084,7 @@
 }
 
 void
-bcemul_sdl(uint32_t inst, struct trapframe *tf, uint32_t cause)
+mips_emul_sdl(uint32_t inst, struct trapframe *tf, uint32_t cause)
 {
 	intptr_t	vaddr;
 	uint64_t	a, x;
@@ -1131,7 +1121,7 @@
 }
 
 void
-bcemul_sdr(uint32_t inst, struct trapframe *tf, uint32_t cause)
+mips_emul_sdr(uint32_t inst, struct trapframe *tf, uint32_t cause)
 {
 	intptr_t	vaddr;
 	uint64_t	a, x;

Index: src/sys/arch/mips/mips/mips_fputrap.c
diff -u src/sys/arch/mips/mips/mips_fputrap.c:1.5.66.5 src/sys/arch/mips/mips/mips_fputrap.c:1.5.66.6
--- src/sys/arch/mips/mips/mips_fputrap.c:1.5.66.5	Tue Feb 23 20:33:48 2010
+++ src/sys/arch/mips/mips/mips_fputrap.c	Wed Dec 29 00:50:29 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: mips_fputrap.c,v 1.5.66.5 2010/02/23 20:33:48 matt Exp $ */
+/* $NetBSD: mips_fputrap.c,v 1.5.66.6 2010/12/29 00:50:29 matt Exp $ */
 
 /*
  * Copyright (c) 2004
@@ -37,12 +37,12 @@
 #include <mips/locore.h>
 
 #if defined(FPEMUL) || !defined(NOFPU)
-void mips_fpuexcept(struct lwp *, unsigned int);
-void mips_fpuillinst(struct lwp *, unsigned int, unsigned long);
-static int fpustat2sicode(unsigned int);
+void mips_fpuexcept(struct lwp *, uint32_t);
+void mips_fpuillinst(struct lwp *, uint32_t, vaddr_t);
+static int fpustat2sicode(uint32_t);
 
 void
-mips_fpuexcept(struct lwp *l, unsigned int fpustat)
+mips_fpuexcept(struct lwp *l, uint32_t fpustat)
 {
 	ksiginfo_t ksi;
 
@@ -54,7 +54,7 @@
 }
 
 void
-mips_fpuillinst(struct lwp *l, unsigned int opcode, unsigned long vaddr)
+mips_fpuillinst(struct lwp *l, uint32_t opcode, vaddr_t vaddr)
 {
 	ksiginfo_t ksi;
 
@@ -66,7 +66,7 @@
 	(*l->l_proc->p_emul->e_trapsignal)(l, &ksi);
 }
 
-static struct {
+static const struct {
 	unsigned int bit;
 	int code;
 } fpecodes[] = {
@@ -79,14 +79,14 @@
 };
 
 static int
-fpustat2sicode(unsigned int fpustat)
+fpustat2sicode(uint32_t fpustat)
 {
-	int i;
-
-	for (i = 0; i < 6; i++)
+	for (size_t i = 0; i < __arraycount(fpecodes); i++) {
 		if (fpustat & fpecodes[i].bit)
-			return (fpecodes[i].code);
-	return (FPE_FLTINV);
+			return fpecodes[i].code;
+	}
+
+	return FPE_FLTINV;
 }
 #endif /* FPEMUL || !NOFPU */
 

Reply via email to