Module Name:    src
Committed By:   matt
Date:           Wed Jun 29 05:55:47 UTC 2011

Modified Files:
        src/sys/arch/powerpc/booke: e500_intr.c

Log Message:
Panic when an ipi is sent to unknown cpu.


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/powerpc/booke/e500_intr.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/powerpc/booke/e500_intr.c
diff -u src/sys/arch/powerpc/booke/e500_intr.c:1.13 src/sys/arch/powerpc/booke/e500_intr.c:1.14
--- src/sys/arch/powerpc/booke/e500_intr.c:1.13	Sat Jun 25 00:07:10 2011
+++ src/sys/arch/powerpc/booke/e500_intr.c	Wed Jun 29 05:55:47 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: e500_intr.c,v 1.13 2011/06/25 00:07:10 matt Exp $	*/
+/*	$NetBSD: e500_intr.c,v 1.14 2011/06/29 05:55:47 matt Exp $	*/
 /*-
  * Copyright (c) 2010, 2011 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -1132,7 +1132,7 @@
 	struct cpu_softc * const cpu = ci->ci_softc;
 	uint32_t dstmask;
 
-	if (target >= ncpu) {
+	if (target >= CPU_MAXNUM) {
 		CPU_INFO_ITERATOR cii;
 		struct cpu_info *dst_ci;
 
@@ -1149,7 +1149,10 @@
 		}
 	} else {
 		struct cpu_info * const dst_ci = cpu_lookup(target);
-		KASSERT(target == cpu_index(dst_ci));
+		KASSERT(dst_ci != NULL);
+		KASSERTMSG(target == cpu_index(dst_ci),
+		    ("%s: target (%lu) != cpu_index(cpu%u)",
+		     __func__, target, cpu_index(dst_ci)));
 		dstmask = (1 << target);
 		if (ipimsg)
 			atomic_or_32(&dst_ci->ci_pending_ipis, ipimsg);

Reply via email to