MCPcopy Create free account
hub / github.com/F-Stack/f-stack / vm_mem_init

Function vm_mem_init

freebsd/vm/vm_init.c:112–148  ·  view source on GitHub ↗

* vm_init initializes the virtual memory system. * This is done only by the first cpu up. */

Source from the content-addressed store, hash-verified

110 * This is done only by the first cpu up.
111 */
112static void
113vm_mem_init(void *dummy)
114{
115
116 /*
117 * Initialize static domainsets, used by various allocators.
118 */
119 domainset_init();
120
121 /*
122 * Initialize resident memory structures. From here on, all physical
123 * memory is accounted for, and we use only virtual addresses.
124 */
125 vm_set_page_size();
126 virtual_avail = vm_page_startup(virtual_avail);
127
128 /*
129 * Set an initial domain policy for thread0 so that allocations
130 * can work.
131 */
132 domainset_zero();
133
134 /* Bootstrap the kernel memory allocator. */
135 uma_startup1(virtual_avail);
136
137 /*
138 * Initialize other VM packages
139 */
140 vmem_startup();
141 vm_object_init();
142 vm_map_startup();
143 kmem_init(virtual_avail, virtual_end);
144
145 kmem_init_zero_region();
146 pmap_init();
147 vm_pager_init();
148}
149
150void
151vm_ksubmap_init(struct kva_md_info *kmi)

Callers

nothing calls this directly

Calls 12

domainset_initFunction · 0.85
vm_set_page_sizeFunction · 0.85
vm_page_startupFunction · 0.85
domainset_zeroFunction · 0.85
uma_startup1Function · 0.85
vmem_startupFunction · 0.85
vm_object_initFunction · 0.85
vm_map_startupFunction · 0.85
kmem_initFunction · 0.85
kmem_init_zero_regionFunction · 0.85
vm_pager_initFunction · 0.85
pmap_initFunction · 0.50

Tested by

no test coverage detected