hc
2024-05-10 37f49e37ab4cb5d0bc4c60eb5c6d4dd57db767bb
kernel/arch/m68k/sun3x/dvma.c
....@@ -15,15 +15,14 @@
1515 #include <linux/init.h>
1616 #include <linux/bitops.h>
1717 #include <linux/mm.h>
18
-#include <linux/bootmem.h>
18
+#include <linux/memblock.h>
1919 #include <linux/vmalloc.h>
2020
2121 #include <asm/sun3x.h>
2222 #include <asm/dvma.h>
2323 #include <asm/io.h>
2424 #include <asm/page.h>
25
-#include <asm/pgtable.h>
26
-#include <asm/pgalloc.h>
25
+#include <asm/tlbflush.h>
2726
2827 /* IOMMU support */
2928
....@@ -80,6 +79,8 @@
8079 unsigned long vaddr, int len)
8180 {
8281 pgd_t *pgd;
82
+ p4d_t *p4d;
83
+ pud_t *pud;
8384 unsigned long end;
8485 int ret = 0;
8586
....@@ -90,12 +91,14 @@
9091
9192 pr_debug("dvma: mapping kern %08lx to virt %08lx\n", kaddr, vaddr);
9293 pgd = pgd_offset_k(vaddr);
94
+ p4d = p4d_offset(pgd, vaddr);
95
+ pud = pud_offset(p4d, vaddr);
9396
9497 do {
9598 pmd_t *pmd;
9699 unsigned long end2;
97100
98
- if((pmd = pmd_alloc(&init_mm, pgd, vaddr)) == NULL) {
101
+ if((pmd = pmd_alloc(&init_mm, pud, vaddr)) == NULL) {
99102 ret = -ENOMEM;
100103 goto out;
101104 }
....@@ -196,4 +199,3 @@
196199 }
197200
198201 }
199
-