Deleted Added
full compact
pmap.h (99578) pmap.h (99862)
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 *

--- 28 unchanged lines hidden (view full) ---

37 * Derived from hp300 version by Mike Hibler, this version by William
38 * Jolitz uses a recursive map [a pde points to the page directory] to
39 * map the page tables using the pagetables themselves. This is done to
40 * reduce the impact on kernel virtual memory for lots of sparse address
41 * space, and to reduce the cost of memory to each process.
42 *
43 * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90
44 * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91
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 *

--- 28 unchanged lines hidden (view full) ---

37 * Derived from hp300 version by Mike Hibler, this version by William
38 * Jolitz uses a recursive map [a pde points to the page directory] to
39 * map the page tables using the pagetables themselves. This is done to
40 * reduce the impact on kernel virtual memory for lots of sparse address
41 * space, and to reduce the cost of memory to each process.
42 *
43 * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90
44 * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91
45 * $FreeBSD: head/sys/i386/include/pmap.h 99578 2002-07-08 08:14:28Z peter $
45 * $FreeBSD: head/sys/i386/include/pmap.h 99862 2002-07-12 07:56:11Z peter $
46 */
47
48#ifndef _MACHINE_PMAP_H_
49#define _MACHINE_PMAP_H_
50
51/*
52 * Page-directory and page-table entires follow this format, with a few
53 * of the fields not present here and there, depending on a lot of things.

--- 92 unchanged lines hidden (view full) ---

146 * Address of current and alternate address space page table maps
147 * and directories.
148 */
149#ifdef _KERNEL
150extern pt_entry_t PTmap[], APTmap[];
151extern pd_entry_t PTD[], APTD[];
152extern pd_entry_t PTDpde, APTDpde;
153
46 */
47
48#ifndef _MACHINE_PMAP_H_
49#define _MACHINE_PMAP_H_
50
51/*
52 * Page-directory and page-table entires follow this format, with a few
53 * of the fields not present here and there, depending on a lot of things.

--- 92 unchanged lines hidden (view full) ---

146 * Address of current and alternate address space page table maps
147 * and directories.
148 */
149#ifdef _KERNEL
150extern pt_entry_t PTmap[], APTmap[];
151extern pd_entry_t PTD[], APTD[];
152extern pd_entry_t PTDpde, APTDpde;
153
154extern pd_entry_t IdlePTD; /* physical address of "Idle" state directory */
154extern pd_entry_t *IdlePTD; /* physical address of "Idle" state directory */
155#endif
156
157#ifdef _KERNEL
158/*
159 * virtual address to page table entry and
160 * to physical address. Likewise for alternate address space.
161 * Note: these work recursively, thus vtopte of a pte will give
162 * the corresponding pde that in turn maps it.

--- 85 unchanged lines hidden (view full) ---

248extern vm_offset_t avail_start;
249extern vm_offset_t clean_eva;
250extern vm_offset_t clean_sva;
251extern vm_offset_t phys_avail[];
252extern char *ptvmmap; /* poor name! */
253extern vm_offset_t virtual_avail;
254extern vm_offset_t virtual_end;
255
155#endif
156
157#ifdef _KERNEL
158/*
159 * virtual address to page table entry and
160 * to physical address. Likewise for alternate address space.
161 * Note: these work recursively, thus vtopte of a pte will give
162 * the corresponding pde that in turn maps it.

--- 85 unchanged lines hidden (view full) ---

248extern vm_offset_t avail_start;
249extern vm_offset_t clean_eva;
250extern vm_offset_t clean_sva;
251extern vm_offset_t phys_avail[];
252extern char *ptvmmap; /* poor name! */
253extern vm_offset_t virtual_avail;
254extern vm_offset_t virtual_end;
255
256void pmap_bootstrap( vm_offset_t, vm_offset_t);
256void pmap_bootstrap(vm_offset_t, vm_offset_t);
257void *pmap_mapdev(vm_offset_t, vm_size_t);
258void pmap_unmapdev(vm_offset_t, vm_size_t);
259pt_entry_t *pmap_pte(pmap_t, vm_offset_t) __pure2;
260vm_page_t pmap_use_pt(pmap_t, vm_offset_t);
257void *pmap_mapdev(vm_offset_t, vm_size_t);
258void pmap_unmapdev(vm_offset_t, vm_size_t);
259pt_entry_t *pmap_pte(pmap_t, vm_offset_t) __pure2;
260vm_page_t pmap_use_pt(pmap_t, vm_offset_t);
261#ifdef SMP
262void pmap_set_opt(void);
261void pmap_set_opt(void);
263#endif
262void pmap_invalidate_page(pmap_t, vm_offset_t);
263void pmap_invalidate_range(pmap_t, vm_offset_t, vm_offset_t);
264void pmap_invalidate_all(pmap_t);
264
265#endif /* _KERNEL */
266
267#endif /* !LOCORE */
268
269#endif /* !_MACHINE_PMAP_H_ */
265
266#endif /* _KERNEL */
267
268#endif /* !LOCORE */
269
270#endif /* !_MACHINE_PMAP_H_ */