aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/include/asm/pgtable_types.h11
-rw-r--r--arch/x86/mm/init_32.c2
-rw-r--r--arch/x86/mm/init_64.c2
-rw-r--r--arch/x86/pci/i386.c2
-rw-r--r--arch/x86/xen/enlighten.c2
5 files changed, 7 insertions, 12 deletions
diff --git a/arch/x86/include/asm/pgtable_types.h b/arch/x86/include/asm/pgtable_types.h
index f216963760e5..cee83b26916f 100644
--- a/arch/x86/include/asm/pgtable_types.h
+++ b/arch/x86/include/asm/pgtable_types.h
@@ -23,7 +23,6 @@
23#define _PAGE_BIT_SPECIAL _PAGE_BIT_SOFTW1 23#define _PAGE_BIT_SPECIAL _PAGE_BIT_SOFTW1
24#define _PAGE_BIT_CPA_TEST _PAGE_BIT_SOFTW1 24#define _PAGE_BIT_CPA_TEST _PAGE_BIT_SOFTW1
25#define _PAGE_BIT_SPLITTING _PAGE_BIT_SOFTW2 /* only valid on a PSE pmd */ 25#define _PAGE_BIT_SPLITTING _PAGE_BIT_SOFTW2 /* only valid on a PSE pmd */
26#define _PAGE_BIT_IOMAP _PAGE_BIT_SOFTW2 /* flag used to indicate IO mapping */
27#define _PAGE_BIT_HIDDEN _PAGE_BIT_SOFTW3 /* hidden by kmemcheck */ 26#define _PAGE_BIT_HIDDEN _PAGE_BIT_SOFTW3 /* hidden by kmemcheck */
28#define _PAGE_BIT_SOFT_DIRTY _PAGE_BIT_SOFTW3 /* software dirty tracking */ 27#define _PAGE_BIT_SOFT_DIRTY _PAGE_BIT_SOFTW3 /* software dirty tracking */
29#define _PAGE_BIT_NX 63 /* No execute: only valid after cpuid check */ 28#define _PAGE_BIT_NX 63 /* No execute: only valid after cpuid check */
@@ -52,7 +51,7 @@
52#define _PAGE_PSE (_AT(pteval_t, 1) << _PAGE_BIT_PSE) 51#define _PAGE_PSE (_AT(pteval_t, 1) << _PAGE_BIT_PSE)
53#define _PAGE_GLOBAL (_AT(pteval_t, 1) << _PAGE_BIT_GLOBAL) 52#define _PAGE_GLOBAL (_AT(pteval_t, 1) << _PAGE_BIT_GLOBAL)
54#define _PAGE_SOFTW1 (_AT(pteval_t, 1) << _PAGE_BIT_SOFTW1) 53#define _PAGE_SOFTW1 (_AT(pteval_t, 1) << _PAGE_BIT_SOFTW1)
55#define _PAGE_IOMAP (_AT(pteval_t, 1) << _PAGE_BIT_IOMAP) 54#define _PAGE_SOFTW2 (_AT(pteval_t, 1) << _PAGE_BIT_SOFTW2)
56#define _PAGE_PAT (_AT(pteval_t, 1) << _PAGE_BIT_PAT) 55#define _PAGE_PAT (_AT(pteval_t, 1) << _PAGE_BIT_PAT)
57#define _PAGE_PAT_LARGE (_AT(pteval_t, 1) << _PAGE_BIT_PAT_LARGE) 56#define _PAGE_PAT_LARGE (_AT(pteval_t, 1) << _PAGE_BIT_PAT_LARGE)
58#define _PAGE_SPECIAL (_AT(pteval_t, 1) << _PAGE_BIT_SPECIAL) 57#define _PAGE_SPECIAL (_AT(pteval_t, 1) << _PAGE_BIT_SPECIAL)
@@ -168,10 +167,10 @@
168#define __PAGE_KERNEL_LARGE_NOCACHE (__PAGE_KERNEL | _PAGE_CACHE_UC | _PAGE_PSE) 167#define __PAGE_KERNEL_LARGE_NOCACHE (__PAGE_KERNEL | _PAGE_CACHE_UC | _PAGE_PSE)
169#define __PAGE_KERNEL_LARGE_EXEC (__PAGE_KERNEL_EXEC | _PAGE_PSE) 168#define __PAGE_KERNEL_LARGE_EXEC (__PAGE_KERNEL_EXEC | _PAGE_PSE)
170 169
171#define __PAGE_KERNEL_IO (__PAGE_KERNEL | _PAGE_IOMAP) 170#define __PAGE_KERNEL_IO (__PAGE_KERNEL)
172#define __PAGE_KERNEL_IO_NOCACHE (__PAGE_KERNEL_NOCACHE | _PAGE_IOMAP) 171#define __PAGE_KERNEL_IO_NOCACHE (__PAGE_KERNEL_NOCACHE)
173#define __PAGE_KERNEL_IO_UC_MINUS (__PAGE_KERNEL_UC_MINUS | _PAGE_IOMAP) 172#define __PAGE_KERNEL_IO_UC_MINUS (__PAGE_KERNEL_UC_MINUS)
174#define __PAGE_KERNEL_IO_WC (__PAGE_KERNEL_WC | _PAGE_IOMAP) 173#define __PAGE_KERNEL_IO_WC (__PAGE_KERNEL_WC)
175 174
176#define PAGE_KERNEL __pgprot(__PAGE_KERNEL) 175#define PAGE_KERNEL __pgprot(__PAGE_KERNEL)
177#define PAGE_KERNEL_RO __pgprot(__PAGE_KERNEL_RO) 176#define PAGE_KERNEL_RO __pgprot(__PAGE_KERNEL_RO)
diff --git a/arch/x86/mm/init_32.c b/arch/x86/mm/init_32.c
index 7d05565ba781..c8140e12816a 100644
--- a/arch/x86/mm/init_32.c
+++ b/arch/x86/mm/init_32.c
@@ -537,7 +537,7 @@ static void __init pagetable_init(void)
537 permanent_kmaps_init(pgd_base); 537 permanent_kmaps_init(pgd_base);
538} 538}
539 539
540pteval_t __supported_pte_mask __read_mostly = ~(_PAGE_NX | _PAGE_GLOBAL | _PAGE_IOMAP); 540pteval_t __supported_pte_mask __read_mostly = ~(_PAGE_NX | _PAGE_GLOBAL);
541EXPORT_SYMBOL_GPL(__supported_pte_mask); 541EXPORT_SYMBOL_GPL(__supported_pte_mask);
542 542
543/* user-defined highmem size */ 543/* user-defined highmem size */
diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
index 5621c47d7a1a..5d984769cbd8 100644
--- a/arch/x86/mm/init_64.c
+++ b/arch/x86/mm/init_64.c
@@ -151,7 +151,7 @@ early_param("gbpages", parse_direct_gbpages_on);
151 * around without checking the pgd every time. 151 * around without checking the pgd every time.
152 */ 152 */
153 153
154pteval_t __supported_pte_mask __read_mostly = ~_PAGE_IOMAP; 154pteval_t __supported_pte_mask __read_mostly = ~0;
155EXPORT_SYMBOL_GPL(__supported_pte_mask); 155EXPORT_SYMBOL_GPL(__supported_pte_mask);
156 156
157int force_personality32; 157int force_personality32;
diff --git a/arch/x86/pci/i386.c b/arch/x86/pci/i386.c
index 2ae525e0d8ba..37c1435889ce 100644
--- a/arch/x86/pci/i386.c
+++ b/arch/x86/pci/i386.c
@@ -442,8 +442,6 @@ int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma,
442 */ 442 */
443 prot |= _PAGE_CACHE_UC_MINUS; 443 prot |= _PAGE_CACHE_UC_MINUS;
444 444
445 prot |= _PAGE_IOMAP; /* creating a mapping for IO */
446
447 vma->vm_page_prot = __pgprot(prot); 445 vma->vm_page_prot = __pgprot(prot);
448 446
449 if (io_remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff, 447 if (io_remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff,
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index c0cb11fb5008..be1cff572ccf 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -1559,8 +1559,6 @@ asmlinkage __visible void __init xen_start_kernel(void)
1559#endif 1559#endif
1560 __supported_pte_mask &= ~(_PAGE_PWT | _PAGE_PCD); 1560 __supported_pte_mask &= ~(_PAGE_PWT | _PAGE_PCD);
1561 1561
1562 __supported_pte_mask |= _PAGE_IOMAP;
1563
1564 /* 1562 /*
1565 * Prevent page tables from being allocated in highmem, even 1563 * Prevent page tables from being allocated in highmem, even
1566 * if CONFIG_HIGHPTE is enabled. 1564 * if CONFIG_HIGHPTE is enabled.