diff options
-rw-r--r-- | arch/x86/mm/init_64.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c index ebca30f10708..bd42786f078b 100644 --- a/arch/x86/mm/init_64.c +++ b/arch/x86/mm/init_64.c | |||
@@ -337,12 +337,15 @@ pte_t * __init populate_extra_pte(unsigned long vaddr) | |||
337 | * Create large page table mappings for a range of physical addresses. | 337 | * Create large page table mappings for a range of physical addresses. |
338 | */ | 338 | */ |
339 | static void __init __init_extra_mapping(unsigned long phys, unsigned long size, | 339 | static void __init __init_extra_mapping(unsigned long phys, unsigned long size, |
340 | pgprot_t prot) | 340 | enum page_cache_mode cache) |
341 | { | 341 | { |
342 | pgd_t *pgd; | 342 | pgd_t *pgd; |
343 | pud_t *pud; | 343 | pud_t *pud; |
344 | pmd_t *pmd; | 344 | pmd_t *pmd; |
345 | pgprot_t prot; | ||
345 | 346 | ||
347 | pgprot_val(prot) = pgprot_val(PAGE_KERNEL_LARGE) | | ||
348 | pgprot_val(pgprot_4k_2_large(cachemode2pgprot(cache))); | ||
346 | BUG_ON((phys & ~PMD_MASK) || (size & ~PMD_MASK)); | 349 | BUG_ON((phys & ~PMD_MASK) || (size & ~PMD_MASK)); |
347 | for (; size; phys += PMD_SIZE, size -= PMD_SIZE) { | 350 | for (; size; phys += PMD_SIZE, size -= PMD_SIZE) { |
348 | pgd = pgd_offset_k((unsigned long)__va(phys)); | 351 | pgd = pgd_offset_k((unsigned long)__va(phys)); |
@@ -365,12 +368,12 @@ static void __init __init_extra_mapping(unsigned long phys, unsigned long size, | |||
365 | 368 | ||
366 | void __init init_extra_mapping_wb(unsigned long phys, unsigned long size) | 369 | void __init init_extra_mapping_wb(unsigned long phys, unsigned long size) |
367 | { | 370 | { |
368 | __init_extra_mapping(phys, size, PAGE_KERNEL_LARGE); | 371 | __init_extra_mapping(phys, size, _PAGE_CACHE_MODE_WB); |
369 | } | 372 | } |
370 | 373 | ||
371 | void __init init_extra_mapping_uc(unsigned long phys, unsigned long size) | 374 | void __init init_extra_mapping_uc(unsigned long phys, unsigned long size) |
372 | { | 375 | { |
373 | __init_extra_mapping(phys, size, PAGE_KERNEL_LARGE_NOCACHE); | 376 | __init_extra_mapping(phys, size, _PAGE_CACHE_MODE_UC); |
374 | } | 377 | } |
375 | 378 | ||
376 | /* | 379 | /* |