]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - arch/powerpc/include/asm/mmu.h
Merge branches 'pm-core', 'pm-qos', 'pm-domains' and 'pm-opp'
[linux.git] / arch / powerpc / include / asm / mmu.h
index e311c25751a4111d20f8bef1165ff52934a18576..233a7e8cc8e32d6cf0ac904b3f02b2f340e3883b 100644 (file)
@@ -160,7 +160,9 @@ static __always_inline bool mmu_has_feature(unsigned long feature)
 {
        int i;
 
+#ifndef __clang__ /* clang can't cope with this */
        BUILD_BUG_ON(!__builtin_constant_p(feature));
+#endif
 
 #ifdef CONFIG_JUMP_LABEL_FEATURE_CHECK_DEBUG
        if (!static_key_initialized) {
@@ -214,6 +216,11 @@ extern u64 ppc64_rma_size;
 /* Cleanup function used by kexec */
 extern void mmu_cleanup_all(void);
 extern void radix__mmu_cleanup_all(void);
+
+/* Functions for creating and updating partition table on POWER9 */
+extern void mmu_partition_table_init(void);
+extern void mmu_partition_table_set_entry(unsigned int lpid, unsigned long dw0,
+                                         unsigned long dw1);
 #endif /* CONFIG_PPC64 */
 
 struct mm_struct;
@@ -270,19 +277,20 @@ static inline bool early_radix_enabled(void)
 #define MMU_PAGE_64K   2
 #define MMU_PAGE_64K_AP        3       /* "Admixed pages" (hash64 only) */
 #define MMU_PAGE_256K  4
-#define MMU_PAGE_1M    5
-#define MMU_PAGE_2M    6
-#define MMU_PAGE_4M    7
-#define MMU_PAGE_8M    8
-#define MMU_PAGE_16M   9
-#define MMU_PAGE_64M   10
-#define MMU_PAGE_256M  11
-#define MMU_PAGE_1G    12
-#define MMU_PAGE_16G   13
-#define MMU_PAGE_64G   14
+#define MMU_PAGE_512K  5
+#define MMU_PAGE_1M    6
+#define MMU_PAGE_2M    7
+#define MMU_PAGE_4M    8
+#define MMU_PAGE_8M    9
+#define MMU_PAGE_16M   10
+#define MMU_PAGE_64M   11
+#define MMU_PAGE_256M  12
+#define MMU_PAGE_1G    13
+#define MMU_PAGE_16G   14
+#define MMU_PAGE_64G   15
 
 /* N.B. we need to change the type of hpte_page_sizes if this gets to be > 16 */
-#define MMU_PAGE_COUNT 15
+#define MMU_PAGE_COUNT 16
 
 #ifdef CONFIG_PPC_BOOK3S_64
 #include <asm/book3s/64/mmu.h>