diff options
-rw-r--r-- | sys/arch/sgi/conf/files.sgi | 3 | ||||
-rw-r--r-- | sys/arch/sgi/include/intr.h | 3 | ||||
-rw-r--r-- | sys/arch/sgi/localbus/macebus.c | 11 | ||||
-rw-r--r-- | sys/arch/sgi/localbus/macectrl.S | 59 |
4 files changed, 10 insertions, 66 deletions
diff --git a/sys/arch/sgi/conf/files.sgi b/sys/arch/sgi/conf/files.sgi index 5852e26e365..180edd765c2 100644 --- a/sys/arch/sgi/conf/files.sgi +++ b/sys/arch/sgi/conf/files.sgi @@ -1,4 +1,4 @@ -# $OpenBSD: files.sgi,v 1.33 2009/10/07 20:39:43 miod Exp $ +# $OpenBSD: files.sgi,v 1.34 2009/10/21 20:48:45 miod Exp $ # # maxpartitions must be first item in files.${ARCH} # @@ -59,7 +59,6 @@ define macebus {[base = -1], [irq = -1]} device macebus attach macebus at mainbus file arch/sgi/localbus/macebus.c macebus -file arch/sgi/localbus/macectrl.S macebus # # Origin200/Origin2000 node configuration enumerator, and diff --git a/sys/arch/sgi/include/intr.h b/sys/arch/sgi/include/intr.h index 42d51f53444..f25277d7800 100644 --- a/sys/arch/sgi/include/intr.h +++ b/sys/arch/sgi/include/intr.h @@ -1,4 +1,4 @@ -/* $OpenBSD: intr.h,v 1.29 2009/10/07 08:35:47 syuu Exp $ */ +/* $OpenBSD: intr.h,v 1.30 2009/10/21 20:48:45 miod Exp $ */ /* * Copyright (c) 2001-2004 Opsycon AB (www.opsycon.se / www.opsycon.com) @@ -217,7 +217,6 @@ void set_intr(int, intrmask_t, intrmask_t(*)(intrmask_t, struct trap_frame *)); #ifdef IMASK_EXTERNAL void hw_setintrmask(intrmask_t); -extern void *hwmask_addr; #endif u_int32_t updateimask(intrmask_t); diff --git a/sys/arch/sgi/localbus/macebus.c b/sys/arch/sgi/localbus/macebus.c index 7dfd03ff74c..a293d046dc9 100644 --- a/sys/arch/sgi/localbus/macebus.c +++ b/sys/arch/sgi/localbus/macebus.c @@ -1,4 +1,4 @@ -/* $OpenBSD: macebus.c,v 1.44 2009/10/07 08:35:47 syuu Exp $ */ +/* $OpenBSD: macebus.c,v 1.45 2009/10/21 20:48:45 miod Exp $ */ /* * Copyright (c) 2000-2004 Opsycon AB (www.opsycon.se) @@ -221,8 +221,6 @@ macebusattach(struct device *parent, struct device *self, void *aux) printf(": can't map CRIME control registers\n"); return; } - hwmask_addr = (void *) - (PHYS_TO_XKPHYS(CRIMEBUS_BASE, CCA_NC) + CRIME_INT_MASK); creg = bus_space_read_8(&crimebus_tag, crime_h, CRIME_REVISION); printf(": crime rev %d.%d\n", (creg & 0xf0) >> 4, creg & 0xf); @@ -726,3 +724,10 @@ macebus_aux(intrmask_t hwpend, struct trap_frame *cf) return 0; /* Real clock int handler registers. */ } + +void +hw_setintrmask(intrmask_t m) +{ + *(volatile uint64_t *)(PHYS_TO_XKPHYS(CRIMEBUS_BASE, CCA_NC) + + CRIME_INT_MASK) = mace_intem & ~m; +} diff --git a/sys/arch/sgi/localbus/macectrl.S b/sys/arch/sgi/localbus/macectrl.S deleted file mode 100644 index 85110f92e02..00000000000 --- a/sys/arch/sgi/localbus/macectrl.S +++ /dev/null @@ -1,59 +0,0 @@ -/* $OpenBSD: macectrl.S,v 1.6 2009/05/22 20:37:54 miod Exp $ */ - -/* - * Copyright (c) 2004 Opsycon AB (www.opsycon.se / www.opsycon.com) - * - * 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. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. - * - */ -#include <machine/param.h> -#include <machine/asm.h> -#include <machine/cpu.h> -#include <machine/regnum.h> - -#include "assym.h" - - .set mips3 - .set noreorder # Noreorder is default style! - -/* - * Update the HW interrupt mask anding the argument with the - * interrupt mask for enabled interrupts. Only enabled interrupt - * sources can be unmasked. - */ - .globl hw_setintrmask -LEAF(hw_setintrmask, 0) - PTR_L v1, hwmask_addr - lw v0, mace_intem - not a0, a0 - beqz v1, 1f # addr not set, skip. - and v0, a0 - jr ra - sd v0, 0(v1) -1: - jr ra - nop -END(hw_setintrmask) - - .data - .globl hwmask_addr -hwmask_addr: PTR_VAL 0 |