mirror of
https://xff.cz/git/u-boot/
synced 2025-09-01 16:52:14 +02:00
sandbox: Allow the console to work earlier
With sandbox, errors and problems may be reported before console_init_f() is executed. For example, an argument may not parse correctly or U-Boot may panic(). At present this output is swallowed so there is no indication what is going wrong. Adjust the console to deal with a very early sandbox setup, by detecting that there is no global_data yet, and calling os functions in that case. Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
#include <common.h>
|
||||
#include <stdarg.h>
|
||||
#include <malloc.h>
|
||||
#include <os.h>
|
||||
#include <serial.h>
|
||||
#include <stdio_dev.h>
|
||||
#include <exports.h>
|
||||
@@ -415,6 +416,12 @@ static inline void print_pre_console_buffer(void) {}
|
||||
|
||||
void putc(const char c)
|
||||
{
|
||||
#ifdef CONFIG_SANDBOX
|
||||
if (!gd) {
|
||||
os_putc(c);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
#ifdef CONFIG_SILENT_CONSOLE
|
||||
if (gd->flags & GD_FLG_SILENT)
|
||||
return;
|
||||
@@ -439,6 +446,13 @@ void putc(const char c)
|
||||
|
||||
void puts(const char *s)
|
||||
{
|
||||
#ifdef CONFIG_SANDBOX
|
||||
if (!gd) {
|
||||
os_puts(s);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SILENT_CONSOLE
|
||||
if (gd->flags & GD_FLG_SILENT)
|
||||
return;
|
||||
@@ -467,7 +481,7 @@ int printf(const char *fmt, ...)
|
||||
uint i;
|
||||
char printbuffer[CONFIG_SYS_PBSIZE];
|
||||
|
||||
#ifndef CONFIG_PRE_CONSOLE_BUFFER
|
||||
#if !defined(CONFIG_SANDBOX) && !defined(CONFIG_PRE_CONSOLE_BUFFER)
|
||||
if (!gd->have_console)
|
||||
return 0;
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user