xtensa: implement clear_user_highpage and copy_user_highpage
authorMax Filippov <jcmvbkbc@gmail.com>
Mon, 21 Jul 2014 14:54:11 +0000 (18:54 +0400)
committerMax Filippov <jcmvbkbc@gmail.com>
Thu, 14 Aug 2014 07:59:20 +0000 (11:59 +0400)
commita91902db2990909ea5e6b110811b448f2e8f1571
tree133c118a40292c1c4480acaaa1df1add1b70eaf0
parent7128039fe2dd3d59da9e4ffa036f3aaa3ba87b9f
xtensa: implement clear_user_highpage and copy_user_highpage

Existing clear_user_page and copy_user_page cannot be used with highmem
because they calculate physical page address from its virtual address
and do it incorrectly in case of high memory page mapped with
kmap_atomic. Also kmap is not needed, as most likely userspace mapping
color would be different from the kmapped color.

Provide clear_user_highpage and copy_user_highpage functions that
determine if temporary mapping is needed for the pages. Move most of the
logic of the former clear_user_page and copy_user_page to
xtensa/mm/cache.c only leaving temporary mapping setup, invalidation and
clearing/copying in the xtensa/mm/misc.S. Rename these functions to
clear_page_alias and copy_page_alias.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
arch/xtensa/include/asm/cacheflush.h
arch/xtensa/include/asm/page.h
arch/xtensa/mm/cache.c
arch/xtensa/mm/misc.S
This page took 0.043516 seconds and 5 git commands to generate.