Allocate the ITS translation table with a 64k page alignment. This is the

largest alignment the ITS can require.

This fixes a bug with the ARM Architecture Envelope Model (AEM) where it
only allows 64k pages so will fail to attach the ITS device when this table
is not sufficiently aligned.

Sponsored by:	DARPA, AFRL
This commit is contained in:
Andrew Turner 2017-10-31 23:17:17 +00:00
parent 2ed578e1db
commit f591046e7d

View File

@ -457,7 +457,7 @@ gicv3_its_table_init(device_t dev, struct gicv3_its_softc *sc)
/* Allocate the table */
table = (vm_offset_t)contigmalloc(npages * PAGE_SIZE,
M_GICV3_ITS, M_WAITOK | M_ZERO, 0, (1ul << 48) - 1,
PAGE_SIZE, 0);
PAGE_SIZE_64K, 0);
sc->sc_its_ptab[i].ptab_vaddr = table;
sc->sc_its_ptab[i].ptab_size = npages * PAGE_SIZE;