1/* $NetBSD: pmap.h,v 1.37 2011/06/20 20:24:28 matt Exp $ */ 2 3#ifndef _POWERPC_PMAP_H_ 4#define _POWERPC_PMAP_H_ 5 6#ifdef _KERNEL_OPT 7#include "opt_ppcarch.h" 8#include "opt_modular.h" 9#endif 10 11#if !defined(_MODULE) 12 13#if defined(PPC_BOOKE) 14#include <powerpc/booke/pmap.h> 15#elif defined(PPC_IBM4XX) 16#include <powerpc/ibm4xx/pmap.h> 17#elif defined(PPC_OEA) || defined (PPC_OEA64) || defined (PPC_OEA64_BRIDGE) 18#include <powerpc/oea/pmap.h> 19#elif defined(_KERNEL) 20#error unknown PPC variant 21#endif 22 23#endif /* !_MODULE */ 24 25#if !defined(_LOCORE) && (defined(MODULAR) || defined(_MODULE)) 26/* 27 * Both BOOKE and OEA use __HAVE_VM_PAGE_MD but IBM4XX doesn't so define 28 * a compatible vm_page_md so that struct vm_page is the same size for all 29 * PPC variants. 30 */ 31#ifndef __HAVE_VM_PAGE_MD 32#define __HAVE_VM_PAGE_MD 33 34struct vm_page_md { 35 uintptr_t mdpg_dummy[5]; 36}; 37#endif /* !__HVE_VM_PAGE_MD */ 38 39__CTASSERT(sizeof(struct vm_page_md) == sizeof(uintptr_t)*5); 40 41#endif /* !LOCORE && (MODULAR || _MODULE) */ 42 43#endif /* !_POWERPC_PMAP_H_ */ 44