hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/arch/xtensa/mm/mmu.c
....@@ -4,7 +4,7 @@
44 *
55 * Extracted from init.c
66 */
7
-#include <linux/bootmem.h>
7
+#include <linux/memblock.h>
88 #include <linux/percpu.h>
99 #include <linux/init.h>
1010 #include <linux/string.h>
....@@ -21,8 +21,7 @@
2121 #if defined(CONFIG_HIGHMEM)
2222 static void * __init init_pmd(unsigned long vaddr, unsigned long n_pages)
2323 {
24
- pgd_t *pgd = pgd_offset_k(vaddr);
25
- pmd_t *pmd = pmd_offset(pgd, vaddr);
24
+ pmd_t *pmd = pmd_off_k(vaddr);
2625 pte_t *pte;
2726 unsigned long i;
2827
....@@ -31,7 +30,10 @@
3130 pr_debug("%s: vaddr: 0x%08lx, n_pages: %ld\n",
3231 __func__, vaddr, n_pages);
3332
34
- pte = alloc_bootmem_low_pages(n_pages * sizeof(pte_t));
33
+ pte = memblock_alloc_low(n_pages * sizeof(pte_t), PAGE_SIZE);
34
+ if (!pte)
35
+ panic("%s: Failed to allocate %lu bytes align=%lx\n",
36
+ __func__, n_pages * sizeof(pte_t), PAGE_SIZE);
3537
3638 for (i = 0; i < n_pages; ++i)
3739 pte_clear(NULL, 0, pte + i);