Add OPAL version details to the dump stack arch description, which is printed in case of an oops.
eg: Hardware name: ... opal:v6.2 Signed-off-by: Michael Ellerman <m...@ellerman.id.au> --- arch/powerpc/platforms/powernv/setup.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/arch/powerpc/platforms/powernv/setup.c b/arch/powerpc/platforms/powernv/setup.c index dac545aa0308..fddc61ec1d5b 100644 --- a/arch/powerpc/platforms/powernv/setup.c +++ b/arch/powerpc/platforms/powernv/setup.c @@ -17,6 +17,7 @@ #include <linux/console.h> #include <linux/delay.h> #include <linux/irq.h> +#include <linux/seq_buf.h> #include <linux/seq_file.h> #include <linux/of.h> #include <linux/of_fdt.h> @@ -207,8 +208,33 @@ static void __init pnv_setup_arch(void) pnv_rng_init(); } +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) + seq_buf_printf(&ppc_hw_desc, "opal:%s", version); + + version = of_get_property(dn, "mi-version", NULL); + if (version) + seq_buf_printf(&ppc_hw_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.37.3