Deleted Added
full compact
1a2,31
> * Copyright (C) 2006 Semihalf, Marian Balakowicz <m8@semihalf.com>
> * All rights reserved.
> *
> * Adapted for Freescale's e500 core CPUs.
> *
> * Redistribution and use in source and binary forms, with or without
> * modification, are permitted provided that the following conditions
> * are met:
> * 1. Redistributions of source code must retain the above copyright
> * notice, this list of conditions and the following disclaimer.
> * 2. Redistributions in binary form must reproduce the above copyright
> * notice, this list of conditions and the following disclaimer in the
> * documentation and/or other materials provided with the distribution.
> * 3. The name of the author may not be used to endorse or promote products
> * derived from this software without specific prior written permission.
> *
> * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
> * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
> * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
> * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
> * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
> * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
> * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
> * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
> * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
> * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> *
> * $FreeBSD: head/sys/powerpc/include/pmap.h 176770 2008-03-03 13:20:52Z raj $
> */
> /*-
31,32c61
< * $NetBSD: pmap.h,v 1.17 2000/03/30 16:18:24 jdolecek Exp $
< * $FreeBSD: head/sys/powerpc/include/pmap.h 164895 2006-12-05 04:01:52Z grehan $
---
> * from: $NetBSD: pmap.h,v 1.17 2000/03/30 16:18:24 jdolecek Exp $
42a72
> #include <machine/tlb.h>
43a74,75
> #if defined(AIM)
>
71a104,138
> #define pmap_page_is_mapped(m) (!LIST_EMPTY(&(m)->md.mdpg_pvoh))
>
> #else
>
> struct pmap {
> struct mtx pm_mtx; /* pmap mutex */
> tlbtid_t pm_tid; /* TID to identify this pmap entries in TLB */
> u_int pm_active; /* active on cpus */
> int pm_refs; /* ref count */
> struct pmap_statistics pm_stats;/* pmap statistics */
>
> /* Page table directory, array of pointers to page tables. */
> pte_t *pm_pdir[PDIR_NENTRIES];
>
> /* List of allocated ptbl bufs (ptbl kva regions). */
> TAILQ_HEAD(, ptbl_buf) ptbl_list;
> };
> typedef struct pmap *pmap_t;
>
> struct pv_entry {
> pmap_t pv_pmap;
> vm_offset_t pv_va;
> TAILQ_ENTRY(pv_entry) pv_link;
> };
> typedef struct pv_entry *pv_entry_t;
>
> struct md_page {
> TAILQ_HEAD(, pv_entry) pv_list;
> };
>
> #define MEM_REGIONS 8
> #define pmap_page_is_mapped(m) (!TAILQ_EMPTY(&(m)->md.pv_list))
>
> #endif /* AIM */
>
75,76d141
< #define pmap_page_is_mapped(m) (!LIST_EMPTY(&(m)->md.mdpg_pvoh))
<
93a159
> boolean_t pmap_page_executable(vm_page_t);
98d163
< boolean_t pmap_page_executable(vm_page_t);