summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/arch/sgi/conf/files.sgi3
-rw-r--r--sys/arch/sgi/include/intr.h3
-rw-r--r--sys/arch/sgi/localbus/macebus.c11
-rw-r--r--sys/arch/sgi/localbus/macectrl.S59
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