diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-generic/global_data.h | 6 | ||||
-rw-r--r-- | include/console.h | 22 |
2 files changed, 28 insertions, 0 deletions
diff --git a/include/asm-generic/global_data.h b/include/asm-generic/global_data.h index d0383f3..1abdcaa 100644 --- a/include/asm-generic/global_data.h +++ b/include/asm-generic/global_data.h @@ -21,6 +21,7 @@ */ #ifndef __ASSEMBLY__ +#include <membuff.h> #include <linux/list.h> typedef struct global_data { @@ -103,6 +104,10 @@ typedef struct global_data { #endif struct udevice *cur_serial_dev; /* current serial device */ struct arch_global_data arch; /* architecture-specific data */ +#ifdef CONFIG_CONSOLE_RECORD + struct membuff console_out; /* console output */ + struct membuff console_in; /* console input */ +#endif } gd_t; #endif @@ -121,5 +126,6 @@ typedef struct global_data { #define GD_FLG_FULL_MALLOC_INIT 0x00200 /* Full malloc() is ready */ #define GD_FLG_SPL_INIT 0x00400 /* spl_init() has been called */ #define GD_FLG_SKIP_RELOC 0x00800 /* Don't relocate */ +#define GD_FLG_RECORD 0x01000 /* Record console */ #endif /* __ASM_GENERIC_GBL_DATA_H */ diff --git a/include/console.h b/include/console.h index 097518d..3d37f6a 100644 --- a/include/console.h +++ b/include/console.h @@ -20,6 +20,28 @@ void clear_ctrlc(void); /* clear the Control-C condition */ int disable_ctrlc(int); /* 1 to disable, 0 to enable Control-C detect */ int confirm_yesno(void); /* 1 if input is "y", "Y", "yes" or "YES" */ +/** + * console_record_init() - set up the console recording buffers + * + * This should be called as soon as malloc() is available so that the maximum + * amount of console output can be recorded. + */ +int console_record_init(void); + +/** + * console_record_reset() - reset the console recording buffers + * + * Removes any data in the buffers + */ +void console_record_reset(void); + +/** + * console_record_reset_enable() - reset and enable the console buffers + * + * This should be called to enable the console buffer. + */ +void console_record_reset_enable(void); + /* * CONSOLE multiplexing. */ |