• Soby Mathew's avatar
    Ensure BL31 does not print to boot console by default · 78e61613
    Soby Mathew authored
    It is not ideal for BL31 to continue to use boot console at
    runtime which could be potentially uninitialized. This patch
    introduces a new optional platform porting API
    `bl31_plat_runtime_setup()` which allows the platform to perform
    any BL31 runtime setup just prior to BL31 exit during cold boot.
    The default weak implementation of this function will invoke
    `console_uninit()` which will suppress any BL31 runtime logs.
    
    On the ARM Standard platforms, there is an anomaly that
    the boot console will be reinitialized on resumption from
    system suspend in `arm_system_pwr_domain_resume()`. This
    will be resolved in the following patch.
    
    NOTE: The default weak definition of `bl31_plat_runtime_setup()`
    disables the BL31 console. To print the BL31 runtime
    messages, platforms must override this API and initialize a
    runtime console.
    
    Fixes ARM-software/tf-issues#328
    
    Change-Id: Ibaf8346fcceb447fe1a5674094c9f8eb4c09ac4a
    78e61613
porting-guide.md 70.8 KB