memblock_add_range(&memblock.physmem, start, size, 0, 0);
 }
 
+static const char * __init get_mem_info_source(void)
+{
+       switch (mem_detect.info_source) {
+       case MEM_DETECT_SCLP_STOR_INFO:
+               return "sclp storage info";
+       case MEM_DETECT_DIAG260:
+               return "diag260";
+       case MEM_DETECT_SCLP_READ_INFO:
+               return "sclp read info";
+       case MEM_DETECT_BIN_SEARCH:
+               return "binary search";
+       }
+       return "none";
+}
+
 static void __init memblock_add_mem_detect_info(void)
 {
        unsigned long start, end;
        int i;
 
+       memblock_dbg("physmem info source: %s (%hhd)\n",
+                    get_mem_info_source(), mem_detect.info_source);
        /* keep memblock lists close to the kernel */
        memblock_set_bottom_up(true);
        for_each_mem_detect_block(i, &start, &end)