[PATCH v2 19/20] ARM: LPAE: define printk format for physical addresses and page table entries

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Catalin Marinas
Date: Friday, November 12, 2010 - 11:00 am

From: Will Deacon <will.deacon@arm.com>

Now that the Kernel supports 2 level and 3 level page tables, physical
addresses (and also page table entries) may be 32 or 64-bits depending
upon the configuration.

This patch adds a conversion specifier (PHYS_ADDR_FMT) which represents
a u32 or u64 depending on the width of a physical address.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
---
 arch/arm/include/asm/types.h |    6 ++++++
 arch/arm/kernel/setup.c      |    2 +-
 arch/arm/mm/fault.c          |    8 ++++----
 arch/arm/mm/mmu.c            |   18 +++++++++---------
 4 files changed, 20 insertions(+), 14 deletions(-)

diff --git a/arch/arm/include/asm/types.h b/arch/arm/include/asm/types.h
index dc1bdbb..b740539 100644
--- a/arch/arm/include/asm/types.h
+++ b/arch/arm/include/asm/types.h
@@ -7,6 +7,12 @@
 
 #define BITS_PER_LONG 32
 
+#ifdef CONFIG_PHYS_ADDR_T_64BIT
+#define PHYS_ADDR_FMT	"%016llx"
+#else
+#define PHYS_ADDR_FMT	"%08x"
+#endif
+
 #endif /* __KERNEL__ */
 
 #endif
diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
index 0128db2..d143241 100644
--- a/arch/arm/kernel/setup.c
+++ b/arch/arm/kernel/setup.c
@@ -448,7 +448,7 @@ static int __init arm_add_memory(phys_addr_t start, unsigned long size)
 
 	if (meminfo.nr_banks >= NR_BANKS) {
 		printk(KERN_CRIT "NR_BANKS too low, "
-			"ignoring memory at %#lx\n", start);
+			"ignoring memory at " PHYS_ADDR_FMT "\n", start);
 		return -EINVAL;
 	}
 
diff --git a/arch/arm/mm/fault.c b/arch/arm/mm/fault.c
index 2dde9cd..8112f77 100644
--- a/arch/arm/mm/fault.c
+++ b/arch/arm/mm/fault.c
@@ -81,7 +81,7 @@ void show_pte(struct mm_struct *mm, unsigned long addr)
 
 	printk(KERN_ALERT "pgd = %p\n", mm->pgd);
 	pgd = pgd_offset(mm, addr);
-	printk(KERN_ALERT "[%08lx] *pgd=%08lx", addr, pgd_val(*pgd));
+	printk(KERN_ALERT "[%08lx] *pgd=" PHYS_ADDR_FMT, addr, pgd_val(*pgd));
 
 	do {
 		pmd_t *pmd;
@@ -97,7 +97,7 @@ void show_pte(struct mm_struct *mm, unsigned long addr)
 
 		pmd = pmd_offset(pgd, addr);
 		if (PTRS_PER_PMD != 1)
-			printk(", *pmd=%08lx", pmd_val(*pmd));
+			printk(", *pmd=" PHYS_ADDR_FMT, pmd_val(*pmd));
 
 		if (pmd_none(*pmd))
 			break;
@@ -112,9 +112,9 @@ void show_pte(struct mm_struct *mm, unsigned long addr)
 			break;
 
 		pte = pte_offset_map(pmd, addr);
-		printk(", *pte=%08lx", pte_val(*pte));
+		printk(", *pte=" PHYS_ADDR_FMT, pte_val(*pte));
 #ifndef CONFIG_ARM_LPAE
-		printk(", *ppte=%08lx", pte_val(pte[-LINUX_PTE_OFFSET]));
+		printk(", *ppte=" PHYS_ADDR_FMT, pte_val(pte[-LINUX_PTE_OFFSET]));
 #endif
 		pte_unmap(pte);
 	} while(0);
diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
index 787a409..f05f8ed 100644
--- a/arch/arm/mm/mmu.c
+++ b/arch/arm/mm/mmu.c
@@ -619,7 +619,7 @@ static void __init create_36bit_mapping(struct map_desc *md,
 
 	if (!(cpu_architecture() >= CPU_ARCH_ARMv6 || cpu_is_xsc3())) {
 		printk(KERN_ERR "MM: CPU does not support supersection "
-		       "mapping for 0x%08llx at 0x%08lx\n",
+		       "mapping for 0x" PHYS_ADDR_FMT " at 0x%08lx\n",
 		       __pfn_to_phys((u64)md->pfn), addr);
 		return;
 	}
@@ -632,14 +632,14 @@ static void __init create_36bit_mapping(struct map_desc *md,
 	 */
 	if (type->domain) {
 		printk(KERN_ERR "MM: invalid domain in supersection "
-		       "mapping for 0x%08llx at 0x%08lx\n",
+		       "mapping for 0x" PHYS_ADDR_FMT " at 0x%08lx\n",
 		       __pfn_to_phys((u64)md->pfn), addr);
 		return;
 	}
 
 	if ((addr | length | __pfn_to_phys(md->pfn)) & ~SUPERSECTION_MASK) {
-		printk(KERN_ERR "MM: cannot create mapping for "
-		       "0x%08llx at 0x%08lx invalid alignment\n",
+		printk(KERN_ERR "MM: cannot create mapping for 0x" PHYS_ADDR_FMT
+		       " at 0x%08lx invalid alignment\n",
 		       __pfn_to_phys((u64)md->pfn), addr);
 		return;
 	}
@@ -681,16 +681,16 @@ static void __init create_mapping(struct map_desc *md)
 	pgd_t *pgd;
 
 	if (md->virtual != vectors_base() && md->virtual < TASK_SIZE) {
-		printk(KERN_WARNING "BUG: not creating mapping for "
-		       "0x%08llx at 0x%08lx in user region\n",
+		printk(KERN_WARNING "BUG: not creating mapping for 0x"
+		       PHYS_ADDR_FMT " at 0x%08lx in user region\n",
 		       __pfn_to_phys((u64)md->pfn), md->virtual);
 		return;
 	}
 
 	if ((md->type == MT_DEVICE || md->type == MT_ROM) &&
 	    md->virtual >= PAGE_OFFSET && md->virtual < VMALLOC_END) {
-		printk(KERN_WARNING "BUG: mapping for 0x%08llx at 0x%08lx "
-		       "overlaps vmalloc space\n",
+		printk(KERN_WARNING "BUG: mapping for 0x" PHYS_ADDR_FMT
+		       " at 0x%08lx overlaps vmalloc space\n",
 		       __pfn_to_phys((u64)md->pfn), md->virtual);
 	}
 
@@ -711,7 +711,7 @@ static void __init create_mapping(struct map_desc *md)
 	length = PAGE_ALIGN(md->length + (md->virtual & ~PAGE_MASK));
 
 	if (type->prot_l1 == 0 && ((addr | phys | length) & ~SECTION_MASK)) {
-		printk(KERN_WARNING "BUG: map for 0x%08lx at 0x%08lx can not "
+		printk(KERN_WARNING "BUG: map for 0x" PHYS_ADDR_FMT " at 0x%08lx can not "
 		       "be mapped using pages, ignoring.\n",
 		       __pfn_to_phys(md->pfn), addr);
 		return;
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH v2 02/20] ARM: LPAE: Factor out 2-level page table ..., Catalin Marinas, (Fri Nov 12, 11:00 am)
[PATCH v2 11/20] ARM: LPAE: Add fault handling support, Catalin Marinas, (Fri Nov 12, 11:00 am)
[PATCH v2 12/20] ARM: LPAE: Add context switching support, Catalin Marinas, (Fri Nov 12, 11:00 am)
[PATCH v2 18/20] ARM: LPAE: add support for ATAG_MEM64, Catalin Marinas, (Fri Nov 12, 11:00 am)
[PATCH v2 19/20] ARM: LPAE: define printk format for physi ..., Catalin Marinas, (Fri Nov 12, 11:00 am)
[PATCH v2 20/20] ARM: LPAE: Add the Kconfig entries, Catalin Marinas, (Fri Nov 12, 11:00 am)
Re: [PATCH v2 20/20] ARM: LPAE: Add the Kconfig entries, Sergei Shtylyov, (Sat Nov 13, 5:38 am)
Re: [PATCH v2 20/20] ARM: LPAE: Add the Kconfig entries, Catalin Marinas, (Sun Nov 14, 3:11 am)
Re: [PATCH v2 03/20] ARM: LPAE: use u32 instead of unsigne ..., Russell King - ARM Linux, (Sun Nov 14, 6:19 am)
Re: [PATCH v2 03/20] ARM: LPAE: use u32 instead of unsigne ..., Russell King - ARM Linux, (Sun Nov 14, 8:14 am)
Re: [PATCH v2 03/20] ARM: LPAE: use u32 instead of unsigne ..., Russell King - ARM Linux, (Mon Nov 15, 10:36 am)
Re: [PATCH v2 04/20] ARM: LPAE: Do not assume Linux PTEs a ..., Russell King - ARM Linux, (Mon Nov 15, 10:42 am)
Re: [PATCH v2 05/20] ARM: LPAE: Introduce L_PTE_NOEXEC and ..., Russell King - ARM Linux, (Mon Nov 15, 11:30 am)
Re: [PATCH v2 06/20] ARM: LPAE: Introduce the 3-level page ..., Russell King - ARM Linux, (Mon Nov 15, 11:34 am)
Re: [PATCH v2 02/20] ARM: LPAE: Factor out 2-level page ta ..., Russell King - ARM Linux, (Mon Nov 15, 4:31 pm)
Re: [PATCH v2 03/20] ARM: LPAE: use u32 instead of unsigne ..., Russell King - ARM Linux, (Mon Nov 15, 4:35 pm)
Re: [PATCH v2 02/20] ARM: LPAE: Factor out 2-level page ta ..., Russell King - ARM Linux, (Tue Nov 16, 2:59 am)
Re: [PATCH v2 02/20] ARM: LPAE: Factor out 2-level page ta ..., Russell King - ARM Linux, (Tue Nov 16, 3:04 am)
Re: [PATCH v2 05/20] ARM: LPAE: Introduce L_PTE_NOEXEC and ..., Russell King - ARM Linux, (Tue Nov 16, 11:19 am)
Re: [PATCH v2 05/20] ARM: LPAE: Introduce L_PTE_NOEXEC and ..., Russell King - ARM Linux, (Wed Nov 17, 10:16 am)
Re: [PATCH v2 05/20] ARM: LPAE: Introduce L_PTE_NOEXEC and ..., Russell King - ARM Linux, (Wed Nov 17, 10:24 am)
Re: [PATCH v2 05/20] ARM: LPAE: Introduce L_PTE_NOEXEC and ..., Russell King - ARM Linux, (Wed Nov 17, 10:32 am)
Re: [PATCH v2 01/20] ARM: LPAE: Use PMD_(SHIFT|SIZE|MASK) ..., Russell King - ARM Linux, (Mon Nov 22, 5:43 am)
Re: [PATCH v2 07/20] ARM: LPAE: Page table maintenance for ..., Russell King - ARM Linux, (Mon Nov 22, 5:58 am)
Re: [PATCH v2 08/20] ARM: LPAE: MMU setup for the 3-level ..., Russell King - ARM Linux, (Mon Nov 22, 6:10 am)
Re: [PATCH v2 09/20] ARM: LPAE: Change setup_mm_for_reboot ..., Russell King - ARM Linux, (Mon Nov 22, 6:11 am)
Re: [PATCH v2 10/20] ARM: LPAE: Remove the FIRST_USER_PGD_ ..., Russell King - ARM Linux, (Mon Nov 22, 6:11 am)
Re: [PATCH v2 11/20] ARM: LPAE: Add fault handling support, Russell King - ARM Linux, (Mon Nov 22, 6:15 am)
Re: [PATCH v2 11/20] ARM: LPAE: Add fault handling support, Catalin Marinas, (Mon Nov 22, 6:19 am)
Re: [PATCH v2 01/20] ARM: LPAE: Use PMD_(SHIFT|SIZE|MASK) ..., Russell King - ARM Linux, (Mon Nov 22, 6:28 am)
Re: [PATCH v2 11/20] ARM: LPAE: Add fault handling support, Russell King - ARM Linux, (Mon Nov 22, 6:32 am)
Re: [PATCH v2 13/20] ARM: LPAE: Add SMP support for the 3- ..., Russell King - ARM Linux, (Mon Nov 22, 6:37 am)
Re: [PATCH v2 11/20] ARM: LPAE: Add fault handling support, Catalin Marinas, (Mon Nov 22, 6:38 am)
Re: [PATCH v2 19/20] ARM: LPAE: define printk format for p ..., Russell King - ARM Linux, (Mon Nov 22, 6:43 am)
Re: [PATCH v2 08/20] ARM: LPAE: MMU setup for the 3-level ..., Russell King - ARM Linux, (Tue Nov 23, 10:33 am)
Re: [PATCH v2 08/20] ARM: LPAE: MMU setup for the 3-level ..., Catalin Marinas, (Tue Nov 23, 10:35 am)