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)