git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of git://git.kernel.org/pub/scm/fs/xfs/xfs
[pandora-kernel.git]
/
arch
/
powerpc
/
mm
/
pgtable_32.c
diff --git
a/arch/powerpc/mm/pgtable_32.c
b/arch/powerpc/mm/pgtable_32.c
index
58bcaeb
..
430d090
100644
(file)
--- a/
arch/powerpc/mm/pgtable_32.c
+++ b/
arch/powerpc/mm/pgtable_32.c
@@
-129,7
+129,8
@@
pgtable_t pte_alloc_one(struct mm_struct *mm, unsigned long address)
void __iomem *
ioremap(phys_addr_t addr, unsigned long size)
{
void __iomem *
ioremap(phys_addr_t addr, unsigned long size)
{
- return __ioremap(addr, size, _PAGE_NO_CACHE | _PAGE_GUARDED);
+ return __ioremap_caller(addr, size, _PAGE_NO_CACHE | _PAGE_GUARDED,
+ __builtin_return_address(0));
}
EXPORT_SYMBOL(ioremap);
}
EXPORT_SYMBOL(ioremap);
@@
-143,12
+144,19
@@
ioremap_flags(phys_addr_t addr, unsigned long size, unsigned long flags)
/* we don't want to let _PAGE_USER and _PAGE_EXEC leak out */
flags &= ~(_PAGE_USER | _PAGE_EXEC | _PAGE_HWEXEC);
/* we don't want to let _PAGE_USER and _PAGE_EXEC leak out */
flags &= ~(_PAGE_USER | _PAGE_EXEC | _PAGE_HWEXEC);
- return __ioremap
(addr, size, flags
);
+ return __ioremap
_caller(addr, size, flags, __builtin_return_address(0)
);
}
EXPORT_SYMBOL(ioremap_flags);
void __iomem *
__ioremap(phys_addr_t addr, unsigned long size, unsigned long flags)
}
EXPORT_SYMBOL(ioremap_flags);
void __iomem *
__ioremap(phys_addr_t addr, unsigned long size, unsigned long flags)
+{
+ return __ioremap_caller(addr, size, flags, __builtin_return_address(0));
+}
+
+void __iomem *
+__ioremap_caller(phys_addr_t addr, unsigned long size, unsigned long flags,
+ void *caller)
{
unsigned long v, i;
phys_addr_t p;
{
unsigned long v, i;
phys_addr_t p;
@@
-156,7
+164,7
@@
__ioremap(phys_addr_t addr, unsigned long size, unsigned long flags)
/* Make sure we have the base flags */
if ((flags & _PAGE_PRESENT) == 0)
/* Make sure we have the base flags */
if ((flags & _PAGE_PRESENT) == 0)
- flags |=
_
PAGE_KERNEL;
+ flags |= PAGE_KERNEL;
/* Non-cacheable page cannot be coherent */
if (flags & _PAGE_NO_CACHE)
/* Non-cacheable page cannot be coherent */
if (flags & _PAGE_NO_CACHE)
@@
-212,7
+220,7
@@
__ioremap(phys_addr_t addr, unsigned long size, unsigned long flags)
if (mem_init_done) {
struct vm_struct *area;
if (mem_init_done) {
struct vm_struct *area;
- area = get_vm_area
(size, VM_IOREMAP
);
+ area = get_vm_area
_caller(size, VM_IOREMAP, caller
);
if (area == 0)
return NULL;
v = (unsigned long) area->addr;
if (area == 0)
return NULL;
v = (unsigned long) area->addr;
@@
-288,7
+296,7
@@
void __init mapin_ram(void)
p = memstart_addr + s;
for (; s < total_lowmem; s += PAGE_SIZE) {
ktext = ((char *) v >= _stext && (char *) v < etext);
p = memstart_addr + s;
for (; s < total_lowmem; s += PAGE_SIZE) {
ktext = ((char *) v >= _stext && (char *) v < etext);
- f = ktext ?
_PAGE_RAM_TEXT : _PAGE_RAM
;
+ f = ktext ?
PAGE_KERNEL_TEXT : PAGE_KERNEL
;
map_page(v, p, f);
#ifdef CONFIG_PPC_STD_MMU_32
if (ktext)
map_page(v, p, f);
#ifdef CONFIG_PPC_STD_MMU_32
if (ktext)