diff options
-rw-r--r-- | core/console.c | 16 | ||||
-rw-r--r-- | core/init.c | 5 | ||||
-rw-r--r-- | hw/fsp/fsp-console.c | 14 | ||||
-rw-r--r-- | hw/lpc-uart.c | 14 |
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 |