Commit-ID: 2df58b6d35306e8dab48923c9fbe9e1ad17537e2 Gitweb: http://git.kernel.org/tip/2df58b6d35306e8dab48923c9fbe9e1ad17537e2 Author: Juergen Gross <jgross@xxxxxxxx> AuthorDate: Mon, 3 Nov 2014 14:01:52 +0100 Committer: Thomas Gleixner <tglx@xxxxxxxxxxxxx> CommitDate: Sun, 16 Nov 2014 11:04:25 +0100 x86: Use new cache mode type in arch/x86/mm/init_64.c Instead of directly using the cache mode bits in the pte switch to using the cache mode type. Based-on-patch-by: Stefan Bader <stefan.bader@xxxxxxxxxxxxx> Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: stefan.bader@xxxxxxxxxxxxx Cc: xen-devel@xxxxxxxxxxxxxxxxxxx Cc: konrad.wilk@xxxxxxxxxx Cc: ville.syrjala@xxxxxxxxxxxxxxx Cc: david.vrabel@xxxxxxxxxx Cc: jbeulich@xxxxxxxx Cc: toshi.kani@xxxxxx Cc: plagnioj@xxxxxxxxxxxx Cc: tomi.valkeinen@xxxxxx Cc: bhelgaas@xxxxxxxxxx Link: http://lkml.kernel.org/r/1415019724-4317-7-git-send-email-jgross@xxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> --- arch/x86/mm/init_64.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c index ebca30f..bd42786 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) * Create large page table mappings for a range of physical addresses. */ static void __init __init_extra_mapping(unsigned long phys, unsigned long size, - pgprot_t prot) + enum page_cache_mode cache) { pgd_t *pgd; pud_t *pud; pmd_t *pmd; + pgprot_t prot; + pgprot_val(prot) = pgprot_val(PAGE_KERNEL_LARGE) | + pgprot_val(pgprot_4k_2_large(cachemode2pgprot(cache))); BUG_ON((phys & ~PMD_MASK) || (size & ~PMD_MASK)); for (; size; phys += PMD_SIZE, size -= PMD_SIZE) { pgd = pgd_offset_k((unsigned long)__va(phys)); @@ -365,12 +368,12 @@ static void __init __init_extra_mapping(unsigned long phys, unsigned long size, void __init init_extra_mapping_wb(unsigned long phys, unsigned long size) { - __init_extra_mapping(phys, size, PAGE_KERNEL_LARGE); + __init_extra_mapping(phys, size, _PAGE_CACHE_MODE_WB); } void __init init_extra_mapping_uc(unsigned long phys, unsigned long size) { - __init_extra_mapping(phys, size, PAGE_KERNEL_LARGE_NOCACHE); + __init_extra_mapping(phys, size, _PAGE_CACHE_MODE_UC); } /* -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |