Skip to content
  • Vadim Bendebury's avatar
    x86: Add CBMEM console driver for coreboot · 98ab435f
    Vadim Bendebury authored
    
    
    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.
    
    >From Linux, run the cbmem.py utility (which is a part of the coreboot
    package) to see the output, e.g.:
    
    vvvvvvvvvvvvvvvvv
    SCSI:  AHCI 0001.0300 32 slots 6 ports ? Gbps 0xf impl SATA mode
    flags: 64bit ilck stag led pmp pio
    ...
    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.
    
    Signed-off-by: default avatarVadim Bendebury <vbendeb@chromium.org>
    Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
    98ab435f