]> git.neil.brown.name Git - history.git/commitdiff
[PATCH] Sun-3/3x PTE updates
authorGeert Uytterhoeven <geert@linux-m68k.org>
Sat, 28 Dec 2002 03:14:45 +0000 (19:14 -0800)
committerLinus Torvalds <torvalds@home.transmeta.com>
Sat, 28 Dec 2002 03:14:45 +0000 (19:14 -0800)
Sun-3/3x PTE updates (from Sam Creasey)

arch/m68k/mm/sun3mmu.c
arch/m68k/sun3/dvma.c
arch/m68k/sun3x/dvma.c

index dd34111704721038cec29cde3d553d3a9aff9f85..a1dcc2ed06aad4938059b3ece8e4c478330583da 100644 (file)
@@ -83,7 +83,7 @@ void __init paging_init(void)
                /* now change pg_table to kernel virtual addresses */
                pg_table = (pte_t *) __va ((unsigned long) pg_table);
                for (i=0; i<PTRS_PER_PTE; ++i, ++pg_table) {
-                       pte_t pte = __mk_pte(address, PAGE_INIT);
+                       pte_t pte = pfn_pte(virt_to_pfn(address), PAGE_INIT);
                        if (address >= (unsigned long)high_memory)
                                pte_val (pte) = 0;
                        set_pte (pg_table, pte);
index 1c47cc14415cfbecb407ba5f482ebc81c2fcde4a..af1b60199455986a20938ebed41d083f9f2c16ec 100644 (file)
@@ -1,5 +1,11 @@
-
-/* dvma support routines */
+/*
+ * linux/arch/m68k/sun3/dvma.c
+ *
+ * Written by Sam Creasey
+ *
+ * Sun3 IOMMU routines used for dvma accesses.
+ *
+ */
 
 #include <linux/kernel.h>
 #include <linux/mm.h>
@@ -22,7 +28,7 @@ inline unsigned long dvma_page(unsigned long kaddr, unsigned long vaddr)
        j = *(volatile unsigned long *)kaddr;
        *(volatile unsigned long *)kaddr = j;
 
-       ptep = __mk_pte(kaddr, PAGE_KERNEL);
+       ptep = pfn_pte(virt_to_pfn(kaddr), PAGE_KERNEL);
        pte = pte_val(ptep);
 //             printk("dvma_remap: addr %lx -> %lx pte %08lx len %x\n", 
 //                    kaddr, vaddr, pte, len);
index 3f28e3565235c317915745c05a2a459a7bf94483..4fc997c9b2ef152f9bef9c62bbe5850d12bbcd03 100644 (file)
@@ -102,7 +102,7 @@ inline int dvma_map_cpu(unsigned long kaddr,
                pmd_t *pmd;
                unsigned long end2;
 
-               if((pmd = pmd_alloc_kernel(pgd, vaddr)) == NULL) {
+               if((pmd = pmd_alloc(&init_mm, pgd, vaddr)) == NULL) {
                        ret = -ENOMEM;
                        goto out;
                }
@@ -116,7 +116,7 @@ inline int dvma_map_cpu(unsigned long kaddr,
                        pte_t *pte;
                        unsigned long end3;
 
-                       if((pte = pte_alloc_kernel(pmd, vaddr)) == NULL) {
+                       if((pte = pte_alloc_kernel(&init_mm, pmd, vaddr)) == NULL) {
                                ret = -ENOMEM;
                                goto out;
                        }
@@ -131,7 +131,8 @@ inline int dvma_map_cpu(unsigned long kaddr,
                                printk("mapping %08lx phys to %08lx\n",
                                       __pa(kaddr), vaddr);
 #endif
-                               set_pte(pte, __mk_pte(kaddr, PAGE_KERNEL));
+                               set_pte(pte, pfn_pte(virt_to_pfn(kaddr), 
+                                                    PAGE_KERNEL));
                                pte++;
                                kaddr += PAGE_SIZE;
                                vaddr += PAGE_SIZE;