diff options
| author | Andrew Turner <andrew@FreeBSD.org> | 2021-09-15 09:13:41 +0000 |
|---|---|---|
| committer | Andrew Turner <andrew@FreeBSD.org> | 2021-10-11 10:50:42 +0000 |
| commit | 00c276a2502488f4198dcec4bf1a6d22159e2b62 (patch) | |
| tree | 721e9a5e93f895d87a77b51c5c08ba56fc5d40a3 | |
| parent | 0e89914326ec11d4c1685e8ecb14f6349ea8f591 (diff) | |
| download | src-00c276a2502488f4198dcec4bf1a6d22159e2b62.tar.gz src-00c276a2502488f4198dcec4bf1a6d22159e2b62.zip | |
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)
| -rw-r--r-- | sys/arm64/arm64/gicv3_its.c | 2 |
1 files changed, 1 insertions, 1 deletions
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); |
