diff options
Diffstat (limited to 'include/linux/mm.h')
-rw-r--r-- | include/linux/mm.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/include/linux/mm.h b/include/linux/mm.h index 065cdf8c09fb..bff1f0d475c7 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h | |||
@@ -104,6 +104,7 @@ extern unsigned int kobjsize(const void *objp); | |||
104 | #define VM_CAN_NONLINEAR 0x08000000 /* Has ->fault & does nonlinear pages */ | 104 | #define VM_CAN_NONLINEAR 0x08000000 /* Has ->fault & does nonlinear pages */ |
105 | #define VM_MIXEDMAP 0x10000000 /* Can contain "struct page" and pure PFN pages */ | 105 | #define VM_MIXEDMAP 0x10000000 /* Can contain "struct page" and pure PFN pages */ |
106 | #define VM_SAO 0x20000000 /* Strong Access Ordering (powerpc) */ | 106 | #define VM_SAO 0x20000000 /* Strong Access Ordering (powerpc) */ |
107 | #define VM_PFN_AT_MMAP 0x40000000 /* PFNMAP vma that is fully mapped at mmap time */ | ||
107 | 108 | ||
108 | #ifndef VM_STACK_DEFAULT_FLAGS /* arch can override this */ | 109 | #ifndef VM_STACK_DEFAULT_FLAGS /* arch can override this */ |
109 | #define VM_STACK_DEFAULT_FLAGS VM_DATA_DEFAULT_FLAGS | 110 | #define VM_STACK_DEFAULT_FLAGS VM_DATA_DEFAULT_FLAGS |
@@ -134,6 +135,7 @@ extern pgprot_t protection_map[16]; | |||
134 | 135 | ||
135 | #define FAULT_FLAG_WRITE 0x01 /* Fault was a write access */ | 136 | #define FAULT_FLAG_WRITE 0x01 /* Fault was a write access */ |
136 | #define FAULT_FLAG_NONLINEAR 0x02 /* Fault was via a nonlinear mapping */ | 137 | #define FAULT_FLAG_NONLINEAR 0x02 /* Fault was via a nonlinear mapping */ |
138 | #define FAULT_FLAG_MKWRITE 0x04 /* Fault was mkwrite of existing pte */ | ||
137 | 139 | ||
138 | /* | 140 | /* |
139 | * This interface is used by x86 PAT code to identify a pfn mapping that is | 141 | * This interface is used by x86 PAT code to identify a pfn mapping that is |
@@ -145,7 +147,7 @@ extern pgprot_t protection_map[16]; | |||
145 | */ | 147 | */ |
146 | static inline int is_linear_pfn_mapping(struct vm_area_struct *vma) | 148 | static inline int is_linear_pfn_mapping(struct vm_area_struct *vma) |
147 | { | 149 | { |
148 | return ((vma->vm_flags & VM_PFNMAP) && vma->vm_pgoff); | 150 | return (vma->vm_flags & VM_PFN_AT_MMAP); |
149 | } | 151 | } |
150 | 152 | ||
151 | static inline int is_pfn_mapping(struct vm_area_struct *vma) | 153 | static inline int is_pfn_mapping(struct vm_area_struct *vma) |
@@ -186,7 +188,7 @@ struct vm_operations_struct { | |||
186 | 188 | ||
187 | /* notification that a previously read-only page is about to become | 189 | /* notification that a previously read-only page is about to become |
188 | * writable, if an error is returned it will cause a SIGBUS */ | 190 | * writable, if an error is returned it will cause a SIGBUS */ |
189 | int (*page_mkwrite)(struct vm_area_struct *vma, struct page *page); | 191 | int (*page_mkwrite)(struct vm_area_struct *vma, struct vm_fault *vmf); |
190 | 192 | ||
191 | /* called by access_process_vm when get_user_pages() fails, typically | 193 | /* called by access_process_vm when get_user_pages() fails, typically |
192 | * for use by special VMAs that can switch between memory and hardware | 194 | * for use by special VMAs that can switch between memory and hardware |
@@ -833,6 +835,7 @@ int __set_page_dirty_nobuffers(struct page *page); | |||
833 | int __set_page_dirty_no_writeback(struct page *page); | 835 | int __set_page_dirty_no_writeback(struct page *page); |
834 | int redirty_page_for_writepage(struct writeback_control *wbc, | 836 | int redirty_page_for_writepage(struct writeback_control *wbc, |
835 | struct page *page); | 837 | struct page *page); |
838 | void account_page_dirtied(struct page *page, struct address_space *mapping); | ||
836 | int set_page_dirty(struct page *page); | 839 | int set_page_dirty(struct page *page); |
837 | int set_page_dirty_lock(struct page *page); | 840 | int set_page_dirty_lock(struct page *page); |
838 | int clear_page_dirty_for_io(struct page *page); | 841 | int clear_page_dirty_for_io(struct page *page); |
@@ -1076,7 +1079,7 @@ static inline void setup_per_cpu_pageset(void) {} | |||
1076 | #endif | 1079 | #endif |
1077 | 1080 | ||
1078 | /* nommu.c */ | 1081 | /* nommu.c */ |
1079 | extern atomic_t mmap_pages_allocated; | 1082 | extern atomic_long_t mmap_pages_allocated; |
1080 | 1083 | ||
1081 | /* prio_tree.c */ | 1084 | /* prio_tree.c */ |
1082 | void vma_prio_tree_add(struct vm_area_struct *, struct vm_area_struct *old); | 1085 | void vma_prio_tree_add(struct vm_area_struct *, struct vm_area_struct *old); |