version 1.71, 2010/02/25 23:31:47 |
version 1.72, 2010/10/30 18:08:48 |
Line 91 __KERNEL_RCSID(0, "$NetBSD$"); |
|
Line 91 __KERNEL_RCSID(0, "$NetBSD$"); |
|
#include <powerpc/oea/spr.h> |
#include <powerpc/oea/spr.h> |
#include <powerpc/oea/sr_601.h> |
#include <powerpc/oea/sr_601.h> |
|
|
|
#define VM_PAGE_TO_MD(pg) (&(pg)->mdpage) |
|
|
#ifdef ALTIVEC |
#ifdef ALTIVEC |
int pmap_use_altivec; |
int pmap_use_altivec; |
#endif |
#endif |
Line 690 static inline struct pvo_head * |
|
Line 692 static inline struct pvo_head * |
|
pa_to_pvoh(paddr_t pa, struct vm_page **pg_p) |
pa_to_pvoh(paddr_t pa, struct vm_page **pg_p) |
{ |
{ |
struct vm_page *pg; |
struct vm_page *pg; |
|
struct vm_page_md *md; |
|
|
pg = PHYS_TO_VM_PAGE(pa); |
pg = PHYS_TO_VM_PAGE(pa); |
if (pg_p != NULL) |
if (pg_p != NULL) |
*pg_p = pg; |
*pg_p = pg; |
if (pg == NULL) |
if (pg == NULL) |
return &pmap_pvo_unmanaged; |
return &pmap_pvo_unmanaged; |
return &pg->mdpage.mdpg_pvoh; |
md = VM_PAGE_TO_MD(pg); |
|
return &md->mdpg_pvoh; |
} |
} |
|
|
static inline struct pvo_head * |
static inline struct pvo_head * |
vm_page_to_pvoh(struct vm_page *pg) |
vm_page_to_pvoh(struct vm_page *pg) |
{ |
{ |
return &pg->mdpage.mdpg_pvoh; |
struct vm_page_md * const md = VM_PAGE_TO_MD(pg); |
|
|
|
return &md->mdpg_pvoh; |
} |
} |
|
|
|
|
static inline void |
static inline void |
pmap_attr_clear(struct vm_page *pg, int ptebit) |
pmap_attr_clear(struct vm_page *pg, int ptebit) |
{ |
{ |
pg->mdpage.mdpg_attrs &= ~ptebit; |
struct vm_page_md * const md = VM_PAGE_TO_MD(pg); |
|
|
|
md->mdpg_attrs &= ~ptebit; |
} |
} |
|
|
static inline int |
static inline int |
pmap_attr_fetch(struct vm_page *pg) |
pmap_attr_fetch(struct vm_page *pg) |
{ |
{ |
return pg->mdpage.mdpg_attrs; |
struct vm_page_md * const md = VM_PAGE_TO_MD(pg); |
|
|
|
return md->mdpg_attrs; |
} |
} |
|
|
static inline void |
static inline void |
pmap_attr_save(struct vm_page *pg, int ptebit) |
pmap_attr_save(struct vm_page *pg, int ptebit) |
{ |
{ |
pg->mdpage.mdpg_attrs |= ptebit; |
struct vm_page_md * const md = VM_PAGE_TO_MD(pg); |
|
|
|
md->mdpg_attrs |= ptebit; |
} |
} |
|
|
static inline int |
static inline int |