diff options
author | Vadim Bendebury <vbendeb@chromium.org> | 2011-10-03 19:54:01 -0700 |
---|---|---|
committer | Vadim Bendebury <vbendeb@chromium.org> | 2011-10-04 11:12:48 -0700 |
commit | 18fadfe487b00fa4a92654e7ff06783121ec793a (patch) | |
tree | a60d6cef0a41059465ed6ba44e7ad024faa1103a /include | |
parent | 1e80ebb61f4e78e3eb2da534de76eced6ec70552 (diff) |
Add CBMEM console driver.
This patch builds upon the recently introduced CBMEM console
feature of coreboot.
CBMEM console uses a memry area allocated by coreboot to store
the console output. The memory area has a certain structure,
which allows to determine where the buffer is, the buffer size
and the location of the pointer in the buffer. This allows
different phases of the firmware (rom based coreboot, ram based
coreboot, u-boot after relocation with this change) to keep
adding text to the same buffer.
Note that this patch introduces a new console driver and adds the
driver to the list of drivers to be used for console output, i.e.
it engages only after u-boot relocates. Usiong CBMEM console for
capturing the pre-relocation console output will be done under a
separate change.
BUG=chrome-os-partner:4200
TEST=manual
. build the new firmware and program it on a stumpy
. restart the machine
. after it comes up to ChromeOS, run the cbmem.py utility (which
is a part of the coreboot package).
Observe u-boot console output in the log, starting with
vvvvvvvvvvvvvvvvv
SCSI: AHCI 0001.0300 32 slots 6 ports ? Gbps 0xf impl SATA mode
flags: 64bit ilck stag led pmp pio
^^^^^^^^^^^^^^^^
and ending with
vvvvvvvvvvvvvvvvv
Magic signature found
Kernel command line: "cros_secure quiet loglevel=1 console=tty2...
^^^^^^^^^^^^^^^^^
Note that the entire u-boot output fits into the buffer only if
the coreboot log level is reduced from the most verbose. Ether
the buffer size will have to be increased, or the coreboot
verbosity permanently reduced.
Change-Id: I399a90f3aeef9fae074db3e0842d876101c1a85e
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: http://gerrit.chromium.org/gerrit/8720
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/stdio_dev.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/stdio_dev.h b/include/stdio_dev.h index 23e0ee15f28..932d093345e 100644 --- a/include/stdio_dev.h +++ b/include/stdio_dev.h @@ -120,5 +120,8 @@ int drv_nc_init (void); #ifdef CONFIG_JTAG_CONSOLE int drv_jtag_console_init (void); #endif +#ifdef CONFIG_CBMEM_CONSOLE +int cbmemc_init(void); +#endif #endif |