diff options
author | jhb <jhb@FreeBSD.org> | 2001-03-06 06:06:42 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2001-03-06 06:06:42 +0000 |
commit | a710dd719491cf5d6cf25776c860d40ecf004895 (patch) | |
tree | e94703ba8537bcc7df6eed45946da665b34eea58 /sys/vm/pmap.h | |
parent | 0a04578be41eeac63246d97839c306955bc8f7cc (diff) | |
download | FreeBSD-src-a710dd719491cf5d6cf25776c860d40ecf004895.zip FreeBSD-src-a710dd719491cf5d6cf25776c860d40ecf004895.tar.gz |
- Rework pmap_map() to take advantage of direct-mapped segments on
supported architectures such as the alpha. This allows us to save
on kernel virtual address space, TLB entries, and (on the ia64) VHPT
entries. pmap_map() now modifies the passed in virtual address on
architectures that do not support direct-mapped segments to point to
the next available virtual address. It also returns the actual
address that the request was mapped to.
- On the IA64 don't use a special zone of PV entries needed for early
calls to pmap_kenter() during pmap_init(). This gets us in trouble
because we end up trying to use the zone allocator before it is
initialized. Instead, with the pmap_map() change, the number of needed
PV entries is small enough that we can get by with a static pool that is
used until pmap_init() is complete.
Submitted by: dfr
Debugging help: peter
Tested by: me
Diffstat (limited to 'sys/vm/pmap.h')
-rw-r--r-- | sys/vm/pmap.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/vm/pmap.h b/sys/vm/pmap.h index 1aca49d..4ff3321 100644 --- a/sys/vm/pmap.h +++ b/sys/vm/pmap.h @@ -110,7 +110,7 @@ boolean_t pmap_is_modified __P((vm_page_t m)); boolean_t pmap_ts_referenced __P((vm_page_t m)); void pmap_kenter __P((vm_offset_t va, vm_offset_t pa)); void pmap_kremove __P((vm_offset_t)); -vm_offset_t pmap_map __P((vm_offset_t, vm_offset_t, vm_offset_t, int)); +vm_offset_t pmap_map __P((vm_offset_t *, vm_offset_t, vm_offset_t, int)); void pmap_object_init_pt __P((pmap_t pmap, vm_offset_t addr, vm_object_t object, vm_pindex_t pindex, vm_offset_t size, int pagelimit)); |