diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2006-12-30 17:24:19 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2007-01-08 14:49:54 -0500 |
commit | a6f36be32622730710b2fadacb6e2649defa4371 (patch) | |
tree | 09d0f3ebe839b76373ee5ed4674fe305ad9ac256 /Documentation | |
parent | e47c222b22cd53c317a5573e1dc5f9e0cbd46380 (diff) |
[ARM] pass vma for flush_anon_page()
Since get_user_pages() may be used with processes other than the
current process and calls flush_anon_page(), flush_anon_page() has to
cope in some way with non-current processes.
It may not be appropriate, or even desirable to flush a region of
virtual memory cache in the current process when that is different to
the process that we want the flush to occur for.
Therefore, pass the vma into flush_anon_page() so that the architecture
can work out whether the 'vmaddr' is for the current process or not.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/cachetlb.txt | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Documentation/cachetlb.txt b/Documentation/cachetlb.txt index 73e794f0ff09..debf6813934a 100644 --- a/Documentation/cachetlb.txt +++ b/Documentation/cachetlb.txt | |||
@@ -373,14 +373,15 @@ maps this page at its virtual address. | |||
373 | likely that you will need to flush the instruction cache | 373 | likely that you will need to flush the instruction cache |
374 | for copy_to_user_page(). | 374 | for copy_to_user_page(). |
375 | 375 | ||
376 | void flush_anon_page(struct page *page, unsigned long vmaddr) | 376 | void flush_anon_page(struct vm_area_struct *vma, struct page *page, |
377 | unsigned long vmaddr) | ||
377 | When the kernel needs to access the contents of an anonymous | 378 | When the kernel needs to access the contents of an anonymous |
378 | page, it calls this function (currently only | 379 | page, it calls this function (currently only |
379 | get_user_pages()). Note: flush_dcache_page() deliberately | 380 | get_user_pages()). Note: flush_dcache_page() deliberately |
380 | doesn't work for an anonymous page. The default | 381 | doesn't work for an anonymous page. The default |
381 | implementation is a nop (and should remain so for all coherent | 382 | implementation is a nop (and should remain so for all coherent |
382 | architectures). For incoherent architectures, it should flush | 383 | architectures). For incoherent architectures, it should flush |
383 | the cache of the page at vmaddr in the current user process. | 384 | the cache of the page at vmaddr. |
384 | 385 | ||
385 | void flush_kernel_dcache_page(struct page *page) | 386 | void flush_kernel_dcache_page(struct page *page) |
386 | When the kernel needs to modify a user page is has obtained | 387 | When the kernel needs to modify a user page is has obtained |