/* 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);
-
-/* 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>
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);
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;
}
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;
}
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;