aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPridhiviraj Paidipeddi <ppaidipe@linux.vnet.ibm.com>2018-03-01 22:33:19 +0530
committerStewart Smith <stewart@linux.vnet.ibm.com>2018-03-01 20:27:01 -0600
commit20f685a3627a2a522c465716377561a8fbcc608f (patch)
treea1980c0de43a39ea35db51267d602381f75ff922
parentf23240f50653f3404b21e064f80e8c74b095c2ea (diff)
downloadskiboot-20f685a3627a2a522c465716377561a8fbcc608f.zip
skiboot-20f685a3627a2a522c465716377561a8fbcc608f.tar.gz
skiboot-20f685a3627a2a522c465716377561a8fbcc608f.tar.bz2
console(lpc/fsp-console): Use only stdout-path property on P9 and above
dtc tool complaining about below warning as usage of linux,stdout-path property under /chosen node is deprecated. dts: Warning (chosen_node_stdout_path): Use 'stdout-path' instead of 'linux,stdout-path' So this patch fix this by using stdout-path property on all the systems and keep linux,stdout-path only on P8 and before. This property refers to a node which represents the device to be used for boot console output. Verified boot on both P8 and P9 systems with new and older kernels. And also verified dtc warnings got fixed in both P8 and P9. Signed-off-by: Pridhiviraj Paidipeddi <ppaidipe@linux.vnet.ibm.com> [stewart: simplify logic] Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
-rw-r--r--core/console.c16
-rw-r--r--core/init.c5
-rw-r--r--hw/fsp/fsp-console.c14
-rw-r--r--hw/lpc-uart.c14
4 files changed, 35 insertions, 14 deletions
diff --git a/core/console.c b/core/console.c
index b9129c9..d9b48cd 100644
--- a/core/console.c
+++ b/core/console.c
@@ -1,4 +1,4 @@
-/* Copyright 2013-2014 IBM Corp.
+/* Copyright 2013-2018 IBM Corp.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -427,16 +427,18 @@ static void dummy_console_poll(void *data __unused)
void dummy_console_add_nodes(void)
{
- struct dt_property *p;
-
add_opal_console_node(0, "raw", memcons.obuf_size);
/* Mambo might have left a crap one, clear it */
- p = __dt_find_property(dt_chosen, "linux,stdout-path");
- if (p)
- dt_del_property(dt_chosen, p);
+ dt_check_del_prop(dt_chosen, "stdout-path");
+ dt_check_del_prop(dt_chosen, "linux,stdout-path");
+
+ if (proc_gen < proc_gen_p9) {
+ dt_add_property_string(dt_chosen, "linux,stdout-path",
+ "/ibm,opal/consoles/serial@0");
+ }
- dt_add_property_string(dt_chosen, "linux,stdout-path",
+ dt_add_property_string(dt_chosen, "stdout-path",
"/ibm,opal/consoles/serial@0");
opal_add_poller(dummy_console_poll, NULL);
diff --git a/core/init.c b/core/init.c
index a60b784..83f42f5 100644
--- a/core/init.c
+++ b/core/init.c
@@ -549,7 +549,10 @@ void __noreturn load_and_boot_kernel(bool is_reboot)
cpu_set_ipi_enable(false);
/* Dump the selected console */
- stdoutp = dt_prop_get_def(dt_chosen, "linux,stdout-path", NULL);
+ if (proc_gen >= proc_gen_p9)
+ stdoutp = dt_prop_get_def(dt_chosen, "stdout-path", NULL);
+ else
+ stdoutp = dt_prop_get_def(dt_chosen, "linux,stdout-path", NULL);
prlog(PR_DEBUG, "INIT: stdout-path: %s\n", stdoutp ? stdoutp : "");
diff --git a/hw/fsp/fsp-console.c b/hw/fsp/fsp-console.c
index 8d845d8..fc092ce 100644
--- a/hw/fsp/fsp-console.c
+++ b/hw/fsp/fsp-console.c
@@ -1,4 +1,4 @@
-/* Copyright 2013-2014 IBM Corp.
+/* Copyright 2013-2018 IBM Corp.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -1072,14 +1072,22 @@ void fsp_console_select_stdout(void)
*/
}
}
+
dt_check_del_prop(dt_chosen, "linux,stdout-path");
+ dt_check_del_prop(dt_chosen, "stdout-path");
if (fsp_serials[1].open && use_serial) {
- dt_add_property_string(dt_chosen, "linux,stdout-path",
+ if (proc_gen < proc_gen_p9)
+ dt_add_property_string(dt_chosen, "linux,stdout-path",
+ "/ibm,opal/consoles/serial@1");
+ dt_add_property_string(dt_chosen, "stdout-path",
"/ibm,opal/consoles/serial@1");
prlog(PR_NOTICE, "FSPCON: default console set to serial A\n");
} else {
- dt_add_property_string(dt_chosen, "linux,stdout-path",
+ if (proc_gen < proc_gen_p9)
+ dt_add_property_string(dt_chosen, "linux,stdout-path",
+ "/ibm,opal/consoles/serial@0");
+ dt_add_property_string(dt_chosen, "stdout-path",
"/ibm,opal/consoles/serial@0");
prlog(PR_NOTICE, "FSPCON: default console set to SOL/DVS\n");
}
diff --git a/hw/lpc-uart.c b/hw/lpc-uart.c
index 3224de9..ea71ac5 100644
--- a/hw/lpc-uart.c
+++ b/hw/lpc-uart.c
@@ -1,4 +1,4 @@
-/* Copyright 2013-2014 IBM Corp.
+/* Copyright 2013-2018 IBM Corp.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -438,7 +438,12 @@ static void uart_setup_os_passthrough(void)
dt_add_property_strings(uart_node, "status", "ok");
path = dt_get_path(uart_node);
- dt_add_property_string(dt_chosen, "linux,stdout-path", path);
+
+
+ dt_add_property_string(dt_chosen, "stdout-path", path);
+ if (proc_gen < proc_gen_p9)
+ dt_add_property_string(dt_chosen, "linux,stdout-path", path);
+
free(path);
/* Setup LPC client for OS interrupts */
@@ -460,8 +465,11 @@ static void uart_setup_opal_console(void)
/* Add the opal console node */
add_opal_console_node(0, "raw", OUT_BUF_SIZE);
- dt_add_property_string(dt_chosen, "linux,stdout-path",
+ dt_add_property_string(dt_chosen, "stdout-path",
"/ibm,opal/consoles/serial@0");
+ if (proc_gen < proc_gen_p9)
+ dt_add_property_string(dt_chosen, "linux,stdout-path",
+ "/ibm,opal/consoles/serial@0");
/*
* We mark the UART as reserved since we don't want the