diff options
author | jmallett <jmallett@FreeBSD.org> | 2010-04-18 22:32:07 +0000 |
---|---|---|
committer | jmallett <jmallett@FreeBSD.org> | 2010-04-18 22:32:07 +0000 |
commit | 4f9a815abecac01cf0fb2df739683c5cfb01c867 (patch) | |
tree | da5df1cb44611f0607de0cedd81f3d7d10512466 /sys/vm/pmap.h | |
parent | 2c6900a254f8747c55019ef3c5fff96917c31b48 (diff) | |
download | FreeBSD-src-4f9a815abecac01cf0fb2df739683c5cfb01c867.zip FreeBSD-src-4f9a815abecac01cf0fb2df739683c5cfb01c867.tar.gz |
o) Add a VM find-space option, VMFS_TLB_ALIGNED_SPACE, which searches the
address space for an address as aligned by the new pmap_align_tlb()
function, which is for constraints imposed by the TLB. [1]
o) Add a kmem_alloc_nofault_space() function, which acts like
kmem_alloc_nofault() but allows the caller to specify which find-space
option to use. [1]
o) Use kmem_alloc_nofault_space() with VMFS_TLB_ALIGNED_SPACE to allocate the
kernel stack address on MIPS. [1]
o) Make pmap_align_tlb() on MIPS align addresses so that they do not start on
an odd boundary within the TLB, so that they are suitable for insertion as
wired entries and do not have to share a TLB entry with another mapping,
assuming they are appropriately-sized.
o) Eliminate md_realstack now that the kstack will be appropriately-aligned on
MIPS.
o) Increase the number of guard pages to 2 so that we retain the proper
alignment of the kstack address.
Reviewed by: [1] alc
X-MFC-after: Making sure alc has not come up with a better interface.
Diffstat (limited to 'sys/vm/pmap.h')
-rw-r--r-- | sys/vm/pmap.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/vm/pmap.h b/sys/vm/pmap.h index 02fda07..51a3bbe 100644 --- a/sys/vm/pmap.h +++ b/sys/vm/pmap.h @@ -98,6 +98,9 @@ extern vm_offset_t kernel_vm_end; void pmap_align_superpage(vm_object_t, vm_ooffset_t, vm_offset_t *, vm_size_t); +#if defined(__mips__) +void pmap_align_tlb(vm_offset_t *); +#endif void pmap_change_wiring(pmap_t, vm_offset_t, boolean_t); void pmap_clear_modify(vm_page_t m); void pmap_clear_reference(vm_page_t m); |