Module Name: src
Committed By: jmcneill
Date: Wed Nov 21 11:44:26 UTC 2018
Modified Files:
src/sys/arch/arm/cortex: gicv3.c gicv3_its.c
Log Message:
kcpuset_ffs returns the cpu number plus one, so make sure to subtract it
To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/arm/cortex/gicv3.c
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/arm/cortex/gicv3_its.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/arm/cortex/gicv3.c
diff -u src/sys/arch/arm/cortex/gicv3.c:1.11 src/sys/arch/arm/cortex/gicv3.c:1.12
--- src/sys/arch/arm/cortex/gicv3.c:1.11 Sat Nov 17 00:17:54 2018
+++ src/sys/arch/arm/cortex/gicv3.c Wed Nov 21 11:44:26 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: gicv3.c,v 1.11 2018/11/17 00:17:54 jmcneill Exp $ */
+/* $NetBSD: gicv3.c,v 1.12 2018/11/21 11:44:26 jmcneill Exp $ */
/*-
* Copyright (c) 2018 Jared McNeill <[email protected]>
@@ -31,7 +31,7 @@
#define _INTR_PRIVATE
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: gicv3.c,v 1.11 2018/11/17 00:17:54 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: gicv3.c,v 1.12 2018/11/21 11:44:26 jmcneill Exp $");
#include <sys/param.h>
#include <sys/kernel.h>
@@ -489,7 +489,7 @@ gicv3_set_affinity(struct pic_softc *pic
if (set == ncpu)
irouter = GICD_IROUTER_Interrupt_Routing_mode;
else if (set == 1)
- irouter = sc->sc_irouter[kcpuset_ffs(affinity)];
+ irouter = sc->sc_irouter[kcpuset_ffs(affinity) - 1];
else
return EINVAL;
Index: src/sys/arch/arm/cortex/gicv3_its.c
diff -u src/sys/arch/arm/cortex/gicv3_its.c:1.3 src/sys/arch/arm/cortex/gicv3_its.c:1.4
--- src/sys/arch/arm/cortex/gicv3_its.c:1.3 Fri Nov 16 15:06:21 2018
+++ src/sys/arch/arm/cortex/gicv3_its.c Wed Nov 21 11:44:26 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: gicv3_its.c,v 1.3 2018/11/16 15:06:21 jmcneill Exp $ */
+/* $NetBSD: gicv3_its.c,v 1.4 2018/11/21 11:44:26 jmcneill Exp $ */
/*-
* Copyright (c) 2018 The NetBSD Foundation, Inc.
@@ -32,7 +32,7 @@
#define _INTR_PRIVATE
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: gicv3_its.c,v 1.3 2018/11/16 15:06:21 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: gicv3_its.c,v 1.4 2018/11/21 11:44:26 jmcneill Exp $");
#include <sys/param.h>
#include <sys/kmem.h>
@@ -713,7 +713,7 @@ gicv3_its_set_affinity(void *priv, size_
if (pa == NULL)
return EINVAL;
- ci = cpu_lookup(kcpuset_ffs(affinity));
+ ci = cpu_lookup(kcpuset_ffs(affinity) - 1);
const uint32_t devid = gicv3_its_devid(pa->pa_pc, pa->pa_tag);
gits_command_movi(its, devid, devid, cpu_index(ci));