diff options
| -rw-r--r-- | arch/x86/mm/pat.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/arch/x86/mm/pat.c b/arch/x86/mm/pat.c index e6718bb28065..d5af2792d2fd 100644 --- a/arch/x86/mm/pat.c +++ b/arch/x86/mm/pat.c | |||
| @@ -339,6 +339,8 @@ int reserve_memtype(u64 start, u64 end, unsigned long req_type, | |||
| 339 | if (new_type) { | 339 | if (new_type) { |
| 340 | if (req_type == -1) | 340 | if (req_type == -1) |
| 341 | *new_type = _PAGE_CACHE_WB; | 341 | *new_type = _PAGE_CACHE_WB; |
| 342 | else if (req_type == _PAGE_CACHE_WC) | ||
| 343 | *new_type = _PAGE_CACHE_UC_MINUS; | ||
| 342 | else | 344 | else |
| 343 | *new_type = req_type & _PAGE_CACHE_MASK; | 345 | *new_type = req_type & _PAGE_CACHE_MASK; |
| 344 | } | 346 | } |
| @@ -577,7 +579,7 @@ int kernel_map_sync_memtype(u64 base, unsigned long size, unsigned long flags) | |||
| 577 | { | 579 | { |
| 578 | unsigned long id_sz; | 580 | unsigned long id_sz; |
| 579 | 581 | ||
| 580 | if (!pat_enabled || base >= __pa(high_memory)) | 582 | if (base >= __pa(high_memory)) |
| 581 | return 0; | 583 | return 0; |
| 582 | 584 | ||
| 583 | id_sz = (__pa(high_memory) < base + size) ? | 585 | id_sz = (__pa(high_memory) < base + size) ? |
| @@ -677,9 +679,6 @@ int track_pfn_vma_copy(struct vm_area_struct *vma) | |||
| 677 | unsigned long vma_size = vma->vm_end - vma->vm_start; | 679 | unsigned long vma_size = vma->vm_end - vma->vm_start; |
| 678 | pgprot_t pgprot; | 680 | pgprot_t pgprot; |
| 679 | 681 | ||
| 680 | if (!pat_enabled) | ||
| 681 | return 0; | ||
| 682 | |||
| 683 | /* | 682 | /* |
| 684 | * For now, only handle remap_pfn_range() vmas where | 683 | * For now, only handle remap_pfn_range() vmas where |
| 685 | * is_linear_pfn_mapping() == TRUE. Handling of | 684 | * is_linear_pfn_mapping() == TRUE. Handling of |
| @@ -715,9 +714,6 @@ int track_pfn_vma_new(struct vm_area_struct *vma, pgprot_t *prot, | |||
| 715 | resource_size_t paddr; | 714 | resource_size_t paddr; |
| 716 | unsigned long vma_size = vma->vm_end - vma->vm_start; | 715 | unsigned long vma_size = vma->vm_end - vma->vm_start; |
| 717 | 716 | ||
| 718 | if (!pat_enabled) | ||
| 719 | return 0; | ||
| 720 | |||
| 721 | /* | 717 | /* |
| 722 | * For now, only handle remap_pfn_range() vmas where | 718 | * For now, only handle remap_pfn_range() vmas where |
| 723 | * is_linear_pfn_mapping() == TRUE. Handling of | 719 | * is_linear_pfn_mapping() == TRUE. Handling of |
| @@ -743,9 +739,6 @@ void untrack_pfn_vma(struct vm_area_struct *vma, unsigned long pfn, | |||
| 743 | resource_size_t paddr; | 739 | resource_size_t paddr; |
| 744 | unsigned long vma_size = vma->vm_end - vma->vm_start; | 740 | unsigned long vma_size = vma->vm_end - vma->vm_start; |
| 745 | 741 | ||
| 746 | if (!pat_enabled) | ||
| 747 | return; | ||
| 748 | |||
| 749 | /* | 742 | /* |
| 750 | * For now, only handle remap_pfn_range() vmas where | 743 | * For now, only handle remap_pfn_range() vmas where |
| 751 | * is_linear_pfn_mapping() == TRUE. Handling of | 744 | * is_linear_pfn_mapping() == TRUE. Handling of |
