Commit | Line | Data |
---|---|---|
047ea784 PM |
1 | #ifndef _ASM_POWERPC_MMU_H_ |
2 | #define _ASM_POWERPC_MMU_H_ | |
88ced031 | 3 | #ifdef __KERNEL__ |
047ea784 | 4 | |
7c03d653 BH |
5 | #include <asm/asm-compat.h> |
6 | #include <asm/feature-fixups.h> | |
7 | ||
8 | /* | |
9 | * MMU features bit definitions | |
10 | */ | |
11 | ||
12 | /* | |
13 | * First half is MMU families | |
14 | */ | |
15 | #define MMU_FTR_HPTE_TABLE ASM_CONST(0x00000001) | |
16 | #define MMU_FTR_TYPE_8xx ASM_CONST(0x00000002) | |
17 | #define MMU_FTR_TYPE_40x ASM_CONST(0x00000004) | |
18 | #define MMU_FTR_TYPE_44x ASM_CONST(0x00000008) | |
19 | #define MMU_FTR_TYPE_FSL_E ASM_CONST(0x00000010) | |
20 | ||
21 | /* | |
22 | * This is individual features | |
23 | */ | |
24 | ||
25 | /* Enable use of high BAT registers */ | |
26 | #define MMU_FTR_USE_HIGH_BATS ASM_CONST(0x00010000) | |
27 | ||
28 | /* Enable >32-bit physical addresses on 32-bit processor, only used | |
29 | * by CONFIG_6xx currently as BookE supports that from day 1 | |
30 | */ | |
31 | #define MMU_FTR_BIG_PHYS ASM_CONST(0x00020000) | |
32 | ||
33 | #ifndef __ASSEMBLY__ | |
34 | #include <asm/cputable.h> | |
35 | ||
36 | static inline int mmu_has_feature(unsigned long feature) | |
37 | { | |
38 | return (cur_cpu_spec->mmu_features & feature); | |
39 | } | |
40 | ||
41 | extern unsigned int __start___mmu_ftr_fixup, __stop___mmu_ftr_fixup; | |
42 | ||
43 | #endif /* !__ASSEMBLY__ */ | |
44 | ||
45 | ||
8d2169e8 DG |
46 | #ifdef CONFIG_PPC64 |
47 | /* 64-bit classic hash table MMU */ | |
48 | # include <asm/mmu-hash64.h> | |
4db68bfe DG |
49 | #elif defined(CONFIG_PPC_STD_MMU) |
50 | /* 32-bit classic hash table MMU */ | |
51 | # include <asm/mmu-hash32.h> | |
4d922c8d JB |
52 | #elif defined(CONFIG_40x) |
53 | /* 40x-style software loaded TLB */ | |
54 | # include <asm/mmu-40x.h> | |
57d7909e DG |
55 | #elif defined(CONFIG_44x) |
56 | /* 44x-style software loaded TLB */ | |
57 | # include <asm/mmu-44x.h> | |
67f74c9d DG |
58 | #elif defined(CONFIG_FSL_BOOKE) |
59 | /* Freescale Book-E software loaded TLB */ | |
60 | # include <asm/mmu-fsl-booke.h> | |
31202345 DG |
61 | #elif defined (CONFIG_PPC_8xx) |
62 | /* Motorola/Freescale 8xx software loaded TLB */ | |
63 | # include <asm/mmu-8xx.h> | |
1f8d419e | 64 | #endif |
1f8d419e | 65 | |
88ced031 | 66 | #endif /* __KERNEL__ */ |
047ea784 | 67 | #endif /* _ASM_POWERPC_MMU_H_ */ |