Once we have unflattened the device tree we can easily grab these opal version details and add them to dump stack arch description, which is printed in case of an oops. eg: Hardware name: ... opal:v6.2 Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> --- arch/powerpc/platforms/powernv/setup.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/arch/powerpc/platforms/powernv/setup.c b/arch/powerpc/platforms/powernv/setup.c index 14befee4b3f1..1bfb422436fb 100644 --- a/arch/powerpc/platforms/powernv/setup.c +++ b/arch/powerpc/platforms/powernv/setup.c @@ -156,8 +156,33 @@ static void __init pnv_setup_arch(void) /* XXX PMCS */ } +static void __init pnv_add_dump_stack_arch_desc(void) +{ + struct device_node *dn; + const char *version; + + dn = of_find_node_by_path("/ibm,opal/firmware"); + if (!dn) + return; + + version = of_get_property(dn, "version", NULL); + if (!version) + version = of_get_property(dn, "git-id", NULL); + + if (version) + dump_stack_add_arch_desc("opal:%s", version); + + version = of_get_property(dn, "mi-version", NULL); + if (version) + dump_stack_add_arch_desc("mi:%s", version); + + of_node_put(dn); +} + static void __init pnv_init(void) { + pnv_add_dump_stack_arch_desc(); + /* * Initialize the LPC bus now so that legacy serial * ports can be found on it -- 2.20.1