pmap.h (113171) | pmap.h (113238) |
---|---|
1/* 2 * Copyright (c) 1991 Regents of the University of California. 3 * All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * the Systems Programming Group of the University of Utah Computer 7 * Science Department and William Jolitz of UUNET Technologies Inc. 8 * --- 23 unchanged lines hidden (view full) --- 32 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 33 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 34 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 35 * SUCH DAMAGE. 36 * 37 * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 38 * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 39 * from: FreeBSD: src/sys/i386/include/pmap.h,v 1.70 2000/11/30 | 1/* 2 * Copyright (c) 1991 Regents of the University of California. 3 * All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * the Systems Programming Group of the University of Utah Computer 7 * Science Department and William Jolitz of UUNET Technologies Inc. 8 * --- 23 unchanged lines hidden (view full) --- 32 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 33 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 34 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 35 * SUCH DAMAGE. 36 * 37 * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 38 * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 39 * from: FreeBSD: src/sys/i386/include/pmap.h,v 1.70 2000/11/30 |
40 * $FreeBSD: head/sys/sparc64/include/pmap.h 113171 2003-04-06 18:17:31Z jake $ | 40 * $FreeBSD: head/sys/sparc64/include/pmap.h 113238 2003-04-08 06:35:09Z jake $ |
41 */ 42 43#ifndef _MACHINE_PMAP_H_ 44#define _MACHINE_PMAP_H_ 45 46#include <sys/queue.h> 47#include <machine/cache.h> 48#include <machine/tte.h> --- 18 unchanged lines hidden (view full) --- 67 vm_object_t pm_tsb_obj; 68 u_int pm_active; 69 u_int pm_context[MAXCPU]; 70 struct pmap_statistics pm_stats; 71}; 72 73void pmap_bootstrap(vm_offset_t ekva); 74void pmap_context_rollover(void); | 41 */ 42 43#ifndef _MACHINE_PMAP_H_ 44#define _MACHINE_PMAP_H_ 45 46#include <sys/queue.h> 47#include <machine/cache.h> 48#include <machine/tte.h> --- 18 unchanged lines hidden (view full) --- 67 vm_object_t pm_tsb_obj; 68 u_int pm_active; 69 u_int pm_context[MAXCPU]; 70 struct pmap_statistics pm_stats; 71}; 72 73void pmap_bootstrap(vm_offset_t ekva); 74void pmap_context_rollover(void); |
75vm_offset_t pmap_kextract(vm_offset_t va); 76void pmap_kenter(vm_offset_t va, vm_offset_t pa); | 75vm_paddr_t pmap_kextract(vm_offset_t va); 76void pmap_kenter(vm_offset_t va, vm_page_t m); |
77void pmap_kremove(vm_offset_t); | 77void pmap_kremove(vm_offset_t); |
78void pmap_kenter_flags(vm_offset_t va, vm_offset_t pa, u_long flags); | 78void pmap_kenter_flags(vm_offset_t va, vm_paddr_t pa, u_long flags); |
79void pmap_kremove_flags(vm_offset_t va); 80 81int pmap_cache_enter(vm_page_t m, vm_offset_t va); 82void pmap_cache_remove(vm_page_t m, vm_offset_t va); 83 84int pmap_remove_tte(struct pmap *pm1, struct pmap *pm2, struct tte *tp, 85 vm_offset_t va); 86int pmap_protect_tte(struct pmap *pm1, struct pmap *pm2, struct tte *tp, 87 vm_offset_t va); 88 89void pmap_map_tsb(void); 90 91void pmap_clear_write(vm_page_t m); 92 93#define vtophys(va) pmap_kextract(((vm_offset_t)(va))) 94 | 79void pmap_kremove_flags(vm_offset_t va); 80 81int pmap_cache_enter(vm_page_t m, vm_offset_t va); 82void pmap_cache_remove(vm_page_t m, vm_offset_t va); 83 84int pmap_remove_tte(struct pmap *pm1, struct pmap *pm2, struct tte *tp, 85 vm_offset_t va); 86int pmap_protect_tte(struct pmap *pm1, struct pmap *pm2, struct tte *tp, 87 vm_offset_t va); 88 89void pmap_map_tsb(void); 90 91void pmap_clear_write(vm_page_t m); 92 93#define vtophys(va) pmap_kextract(((vm_offset_t)(va))) 94 |
95extern vm_offset_t avail_start; 96extern vm_offset_t avail_end; | 95extern vm_paddr_t avail_start; 96extern vm_paddr_t avail_end; |
97extern struct pmap kernel_pmap_store; 98#define kernel_pmap (&kernel_pmap_store) | 97extern struct pmap kernel_pmap_store; 98#define kernel_pmap (&kernel_pmap_store) |
99extern vm_offset_t phys_avail[]; | 99extern vm_paddr_t phys_avail[]; |
100extern vm_offset_t virtual_avail; 101extern vm_offset_t virtual_end; 102 | 100extern vm_offset_t virtual_avail; 101extern vm_offset_t virtual_end; 102 |
103extern vm_offset_t msgbuf_phys; | 103extern vm_paddr_t msgbuf_phys; |
104 105static __inline int 106pmap_track_modified(pmap_t pm, vm_offset_t va) 107{ 108 if (pm == kernel_pmap) 109 return ((va < kmi.clean_sva) || (va >= kmi.clean_eva)); 110 else 111 return (1); --- 22 unchanged lines hidden --- | 104 105static __inline int 106pmap_track_modified(pmap_t pm, vm_offset_t va) 107{ 108 if (pm == kernel_pmap) 109 return ((va < kmi.clean_sva) || (va >= kmi.clean_eva)); 110 else 111 return (1); --- 22 unchanged lines hidden --- |