Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Feb 2015 00:57:27 +0000 (UTC)
From:      Nathan Whitehorn <nwhitehorn@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r278482 - head/sys/powerpc/pseries
Message-ID:  <201502100057.t1A0vRYM048495@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: nwhitehorn
Date: Tue Feb 10 00:57:26 2015
New Revision: 278482
URL: https://svnweb.freebsd.org/changeset/base/278482

Log:
  Add error reporting to interrupt CPU binding.

Modified:
  head/sys/powerpc/pseries/xics.c

Modified: head/sys/powerpc/pseries/xics.c
==============================================================================
--- head/sys/powerpc/pseries/xics.c	Tue Feb 10 00:55:42 2015	(r278481)
+++ head/sys/powerpc/pseries/xics.c	Tue Feb 10 00:57:26 2015	(r278482)
@@ -197,12 +197,13 @@ xicp_bind(device_t dev, u_int irq, cpuse
 {
 	struct xicp_softc *sc = device_get_softc(dev);
 	cell_t status, cpu;
-	int ncpus, i;
+	int ncpus, i, error;
 
 	/*
 	 * This doesn't appear to actually support affinity groups, so pick a
 	 * random CPU.
 	 */
+	ncpus = 0;
 	CPU_FOREACH(cpu)
 		if (CPU_ISSET(cpu, &cpumask)) ncpus++;
 
@@ -217,8 +218,10 @@ xicp_bind(device_t dev, u_int irq, cpuse
 	}
 	
 
-	rtas_call_method(sc->ibm_set_xive, 3, 1, irq, cpu, XICP_PRIORITY,
-	    &status);
+	error = rtas_call_method(sc->ibm_set_xive, 3, 1, irq, cpu,
+	    XICP_PRIORITY, &status);
+	if (error < 0)
+		panic("Cannot bind interrupt %d to CPU %d", irq, cpu);
 }
 
 static void



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201502100057.t1A0vRYM048495>