|
|
1.1 ! root 1: /* ! 2: * Mach Operating System ! 3: * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University. ! 4: * Copyright (c) 1993,1994 The University of Utah and ! 5: * the Computer Systems Laboratory (CSL). ! 6: * All rights reserved. ! 7: * ! 8: * Permission to use, copy, modify and distribute this software and its ! 9: * documentation is hereby granted, provided that both the copyright ! 10: * notice and this permission notice appear in all copies of the ! 11: * software, derivative works or modified versions, and any portions ! 12: * thereof, and that both notices appear in supporting documentation. ! 13: * ! 14: * CARNEGIE MELLON, THE UNIVERSITY OF UTAH AND CSL ALLOW FREE USE OF ! 15: * THIS SOFTWARE IN ITS "AS IS" CONDITION, AND DISCLAIM ANY LIABILITY ! 16: * OF ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF ! 17: * THIS SOFTWARE. ! 18: * ! 19: * Carnegie Mellon requests users of this software to return to ! 20: * ! 21: * Software Distribution Coordinator or [email protected] ! 22: * School of Computer Science ! 23: * Carnegie Mellon University ! 24: * Pittsburgh PA 15213-3890 ! 25: * ! 26: * any improvements or extensions that they make and grant Carnegie Mellon ! 27: * the rights to redistribute these changes. ! 28: */ ! 29: /* ! 30: * File: vm/vm_init.c ! 31: * Author: Avadis Tevanian, Jr., Michael Wayne Young ! 32: * Date: 1985 ! 33: * ! 34: * Initialize the Virtual Memory subsystem. ! 35: */ ! 36: ! 37: #include <mach/machine/vm_types.h> ! 38: #include <kern/zalloc.h> ! 39: #include <kern/kalloc.h> ! 40: #include <vm/vm_object.h> ! 41: #include <vm/vm_map.h> ! 42: #include <vm/vm_page.h> ! 43: #include <vm/vm_kern.h> ! 44: #include <vm/memory_object.h> ! 45: ! 46: ! 47: ! 48: /* ! 49: * vm_mem_bootstrap initializes the virtual memory system. ! 50: * This is done only by the first cpu up. ! 51: */ ! 52: ! 53: void vm_mem_bootstrap() ! 54: { ! 55: vm_offset_t start, end; ! 56: ! 57: /* ! 58: * Initializes resident memory structures. ! 59: * From here on, all physical memory is accounted for, ! 60: * and we use only virtual addresses. ! 61: */ ! 62: ! 63: vm_page_bootstrap(&start, &end); ! 64: ! 65: /* ! 66: * Initialize other VM packages ! 67: */ ! 68: ! 69: zone_bootstrap(); ! 70: vm_object_bootstrap(); ! 71: vm_map_init(); ! 72: kmem_init(start, end); ! 73: pmap_init(); ! 74: zone_init(); ! 75: kalloc_init(); ! 76: vm_fault_init(); ! 77: vm_page_module_init(); ! 78: memory_manager_default_init(); ! 79: } ! 80: ! 81: void vm_mem_init() ! 82: { ! 83: vm_object_init(); ! 84: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.