summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Shalayeff <mickey@cvs.openbsd.org>2003-06-19 03:05:22 +0000
committerMichael Shalayeff <mickey@cvs.openbsd.org>2003-06-19 03:05:22 +0000
commitca67c82ab73432567f08d8a74f1eb80096409a34 (patch)
tree82ebbebe6e6323af5844308375f52e9701ab8f24
parent43222684c972787a737625afab1e090a2c006599 (diff)
ack all unmasked cpu interrupts here to cancel effect of device probing activities
-rw-r--r--sys/arch/hppa/hppa/intr.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/sys/arch/hppa/hppa/intr.c b/sys/arch/hppa/hppa/intr.c
index d59425b7173..0ce77b35eb0 100644
--- a/sys/arch/hppa/hppa/intr.c
+++ b/sys/arch/hppa/hppa/intr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: intr.c,v 1.7 2003/02/18 19:01:50 deraadt Exp $ */
+/* $OpenBSD: intr.c,v 1.8 2003/06/19 03:05:21 mickey Exp $ */
/*
* Copyright (c) 2002 Michael Shalayeff
@@ -140,13 +140,14 @@ cpu_intr_init(void)
/* XXX the whacky trick is to prevent hardclock from happenning */
mfctl(CR_ITMR, mask);
mtctl(mask - 1, CR_ITMR);
- /* ack the unwanted clock interrupt */
+
mtctl(cpu_mask, CR_EIEM);
- mtctl((1 << 31), CR_EIRR);
+ /* ack the unwanted interrupts */
+ mtctl(cpu_mask, CR_EIRR);
/* in spl*() we trust, clock is started in initclocks() */
kpsw |= PSL_I;
- __asm __volatile("ssm %0, %%r0" :: "i" (PSL_I));
+ ssm(PSL_I, mask);
}
void *