mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH 1/2] startup: don't skip countdown if consoles were runtime enabled
@ 2023-09-21  9:25 Ahmad Fatoum
  2023-09-21  9:25 ` [PATCH 2/2] console: implement of_console_by_stdout_path helper Ahmad Fatoum
  2023-09-21 12:09 ` [PATCH 1/2] startup: don't skip countdown if consoles were runtime enabled Sascha Hauer
  0 siblings, 2 replies; 3+ messages in thread
From: Ahmad Fatoum @ 2023-09-21  9:25 UTC (permalink / raw)
  To: barebox; +Cc: Ahmad Fatoum

Systems with verified boot will disable at least console input by
default, but when presented with an unlock token, they may elect to
enable the console. Currently, the user needs to be really quick with
ctrl+c to abort the boot on the active console, so let's make the system
have a normal count down if a console has been activated by board code.

Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
 common/startup.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/common/startup.c b/common/startup.c
index f96cff41429d..bbba72f89255 100644
--- a/common/startup.c
+++ b/common/startup.c
@@ -174,7 +174,7 @@ enum autoboot_state do_autoboot_countdown(void)
 	if (autoboot_state != AUTOBOOT_UNKNOWN)
 		return autoboot_state;
 
-	if (IS_ENABLED(CONFIG_CONSOLE_DISABLE_INPUT)) {
+	if (!console_get_first_active()) {
 		printf("\nNon-interactive console, booting system\n");
 		return autoboot_state = AUTOBOOT_BOOT;
 	}
-- 
2.39.2




^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH 2/2] console: implement of_console_by_stdout_path helper
  2023-09-21  9:25 [PATCH 1/2] startup: don't skip countdown if consoles were runtime enabled Ahmad Fatoum
@ 2023-09-21  9:25 ` Ahmad Fatoum
  2023-09-21 12:09 ` [PATCH 1/2] startup: don't skip countdown if consoles were runtime enabled Sascha Hauer
  1 sibling, 0 replies; 3+ messages in thread
From: Ahmad Fatoum @ 2023-09-21  9:25 UTC (permalink / raw)
  To: barebox; +Cc: Ahmad Fatoum

Board code may want to get a handle on the standard console to disable
or enable some of its stream. Add a helper function for that.

Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
 common/console.c  | 17 +++++++++++++++++
 include/console.h |  1 +
 2 files changed, 18 insertions(+)

diff --git a/common/console.c b/common/console.c
index 768550eb7df9..7e43a9b5fc0e 100644
--- a/common/console.c
+++ b/common/console.c
@@ -254,6 +254,23 @@ static void console_set_stdoutpath(struct console_device *cdev, unsigned baudrat
 	free(str);
 }
 
+struct console_device *of_console_by_stdout_path(void)
+{
+	struct console_device *console;
+	struct device_node *stdout_np;
+
+	stdout_np = of_get_stdoutpath(NULL);
+	if (!stdout_np)
+		return NULL;
+
+	for_each_console(console) {
+		if (dev_of_node(console->dev) == stdout_np)
+			return console;
+	}
+
+	return NULL;
+}
+
 static int __console_puts(struct console_device *cdev, const char *s,
 			  size_t nbytes)
 {
diff --git a/include/console.h b/include/console.h
index d3b08722b01a..586b68f73301 100644
--- a/include/console.h
+++ b/include/console.h
@@ -109,6 +109,7 @@ unsigned console_get_active(struct console_device *cdev);
 int console_set_baudrate(struct console_device *cdev, unsigned baudrate);
 unsigned console_get_baudrate(struct console_device *cdev);
 
+struct console_device *of_console_by_stdout_path(void);
 
 /**
  * console_fifo_fill - fill FIFO with as much console data as possible
-- 
2.39.2




^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 1/2] startup: don't skip countdown if consoles were runtime enabled
  2023-09-21  9:25 [PATCH 1/2] startup: don't skip countdown if consoles were runtime enabled Ahmad Fatoum
  2023-09-21  9:25 ` [PATCH 2/2] console: implement of_console_by_stdout_path helper Ahmad Fatoum
@ 2023-09-21 12:09 ` Sascha Hauer
  1 sibling, 0 replies; 3+ messages in thread
From: Sascha Hauer @ 2023-09-21 12:09 UTC (permalink / raw)
  To: Ahmad Fatoum; +Cc: barebox

On Thu, Sep 21, 2023 at 11:25:38AM +0200, Ahmad Fatoum wrote:
> Systems with verified boot will disable at least console input by
> default, but when presented with an unlock token, they may elect to
> enable the console. Currently, the user needs to be really quick with
> ctrl+c to abort the boot on the active console, so let's make the system
> have a normal count down if a console has been activated by board code.
> 
> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
> ---
>  common/startup.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Applied, thanks

Sascha

> 
> diff --git a/common/startup.c b/common/startup.c
> index f96cff41429d..bbba72f89255 100644
> --- a/common/startup.c
> +++ b/common/startup.c
> @@ -174,7 +174,7 @@ enum autoboot_state do_autoboot_countdown(void)
>  	if (autoboot_state != AUTOBOOT_UNKNOWN)
>  		return autoboot_state;
>  
> -	if (IS_ENABLED(CONFIG_CONSOLE_DISABLE_INPUT)) {
> +	if (!console_get_first_active()) {
>  		printf("\nNon-interactive console, booting system\n");
>  		return autoboot_state = AUTOBOOT_BOOT;
>  	}
> -- 
> 2.39.2
> 
> 
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-09-21 12:11 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-09-21  9:25 [PATCH 1/2] startup: don't skip countdown if consoles were runtime enabled Ahmad Fatoum
2023-09-21  9:25 ` [PATCH 2/2] console: implement of_console_by_stdout_path helper Ahmad Fatoum
2023-09-21 12:09 ` [PATCH 1/2] startup: don't skip countdown if consoles were runtime enabled Sascha Hauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox