diff options
| -rw-r--r-- | arch/x86/mm/pat.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/mm/pat.c b/arch/x86/mm/pat.c index 738fd0f24958..eb1bf000d12e 100644 --- a/arch/x86/mm/pat.c +++ b/arch/x86/mm/pat.c | |||
| @@ -481,12 +481,16 @@ static inline int range_is_allowed(unsigned long pfn, unsigned long size) | |||
| 481 | return 1; | 481 | return 1; |
| 482 | } | 482 | } |
| 483 | #else | 483 | #else |
| 484 | /* This check is needed to avoid cache aliasing when PAT is enabled */ | ||
| 484 | static inline int range_is_allowed(unsigned long pfn, unsigned long size) | 485 | static inline int range_is_allowed(unsigned long pfn, unsigned long size) |
| 485 | { | 486 | { |
| 486 | u64 from = ((u64)pfn) << PAGE_SHIFT; | 487 | u64 from = ((u64)pfn) << PAGE_SHIFT; |
| 487 | u64 to = from + size; | 488 | u64 to = from + size; |
| 488 | u64 cursor = from; | 489 | u64 cursor = from; |
| 489 | 490 | ||
| 491 | if (!pat_enabled) | ||
| 492 | return 1; | ||
| 493 | |||
| 490 | while (cursor < to) { | 494 | while (cursor < to) { |
| 491 | if (!devmem_is_allowed(pfn)) { | 495 | if (!devmem_is_allowed(pfn)) { |
| 492 | printk(KERN_INFO | 496 | printk(KERN_INFO |
