Home | History | Annotate | Line # | Download | only in include
pmap.h revision 1.38
      1 /*	$NetBSD: pmap.h,v 1.38 2011/06/20 21:45:16 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 
     34 struct 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