diff options
| author | Ingo Molnar <[email protected]> | 2016-02-25 09:00:38 +0100 |
|---|---|---|
| committer | Ingo Molnar <[email protected]> | 2016-02-25 09:00:38 +0100 |
| commit | c0853867a10f9215132dccdb84c720a5f856f4d2 (patch) | |
| tree | 92d3162ea2fc6fe0276dabc869e01293325f862c /include/linux | |
| parent | 6dc390ad61ac8dfca5fa9b0823981fb6f7ec17a0 (diff) | |
| parent | 1923f3d02768bd904dfe5607f3f93c3008b8db61 (diff) | |
Merge branch 'x86/debug' into core/objtool, to pick up frame pointer fixes
Signed-off-by: Ingo Molnar <[email protected]>
Diffstat (limited to 'include/linux')
| -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 516e14944339..b1d4b8c7f7cd 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 624b78b848b8..944b2b37313b 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 { |