svn commit: r325251 - head/sys/arm64/arm64

Andrew Turner andrew at FreeBSD.org
Tue Oct 31 23:17:19 UTC 2017


Author: andrew
Date: Tue Oct 31 23:17:17 2017
New Revision: 325251
URL: https://svnweb.freebsd.org/changeset/base/325251

Log:
  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

Modified:
  head/sys/arm64/arm64/gicv3_its.c

Modified: head/sys/arm64/arm64/gicv3_its.c
==============================================================================
--- head/sys/arm64/arm64/gicv3_its.c	Tue Oct 31 22:12:14 2017	(r325250)
+++ head/sys/arm64/arm64/gicv3_its.c	Tue Oct 31 23:17:17 2017	(r325251)
@@ -457,7 +457,7 @@ gicv3_its_table_init(device_t dev, struct gicv3_its_so
 		/* 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;


More information about the svn-src-all mailing list