Changeset View
Changeset View
Standalone View
Standalone View
head/sys/powerpc/aim/mmu_radix.c
Show First 20 Lines • Show All 6,306 Lines • ▼ Show 20 Lines | #endif | ||||
pa = vm_phys_early_alloc(0, end - start); | pa = vm_phys_early_alloc(0, end - start); | ||||
start = mmu_radix_map(&start, pa, end - start, VM_MEMATTR_DEFAULT); | start = mmu_radix_map(&start, pa, end - start, VM_MEMATTR_DEFAULT); | ||||
#ifdef notyet | #ifdef notyet | ||||
/* TODO: NUMA vm_page_array. Blocked out until then (copied from amd64). */ | /* TODO: NUMA vm_page_array. Blocked out until then (copied from amd64). */ | ||||
for (va = start; va < end; va += L3_PAGE_SIZE) { | for (va = start; va < end; va += L3_PAGE_SIZE) { | ||||
pfn = first_page + (va - start) / sizeof(struct vm_page); | pfn = first_page + (va - start) / sizeof(struct vm_page); | ||||
domain = _vm_phys_domain(ptoa(pfn)); | domain = vm_phys_domain(ptoa(pfn)); | ||||
l2e = pmap_pml2e(kernel_pmap, va); | l2e = pmap_pml2e(kernel_pmap, va); | ||||
if ((be64toh(*l2e) & PG_V) == 0) { | if ((be64toh(*l2e) & PG_V) == 0) { | ||||
pa = vm_phys_early_alloc(domain, PAGE_SIZE); | pa = vm_phys_early_alloc(domain, PAGE_SIZE); | ||||
dump_add_page(pa); | dump_add_page(pa); | ||||
pagezero(PHYS_TO_DMAP(pa)); | pagezero(PHYS_TO_DMAP(pa)); | ||||
pde_store(l2e, (pml2_entry_t)pa); | pde_store(l2e, (pml2_entry_t)pa); | ||||
} | } | ||||
pde = pmap_l2e_to_l3e(l2e, va); | pde = pmap_l2e_to_l3e(l2e, va); | ||||
▲ Show 20 Lines • Show All 88 Lines • Show Last 20 Lines |