diff options
Diffstat (limited to 'arch/arm/mm/nommu.c')
-rw-r--r-- | arch/arm/mm/nommu.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/arch/arm/mm/nommu.c b/arch/arm/mm/nommu.c index 900811cc9130..33b327379f07 100644 --- a/arch/arm/mm/nommu.c +++ b/arch/arm/mm/nommu.c | |||
@@ -61,10 +61,19 @@ void setup_mm_for_reboot(char mode) | |||
61 | 61 | ||
62 | void flush_dcache_page(struct page *page) | 62 | void flush_dcache_page(struct page *page) |
63 | { | 63 | { |
64 | __cpuc_flush_dcache_page(page_address(page)); | 64 | __cpuc_flush_dcache_area(page_address(page), PAGE_SIZE); |
65 | } | 65 | } |
66 | EXPORT_SYMBOL(flush_dcache_page); | 66 | EXPORT_SYMBOL(flush_dcache_page); |
67 | 67 | ||
68 | void copy_to_user_page(struct vm_area_struct *vma, struct page *page, | ||
69 | unsigned long uaddr, void *dst, const void *src, | ||
70 | unsigned long len) | ||
71 | { | ||
72 | memcpy(dst, src, len); | ||
73 | if (vma->vm_flags & VM_EXEC) | ||
74 | __cpuc_coherent_user_range(uaddr, uaddr + len); | ||
75 | } | ||
76 | |||
68 | void __iomem *__arm_ioremap_pfn(unsigned long pfn, unsigned long offset, | 77 | void __iomem *__arm_ioremap_pfn(unsigned long pfn, unsigned long offset, |
69 | size_t size, unsigned int mtype) | 78 | size_t size, unsigned int mtype) |
70 | { | 79 | { |
@@ -74,6 +83,12 @@ void __iomem *__arm_ioremap_pfn(unsigned long pfn, unsigned long offset, | |||
74 | } | 83 | } |
75 | EXPORT_SYMBOL(__arm_ioremap_pfn); | 84 | EXPORT_SYMBOL(__arm_ioremap_pfn); |
76 | 85 | ||
86 | void __iomem *__arm_ioremap_pfn_caller(unsigned long pfn, unsigned long offset, | ||
87 | size_t size, unsigned int mtype, void *caller) | ||
88 | { | ||
89 | return __arm_ioremap_pfn(pfn, offset, size, mtype); | ||
90 | } | ||
91 | |||
77 | void __iomem *__arm_ioremap(unsigned long phys_addr, size_t size, | 92 | void __iomem *__arm_ioremap(unsigned long phys_addr, size_t size, |
78 | unsigned int mtype) | 93 | unsigned int mtype) |
79 | { | 94 | { |
@@ -81,6 +96,12 @@ void __iomem *__arm_ioremap(unsigned long phys_addr, size_t size, | |||
81 | } | 96 | } |
82 | EXPORT_SYMBOL(__arm_ioremap); | 97 | EXPORT_SYMBOL(__arm_ioremap); |
83 | 98 | ||
99 | void __iomem *__arm_ioremap_caller(unsigned long phys_addr, size_t size, | ||
100 | unsigned int mtype, void *caller) | ||
101 | { | ||
102 | return __arm_ioremap(phys_addr, size, mtype); | ||
103 | } | ||
104 | |||
84 | void __iounmap(volatile void __iomem *addr) | 105 | void __iounmap(volatile void __iomem *addr) |
85 | { | 106 | { |
86 | } | 107 | } |