powerpc/ppc64: Print CPU/MMU/FW features at boot
authorMichael Ellerman <mpe@ellerman.id.au>
Wed, 6 Aug 2014 09:08:22 +0000 (19:08 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 25 Sep 2014 13:14:55 +0000 (23:14 +1000)
"Helps debug funky firmware issues".

After:
  Starting Linux PPC64 #108 SMP Wed Aug 6 19:04:51 EST 2014
  -----------------------------------------------------
  ppc64_pft_size    = 0x1a
  phys_mem_size     = 0x200000000
  cpu_features      = 0x17fc7a6c18500249
    possible        = 0x1fffffff18700649
    always          = 0x0000000000000040
  cpu_user_features = 0xdc0065c2 0xee000000
  mmu_features      = 0x5a000001
  firmware_features = 0x00000001405a440b
  htab_hash_mask    = 0x7ffff
  -----------------------------------------------------

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/kernel/setup_64.c

index 32f4c320b9dcef01eba6001d0a1bd6dd6de5f756..2ef9893a06bd912fc26474d15a0db9b64d3f4ab7 100644 (file)
@@ -533,6 +533,14 @@ void __init setup_system(void)
        if (ppc64_caches.iline_size != 0x80)
                printk("icache_line_size  = 0x%x\n", ppc64_caches.iline_size);
 
+       printk("cpu_features      = 0x%016lx\n", cur_cpu_spec->cpu_features);
+       printk("  possible        = 0x%016lx\n", CPU_FTRS_POSSIBLE);
+       printk("  always          = 0x%016lx\n", CPU_FTRS_ALWAYS);
+       printk("cpu_user_features = 0x%08x 0x%08x\n", cur_cpu_spec->cpu_user_features,
+               cur_cpu_spec->cpu_user_features2);
+       printk("mmu_features      = 0x%08x\n", cur_cpu_spec->mmu_features);
+       printk("firmware_features = 0x%016lx\n", powerpc_firmware_features);
+
 #ifdef CONFIG_PPC_STD_MMU_64
        if (htab_address)
                printk("htab_address      = 0x%p\n", htab_address);