aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mm.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2011-03-17 21:40:35 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2011-03-17 21:40:35 -0400
commitec0afc9311adcfb10b90e547c23250f63939f990 (patch)
tree2093d2668898a8a03f30acbfd5568e65b8c086b9 /include/linux/mm.h
parent804f18536984939622ddca60ab6b25743e0ec68d (diff)
parent776e58ea3d3735f85678155398241d2513afa67a (diff)
Merge branch 'kvm-updates/2.6.39' of git://git.kernel.org/pub/scm/virt/kvm/kvm
* 'kvm-updates/2.6.39' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (55 commits) KVM: unbreak userspace that does not sets tss address KVM: MMU: cleanup pte write path KVM: MMU: introduce a common function to get no-dirty-logged slot KVM: fix rcu usage in init_rmode_* functions KVM: fix kvmclock regression due to missing clock update KVM: emulator: Fix permission checking in io permission bitmap KVM: emulator: Fix io permission checking for 64bit guest KVM: SVM: Load %gs earlier if CONFIG_X86_32_LAZY_GS=n KVM: x86: Remove useless regs_page pointer from kvm_lapic KVM: improve comment on rcu use in irqfd_deassign KVM: MMU: remove unused macros KVM: MMU: cleanup page alloc and free KVM: MMU: do not record gfn in kvm_mmu_pte_write KVM: MMU: move mmu pages calculated out of mmu lock KVM: MMU: set spte accessed bit properly KVM: MMU: fix kvm_mmu_slot_remove_write_access dropping intermediate W bits KVM: Start lock documentation KVM: better readability of efer_reserved_bits KVM: Clear async page fault hash after switching to real mode KVM: VMX: Initialize vm86 TSS only once. ...
Diffstat (limited to 'include/linux/mm.h')
-rw-r--r--include/linux/mm.h13
1 files changed, 5 insertions, 8 deletions
diff --git a/include/linux/mm.h b/include/linux/mm.h
index ff83798e1c27..581703d86fbd 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -972,6 +972,10 @@ static inline int handle_mm_fault(struct mm_struct *mm,
972extern int make_pages_present(unsigned long addr, unsigned long end); 972extern int make_pages_present(unsigned long addr, unsigned long end);
973extern int access_process_vm(struct task_struct *tsk, unsigned long addr, void *buf, int len, int write); 973extern int access_process_vm(struct task_struct *tsk, unsigned long addr, void *buf, int len, int write);
974 974
975int __get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
976 unsigned long start, int len, unsigned int foll_flags,
977 struct page **pages, struct vm_area_struct **vmas,
978 int *nonblocking);
975int get_user_pages(struct task_struct *tsk, struct mm_struct *mm, 979int get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
976 unsigned long start, int nr_pages, int write, int force, 980 unsigned long start, int nr_pages, int write, int force,
977 struct page **pages, struct vm_area_struct **vmas); 981 struct page **pages, struct vm_area_struct **vmas);
@@ -1535,6 +1539,7 @@ struct page *follow_page(struct vm_area_struct *, unsigned long address,
1535#define FOLL_FORCE 0x10 /* get_user_pages read/write w/o permission */ 1539#define FOLL_FORCE 0x10 /* get_user_pages read/write w/o permission */
1536#define FOLL_MLOCK 0x40 /* mark page as mlocked */ 1540#define FOLL_MLOCK 0x40 /* mark page as mlocked */
1537#define FOLL_SPLIT 0x80 /* don't return transhuge pages, split them */ 1541#define FOLL_SPLIT 0x80 /* don't return transhuge pages, split them */
1542#define FOLL_HWPOISON 0x100 /* check page is hwpoisoned */
1538 1543
1539typedef int (*pte_fn_t)(pte_t *pte, pgtable_t token, unsigned long addr, 1544typedef int (*pte_fn_t)(pte_t *pte, pgtable_t token, unsigned long addr,
1540 void *data); 1545 void *data);
@@ -1627,14 +1632,6 @@ extern int sysctl_memory_failure_recovery;
1627extern void shake_page(struct page *p, int access); 1632extern void shake_page(struct page *p, int access);
1628extern atomic_long_t mce_bad_pages; 1633extern atomic_long_t mce_bad_pages;
1629extern int soft_offline_page(struct page *page, int flags); 1634extern int soft_offline_page(struct page *page, int flags);
1630#ifdef CONFIG_MEMORY_FAILURE
1631int is_hwpoison_address(unsigned long addr);
1632#else
1633static inline int is_hwpoison_address(unsigned long addr)
1634{
1635 return 0;
1636}
1637#endif
1638 1635
1639extern void dump_page(struct page *page); 1636extern void dump_page(struct page *page);
1640 1637