Add a flag indicating when the serial console is ready
For sandbox we have a fallback console which is used very early in U-Boot, before serial drivers are available. Rather than try to guess when to switch to the real console, add a flag so we can be sure. This makes sure that sandbox can always output a panic() message, for example, and avoids silent failure (which is very annoying in sandbox). Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
7793ac96c6
commit
093f79ab88
@ -417,7 +417,7 @@ static inline void print_pre_console_buffer(void) {}
|
||||
void putc(const char c)
|
||||
{
|
||||
#ifdef CONFIG_SANDBOX
|
||||
if (!gd) {
|
||||
if (!gd || !(gd->flags & GD_FLG_SERIAL_READY)) {
|
||||
os_putc(c);
|
||||
return;
|
||||
}
|
||||
@ -447,7 +447,7 @@ void putc(const char c)
|
||||
void puts(const char *s)
|
||||
{
|
||||
#ifdef CONFIG_SANDBOX
|
||||
if (!gd) {
|
||||
if (!gd || !(gd->flags & GD_FLG_SERIAL_READY)) {
|
||||
os_puts(s);
|
||||
return;
|
||||
}
|
||||
|
@ -418,6 +418,7 @@ static struct serial_device *get_current(void)
|
||||
*/
|
||||
int serial_init(void)
|
||||
{
|
||||
gd->flags |= GD_FLG_SERIAL_READY;
|
||||
return get_current()->start();
|
||||
}
|
||||
|
||||
|
@ -106,5 +106,6 @@ typedef struct global_data {
|
||||
#define GD_FLG_LOGINIT 0x00020 /* Log Buffer has been initialized */
|
||||
#define GD_FLG_DISABLE_CONSOLE 0x00040 /* Disable console (in & out) */
|
||||
#define GD_FLG_ENV_READY 0x00080 /* Env. imported into hash table */
|
||||
#define GD_FLG_SERIAL_READY 0x00100 /* Pre-reloc serial console ready */
|
||||
|
||||
#endif /* __ASM_GENERIC_GBL_DATA_H */
|
||||
|
Loading…
Reference in New Issue
Block a user