diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2012-05-29 18:06:29 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-29 19:22:21 -0400 |
commit | 365811d6f9bd98543bedc02b72d94f0f0faf3670 (patch) | |
tree | 531515ad2280d898d5b4074c49952f562d2de0e5 /arch/x86/mm | |
parent | 91eb0f67c38c7104766faa49c5aaee2b4876511e (diff) |
x86: print physical addresses consistently with other parts of kernel
Print physical address info in a style consistent with the %pR style used
elsewhere in the kernel. For example:
-found SMP MP-table at [ffff8800000fce90] fce90
+found SMP MP-table at [mem 0x000fce90-0x000fce9f] mapped at [ffff8800000fce90]
-initial memory mapped : 0 - 20000000
+initial memory mapped: [mem 0x00000000-0x1fffffff]
-Base memory trampoline at [ffff88000009c000] 9c000 size 8192
+Base memory trampoline [mem 0x0009c000-0x0009dfff] mapped at [ffff88000009c000]
-SRAT: Node 0 PXM 0 0-80000000
+SRAT: Node 0 PXM 0 [mem 0x00000000-0x7fffffff]
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Cc: Yinghai Lu <yinghai@kernel.org>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/x86/mm')
-rw-r--r-- | arch/x86/mm/init.c | 16 | ||||
-rw-r--r-- | arch/x86/mm/numa.c | 32 | ||||
-rw-r--r-- | arch/x86/mm/numa_emulation.c | 4 | ||||
-rw-r--r-- | arch/x86/mm/pat.c | 42 | ||||
-rw-r--r-- | arch/x86/mm/srat.c | 5 |
5 files changed, 49 insertions, 50 deletions
diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c index 319b6f2fb8b9..97141c26a13a 100644 --- a/arch/x86/mm/init.c +++ b/arch/x86/mm/init.c | |||
@@ -84,8 +84,9 @@ static void __init find_early_table_space(struct map_range *mr, unsigned long en | |||
84 | pgt_buf_end = pgt_buf_start; | 84 | pgt_buf_end = pgt_buf_start; |
85 | pgt_buf_top = pgt_buf_start + (tables >> PAGE_SHIFT); | 85 | pgt_buf_top = pgt_buf_start + (tables >> PAGE_SHIFT); |
86 | 86 | ||
87 | printk(KERN_DEBUG "kernel direct mapping tables up to %lx @ %lx-%lx\n", | 87 | printk(KERN_DEBUG "kernel direct mapping tables up to %#lx @ [mem %#010lx-%#010lx]\n", |
88 | end, pgt_buf_start << PAGE_SHIFT, pgt_buf_top << PAGE_SHIFT); | 88 | end - 1, pgt_buf_start << PAGE_SHIFT, |
89 | (pgt_buf_top << PAGE_SHIFT) - 1); | ||
89 | } | 90 | } |
90 | 91 | ||
91 | void __init native_pagetable_reserve(u64 start, u64 end) | 92 | void __init native_pagetable_reserve(u64 start, u64 end) |
@@ -132,7 +133,8 @@ unsigned long __init_refok init_memory_mapping(unsigned long start, | |||
132 | int nr_range, i; | 133 | int nr_range, i; |
133 | int use_pse, use_gbpages; | 134 | int use_pse, use_gbpages; |
134 | 135 | ||
135 | printk(KERN_INFO "init_memory_mapping: %016lx-%016lx\n", start, end); | 136 | printk(KERN_INFO "init_memory_mapping: [mem %#010lx-%#010lx]\n", |
137 | start, end - 1); | ||
136 | 138 | ||
137 | #if defined(CONFIG_DEBUG_PAGEALLOC) || defined(CONFIG_KMEMCHECK) | 139 | #if defined(CONFIG_DEBUG_PAGEALLOC) || defined(CONFIG_KMEMCHECK) |
138 | /* | 140 | /* |
@@ -251,8 +253,8 @@ unsigned long __init_refok init_memory_mapping(unsigned long start, | |||
251 | } | 253 | } |
252 | 254 | ||
253 | for (i = 0; i < nr_range; i++) | 255 | for (i = 0; i < nr_range; i++) |
254 | printk(KERN_DEBUG " %010lx - %010lx page %s\n", | 256 | printk(KERN_DEBUG " [mem %#010lx-%#010lx] page %s\n", |
255 | mr[i].start, mr[i].end, | 257 | mr[i].start, mr[i].end - 1, |
256 | (mr[i].page_size_mask & (1<<PG_LEVEL_1G))?"1G":( | 258 | (mr[i].page_size_mask & (1<<PG_LEVEL_1G))?"1G":( |
257 | (mr[i].page_size_mask & (1<<PG_LEVEL_2M))?"2M":"4k")); | 259 | (mr[i].page_size_mask & (1<<PG_LEVEL_2M))?"2M":"4k")); |
258 | 260 | ||
@@ -350,8 +352,8 @@ void free_init_pages(char *what, unsigned long begin, unsigned long end) | |||
350 | * create a kernel page fault: | 352 | * create a kernel page fault: |
351 | */ | 353 | */ |
352 | #ifdef CONFIG_DEBUG_PAGEALLOC | 354 | #ifdef CONFIG_DEBUG_PAGEALLOC |
353 | printk(KERN_INFO "debug: unmapping init memory %08lx..%08lx\n", | 355 | printk(KERN_INFO "debug: unmapping init [mem %#010lx-%#010lx]\n", |
354 | begin, end); | 356 | begin, end - 1); |
355 | set_memory_np(begin, (end - begin) >> PAGE_SHIFT); | 357 | set_memory_np(begin, (end - begin) >> PAGE_SHIFT); |
356 | #else | 358 | #else |
357 | /* | 359 | /* |
diff --git a/arch/x86/mm/numa.c b/arch/x86/mm/numa.c index 19d3fa08b119..2d125be1bae9 100644 --- a/arch/x86/mm/numa.c +++ b/arch/x86/mm/numa.c | |||
@@ -141,8 +141,8 @@ static int __init numa_add_memblk_to(int nid, u64 start, u64 end, | |||
141 | 141 | ||
142 | /* whine about and ignore invalid blks */ | 142 | /* whine about and ignore invalid blks */ |
143 | if (start > end || nid < 0 || nid >= MAX_NUMNODES) { | 143 | if (start > end || nid < 0 || nid >= MAX_NUMNODES) { |
144 | pr_warning("NUMA: Warning: invalid memblk node %d (%Lx-%Lx)\n", | 144 | pr_warning("NUMA: Warning: invalid memblk node %d [mem %#010Lx-%#010Lx]\n", |
145 | nid, start, end); | 145 | nid, start, end - 1); |
146 | return 0; | 146 | return 0; |
147 | } | 147 | } |
148 | 148 | ||
@@ -210,8 +210,8 @@ static void __init setup_node_data(int nid, u64 start, u64 end) | |||
210 | 210 | ||
211 | start = roundup(start, ZONE_ALIGN); | 211 | start = roundup(start, ZONE_ALIGN); |
212 | 212 | ||
213 | printk(KERN_INFO "Initmem setup node %d %016Lx-%016Lx\n", | 213 | printk(KERN_INFO "Initmem setup node %d [mem %#010Lx-%#010Lx]\n", |
214 | nid, start, end); | 214 | nid, start, end - 1); |
215 | 215 | ||
216 | /* | 216 | /* |
217 | * Allocate node data. Try remap allocator first, node-local | 217 | * Allocate node data. Try remap allocator first, node-local |
@@ -232,7 +232,7 @@ static void __init setup_node_data(int nid, u64 start, u64 end) | |||
232 | } | 232 | } |
233 | 233 | ||
234 | /* report and initialize */ | 234 | /* report and initialize */ |
235 | printk(KERN_INFO " NODE_DATA [%016Lx - %016Lx]%s\n", | 235 | printk(KERN_INFO " NODE_DATA [mem %#010Lx-%#010Lx]%s\n", |
236 | nd_pa, nd_pa + nd_size - 1, remapped ? " (remapped)" : ""); | 236 | nd_pa, nd_pa + nd_size - 1, remapped ? " (remapped)" : ""); |
237 | tnid = early_pfn_to_nid(nd_pa >> PAGE_SHIFT); | 237 | tnid = early_pfn_to_nid(nd_pa >> PAGE_SHIFT); |
238 | if (!remapped && tnid != nid) | 238 | if (!remapped && tnid != nid) |
@@ -291,14 +291,14 @@ int __init numa_cleanup_meminfo(struct numa_meminfo *mi) | |||
291 | */ | 291 | */ |
292 | if (bi->end > bj->start && bi->start < bj->end) { | 292 | if (bi->end > bj->start && bi->start < bj->end) { |
293 | if (bi->nid != bj->nid) { | 293 | if (bi->nid != bj->nid) { |
294 | pr_err("NUMA: node %d (%Lx-%Lx) overlaps with node %d (%Lx-%Lx)\n", | 294 | pr_err("NUMA: node %d [mem %#010Lx-%#010Lx] overlaps with node %d [mem %#010Lx-%#010Lx]\n", |
295 | bi->nid, bi->start, bi->end, | 295 | bi->nid, bi->start, bi->end - 1, |
296 | bj->nid, bj->start, bj->end); | 296 | bj->nid, bj->start, bj->end - 1); |
297 | return -EINVAL; | 297 | return -EINVAL; |
298 | } | 298 | } |
299 | pr_warning("NUMA: Warning: node %d (%Lx-%Lx) overlaps with itself (%Lx-%Lx)\n", | 299 | pr_warning("NUMA: Warning: node %d [mem %#010Lx-%#010Lx] overlaps with itself [mem %#010Lx-%#010Lx]\n", |
300 | bi->nid, bi->start, bi->end, | 300 | bi->nid, bi->start, bi->end - 1, |
301 | bj->start, bj->end); | 301 | bj->start, bj->end - 1); |
302 | } | 302 | } |
303 | 303 | ||
304 | /* | 304 | /* |
@@ -320,9 +320,9 @@ int __init numa_cleanup_meminfo(struct numa_meminfo *mi) | |||
320 | } | 320 | } |
321 | if (k < mi->nr_blks) | 321 | if (k < mi->nr_blks) |
322 | continue; | 322 | continue; |
323 | printk(KERN_INFO "NUMA: Node %d [%Lx,%Lx) + [%Lx,%Lx) -> [%Lx,%Lx)\n", | 323 | printk(KERN_INFO "NUMA: Node %d [mem %#010Lx-%#010Lx] + [mem %#010Lx-%#010Lx] -> [mem %#010Lx-%#010Lx]\n", |
324 | bi->nid, bi->start, bi->end, bj->start, bj->end, | 324 | bi->nid, bi->start, bi->end - 1, bj->start, |
325 | start, end); | 325 | bj->end - 1, start, end - 1); |
326 | bi->start = start; | 326 | bi->start = start; |
327 | bi->end = end; | 327 | bi->end = end; |
328 | numa_remove_memblk_from(j--, mi); | 328 | numa_remove_memblk_from(j--, mi); |
@@ -616,8 +616,8 @@ static int __init dummy_numa_init(void) | |||
616 | { | 616 | { |
617 | printk(KERN_INFO "%s\n", | 617 | printk(KERN_INFO "%s\n", |
618 | numa_off ? "NUMA turned off" : "No NUMA configuration found"); | 618 | numa_off ? "NUMA turned off" : "No NUMA configuration found"); |
619 | printk(KERN_INFO "Faking a node at %016Lx-%016Lx\n", | 619 | printk(KERN_INFO "Faking a node at [mem %#018Lx-%#018Lx]\n", |
620 | 0LLU, PFN_PHYS(max_pfn)); | 620 | 0LLU, PFN_PHYS(max_pfn) - 1); |
621 | 621 | ||
622 | node_set(0, numa_nodes_parsed); | 622 | node_set(0, numa_nodes_parsed); |
623 | numa_add_memblk(0, 0, PFN_PHYS(max_pfn)); | 623 | numa_add_memblk(0, 0, PFN_PHYS(max_pfn)); |
diff --git a/arch/x86/mm/numa_emulation.c b/arch/x86/mm/numa_emulation.c index 871dd8868170..dbbbb47260cc 100644 --- a/arch/x86/mm/numa_emulation.c +++ b/arch/x86/mm/numa_emulation.c | |||
@@ -68,8 +68,8 @@ static int __init emu_setup_memblk(struct numa_meminfo *ei, | |||
68 | numa_remove_memblk_from(phys_blk, pi); | 68 | numa_remove_memblk_from(phys_blk, pi); |
69 | } | 69 | } |
70 | 70 | ||
71 | printk(KERN_INFO "Faking node %d at %016Lx-%016Lx (%LuMB)\n", nid, | 71 | printk(KERN_INFO "Faking node %d at [mem %#018Lx-%#018Lx] (%LuMB)\n", |
72 | eb->start, eb->end, (eb->end - eb->start) >> 20); | 72 | nid, eb->start, eb->end - 1, (eb->end - eb->start) >> 20); |
73 | return 0; | 73 | return 0; |
74 | } | 74 | } |
75 | 75 | ||
diff --git a/arch/x86/mm/pat.c b/arch/x86/mm/pat.c index f6ff57b7efa5..f11729fd019c 100644 --- a/arch/x86/mm/pat.c +++ b/arch/x86/mm/pat.c | |||
@@ -209,9 +209,8 @@ static int reserve_ram_pages_type(u64 start, u64 end, unsigned long req_type, | |||
209 | page = pfn_to_page(pfn); | 209 | page = pfn_to_page(pfn); |
210 | type = get_page_memtype(page); | 210 | type = get_page_memtype(page); |
211 | if (type != -1) { | 211 | if (type != -1) { |
212 | printk(KERN_INFO "reserve_ram_pages_type failed " | 212 | printk(KERN_INFO "reserve_ram_pages_type failed [mem %#010Lx-%#010Lx], track 0x%lx, req 0x%lx\n", |
213 | "0x%Lx-0x%Lx, track 0x%lx, req 0x%lx\n", | 213 | start, end - 1, type, req_type); |
214 | start, end, type, req_type); | ||
215 | if (new_type) | 214 | if (new_type) |
216 | *new_type = type; | 215 | *new_type = type; |
217 | 216 | ||
@@ -314,9 +313,9 @@ int reserve_memtype(u64 start, u64 end, unsigned long req_type, | |||
314 | 313 | ||
315 | err = rbt_memtype_check_insert(new, new_type); | 314 | err = rbt_memtype_check_insert(new, new_type); |
316 | if (err) { | 315 | if (err) { |
317 | printk(KERN_INFO "reserve_memtype failed 0x%Lx-0x%Lx, " | 316 | printk(KERN_INFO "reserve_memtype failed [mem %#010Lx-%#010Lx], track %s, req %s\n", |
318 | "track %s, req %s\n", | 317 | start, end - 1, |
319 | start, end, cattr_name(new->type), cattr_name(req_type)); | 318 | cattr_name(new->type), cattr_name(req_type)); |
320 | kfree(new); | 319 | kfree(new); |
321 | spin_unlock(&memtype_lock); | 320 | spin_unlock(&memtype_lock); |
322 | 321 | ||
@@ -325,8 +324,8 @@ int reserve_memtype(u64 start, u64 end, unsigned long req_type, | |||
325 | 324 | ||
326 | spin_unlock(&memtype_lock); | 325 | spin_unlock(&memtype_lock); |
327 | 326 | ||
328 | dprintk("reserve_memtype added 0x%Lx-0x%Lx, track %s, req %s, ret %s\n", | 327 | dprintk("reserve_memtype added [mem %#010Lx-%#010Lx], track %s, req %s, ret %s\n", |
329 | start, end, cattr_name(new->type), cattr_name(req_type), | 328 | start, end - 1, cattr_name(new->type), cattr_name(req_type), |
330 | new_type ? cattr_name(*new_type) : "-"); | 329 | new_type ? cattr_name(*new_type) : "-"); |
331 | 330 | ||
332 | return err; | 331 | return err; |
@@ -360,14 +359,14 @@ int free_memtype(u64 start, u64 end) | |||
360 | spin_unlock(&memtype_lock); | 359 | spin_unlock(&memtype_lock); |
361 | 360 | ||
362 | if (!entry) { | 361 | if (!entry) { |
363 | printk(KERN_INFO "%s:%d freeing invalid memtype %Lx-%Lx\n", | 362 | printk(KERN_INFO "%s:%d freeing invalid memtype [mem %#010Lx-%#010Lx]\n", |
364 | current->comm, current->pid, start, end); | 363 | current->comm, current->pid, start, end - 1); |
365 | return -EINVAL; | 364 | return -EINVAL; |
366 | } | 365 | } |
367 | 366 | ||
368 | kfree(entry); | 367 | kfree(entry); |
369 | 368 | ||
370 | dprintk("free_memtype request 0x%Lx-0x%Lx\n", start, end); | 369 | dprintk("free_memtype request [mem %#010Lx-%#010Lx]\n", start, end - 1); |
371 | 370 | ||
372 | return 0; | 371 | return 0; |
373 | } | 372 | } |
@@ -491,9 +490,8 @@ static inline int range_is_allowed(unsigned long pfn, unsigned long size) | |||
491 | 490 | ||
492 | while (cursor < to) { | 491 | while (cursor < to) { |
493 | if (!devmem_is_allowed(pfn)) { | 492 | if (!devmem_is_allowed(pfn)) { |
494 | printk(KERN_INFO | 493 | printk(KERN_INFO "Program %s tried to access /dev/mem between [mem %#010Lx-%#010Lx]\n", |
495 | "Program %s tried to access /dev/mem between %Lx->%Lx.\n", | 494 | current->comm, from, to - 1); |
496 | current->comm, from, to); | ||
497 | return 0; | 495 | return 0; |
498 | } | 496 | } |
499 | cursor += PAGE_SIZE; | 497 | cursor += PAGE_SIZE; |
@@ -554,12 +552,11 @@ int kernel_map_sync_memtype(u64 base, unsigned long size, unsigned long flags) | |||
554 | size; | 552 | size; |
555 | 553 | ||
556 | if (ioremap_change_attr((unsigned long)__va(base), id_sz, flags) < 0) { | 554 | if (ioremap_change_attr((unsigned long)__va(base), id_sz, flags) < 0) { |
557 | printk(KERN_INFO | 555 | printk(KERN_INFO "%s:%d ioremap_change_attr failed %s " |
558 | "%s:%d ioremap_change_attr failed %s " | 556 | "for [mem %#010Lx-%#010Lx]\n", |
559 | "for %Lx-%Lx\n", | ||
560 | current->comm, current->pid, | 557 | current->comm, current->pid, |
561 | cattr_name(flags), | 558 | cattr_name(flags), |
562 | base, (unsigned long long)(base + size)); | 559 | base, (unsigned long long)(base + size-1)); |
563 | return -EINVAL; | 560 | return -EINVAL; |
564 | } | 561 | } |
565 | return 0; | 562 | return 0; |
@@ -591,12 +588,11 @@ static int reserve_pfn_range(u64 paddr, unsigned long size, pgprot_t *vma_prot, | |||
591 | 588 | ||
592 | flags = lookup_memtype(paddr); | 589 | flags = lookup_memtype(paddr); |
593 | if (want_flags != flags) { | 590 | if (want_flags != flags) { |
594 | printk(KERN_WARNING | 591 | printk(KERN_WARNING "%s:%d map pfn RAM range req %s for [mem %#010Lx-%#010Lx], got %s\n", |
595 | "%s:%d map pfn RAM range req %s for %Lx-%Lx, got %s\n", | ||
596 | current->comm, current->pid, | 592 | current->comm, current->pid, |
597 | cattr_name(want_flags), | 593 | cattr_name(want_flags), |
598 | (unsigned long long)paddr, | 594 | (unsigned long long)paddr, |
599 | (unsigned long long)(paddr + size), | 595 | (unsigned long long)(paddr + size - 1), |
600 | cattr_name(flags)); | 596 | cattr_name(flags)); |
601 | *vma_prot = __pgprot((pgprot_val(*vma_prot) & | 597 | *vma_prot = __pgprot((pgprot_val(*vma_prot) & |
602 | (~_PAGE_CACHE_MASK)) | | 598 | (~_PAGE_CACHE_MASK)) | |
@@ -614,11 +610,11 @@ static int reserve_pfn_range(u64 paddr, unsigned long size, pgprot_t *vma_prot, | |||
614 | !is_new_memtype_allowed(paddr, size, want_flags, flags)) { | 610 | !is_new_memtype_allowed(paddr, size, want_flags, flags)) { |
615 | free_memtype(paddr, paddr + size); | 611 | free_memtype(paddr, paddr + size); |
616 | printk(KERN_ERR "%s:%d map pfn expected mapping type %s" | 612 | printk(KERN_ERR "%s:%d map pfn expected mapping type %s" |
617 | " for %Lx-%Lx, got %s\n", | 613 | " for [mem %#010Lx-%#010Lx], got %s\n", |
618 | current->comm, current->pid, | 614 | current->comm, current->pid, |
619 | cattr_name(want_flags), | 615 | cattr_name(want_flags), |
620 | (unsigned long long)paddr, | 616 | (unsigned long long)paddr, |
621 | (unsigned long long)(paddr + size), | 617 | (unsigned long long)(paddr + size - 1), |
622 | cattr_name(flags)); | 618 | cattr_name(flags)); |
623 | return -EINVAL; | 619 | return -EINVAL; |
624 | } | 620 | } |
diff --git a/arch/x86/mm/srat.c b/arch/x86/mm/srat.c index efb5b4b93711..732af3a96183 100644 --- a/arch/x86/mm/srat.c +++ b/arch/x86/mm/srat.c | |||
@@ -176,8 +176,9 @@ acpi_numa_memory_affinity_init(struct acpi_srat_mem_affinity *ma) | |||
176 | return; | 176 | return; |
177 | } | 177 | } |
178 | 178 | ||
179 | printk(KERN_INFO "SRAT: Node %u PXM %u %Lx-%Lx\n", node, pxm, | 179 | printk(KERN_INFO "SRAT: Node %u PXM %u [mem %#010Lx-%#010Lx]\n", |
180 | start, end); | 180 | node, pxm, |
181 | (unsigned long long) start, (unsigned long long) end - 1); | ||
181 | } | 182 | } |
182 | 183 | ||
183 | void __init acpi_numa_arch_fixup(void) {} | 184 | void __init acpi_numa_arch_fixup(void) {} |