git: 00c276a25024 - stable/13 - Use a 64 bit read to access GICR_TYPER
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 11 Oct 2021 12:16:03 UTC
The branch stable/13 has been updated by andrew:
URL: https://cgit.FreeBSD.org/src/commit/?id=00c276a2502488f4198dcec4bf1a6d22159e2b62
commit 00c276a2502488f4198dcec4bf1a6d22159e2b62
Author: Andrew Turner <andrew@FreeBSD.org>
AuthorDate: 2021-09-15 09:13:41 +0000
Commit: Andrew Turner <andrew@FreeBSD.org>
CommitDate: 2021-10-11 10:50:42 +0000
Use a 64 bit read to access GICR_TYPER
The GICv3 ITS only needs to implement 32 bit access to the GICR_TYPER
when the CPU implements AArch32. As this may not always be the case
use a 64 bit read when checking if the ITS is enabled on the CPU.
PR: 258217
Reported by: Olivier Delande <olivier.delande@provenrun.com>
Sponsored by: The FreeBSD Foundation
(cherry picked from commit 1896a0094317c80d46beff5ad42b68215513c996)
---
sys/arm64/arm64/gicv3_its.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys/arm64/arm64/gicv3_its.c b/sys/arm64/arm64/gicv3_its.c
index 061d5a1dbdb9..9c058dbe7f99 100644
--- a/sys/arm64/arm64/gicv3_its.c
+++ b/sys/arm64/arm64/gicv3_its.c
@@ -708,7 +708,7 @@ its_init_cpu(device_t dev, struct gicv3_its_softc *sc)
return (0);
/* Check if the ITS is enabled on this CPU */
- if ((gic_r_read_4(gicv3, GICR_TYPER) & GICR_TYPER_PLPIS) == 0)
+ if ((gic_r_read_8(gicv3, GICR_TYPER) & GICR_TYPER_PLPIS) == 0)
return (ENXIO);
rpcpu = gicv3_get_redist(dev);