Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/arm/broadcom Install IPI handler with non-NULL cont...



details:   https://anonhg.NetBSD.org/src/rev/f14eb03b6715
branches:  trunk
changeset: 1023290:f14eb03b6715
user:      jmcneill <jmcneill%NetBSD.org@localhost>
date:      Wed Sep 01 22:11:35 2021 +0000

description:
Install IPI handler with non-NULL context.

A side effect of interrupt handlers with NULL context when using armpic
is that the interrupt handler is only called from interrupt context, not
when lowering spl!

diffstat:

 sys/arch/arm/broadcom/bcm2835_intr.c |  8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diffs (36 lines):

diff -r b292ae112094 -r f14eb03b6715 sys/arch/arm/broadcom/bcm2835_intr.c
--- a/sys/arch/arm/broadcom/bcm2835_intr.c      Wed Sep 01 14:17:46 2021 +0000
+++ b/sys/arch/arm/broadcom/bcm2835_intr.c      Wed Sep 01 22:11:35 2021 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: bcm2835_intr.c,v 1.39 2021/09/01 03:08:08 rin Exp $    */
+/*     $NetBSD: bcm2835_intr.c,v 1.40 2021/09/01 22:11:35 jmcneill Exp $       */
 
 /*-
  * Copyright (c) 2012, 2015, 2019 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: bcm2835_intr.c,v 1.39 2021/09/01 03:08:08 rin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: bcm2835_intr.c,v 1.40 2021/09/01 22:11:35 jmcneill Exp $");
 
 #define _INTR_PRIVATE
 
@@ -842,7 +842,7 @@
 int
 bcm2836mp_ipi_handler(void *priv)
 {
-       const struct cpu_info *ci = curcpu();
+       const struct cpu_info *ci = priv;
        const cpuid_t cpuid = ci->ci_core_id;
        uint32_t ipimask, bit;
 
@@ -898,7 +898,7 @@
 
 #if defined(MULTIPROCESSOR)
        intr_establish(BCM2836_INT_MAILBOX0_CPUN(cpuid), IPL_HIGH,
-           IST_LEVEL | IST_MPSAFE, bcm2836mp_ipi_handler, NULL);
+           IST_LEVEL | IST_MPSAFE, bcm2836mp_ipi_handler, ci);
 
        struct bcm2836mp_interrupt *bip;
        TAILQ_FOREACH(bip, &bcm2836mp_interrupts, bi_next) {



Home | Main Index | Thread Index | Old Index