71#include <sys/domainset.h>
72#include <sys/kernel.h>
75#include <sys/rwlock.h>
76#include <sys/malloc.h>
77#include <sys/sysctl.h>
79#include <sys/selinfo.h>
85#include <sys/vmmeter.h>
153 vm_offset_t firstaddr;
175 v = (caddr_t)firstaddr;
184 v = kern_vfs_bio_buffer_alloc(v, physmem_est);
189 if (firstaddr == 0) {
191#ifdef VM_FREELIST_DMA32
197 (vm_paddr_t)1 << 32, ~(vm_paddr_t)0, VM_MEMATTR_DEFAULT);
202 panic(
"startup: no room for tables");
209 if ((vm_size_t)((
char *)v - firstaddr) != size)
210 panic(
"startup: table size inconsistency");
215 size = (long)nbuf * BKVASIZE + (
long)bio_transient_maxcnt * maxphys;
225 size = (long)nbuf * BKVASIZE;
229 PAGE_SIZE, (mp_ncpus > 4) ? BKVASIZE * 8 : 0, 0);
235 if (bio_transient_maxcnt != 0) {
236 size = (long)bio_transient_maxcnt * maxphys;
238 firstaddr, size, PAGE_SIZE, 0, 0);
242 panic(
"Clean map calculation incorrect");
void vm_set_page_size(void)
void kmem_subinit(vm_map_t, vm_map_t, vm_offset_t *, vm_offset_t *, vm_size_t, bool)
vm_offset_t kmem_alloc_attr(vm_size_t size, int flags, vm_paddr_t low, vm_paddr_t high, vm_memattr_t memattr)
void kmem_init(vm_offset_t, vm_offset_t)
vm_offset_t kva_alloc(vm_size_t)
vm_offset_t kmem_malloc(vm_size_t size, int flags)
void kmem_init_zero_region(void)
SYSINIT(vm_mem, SI_SUB_VM, SI_ORDER_FIRST, vm_mem_init, NULL)
void uma_startup1(vm_offset_t)
static void vm_mem_init(void *)
void vm_ksubmap_init(struct kva_md_info *kmi)
u_int exec_map_entry_size
struct vmem * transient_arena
struct vmem * buffer_arena
void vm_map_startup(void)
static __inline vm_offset_t vm_map_max(const struct vm_map *map)
static __inline vm_offset_t vm_map_min(const struct vm_map *map)
void vm_object_init(void)
vm_offset_t vm_page_startup(vm_offset_t vaddr)