aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/include/asm/page.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/s390/include/asm/page.h')
-rw-r--r--arch/s390/include/asm/page.h22
1 files changed, 0 insertions, 22 deletions
diff --git a/arch/s390/include/asm/page.h b/arch/s390/include/asm/page.h
index a86ad4084073..75ce9b065f9f 100644
--- a/arch/s390/include/asm/page.h
+++ b/arch/s390/include/asm/page.h
@@ -155,28 +155,6 @@ static inline int page_reset_referenced(unsigned long addr)
155#define _PAGE_ACC_BITS 0xf0 /* HW access control bits */ 155#define _PAGE_ACC_BITS 0xf0 /* HW access control bits */
156 156
157/* 157/*
158 * Test and clear dirty bit in storage key.
159 * We can't clear the changed bit atomically. This is a potential
160 * race against modification of the referenced bit. This function
161 * should therefore only be called if it is not mapped in any
162 * address space.
163 *
164 * Note that the bit gets set whenever page content is changed. That means
165 * also when the page is modified by DMA or from inside the kernel.
166 */
167#define __HAVE_ARCH_PAGE_TEST_AND_CLEAR_DIRTY
168static inline int page_test_and_clear_dirty(unsigned long pfn, int mapped)
169{
170 unsigned char skey;
171
172 skey = page_get_storage_key(pfn << PAGE_SHIFT);
173 if (!(skey & _PAGE_CHANGED))
174 return 0;
175 page_set_storage_key(pfn << PAGE_SHIFT, skey & ~_PAGE_CHANGED, mapped);
176 return 1;
177}
178
179/*
180 * Test and clear referenced bit in storage key. 158 * Test and clear referenced bit in storage key.
181 */ 159 */
182#define __HAVE_ARCH_PAGE_TEST_AND_CLEAR_YOUNG 160#define __HAVE_ARCH_PAGE_TEST_AND_CLEAR_YOUNG