pmap-v6.c (247046) | pmap-v6.c (247360) |
---|---|
1/* From: $NetBSD: pmap.c,v 1.148 2004/04/03 04:35:48 bsh Exp $ */ 2/*- 3 * Copyright 2011 Semihalf 4 * Copyright 2004 Olivier Houchard. 5 * Copyright 2003 Wasabi Systems, Inc. 6 * All rights reserved. 7 * 8 * Written by Steve C. Woodford for Wasabi Systems, Inc. --- 129 unchanged lines hidden (view full) --- 138 * Special compilation symbols 139 * PMAP_DEBUG - Build in pmap_debug_level code 140 */ 141/* Include header files */ 142 143#include "opt_vm.h" 144 145#include <sys/cdefs.h> | 1/* From: $NetBSD: pmap.c,v 1.148 2004/04/03 04:35:48 bsh Exp $ */ 2/*- 3 * Copyright 2011 Semihalf 4 * Copyright 2004 Olivier Houchard. 5 * Copyright 2003 Wasabi Systems, Inc. 6 * All rights reserved. 7 * 8 * Written by Steve C. Woodford for Wasabi Systems, Inc. --- 129 unchanged lines hidden (view full) --- 138 * Special compilation symbols 139 * PMAP_DEBUG - Build in pmap_debug_level code 140 */ 141/* Include header files */ 142 143#include "opt_vm.h" 144 145#include <sys/cdefs.h> |
146__FBSDID("$FreeBSD: head/sys/arm/arm/pmap-v6.c 247046 2013-02-20 16:48:52Z alc $"); | 146__FBSDID("$FreeBSD: head/sys/arm/arm/pmap-v6.c 247360 2013-02-26 23:35:27Z attilio $"); |
147#include <sys/param.h> 148#include <sys/systm.h> 149#include <sys/kernel.h> 150#include <sys/ktr.h> 151#include <sys/lock.h> 152#include <sys/proc.h> 153#include <sys/malloc.h> 154#include <sys/msgbuf.h> --- 232 unchanged lines hidden (view full) --- 387#define pmap_is_current(pm) ((pm) == pmap_kernel() || \ 388 curproc->p_vmspace->vm_map.pmap == (pm)) 389static uma_zone_t pvzone = NULL; 390uma_zone_t l2zone; 391static uma_zone_t l2table_zone; 392static vm_offset_t pmap_kernel_l2dtable_kva; 393static vm_offset_t pmap_kernel_l2ptp_kva; 394static vm_paddr_t pmap_kernel_l2ptp_phys; | 147#include <sys/param.h> 148#include <sys/systm.h> 149#include <sys/kernel.h> 150#include <sys/ktr.h> 151#include <sys/lock.h> 152#include <sys/proc.h> 153#include <sys/malloc.h> 154#include <sys/msgbuf.h> --- 232 unchanged lines hidden (view full) --- 387#define pmap_is_current(pm) ((pm) == pmap_kernel() || \ 388 curproc->p_vmspace->vm_map.pmap == (pm)) 389static uma_zone_t pvzone = NULL; 390uma_zone_t l2zone; 391static uma_zone_t l2table_zone; 392static vm_offset_t pmap_kernel_l2dtable_kva; 393static vm_offset_t pmap_kernel_l2ptp_kva; 394static vm_paddr_t pmap_kernel_l2ptp_phys; |
395static struct vm_object pvzone_obj; | |
396static int pv_entry_count=0, pv_entry_max=0, pv_entry_high_water=0; 397static struct rwlock pvh_global_lock; 398 399int l1_mem_types[] = { 400 ARM_L1S_STRONG_ORD, 401 ARM_L1S_DEVICE_NOSHARE, 402 ARM_L1S_DEVICE_SHARE, 403 ARM_L1S_NRML_NOCACHE, --- 755 unchanged lines hidden (view full) --- 1159 1160 /* 1161 * Initialize the PV entry allocator. 1162 */ 1163 pvzone = uma_zcreate("PV ENTRY", sizeof (struct pv_entry), NULL, NULL, 1164 NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_VM | UMA_ZONE_NOFREE); 1165 TUNABLE_INT_FETCH("vm.pmap.shpgperproc", &shpgperproc); 1166 pv_entry_max = shpgperproc * maxproc + cnt.v_page_count; | 395static int pv_entry_count=0, pv_entry_max=0, pv_entry_high_water=0; 396static struct rwlock pvh_global_lock; 397 398int l1_mem_types[] = { 399 ARM_L1S_STRONG_ORD, 400 ARM_L1S_DEVICE_NOSHARE, 401 ARM_L1S_DEVICE_SHARE, 402 ARM_L1S_NRML_NOCACHE, --- 755 unchanged lines hidden (view full) --- 1158 1159 /* 1160 * Initialize the PV entry allocator. 1161 */ 1162 pvzone = uma_zcreate("PV ENTRY", sizeof (struct pv_entry), NULL, NULL, 1163 NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_VM | UMA_ZONE_NOFREE); 1164 TUNABLE_INT_FETCH("vm.pmap.shpgperproc", &shpgperproc); 1165 pv_entry_max = shpgperproc * maxproc + cnt.v_page_count; |
1167 uma_zone_set_obj(pvzone, &pvzone_obj, pv_entry_max); | 1166 uma_zone_reserve_kva(pvzone, pv_entry_max); |
1168 pv_entry_high_water = 9 * (pv_entry_max / 10); 1169 1170 /* 1171 * Now it is safe to enable pv_table recording. 1172 */ 1173 PDEBUG(1, printf("pmap_init: done!\n")); 1174} 1175 --- 2693 unchanged lines hidden --- | 1167 pv_entry_high_water = 9 * (pv_entry_max / 10); 1168 1169 /* 1170 * Now it is safe to enable pv_table recording. 1171 */ 1172 PDEBUG(1, printf("pmap_init: done!\n")); 1173} 1174 --- 2693 unchanged lines hidden --- |