@@ -46,6 +46,37 @@ static void setup_zero_page(void)
46
46
memset ((void * )empty_zero_page , 0 , PAGE_SIZE );
47
47
}
48
48
49
+ #ifdef CONFIG_DEBUG_VM
50
+ static inline void print_mlk (char * name , unsigned long b , unsigned long t )
51
+ {
52
+ pr_notice ("%12s : 0x%08lx - 0x%08lx (%4ld kB)\n" , name , b , t ,
53
+ (((t ) - (b )) >> 10 ));
54
+ }
55
+
56
+ static inline void print_mlm (char * name , unsigned long b , unsigned long t )
57
+ {
58
+ pr_notice ("%12s : 0x%08lx - 0x%08lx (%4ld MB)\n" , name , b , t ,
59
+ (((t ) - (b )) >> 20 ));
60
+ }
61
+
62
+ static void print_vm_layout (void )
63
+ {
64
+ pr_notice ("Virtual kernel memory layout:\n" );
65
+ print_mlk ("fixmap" , (unsigned long )FIXADDR_START ,
66
+ (unsigned long )FIXADDR_TOP );
67
+ print_mlm ("pci io" , (unsigned long )PCI_IO_START ,
68
+ (unsigned long )PCI_IO_END );
69
+ print_mlm ("vmemmap" , (unsigned long )VMEMMAP_START ,
70
+ (unsigned long )VMEMMAP_END );
71
+ print_mlm ("vmalloc" , (unsigned long )VMALLOC_START ,
72
+ (unsigned long )VMALLOC_END );
73
+ print_mlm ("lowmem" , (unsigned long )PAGE_OFFSET ,
74
+ (unsigned long )high_memory );
75
+ }
76
+ #else
77
+ static void print_vm_layout (void ) { }
78
+ #endif /* CONFIG_DEBUG_VM */
79
+
49
80
void __init mem_init (void )
50
81
{
51
82
#ifdef CONFIG_FLATMEM
@@ -56,6 +87,7 @@ void __init mem_init(void)
56
87
memblock_free_all ();
57
88
58
89
mem_init_print_info (NULL );
90
+ print_vm_layout ();
59
91
}
60
92
61
93
#ifdef CONFIG_BLK_DEV_INITRD
0 commit comments