diff options
| author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-02-18 11:09:40 -0500 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-02-18 11:09:40 -0500 |
| commit | ba4b60e85d6c5fc2242fd24e131a47fb922e5d89 (patch) | |
| tree | 6be918ce3924d0677bc1029f7d1255fef48a8f85 /arch/x86/include | |
| parent | 5dba4c56dfa660a85dc8e897990948cdec3734bf (diff) | |
| parent | 6d0abeca3242a88cab8232e4acd7e2bf088f3bc2 (diff) | |
Merge 3.14-rc3 into char-misc-next
We need the fixes here for future mei and other patches.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch/x86/include')
| -rw-r--r-- | arch/x86/include/asm/amd_nb.h | 2 | ||||
| -rw-r--r-- | arch/x86/include/asm/efi.h | 2 | ||||
| -rw-r--r-- | arch/x86/include/asm/pgtable.h | 14 | ||||
| -rw-r--r-- | arch/x86/include/asm/tlbflush.h | 6 | ||||
| -rw-r--r-- | arch/x86/include/asm/xen/page.h | 5 |
5 files changed, 20 insertions, 9 deletions
diff --git a/arch/x86/include/asm/amd_nb.h b/arch/x86/include/asm/amd_nb.h index a54ee1d054d9..aaac3b2fb746 100644 --- a/arch/x86/include/asm/amd_nb.h +++ b/arch/x86/include/asm/amd_nb.h | |||
| @@ -19,7 +19,7 @@ extern int amd_cache_northbridges(void); | |||
| 19 | extern void amd_flush_garts(void); | 19 | extern void amd_flush_garts(void); |
| 20 | extern int amd_numa_init(void); | 20 | extern int amd_numa_init(void); |
| 21 | extern int amd_get_subcaches(int); | 21 | extern int amd_get_subcaches(int); |
| 22 | extern int amd_set_subcaches(int, int); | 22 | extern int amd_set_subcaches(int, unsigned long); |
| 23 | 23 | ||
| 24 | struct amd_l3_cache { | 24 | struct amd_l3_cache { |
| 25 | unsigned indices; | 25 | unsigned indices; |
diff --git a/arch/x86/include/asm/efi.h b/arch/x86/include/asm/efi.h index 3b978c472d08..3d6b9f81cc68 100644 --- a/arch/x86/include/asm/efi.h +++ b/arch/x86/include/asm/efi.h | |||
| @@ -132,6 +132,8 @@ extern void __init efi_map_region_fixed(efi_memory_desc_t *md); | |||
| 132 | extern void efi_sync_low_kernel_mappings(void); | 132 | extern void efi_sync_low_kernel_mappings(void); |
| 133 | extern void efi_setup_page_tables(void); | 133 | extern void efi_setup_page_tables(void); |
| 134 | extern void __init old_map_region(efi_memory_desc_t *md); | 134 | extern void __init old_map_region(efi_memory_desc_t *md); |
| 135 | extern void __init runtime_code_page_mkexec(void); | ||
| 136 | extern void __init efi_runtime_mkexec(void); | ||
| 135 | 137 | ||
| 136 | struct efi_setup_data { | 138 | struct efi_setup_data { |
| 137 | u64 fw_vendor; | 139 | u64 fw_vendor; |
diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h index bbc8b12fa443..5ad38ad07890 100644 --- a/arch/x86/include/asm/pgtable.h +++ b/arch/x86/include/asm/pgtable.h | |||
| @@ -445,10 +445,20 @@ static inline int pte_same(pte_t a, pte_t b) | |||
| 445 | return a.pte == b.pte; | 445 | return a.pte == b.pte; |
| 446 | } | 446 | } |
| 447 | 447 | ||
| 448 | static inline int pteval_present(pteval_t pteval) | ||
| 449 | { | ||
| 450 | /* | ||
| 451 | * Yes Linus, _PAGE_PROTNONE == _PAGE_NUMA. Expressing it this | ||
| 452 | * way clearly states that the intent is that protnone and numa | ||
| 453 | * hinting ptes are considered present for the purposes of | ||
| 454 | * pagetable operations like zapping, protection changes, gup etc. | ||
| 455 | */ | ||
| 456 | return pteval & (_PAGE_PRESENT | _PAGE_PROTNONE | _PAGE_NUMA); | ||
| 457 | } | ||
| 458 | |||
| 448 | static inline int pte_present(pte_t a) | 459 | static inline int pte_present(pte_t a) |
| 449 | { | 460 | { |
| 450 | return pte_flags(a) & (_PAGE_PRESENT | _PAGE_PROTNONE | | 461 | return pteval_present(pte_flags(a)); |
| 451 | _PAGE_NUMA); | ||
| 452 | } | 462 | } |
| 453 | 463 | ||
| 454 | #define pte_accessible pte_accessible | 464 | #define pte_accessible pte_accessible |
diff --git a/arch/x86/include/asm/tlbflush.h b/arch/x86/include/asm/tlbflush.h index e6d90babc245..04905bfc508b 100644 --- a/arch/x86/include/asm/tlbflush.h +++ b/arch/x86/include/asm/tlbflush.h | |||
| @@ -62,7 +62,7 @@ static inline void __flush_tlb_all(void) | |||
| 62 | 62 | ||
| 63 | static inline void __flush_tlb_one(unsigned long addr) | 63 | static inline void __flush_tlb_one(unsigned long addr) |
| 64 | { | 64 | { |
| 65 | count_vm_event(NR_TLB_LOCAL_FLUSH_ONE); | 65 | count_vm_tlb_event(NR_TLB_LOCAL_FLUSH_ONE); |
| 66 | __flush_tlb_single(addr); | 66 | __flush_tlb_single(addr); |
| 67 | } | 67 | } |
| 68 | 68 | ||
| @@ -93,13 +93,13 @@ static inline void __flush_tlb_one(unsigned long addr) | |||
| 93 | */ | 93 | */ |
| 94 | static inline void __flush_tlb_up(void) | 94 | static inline void __flush_tlb_up(void) |
| 95 | { | 95 | { |
| 96 | count_vm_event(NR_TLB_LOCAL_FLUSH_ALL); | 96 | count_vm_tlb_event(NR_TLB_LOCAL_FLUSH_ALL); |
| 97 | __flush_tlb(); | 97 | __flush_tlb(); |
| 98 | } | 98 | } |
| 99 | 99 | ||
| 100 | static inline void flush_tlb_all(void) | 100 | static inline void flush_tlb_all(void) |
| 101 | { | 101 | { |
| 102 | count_vm_event(NR_TLB_LOCAL_FLUSH_ALL); | 102 | count_vm_tlb_event(NR_TLB_LOCAL_FLUSH_ALL); |
| 103 | __flush_tlb_all(); | 103 | __flush_tlb_all(); |
| 104 | } | 104 | } |
| 105 | 105 | ||
diff --git a/arch/x86/include/asm/xen/page.h b/arch/x86/include/asm/xen/page.h index 787e1bb5aafc..3e276eb23d1b 100644 --- a/arch/x86/include/asm/xen/page.h +++ b/arch/x86/include/asm/xen/page.h | |||
| @@ -52,8 +52,7 @@ extern unsigned long set_phys_range_identity(unsigned long pfn_s, | |||
| 52 | extern int m2p_add_override(unsigned long mfn, struct page *page, | 52 | extern int m2p_add_override(unsigned long mfn, struct page *page, |
| 53 | struct gnttab_map_grant_ref *kmap_op); | 53 | struct gnttab_map_grant_ref *kmap_op); |
| 54 | extern int m2p_remove_override(struct page *page, | 54 | extern int m2p_remove_override(struct page *page, |
| 55 | struct gnttab_map_grant_ref *kmap_op, | 55 | struct gnttab_map_grant_ref *kmap_op); |
| 56 | unsigned long mfn); | ||
| 57 | extern struct page *m2p_find_override(unsigned long mfn); | 56 | extern struct page *m2p_find_override(unsigned long mfn); |
| 58 | extern unsigned long m2p_find_override_pfn(unsigned long mfn, unsigned long pfn); | 57 | extern unsigned long m2p_find_override_pfn(unsigned long mfn, unsigned long pfn); |
| 59 | 58 | ||
| @@ -122,7 +121,7 @@ static inline unsigned long mfn_to_pfn(unsigned long mfn) | |||
| 122 | pfn = m2p_find_override_pfn(mfn, ~0); | 121 | pfn = m2p_find_override_pfn(mfn, ~0); |
| 123 | } | 122 | } |
| 124 | 123 | ||
| 125 | /* | 124 | /* |
| 126 | * pfn is ~0 if there are no entries in the m2p for mfn or if the | 125 | * pfn is ~0 if there are no entries in the m2p for mfn or if the |
| 127 | * entry doesn't map back to the mfn and m2p_override doesn't have a | 126 | * entry doesn't map back to the mfn and m2p_override doesn't have a |
| 128 | * valid entry for it. | 127 | * valid entry for it. |
