Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/hppa/dev Mask all interrupts before reading (and cl...
details: https://anonhg.NetBSD.org/src/rev/14df4f6199f9
branches: trunk
changeset: 932698:14df4f6199f9
user: skrll <skrll%NetBSD.org@localhost>
date: Thu May 14 06:13:39 2020 +0000
description:
Mask all interrupts before reading (and clearing) the interrupt request
register in attach.
Picked up by an assert in the qemu code.
diffstat:
sys/arch/hppa/dev/asp.c | 7 +++----
sys/arch/hppa/dev/dino.c | 7 +++----
sys/arch/hppa/dev/lasi.c | 7 +++----
sys/arch/hppa/dev/wax.c | 7 +++----
4 files changed, 12 insertions(+), 16 deletions(-)
diffs (116 lines):
diff -r 0cf25044ab5e -r 14df4f6199f9 sys/arch/hppa/dev/asp.c
--- a/sys/arch/hppa/dev/asp.c Wed May 13 22:13:49 2020 +0000
+++ b/sys/arch/hppa/dev/asp.c Thu May 14 06:13:39 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: asp.c,v 1.1 2014/02/24 07:23:42 skrll Exp $ */
+/* $NetBSD: asp.c,v 1.2 2020/05/14 06:13:39 skrll Exp $ */
/* $OpenBSD: asp.c,v 1.5 2000/02/09 05:04:22 mickey Exp $ */
@@ -37,7 +37,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: asp.c,v 1.1 2014/02/24 07:23:42 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: asp.c,v 1.2 2020/05/14 06:13:39 skrll Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -243,9 +243,8 @@
s = splhigh();
viper_setintrwnd(1 << ca->ca_irq);
- sc->sc_trs->asp_imr = ~0;
+ sc->sc_trs->asp_imr = 0;
(void)sc->sc_trs->asp_irr;
- sc->sc_trs->asp_imr = 0;
/* Establish the interrupt register. */
hppa_interrupt_register_establish(ci, &sc->sc_ir);
diff -r 0cf25044ab5e -r 14df4f6199f9 sys/arch/hppa/dev/dino.c
--- a/sys/arch/hppa/dev/dino.c Wed May 13 22:13:49 2020 +0000
+++ b/sys/arch/hppa/dev/dino.c Thu May 14 06:13:39 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: dino.c,v 1.4 2019/04/16 06:45:04 skrll Exp $ */
+/* $NetBSD: dino.c,v 1.5 2020/05/14 06:13:39 skrll Exp $ */
/* $OpenBSD: dino.c,v 1.5 2004/02/13 20:39:31 mickey Exp $ */
@@ -29,7 +29,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: dino.c,v 1.4 2019/04/16 06:45:04 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: dino.c,v 1.5 2020/05/14 06:13:39 skrll Exp $");
/* #include "cardbus.h" */
@@ -1655,9 +1655,8 @@
/* interrupts guts */
s = splhigh();
r->icr = 0;
- r->imr = ~0;
+ r->imr = 0;
(void)r->irr0;
- r->imr = 0;
r->iar0 = ci->ci_hpa | (31 - ca->ca_irq);
splx(s);
/* Establish the interrupt register. */
diff -r 0cf25044ab5e -r 14df4f6199f9 sys/arch/hppa/dev/lasi.c
--- a/sys/arch/hppa/dev/lasi.c Wed May 13 22:13:49 2020 +0000
+++ b/sys/arch/hppa/dev/lasi.c Thu May 14 06:13:39 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: lasi.c,v 1.2 2019/04/15 20:40:37 skrll Exp $ */
+/* $NetBSD: lasi.c,v 1.3 2020/05/14 06:13:39 skrll Exp $ */
/* $OpenBSD: lasi.c,v 1.4 2001/06/09 03:57:19 mickey Exp $ */
@@ -29,7 +29,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: lasi.c,v 1.2 2019/04/15 20:40:37 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: lasi.c,v 1.3 2020/05/14 06:13:39 skrll Exp $");
#undef LASIDEBUG
@@ -187,9 +187,8 @@
s = splhigh();
sc->sc_trs->lasi_iar = ci->ci_hpa | (31 - ca->ca_irq);
sc->sc_trs->lasi_icr = 0;
- sc->sc_trs->lasi_imr = ~0U;
+ sc->sc_trs->lasi_imr = 0;
(void)sc->sc_trs->lasi_irr;
- sc->sc_trs->lasi_imr = 0;
/* Establish the interrupt register. */
hppa_interrupt_register_establish(ci, &sc->sc_ir);
diff -r 0cf25044ab5e -r 14df4f6199f9 sys/arch/hppa/dev/wax.c
--- a/sys/arch/hppa/dev/wax.c Wed May 13 22:13:49 2020 +0000
+++ b/sys/arch/hppa/dev/wax.c Thu May 14 06:13:39 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: wax.c,v 1.1 2014/02/24 07:23:43 skrll Exp $ */
+/* $NetBSD: wax.c,v 1.2 2020/05/14 06:13:39 skrll Exp $ */
/* $OpenBSD: wax.c,v 1.1 1998/11/23 03:04:10 mickey Exp $ */
@@ -29,7 +29,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: wax.c,v 1.1 2014/02/24 07:23:43 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: wax.c,v 1.2 2020/05/14 06:13:39 skrll Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -139,9 +139,8 @@
s = splhigh();
sc->sc_regs->wax_iar = ci->ci_hpa | (31 - ca->ca_irq);
sc->sc_regs->wax_icr = 0;
- sc->sc_regs->wax_imr = ~0U;
+ sc->sc_regs->wax_imr = 0;
(void)sc->sc_regs->wax_irr;
- sc->sc_regs->wax_imr = 0;
splx(s);
/* Establish the interrupt register. */
Home |
Main Index |
Thread Index |
Old Index