Module Name:    src
Committed By:   tsutsui
Date:           Wed Mar 16 13:23:42 UTC 2011

Modified Files:
        src/sys/arch/hpcmips/conf: files.hpcmips
        src/sys/arch/hpcmips/hpcmips: hpcapm_machdep.c
        src/sys/arch/hpcmips/vr: vr.c vripvar.h
Added Files:
        src/sys/arch/hpcmips/vr: vrip_spl.S

Log Message:
Blindly prepare an equivalent function with old _spllower(~MIPS_INT_MASK_0)
that disabled all interrupts except PIU.  Compile test only.


To generate a diff of this commit:
cvs rdiff -u -r1.104 -r1.105 src/sys/arch/hpcmips/conf/files.hpcmips
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/hpcmips/hpcmips/hpcapm_machdep.c
cvs rdiff -u -r1.60 -r1.61 src/sys/arch/hpcmips/vr/vr.c
cvs rdiff -u -r0 -r1.1 src/sys/arch/hpcmips/vr/vrip_spl.S
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/hpcmips/vr/vripvar.h

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/hpcmips/conf/files.hpcmips
diff -u src/sys/arch/hpcmips/conf/files.hpcmips:1.104 src/sys/arch/hpcmips/conf/files.hpcmips:1.105
--- src/sys/arch/hpcmips/conf/files.hpcmips:1.104	Wed Mar  2 08:25:09 2011
+++ src/sys/arch/hpcmips/conf/files.hpcmips	Wed Mar 16 13:23:41 2011
@@ -1,4 +1,4 @@
-#	$NetBSD: files.hpcmips,v 1.104 2011/03/02 08:25:09 ahoka Exp $
+#	$NetBSD: files.hpcmips,v 1.105 2011/03/16 13:23:41 tsutsui Exp $
 
 # maxpartitions must be first item in files.${ARCH}.
 maxpartitions 8
@@ -103,6 +103,7 @@
 device vripif { [addr=-1], [size=-1], [addr2=-1], [size2=-1], [unit=-1], [pwctl=-1], [platform = -1] }
 define vrip_common
 file arch/hpcmips/vr/vrip.c		vrip_common needs-flag
+file arch/hpcmips/vr/vrip_spl.S		vrip_common
 device vrip: vripif
 attach vrip at mainbus: vrip_common
 device vr4102ip: vripif

Index: src/sys/arch/hpcmips/hpcmips/hpcapm_machdep.c
diff -u src/sys/arch/hpcmips/hpcmips/hpcapm_machdep.c:1.4 src/sys/arch/hpcmips/hpcmips/hpcapm_machdep.c:1.5
--- src/sys/arch/hpcmips/hpcmips/hpcapm_machdep.c:1.4	Sun Feb 20 07:58:14 2011
+++ src/sys/arch/hpcmips/hpcmips/hpcapm_machdep.c	Wed Mar 16 13:23:41 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: hpcapm_machdep.c,v 1.4 2011/02/20 07:58:14 matt Exp $	*/
+/*	$NetBSD: hpcapm_machdep.c,v 1.5 2011/03/16 13:23:41 tsutsui Exp $	*/
 
 /*
  * Copyright (c) 2000 Takemura Shin
@@ -29,7 +29,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: hpcapm_machdep.c,v 1.4 2011/02/20 07:58:14 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: hpcapm_machdep.c,v 1.5 2011/03/16 13:23:41 tsutsui Exp $");
 
 #include <sys/param.h>
 #include <sys/device.h>
@@ -64,7 +64,7 @@
 		 * disable all interrupts except PIU interrupt
 		 */
 		vrip_intr_suspend();
-		_spllower(~MIPS_INT_MASK_0);
+		vrip_splpiu();
 
 		/*
 		 * STANDBY instruction puts the CPU into power saveing
@@ -96,7 +96,7 @@
 		 * disable all interrupts except PIU interrupt
 		 */
 		vrip_intr_suspend();
