diff options
author | Ingo Molnar <mingo@kernel.org> | 2016-02-25 08:00:38 (GMT) |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2016-02-25 08:00:38 (GMT) |
commit | c0853867a10f9215132dccdb84c720a5f856f4d2 (patch) | |
tree | 92d3162ea2fc6fe0276dabc869e01293325f862c /include | |
parent | 6dc390ad61ac8dfca5fa9b0823981fb6f7ec17a0 (diff) | |
parent | 1923f3d02768bd904dfe5607f3f93c3008b8db61 (diff) | |
download | linux-c0853867a10f9215132dccdb84c720a5f856f4d2.tar.xz |
Merge branch 'x86/debug' into core/objtool, to pick up frame pointer fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/mm.h | 2 | ||||
-rw-r--r-- | include/linux/mm_types.h | 22 |
2 files changed, 21 insertions, 3 deletions
diff --git a/include/linux/mm.h b/include/linux/mm.h index 516e149..b1d4b8c 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2138,6 +2138,8 @@ int remap_pfn_range(struct vm_area_struct *, unsigned long addr, int vm_insert_page(struct vm_area_struct *, unsigned long addr, struct page *); int vm_insert_pfn(struct vm_area_struct *vma, unsigned long addr, unsigned long pfn); +int vm_insert_pfn_prot(struct vm_area_struct *vma, unsigned long addr, + unsigned long pfn, pgprot_t pgprot); int vm_insert_mixed(struct vm_area_struct *vma, unsigned long addr, pfn_t pfn); int vm_iomap_memory(struct vm_area_struct *vma, phys_addr_t start, unsigned long len); diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h index 624b78b..944b2b3 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h @@ -566,10 +566,26 @@ static inline void clear_tlb_flush_pending(struct mm_struct *mm) } #endif -struct vm_special_mapping -{ - const char *name; +struct vm_fault; + +struct vm_special_mapping { + const char *name; /* The name, e.g. "[vdso]". */ + + /* + * If .fault is not provided, this points to a + * NULL-terminated array of pages that back the special mapping. + * + * This must not be NULL unless .fault is provided. + */ struct page **pages; + + /* + * If non-NULL, then this is called to resolve page faults + * on the special mapping. If used, .pages is not checked. + */ + int (*fault)(const struct vm_special_mapping *sm, + struct vm_area_struct *vma, + struct vm_fault *vmf); }; enum tlb_flush_reason { |