aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2021-10-23 17:26:03 -0600
committerSimon Glass <sjg@chromium.org>2021-11-28 16:51:51 -0700
commit8ce465e48dce96f027e12fcca659060834c0a9e8 (patch)
tree6e9c35152acf0d80542859ed5087d2796072c185
parentb7c2cc49ffa50b8a0664460f3899536e07a78158 (diff)
downloadu-boot-8ce465e48dce96f027e12fcca659060834c0a9e8.zip
u-boot-8ce465e48dce96f027e12fcca659060834c0a9e8.tar.gz
u-boot-8ce465e48dce96f027e12fcca659060834c0a9e8.tar.bz2
common: Allow a smaller console-recording pre-reloc
Before relocation there is generally not as much available memory and not that much console output. At present the console-output buffer is the same side before and after relocation. Add a separate Kconfig option to remove this limitation. Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r--common/Kconfig10
-rw-r--r--common/console.c4
2 files changed, 13 insertions, 1 deletions
diff --git a/common/Kconfig b/common/Kconfig
index fdcf453..fede7e4 100644
--- a/common/Kconfig
+++ b/common/Kconfig
@@ -32,6 +32,16 @@ config CONSOLE_RECORD_OUT_SIZE
more data will be recorded until some is removed. The buffer is
allocated immediately after the malloc() region is ready.
+config CONSOLE_RECORD_OUT_SIZE_F
+ hex "Output buffer size before relocation"
+ depends on CONSOLE_RECORD
+ default 0x400 if CONSOLE_RECORD
+ help
+ Set the size of the console output buffer before relocation. When
+ this fills up, no more data will be recorded until some is removed.
+ The buffer is allocated immediately after the early malloc() region is
+ ready.
+
config CONSOLE_RECORD_IN_SIZE
hex "Input buffer size"
depends on CONSOLE_RECORD
diff --git a/common/console.c b/common/console.c
index 0013d18..0c9099c 100644
--- a/common/console.c
+++ b/common/console.c
@@ -735,7 +735,9 @@ int console_record_init(void)
int ret;
ret = membuff_new((struct membuff *)&gd->console_out,
- CONFIG_CONSOLE_RECORD_OUT_SIZE);
+ gd->flags & GD_FLG_RELOC ?
+ CONFIG_CONSOLE_RECORD_OUT_SIZE :
+ CONFIG_CONSOLE_RECORD_OUT_SIZE_F);
if (ret)
return ret;
ret = membuff_new((struct membuff *)&gd->console_in,