CBMEM CONSOLE: Add config option for CBMEM stored console log.
authorVadim Bendebury <vbendeb@chromium.org>
Wed, 28 Sep 2011 20:51:30 +0000 (13:51 -0700)
committerStefan Reinauer <stefan.reinauer@coreboot.org>
Thu, 29 Mar 2012 18:14:16 +0000 (20:14 +0200)
Some experiments have demonstrated that total amount of text
generated by coreboot console when BIOS_SPEW level is enabled
exceeds 40KB.

Console output generated before DRAM is initialized can exceed
2KB. This patch introduces the new configuration option and
assigns adequate default values to cache based and DRAM based
console buffers.

BUG=chrome-os-partner:4200
TEST=manual

 . run the following commands in the root directory

   cp config.stumpy .config
   make menuconfig

 . enable the new option (Console->Send console output to a CBMEM buffer)
 . save the configuration

Observe the following settings added to the config:
+CONFIG_CONSOLE_CBMEM=y
+CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0xae00
+CONFIG_CONSOLE_CAR_BUFFER_SIZE=0xc00

Change-Id: I209603f516244ae136631e6281ba21ebc6fb1710
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://gerrit-int.chromium.org/5855
Tested-by: Vadim Bendebury <vbendeb@google.com>
Reviewed-by: Stefan Reinauer <reinauer@google.com>
Reviewed-on: http://review.coreboot.org/718
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
src/console/Kconfig

index dbd11f65e83ac1fb1e4d96d29c99f8e6270c5d83..fefbe2ed847557d7bdaaddf662d407c5ade53405 100644 (file)
@@ -190,6 +190,33 @@ config CONSOLE_NE2K_IO_PORT
          32 bytes of IO spaces will be used (and align on 32 bytes
          boundary, qemu needs broader align)
 
+config CONSOLE_CBMEM
+       depends on EARLY_CBMEM_INIT
+       bool "Send console output to a CBMEM buffer"
+       default n
+       help
+         Enable this to save the console output in a CBMEM buffer. This would
+         allow to see coreboot console output from Linux space.
+
+config CONSOLE_CBMEM_BUFFER_SIZE
+       depends on CONSOLE_CBMEM
+       hex "Room allocated for console output in CBMEM"
+       default 0xae00
+       help
+         Space allocated for console output storage in CBMEM. The default
+         value (almost 45K or 0xaeoo bytes) is large enough to accommodate
+         even the BIOS_SPEW level.
+
+config CONSOLE_CAR_BUFFER_SIZE
+       depends on CONSOLE_CBMEM
+       hex "Room allocated for console output in cash as RAM"
+       default 0xc00
+       help
+         Console is used before RAM is initialized. This is the room reserved
+         in the DCACHE based RAM to keep console output before it can be
+         saved in a CBMEM buffer. 3K bytes should be enough even for the
+         BIOS_SPEW level.
+
 
 choice
        prompt "Maximum console log level"