Deleted Added
full compact
pmap-v4.c (159359) pmap-v4.c (159378)
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 *

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

142 * Special compilation symbols
143 * PMAP_DEBUG - Build in pmap_debug_level code
144 */
145/* Include header files */
146
147#include "opt_vm.h"
148
149#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 *

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

142 * Special compilation symbols
143 * PMAP_DEBUG - Build in pmap_debug_level code
144 */
145/* Include header files */
146
147#include "opt_vm.h"
148
149#include <sys/cdefs.h>
150__FBSDID("$FreeBSD: head/sys/arm/arm/pmap.c 159359 2006-06-06 21:06:57Z cognet $");
150__FBSDID("$FreeBSD: head/sys/arm/arm/pmap.c 159378 2006-06-07 17:14:48Z alc $");
151#include <sys/param.h>
152#include <sys/systm.h>
153#include <sys/kernel.h>
154#include <sys/proc.h>
155#include <sys/malloc.h>
156#include <sys/msgbuf.h>
157#include <sys/vmmeter.h>
158#include <sys/mman.h>

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

3715 * pmap and virtual address pair if that mapping permits the given
3716 * protection.
3717 *
3718 */
3719vm_page_t
3720pmap_extract_and_hold(pmap_t pmap, vm_offset_t va, vm_prot_t prot)
3721{
3722 struct l2_dtable *l2;
151#include <sys/param.h>
152#include <sys/systm.h>
153#include <sys/kernel.h>
154#include <sys/proc.h>
155#include <sys/malloc.h>
156#include <sys/msgbuf.h>
157#include <sys/vmmeter.h>
158#include <sys/mman.h>

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

3715 * pmap and virtual address pair if that mapping permits the given
3716 * protection.
3717 *
3718 */
3719vm_page_t
3720pmap_extract_and_hold(pmap_t pmap, vm_offset_t va, vm_prot_t prot)
3721{
3722 struct l2_dtable *l2;
3723 pd_entry_t *pl1pd, l1pd;
3723 pd_entry_t l1pd;
3724 pt_entry_t *ptep, pte;
3725 vm_paddr_t pa;
3726 vm_page_t m = NULL;
3727 u_int l1idx;
3728 l1idx = L1_IDX(va);
3724 pt_entry_t *ptep, pte;
3725 vm_paddr_t pa;
3726 vm_page_t m = NULL;
3727 u_int l1idx;
3728 l1idx = L1_IDX(va);
3729 pl1pd = &pmap->pm_l1->l1_kva[l1idx];
3730 l1pd = *pl1pd;
3731
3732 vm_page_lock_queues();
3733 PMAP_LOCK(pmap);
3729
3730 vm_page_lock_queues();
3731 PMAP_LOCK(pmap);
3732 l1pd = pmap->pm_l1->l1_kva[l1idx];
3734 if (l1pte_section_p(l1pd)) {
3735 /*
3736 * These should only happen for pmap_kernel()
3737 */
3738 KASSERT(pmap == pmap_kernel(), ("huh"));
3739 pa = (l1pd & L1_S_FRAME) | (va & L1_S_OFFSET);
3740 if (l1pd & L1_S_PROT_W || (prot & VM_PROT_WRITE) == 0) {
3741 m = PHYS_TO_VM_PAGE(pa);

--- 1108 unchanged lines hidden ---
3733 if (l1pte_section_p(l1pd)) {
3734 /*
3735 * These should only happen for pmap_kernel()
3736 */
3737 KASSERT(pmap == pmap_kernel(), ("huh"));
3738 pa = (l1pd & L1_S_FRAME) | (va & L1_S_OFFSET);
3739 if (l1pd & L1_S_PROT_W || (prot & VM_PROT_WRITE) == 0) {
3740 m = PHYS_TO_VM_PAGE(pa);

--- 1108 unchanged lines hidden ---