Revert changes to hash table alignment in r333273, which booting on all G5

systems, pending further analysis.
This commit is contained in:
Nathan Whitehorn 2018-05-13 23:56:43 +00:00
parent 8932a4835f
commit b9ff14e6e9

View File

@ -448,14 +448,18 @@ moea64_bootstrap_native(mmu_t mmup, vm_offset_t kernelstart,
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);