diff options
author | marcel <marcel@FreeBSD.org> | 2012-07-07 05:17:43 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2012-07-07 05:17:43 +0000 |
commit | aac33e9ad61db6ef43e4ca71e67a0f75f6dbeff1 (patch) | |
tree | 3534e492df74bbdd3df6166d5495c693699efd7c /sys/ia64/include/md_var.h | |
parent | 3cb9677e87768a54552e1e340ac60464ce7e2773 (diff) | |
download | FreeBSD-src-aac33e9ad61db6ef43e4ca71e67a0f75f6dbeff1.zip FreeBSD-src-aac33e9ad61db6ef43e4ca71e67a0f75f6dbeff1.tar.gz |
Implement ia64_physmem_alloc() and use it consistently to get memory
before VM has been initialized. This includes:
1. Replacing pmap_steal_memory(),
2. Replace the handcrafted logic to allocate a naturally aligned VHPT,
3. Properly allocate the DPCPU for the BSP.
Ad 3: Appending the DPCPU to kernend worked as long as we wouldn't
cross into the next PBVM page. If we were to cross into the next
page, then there wouldn't be a PTE entry on the page table for it
and we would end up with a MCA following a page fault. As such,
this commit fixes MCAs occasionally seen.
Diffstat (limited to 'sys/ia64/include/md_var.h')
-rw-r--r-- | sys/ia64/include/md_var.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/ia64/include/md_var.h b/sys/ia64/include/md_var.h index 09c55a8..6669c65 100644 --- a/sys/ia64/include/md_var.h +++ b/sys/ia64/include/md_var.h @@ -93,7 +93,7 @@ int ia64_highfp_save_ipi(void); struct ia64_init_return ia64_init(void); u_int ia64_itc_freq(void); int ia64_physmem_add(vm_paddr_t, vm_size_t); -vm_paddr_t ia64_physmem_alloc(vm_size_t, vm_size_t); +void *ia64_physmem_alloc(vm_size_t, vm_size_t); int ia64_physmem_delete(vm_paddr_t, vm_size_t); int ia64_physmem_fini(void); int ia64_physmem_init(void); |