diff options
author | Catalin Marinas <catalin.marinas@arm.com> | 2010-05-06 15:15:28 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-05-08 10:44:22 +0100 |
commit | b5a07faadeb4e0cfd6dcee359e501d4755cab875 (patch) | |
tree | 5067c51450d33e64316084c0eecac15e0326119c /arch/arm/mm | |
parent | b1a9ceb2e003aab7b96e30d990c1092453a0ea44 (diff) | |
download | lwn-b5a07faadeb4e0cfd6dcee359e501d4755cab875.tar.gz lwn-b5a07faadeb4e0cfd6dcee359e501d4755cab875.zip |
ARM: 6106/1: Implement copy_to_user_page() for noMMU
Commit 7959722 introduced calls to copy_(to|from)_user_page() from
access_process_vm() in mm/nommu.c. The copy_to_user_page() was not
implemented on noMMU ARM.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mm')
-rw-r--r-- | arch/arm/mm/nommu.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm/mm/nommu.c b/arch/arm/mm/nommu.c index f8791eed7594..33b327379f07 100644 --- a/arch/arm/mm/nommu.c +++ b/arch/arm/mm/nommu.c @@ -65,6 +65,15 @@ void flush_dcache_page(struct page *page) } EXPORT_SYMBOL(flush_dcache_page); +void copy_to_user_page(struct vm_area_struct *vma, struct page *page, + unsigned long uaddr, void *dst, const void *src, + unsigned long len) +{ + memcpy(dst, src, len); + if (vma->vm_flags & VM_EXEC) + __cpuc_coherent_user_range(uaddr, uaddr + len); +} + void __iomem *__arm_ioremap_pfn(unsigned long pfn, unsigned long offset, size_t size, unsigned int mtype) { |