mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-02 00:24:12 +08:00
RISC-V: Add address map dumper
Add support for dumping the kernel address space layout to the console. User can enable CONFIG_DEBUG_VM to dump the virtual memory region into dmesg buffer during boot-up. Signed-off-by: Yash Shah <yash.shah@sifive.com> Reviewed-by: Logan Gunthorpe <logang@deltatee.com> Reviewed-by: Anup Patel <anup@brainfault.org> [paul.walmsley@sifive.com: dropped .init/.text/.data/.bss prints; added PCI legacy I/O region display] Signed-off-by: Paul Walmsley <paul.walmsley@sifive.com>
This commit is contained in:
parent
de29fe308d
commit
2cc6c4a0da
@ -45,6 +45,37 @@ void setup_zero_page(void)
|
||||
memset((void *)empty_zero_page, 0, PAGE_SIZE);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_DEBUG_VM
|
||||
static inline void print_mlk(char *name, unsigned long b, unsigned long t)
|
||||
{
|
||||
pr_notice("%12s : 0x%08lx - 0x%08lx (%4ld kB)\n", name, b, t,
|
||||
(((t) - (b)) >> 10));
|
||||
}
|
||||
|
||||
static inline void print_mlm(char *name, unsigned long b, unsigned long t)
|
||||
{
|
||||
pr_notice("%12s : 0x%08lx - 0x%08lx (%4ld MB)\n", name, b, t,
|
||||
(((t) - (b)) >> 20));
|
||||
}
|
||||
|
||||
static void print_vm_layout(void)
|
||||
{
|
||||
pr_notice("Virtual kernel memory layout:\n");
|
||||
print_mlk("fixmap", (unsigned long)FIXADDR_START,
|
||||
(unsigned long)FIXADDR_TOP);
|
||||
print_mlm("pci io", (unsigned long)PCI_IO_START,
|
||||
(unsigned long)PCI_IO_END);
|
||||
print_mlm("vmemmap", (unsigned long)VMEMMAP_START,
|
||||
(unsigned long)VMEMMAP_END);
|
||||
print_mlm("vmalloc", (unsigned long)VMALLOC_START,
|
||||
(unsigned long)VMALLOC_END);
|
||||
print_mlm("lowmem", (unsigned long)PAGE_OFFSET,
|
||||
(unsigned long)high_memory);
|
||||
}
|
||||
#else
|
||||
static void print_vm_layout(void) { }
|
||||
#endif /* CONFIG_DEBUG_VM */
|
||||
|
||||
void __init mem_init(void)
|
||||
{
|
||||
#ifdef CONFIG_FLATMEM
|
||||
@ -55,6 +86,7 @@ void __init mem_init(void)
|
||||
memblock_free_all();
|
||||
|
||||
mem_init_print_info(NULL);
|
||||
print_vm_layout();
|
||||
}
|
||||
|
||||
#ifdef CONFIG_BLK_DEV_INITRD
|
||||
|
Loading…
Reference in New Issue
Block a user