Source-Changes-HG archive

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

[src/trunk]: src/sys/arch/powerpc/booke Pass ci->ci_cpuid as irq of IST_IPI.



details:   https://anonhg.NetBSD.org/src/rev/167bb65aee86
branches:  trunk
changeset: 334970:167bb65aee86
user:      nonaka <nonaka%NetBSD.org@localhost>
date:      Fri Dec 19 04:00:35 2014 +0000

description:
Pass ci->ci_cpuid as irq of IST_IPI.
Avoid "panic: e500_intr_cpu_hatch: failed to establish ipi interrupt!" on cpu1.

diffstat:

 sys/arch/powerpc/booke/e500_intr.c |  10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diffs (38 lines):

diff -r 15360210a087 -r 167bb65aee86 sys/arch/powerpc/booke/e500_intr.c
--- a/sys/arch/powerpc/booke/e500_intr.c        Fri Dec 19 03:51:38 2014 +0000
+++ b/sys/arch/powerpc/booke/e500_intr.c        Fri Dec 19 04:00:35 2014 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: e500_intr.c,v 1.25 2014/12/19 03:51:38 nonaka Exp $    */
+/*     $NetBSD: e500_intr.c,v 1.26 2014/12/19 04:00:35 nonaka Exp $    */
 /*-
  * Copyright (c) 2010, 2011 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -39,7 +39,7 @@
 #define __INTR_PRIVATE
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: e500_intr.c,v 1.25 2014/12/19 03:51:38 nonaka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: e500_intr.c,v 1.26 2014/12/19 04:00:35 nonaka Exp $");
 
 #include <sys/param.h>
 #include <sys/proc.h>
@@ -1205,7 +1205,7 @@
                        atomic_or_32(&dst_ci->ci_pending_ipis, ipimsg);
        }
 
-       openpic_write(cpu, OPENPIC_IPIDR(0), dstmask);
+       openpic_write(cpu, OPENPIC_IPIDR(target), dstmask);
 }
 
 typedef void (*ipifunc_t)(void);
@@ -1260,8 +1260,8 @@
        /*
         * Establish the IPI interrupts for this CPU.
         */
-       if (e500_intr_cpu_establish(ci, 0, IPL_VM, IST_IPI, e500_ipi_intr,
-           NULL) == NULL)
+       if (e500_intr_cpu_establish(ci, ci->ci_cpuid, IPL_VM, IST_IPI,
+           e500_ipi_intr, NULL) == NULL)
                panic("%s: failed to establish ipi interrupt!", __func__);
 
        /*



Home | Main Index | Thread Index | Old Index