git: 40f283b03801 - stable/13 - gic_v3: Use 64-bit writes to GICD_IROUTERn

Ed Maste emaste at FreeBSD.org
Wed Feb 17 02:19:29 UTC 2021


The branch stable/13 has been updated by emaste:

URL: https://cgit.FreeBSD.org/src/commit/?id=40f283b038015b5b750267a26402098418fd1fb3

commit 40f283b038015b5b750267a26402098418fd1fb3
Author:     Cyprien Laplace <cyprien at cypou.net>
AuthorDate: 2020-11-26 01:17:04 +0000
Commit:     Ed Maste <emaste at FreeBSD.org>
CommitDate: 2021-02-17 00:07:32 +0000

    gic_v3: Use 64-bit writes to GICD_IROUTERn
    
    While 32-bit accesses to GICD_IROUTERn are allowed,
    this is a 64-bit register.
    
    Pull Request:   https://github.com/freebsd/freebsd-src/pull/451
    
    (cherry picked from commit 46ca0b903cad8955574a2c61bed41c2b92aa2273)
---
 sys/arm64/arm64/gic_v3.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/sys/arm64/arm64/gic_v3.c b/sys/arm64/arm64/gic_v3.c
index f230eb6bbd06..8630a27102e3 100644
--- a/sys/arm64/arm64/gic_v3.c
+++ b/sys/arm64/arm64/gic_v3.c
@@ -844,7 +844,7 @@ gic_v3_bind_intr(device_t dev, struct intr_irqsrc *isrc)
 	if (CPU_EMPTY(&isrc->isrc_cpu)) {
 		gic_irq_cpu = intr_irq_next_cpu(gic_irq_cpu, &all_cpus);
 		CPU_SETOF(gic_irq_cpu, &isrc->isrc_cpu);
-		gic_d_write(sc, 4, GICD_IROUTER(gi->gi_irq),
+		gic_d_write(sc, 8, GICD_IROUTER(gi->gi_irq),
 		    CPU_AFFINITY(gic_irq_cpu));
 	} else {
 		/*
@@ -852,7 +852,7 @@ gic_v3_bind_intr(device_t dev, struct intr_irqsrc *isrc)
 		 * the first CPU found.
 		 */
 		cpu = CPU_FFS(&isrc->isrc_cpu) - 1;
-		gic_d_write(sc, 4, GICD_IROUTER(gi->gi_irq), CPU_AFFINITY(cpu));
+		gic_d_write(sc, 8, GICD_IROUTER(gi->gi_irq), CPU_AFFINITY(cpu));
 	}
 
 	return (0);
@@ -1114,7 +1114,7 @@ gic_v3_dist_init(struct gic_v3_softc *sc)
 	 */
 	aff = CPU_AFFINITY(0);
 	for (i = GIC_FIRST_SPI; i < sc->gic_nirqs; i++)
-		gic_d_write(sc, 4, GICD_IROUTER(i), aff);
+		gic_d_write(sc, 8, GICD_IROUTER(i), aff);
 
 	return (0);
 }


More information about the dev-commits-src-branches mailing list