mm: don't include asm/pgtable.h if linux/mm.h is already included
[platform/kernel/linux-starfive.git] / arch / riscv / mm / init.c
index 736de6c..5779786 100644 (file)
@@ -17,8 +17,9 @@
 #include <asm/fixmap.h>
 #include <asm/tlbflush.h>
 #include <asm/sections.h>
-#include <asm/pgtable.h>
+#include <asm/soc.h>
 #include <asm/io.h>
+#include <asm/ptdump.h>
 
 #include "../kernel/head.h"
 
@@ -39,7 +40,7 @@ static void __init zone_sizes_init(void)
 #endif
        max_zone_pfns[ZONE_NORMAL] = max_low_pfn;
 
-       free_area_init_nodes(max_zone_pfns);
+       free_area_init(max_zone_pfns);
 }
 
 static void setup_zero_page(void)
@@ -493,7 +494,15 @@ void free_initmem(void)
 #else
 asmlinkage void __init setup_vm(uintptr_t dtb_pa)
 {
+#ifdef CONFIG_BUILTIN_DTB
+       dtb_early_va = soc_lookup_builtin_dtb();
+       if (!dtb_early_va) {
+               /* Fallback to first available DTS */
+               dtb_early_va = (void *) __dtb_start;
+       }
+#else
        dtb_early_va = (void *)dtb_pa;
+#endif
 }
 
 static inline void setup_vm_final(void)
@@ -514,6 +523,8 @@ void mark_rodata_ro(void)
        set_memory_ro(rodata_start, (data_start - rodata_start) >> PAGE_SHIFT);
        set_memory_nx(rodata_start, (data_start - rodata_start) >> PAGE_SHIFT);
        set_memory_nx(data_start, (max_low - data_start) >> PAGE_SHIFT);
+
+       debug_checkwx();
 }
 #endif