26 #include <linux/module.h>
27 #include <linux/errno.h>
32 #include <asm/cputype.h>
33 #include <asm/cacheflush.h>
34 #include <asm/mmu_context.h>
35 #include <asm/pgalloc.h>
36 #include <asm/tlbflush.h>
37 #include <asm/sizes.h>
46 #define VM_UNICORE_SECTION_MAPPING 0x80000000
66 static void unmap_area_sections(
unsigned long virt,
unsigned long size)
68 unsigned long addr = virt,
end = virt + (size & ~(
SZ_4M - 1));
102 remap_area_sections(
unsigned long virt,
unsigned long pfn,
112 unmap_area_sections(virt, size);
120 flush_pmd_entry(pmd);
124 }
while (addr < end);
130 unsigned long offset,
size_t size,
unsigned int mtype,
void *
caller)
148 "system memory. This leads to architecturally\n"
149 "unpredictable behaviour, and ioremap() will fail in\n"
150 "the next kernel release. Please fix your driver.\n");
170 err = remap_area_sections(addr, pfn, size, type);
185 unsigned int mtype,
void *
caller)
187 unsigned long last_addr;
194 last_addr = phys_addr + size - 1;
195 if (!size || last_addr < phys_addr)
215 __builtin_return_address(0));
223 __builtin_return_address(0));
231 __builtin_return_address(0));
251 unmap_area_sections((
unsigned long)tmp->
addr,