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
This commit is contained in:
Andrew Turner 2021-09-15 09:13:41 +00:00
parent 4542164685
commit 1896a00943

View File

@ -710,7 +710,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);