pmap.h (280381) | pmap.h (281494) |
---|---|
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 * --- 16 unchanged lines hidden (view full) --- 25 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 * | 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 * --- 16 unchanged lines hidden (view full) --- 25 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 * |
33 * $FreeBSD: head/sys/arm64/include/pmap.h 280381 2015-03-23 16:04:04Z emaste $ | 33 * $FreeBSD: head/sys/arm64/include/pmap.h 281494 2015-04-13 14:43:10Z andrew $ |
34 */ 35 36#ifndef _MACHINE_PMAP_H_ 37#define _MACHINE_PMAP_H_ 38 39#include <machine/pte.h> 40 41#ifndef LOCORE --- 89 unchanged lines hidden (view full) --- 131 * Macros to test if a mapping is mappable with an L1 Section mapping 132 * or an L2 Large Page mapping. 133 */ 134#define L1_MAPPABLE_P(va, pa, size) \ 135 ((((va) | (pa)) & L1_OFFSET) == 0 && (size) >= L1_SIZE) 136 137void pmap_bootstrap(vm_offset_t, vm_paddr_t, vm_size_t); 138void pmap_kenter(vm_offset_t, vm_paddr_t); | 34 */ 35 36#ifndef _MACHINE_PMAP_H_ 37#define _MACHINE_PMAP_H_ 38 39#include <machine/pte.h> 40 41#ifndef LOCORE --- 89 unchanged lines hidden (view full) --- 131 * Macros to test if a mapping is mappable with an L1 Section mapping 132 * or an L2 Large Page mapping. 133 */ 134#define L1_MAPPABLE_P(va, pa, size) \ 135 ((((va) | (pa)) & L1_OFFSET) == 0 && (size) >= L1_SIZE) 136 137void pmap_bootstrap(vm_offset_t, vm_paddr_t, vm_size_t); 138void pmap_kenter(vm_offset_t, vm_paddr_t); |
139void pmap_kenter_device(vm_offset_t, vm_paddr_t); | 139void pmap_kenter_device(vm_offset_t, vm_size_t, vm_paddr_t); |
140vm_paddr_t pmap_kextract(vm_offset_t va); 141void pmap_kremove(vm_offset_t); | 140vm_paddr_t pmap_kextract(vm_offset_t va); 141void pmap_kremove(vm_offset_t); |
142void pmap_kremove_device(vm_offset_t, vm_size_t); |
|
142 143void *pmap_mapdev(vm_offset_t, vm_size_t); 144void pmap_unmapdev(vm_offset_t, vm_size_t); 145 146boolean_t pmap_map_io_transient(vm_page_t *, vm_offset_t *, int, boolean_t); 147void pmap_unmap_io_transient(vm_page_t *, vm_offset_t *, int, boolean_t); 148 149#define pmap_page_is_mapped(m) (!TAILQ_EMPTY(&(m)->md.pv_list)) 150 151#endif /* _KERNEL */ 152 153#endif /* !LOCORE */ 154 155#endif /* !_MACHINE_PMAP_H_ */ | 143 144void *pmap_mapdev(vm_offset_t, vm_size_t); 145void pmap_unmapdev(vm_offset_t, vm_size_t); 146 147boolean_t pmap_map_io_transient(vm_page_t *, vm_offset_t *, int, boolean_t); 148void pmap_unmap_io_transient(vm_page_t *, vm_offset_t *, int, boolean_t); 149 150#define pmap_page_is_mapped(m) (!TAILQ_EMPTY(&(m)->md.pv_list)) 151 152#endif /* _KERNEL */ 153 154#endif /* !LOCORE */ 155 156#endif /* !_MACHINE_PMAP_H_ */ |