Author: nwhitehorn Date: Sun May 13 23:56:43 2018 New Revision: 333594 URL: https://svnweb.freebsd.org/changeset/base/333594
Log: Revert changes to hash table alignment in r333273, which booting on all G5 systems, pending further analysis. Modified: head/sys/powerpc/aim/moea64_native.c Modified: head/sys/powerpc/aim/moea64_native.c ============================================================================== --- head/sys/powerpc/aim/moea64_native.c Sun May 13 23:55:11 2018 (r333593) +++ head/sys/powerpc/aim/moea64_native.c Sun May 13 23:56:43 2018 (r333594) @@ -448,14 +448,18 @@ moea64_bootstrap_native(mmu_t mmup, vm_offset_t kernel moea64_part_table = (struct pate *)moea64_bootstrap_alloc(PART_SIZE, PART_SIZE); if (hw_direct_map) - moea64_part_table = - (struct pate *)PHYS_TO_DMAP((vm_offset_t)moea64_part_table); + moea64_part_table = (struct pate *)PHYS_TO_DMAP( + (vm_offset_t)moea64_part_table); } /* * PTEG table must be aligned on a 256k boundary, but can be placed - * anywhere with that alignment. + * anywhere with that alignment. Some of our hash calculations, + * however, assume that the PTEG table is aligned to its own size + * (low-order bits are zero in an OR). As such, make alignment + * bigger than strictly necessary for the time being. */ - moea64_pteg_table = (struct lpte *)moea64_bootstrap_alloc(size, 256*1024); + moea64_pteg_table = (struct lpte *)moea64_bootstrap_alloc(size, + MAX(256*1024, size)); if (hw_direct_map) moea64_pteg_table = (struct lpte *)PHYS_TO_DMAP((vm_offset_t)moea64_pteg_table); _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"