pmap-v4.c (133143) | pmap-v4.c (133237) |
---|---|
1/* From: $NetBSD: pmap.c,v 1.148 2004/04/03 04:35:48 bsh Exp $ */ 2/* 3 * Copyright 2004 Olivier Houchard. 4 * Copyright 2003 Wasabi Systems, Inc. 5 * All rights reserved. 6 * 7 * Written by Steve C. Woodford for Wasabi Systems, Inc. 8 * --- 130 unchanged lines hidden (view full) --- 139 */ 140 141/* 142 * Special compilation symbols 143 * PMAP_DEBUG - Build in pmap_debug_level code 144 */ 145/* Include header files */ 146#include <sys/cdefs.h> | 1/* From: $NetBSD: pmap.c,v 1.148 2004/04/03 04:35:48 bsh Exp $ */ 2/* 3 * Copyright 2004 Olivier Houchard. 4 * Copyright 2003 Wasabi Systems, Inc. 5 * All rights reserved. 6 * 7 * Written by Steve C. Woodford for Wasabi Systems, Inc. 8 * --- 130 unchanged lines hidden (view full) --- 139 */ 140 141/* 142 * Special compilation symbols 143 * PMAP_DEBUG - Build in pmap_debug_level code 144 */ 145/* Include header files */ 146#include <sys/cdefs.h> |
147__FBSDID("$FreeBSD: head/sys/arm/arm/pmap.c 133143 2004-08-04 22:03:16Z alc $"); | 147__FBSDID("$FreeBSD: head/sys/arm/arm/pmap.c 133237 2004-08-06 22:32:53Z cognet $"); |
148#include <sys/param.h> 149#include <sys/systm.h> 150#include <sys/kernel.h> 151#include <sys/proc.h> 152#include <sys/malloc.h> 153#include <sys/msgbuf.h> 154#include <sys/vmmeter.h> 155#include <sys/mman.h> --- 942 unchanged lines hidden (view full) --- 1098 pm->pm_l2[L2_IDX(l1idx)] = NULL; 1099 pmap_free_l2_dtable(l2); 1100} 1101 1102/* 1103 * Pool cache constructors for L2 descriptor tables, metadata and pmap 1104 * structures. 1105 */ | 148#include <sys/param.h> 149#include <sys/systm.h> 150#include <sys/kernel.h> 151#include <sys/proc.h> 152#include <sys/malloc.h> 153#include <sys/msgbuf.h> 154#include <sys/vmmeter.h> 155#include <sys/mman.h> --- 942 unchanged lines hidden (view full) --- 1098 pm->pm_l2[L2_IDX(l1idx)] = NULL; 1099 pmap_free_l2_dtable(l2); 1100} 1101 1102/* 1103 * Pool cache constructors for L2 descriptor tables, metadata and pmap 1104 * structures. 1105 */ |
1106static void 1107pmap_l2ptp_ctor(void *mem, int size, void *arg) | 1106static int 1107pmap_l2ptp_ctor(void *mem, int size, void *arg, int flags) |
1108{ 1109#ifndef PMAP_INCLUDE_PTE_SYNC 1110 struct l2_bucket *l2b; 1111 pt_entry_t *ptep, pte; 1112 vm_offset_t va = (vm_offset_t)mem & ~PAGE_MASK; 1113 1114 /* 1115 * The mappings for these page tables were initially made using --- 15 unchanged lines hidden (view full) --- 1131 PTE_SYNC(ptep); 1132 cpu_tlb_flushD_SE(va); 1133 cpu_cpwait(); 1134 } 1135#endif 1136 1137 memset(mem, 0, L2_TABLE_SIZE_REAL); 1138 PTE_SYNC_RANGE(mem, L2_TABLE_SIZE_REAL / sizeof(pt_entry_t)); | 1108{ 1109#ifndef PMAP_INCLUDE_PTE_SYNC 1110 struct l2_bucket *l2b; 1111 pt_entry_t *ptep, pte; 1112 vm_offset_t va = (vm_offset_t)mem & ~PAGE_MASK; 1113 1114 /* 1115 * The mappings for these page tables were initially made using --- 15 unchanged lines hidden (view full) --- 1131 PTE_SYNC(ptep); 1132 cpu_tlb_flushD_SE(va); 1133 cpu_cpwait(); 1134 } 1135#endif 1136 1137 memset(mem, 0, L2_TABLE_SIZE_REAL); 1138 PTE_SYNC_RANGE(mem, L2_TABLE_SIZE_REAL / sizeof(pt_entry_t)); |
1139 return (0); |
|
1139} 1140 1141/* 1142 * A bunch of routines to conditionally flush the caches/TLB depending 1143 * on whether the specified pmap actually needs to be flushed at any 1144 * given time. 1145 */ 1146static PMAP_INLINE void --- 3509 unchanged lines hidden --- | 1140} 1141 1142/* 1143 * A bunch of routines to conditionally flush the caches/TLB depending 1144 * on whether the specified pmap actually needs to be flushed at any 1145 * given time. 1146 */ 1147static PMAP_INLINE void --- 3509 unchanged lines hidden --- |