aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mm
diff options
context:
space:
mode:
authorWill Deacon <will.deacon@arm.com>2011-02-15 08:31:37 -0500
committerRussell King <rmk+kernel@arm.linux.org.uk>2011-02-15 09:20:22 -0500
commit29a38193c15bd72ba96c57a805443ef46ea6a6ac (patch)
treeb4367269a4bfb5b75537605c5191fe4828b62437 /arch/arm/mm
parent410f14837a92177242a403c20d0a0906fe357019 (diff)
ARM: 6674/1: LPAE: use long long format when printing physical addresses and ptes
For the Kernel to support 2 level and 3 level page tables, physical addresses (and also page table entries) need to be 32 or 64-bits depending upon the configuration. This patch uses the %08llx conversion specifier for physical addresses and page table entries, ensuring that they are cast to (long long) so that common code can be used regardless of the datatype widths. Acked-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mm')
-rw-r--r--arch/arm/mm/fault.c10
-rw-r--r--arch/arm/mm/mmu.c26
2 files changed, 19 insertions, 17 deletions
diff --git a/arch/arm/mm/fault.c b/arch/arm/mm/fault.c
index f10f9bac2206..ef0e24f578ef 100644
--- a/arch/arm/mm/fault.c
+++ b/arch/arm/mm/fault.c
@@ -76,7 +76,8 @@ void show_pte(struct mm_struct *mm, unsigned long addr)
76 76
77 printk(KERN_ALERT "pgd = %p\n", mm->pgd); 77 printk(KERN_ALERT "pgd = %p\n", mm->pgd);
78 pgd = pgd_offset(mm, addr); 78 pgd = pgd_offset(mm, addr);
79 printk(KERN_ALERT "[%08lx] *pgd=%08lx", addr, pgd_val(*pgd)); 79 printk(KERN_ALERT "[%08lx] *pgd=%08llx",
80 addr, (long long)pgd_val(*pgd));
80 81
81 do { 82 do {
82 pmd_t *pmd; 83 pmd_t *pmd;
@@ -92,7 +93,7 @@ void show_pte(struct mm_struct *mm, unsigned long addr)
92 93
93 pmd = pmd_offset(pgd, addr); 94 pmd = pmd_offset(pgd, addr);
94 if (PTRS_PER_PMD != 1) 95 if (PTRS_PER_PMD != 1)
95 printk(", *pmd=%08lx", pmd_val(*pmd)); 96 printk(", *pmd=%08llx", (long long)pmd_val(*pmd));
96 97
97 if (pmd_none(*pmd)) 98 if (pmd_none(*pmd))
98 break; 99 break;
@@ -107,8 +108,9 @@ void show_pte(struct mm_struct *mm, unsigned long addr)
107 break; 108 break;
108 109
109 pte = pte_offset_map(pmd, addr); 110 pte = pte_offset_map(pmd, addr);
110 printk(", *pte=%08lx", pte_val(*pte)); 111 printk(", *pte=%08llx", (long long)pte_val(*pte));
111 printk(", *ppte=%08lx", pte_val(pte[PTE_HWTABLE_PTRS])); 112 printk(", *ppte=%08llx",
113 (long long)pte_val(pte[PTE_HWTABLE_PTRS]));
112 pte_unmap(pte); 114 pte_unmap(pte);
113 } while(0); 115 } while(0);
114 116
diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
index 7515d4718645..f512ad97dafe 100644
--- a/arch/arm/mm/mmu.c
+++ b/arch/arm/mm/mmu.c
@@ -597,7 +597,7 @@ static void __init create_36bit_mapping(struct map_desc *md,
597 if (!(cpu_architecture() >= CPU_ARCH_ARMv6 || cpu_is_xsc3())) { 597 if (!(cpu_architecture() >= CPU_ARCH_ARMv6 || cpu_is_xsc3())) {
598 printk(KERN_ERR "MM: CPU does not support supersection " 598 printk(KERN_ERR "MM: CPU does not support supersection "
599 "mapping for 0x%08llx at 0x%08lx\n", 599 "mapping for 0x%08llx at 0x%08lx\n",
600 __pfn_to_phys((u64)md->pfn), addr); 600 (long long)__pfn_to_phys((u64)md->pfn), addr);
601 return; 601 return;
602 } 602 }
603 603
@@ -610,14 +610,14 @@ static void __init create_36bit_mapping(struct map_desc *md,
610 if (type->domain) { 610 if (type->domain) {
611 printk(KERN_ERR "MM: invalid domain in supersection " 611 printk(KERN_ERR "MM: invalid domain in supersection "
612 "mapping for 0x%08llx at 0x%08lx\n", 612 "mapping for 0x%08llx at 0x%08lx\n",
613 __pfn_to_phys((u64)md->pfn), addr); 613 (long long)__pfn_to_phys((u64)md->pfn), addr);
614 return; 614 return;
615 } 615 }
616 616
617 if ((addr | length | __pfn_to_phys(md->pfn)) & ~SUPERSECTION_MASK) { 617 if ((addr | length | __pfn_to_phys(md->pfn)) & ~SUPERSECTION_MASK) {
618 printk(KERN_ERR "MM: cannot create mapping for " 618 printk(KERN_ERR "MM: cannot create mapping for 0x%08llx"
619 "0x%08llx at 0x%08lx invalid alignment\n", 619 " at 0x%08lx invalid alignment\n",
620 __pfn_to_phys((u64)md->pfn), addr); 620 (long long)__pfn_to_phys((u64)md->pfn), addr);
621 return; 621 return;
622 } 622 }
623 623
@@ -656,17 +656,17 @@ static void __init create_mapping(struct map_desc *md)
656 pgd_t *pgd; 656 pgd_t *pgd;
657 657
658 if (md->virtual != vectors_base() && md->virtual < TASK_SIZE) { 658 if (md->virtual != vectors_base() && md->virtual < TASK_SIZE) {
659 printk(KERN_WARNING "BUG: not creating mapping for " 659 printk(KERN_WARNING "BUG: not creating mapping for 0x%08llx"
660 "0x%08llx at 0x%08lx in user region\n", 660 " at 0x%08lx in user region\n",
661 __pfn_to_phys((u64)md->pfn), md->virtual); 661 (long long)__pfn_to_phys((u64)md->pfn), md->virtual);
662 return; 662 return;
663 } 663 }
664 664
665 if ((md->type == MT_DEVICE || md->type == MT_ROM) && 665 if ((md->type == MT_DEVICE || md->type == MT_ROM) &&
666 md->virtual >= PAGE_OFFSET && md->virtual < VMALLOC_END) { 666 md->virtual >= PAGE_OFFSET && md->virtual < VMALLOC_END) {
667 printk(KERN_WARNING "BUG: mapping for 0x%08llx at 0x%08lx " 667 printk(KERN_WARNING "BUG: mapping for 0x%08llx"
668 "overlaps vmalloc space\n", 668 " at 0x%08lx overlaps vmalloc space\n",
669 __pfn_to_phys((u64)md->pfn), md->virtual); 669 (long long)__pfn_to_phys((u64)md->pfn), md->virtual);
670 } 670 }
671 671
672 type = &mem_types[md->type]; 672 type = &mem_types[md->type];
@@ -684,9 +684,9 @@ static void __init create_mapping(struct map_desc *md)
684 length = PAGE_ALIGN(md->length + (md->virtual & ~PAGE_MASK)); 684 length = PAGE_ALIGN(md->length + (md->virtual & ~PAGE_MASK));
685 685
686 if (type->prot_l1 == 0 && ((addr | phys | length) & ~SECTION_MASK)) { 686 if (type->prot_l1 == 0 && ((addr | phys | length) & ~SECTION_MASK)) {
687 printk(KERN_WARNING "BUG: map for 0x%08lx at 0x%08lx can not " 687 printk(KERN_WARNING "BUG: map for 0x%08llx at 0x%08lx can not "
688 "be mapped using pages, ignoring.\n", 688 "be mapped using pages, ignoring.\n",
689 __pfn_to_phys(md->pfn), addr); 689 (long long)__pfn_to_phys(md->pfn), addr);
690 return; 690 return;
691 } 691 }
692 692