Blindly prepare an equivalent function with old _spllower(~MIPS_INT_MASK_0)
that disabled all interrupts except PIU. Compile test only.
This commit is contained in:
parent
fbade1d5d2
commit
7c1de38adb
|
@ -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 @@ include "dev/isa/files.isa"
|
|||
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
|
||||
|
|
|
@ -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 @@ machine_standby(void)
|
|||
* 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 @@ machine_sleep(void)
|
|||
* disable all interrupts except PIU interrupt
|
||||
*/
|
||||
vrip_intr_suspend();
|
||||
_spllower(~MIPS_INT_MASK_0);
|
||||
vrip_splpiu();
|
||||
|
||||
/*
|
||||
* SUSPEND instruction puts the CPU into power saveing
|
||||
|
|
|
@ -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 @@ vr_reboot(int howto, char *bootstr)
|
|||
*/
|
||||
if (howto & RB_HALT) {
|
||||
#if NVRIP_COMMON > 0
|
||||
_spllower(~MIPS_INT_MASK_0);
|
||||
vrip_splpiu();
|
||||
vrip_intr_suspend();
|
||||
#else
|
||||
splhigh();
|
||||
|
|
|
@ -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)
|
|
@ -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_suspend(void);
|
|||
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_ */
|
||||
|
|
Loading…
Reference in New Issue