-		_spllower(~MIPS_INT_MASK_0);
+		vrip_splpiu();
 
 		/*
 		 * SUSPEND instruction puts the CPU into power saveing

Index: src/sys/arch/hpcmips/vr/vr.c
diff -u src/sys/arch/hpcmips/vr/vr.c:1.60 src/sys/arch/hpcmips/vr/vr.c:1.61
--- src/sys/arch/hpcmips/vr/vr.c:1.60	Sat Feb 26 12:07:46 2011
+++ src/sys/arch/hpcmips/vr/vr.c	Wed Mar 16 13:23:41 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: vr.c,v 1.60 2011/02/26 12:07:46 tsutsui Exp $	*/
+/*	$NetBSD: vr.c,v 1.61 2011/03/16 13:23:41 tsutsui Exp $	*/
 
 /*-
  * Copyright (c) 1999-2002
@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: vr.c,v 1.60 2011/02/26 12:07:46 tsutsui Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vr.c,v 1.61 2011/03/16 13:23:41 tsutsui Exp $");
 
 #include "opt_vr41xx.h"
 #include "opt_tx39xx.h"
@@ -504,7 +504,7 @@
 	 */
 	if (howto & RB_HALT) {
 #if NVRIP_COMMON > 0
-		_spllower(~MIPS_INT_MASK_0);
+		vrip_splpiu();
 		vrip_intr_suspend();
 #else
 		splhigh();

Index: src/sys/arch/hpcmips/vr/vripvar.h
diff -u src/sys/arch/hpcmips/vr/vripvar.h:1.11 src/sys/arch/hpcmips/vr/vripvar.h:1.12
--- src/sys/arch/hpcmips/vr/vripvar.h:1.11	Sun Dec 11 12:17:34 2005
+++ src/sys/arch/hpcmips/vr/vripvar.h	Wed Mar 16 13:23:41 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: vripvar.h,v 1.11 2005/12/11 12:17:34 christos Exp $	*/
+/*	$NetBSD: vripvar.h,v 1.12 2011/03/16 13:23:41 tsutsui Exp $	*/
 
 /*-
  * Copyright (c) 1999, 2002
@@ -70,5 +70,5 @@
 void vrip_intr_resume(void);
 int vripmatch(struct device *, struct cfdata *, void *);
 void vripattach_common(struct device *, struct device *, void *);
-
+void vrip_splpiu(void);
 #endif /* !_VRIPVAR_H_ */

Added files:

Index: src/sys/arch/hpcmips/vr/vrip_spl.S
diff -u /dev/null src/sys/arch/hpcmips/vr/vrip_spl.S:1.1
--- /dev/null	Wed Mar 16 13:23:42 2011
+++ src/sys/arch/hpcmips/vr/vrip_spl.S	Wed Mar 16 13:23:41 2011
@@ -0,0 +1,73 @@
+/*	$NetBSD: vrip_spl.S,v 1.1 2011/03/16 13:23:41 tsutsui Exp $	*/
+
+/*
+ * Copyright (c) 1992, 1993
+ *	The Regents of the University of California.  All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Digital Equipment Corporation and Ralph Campbell.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * Copyright (C) 1989 Digital Equipment Corporation.
+ * Permission to use, copy, modify, and distribute this software and
+ * its documentation for any purpose and without fee is hereby granted,
+ * provided that the above copyright notice appears in all copies.
+ * Digital Equipment Corporation makes no representations about the
+ * suitability of this software for any purpose.  It is provided "as is"
+ * without express or implied warranty.
+ *
+ * from: Header: /sprite/src/kernel/mach/ds3100.md/RCS/loMem.s,
+ *	v 1.1 89/07/11 17:55:04 nelson Exp  SPRITE (DECWRL)
+ * from: Header: /sprite/src/kernel/mach/ds3100.md/RCS/machAsm.s,
+ *	v 9.2 90/01/29 18:00:39 shirriff Exp  SPRITE (DECWRL)
+ * from: Header: /sprite/src/kernel/vm/ds3100.md/vmPmaxAsm.s,
+ *	v 1.1 89/07/10 14:27:41 nelson Exp  SPRITE (DECWRL)
+ *
+ *	@(#)locore.s	8.5 (Berkeley) 1/4/94
+ */
+
+#include <mips/asm.h>
+#include <mips/cpuregs.h>
+
+	.set	noreorder
+
+#define VR_INT_MASK_PIU	MIPS_INT_MASK_0
+
+/*
+ * void vrip_splpiu(void)
+ *	disable all interrupts except PIU interrupt
+ */
+LEAF_NOPROFILE(vrip_splpiu)
+	mfc0	v0, MIPS_COP_0_STATUS		# fetch status register
+	li	v1, ~MIPS_INT_MASK
+	and	v1, v0, v1			# turn off INT bit
+	li	v0, VR_INT_MASK_PIU
+	or	v0, v0, v1			# enable only PIU interrupt
+	mtc0	v0, MIPS_COP_0_STATUS		# store back
+	COP0_SYNC
+	j	ra
+	 nop
+END(vrip_splpiu)

Reply via email to