
14 Mar
2016
14 Mar
'16
5:18 a.m.
On Sat, Mar 12, 2016 at 1:06 PM, Simon Glass sjg@chromium.org wrote:
At present on x86 machines with use cache-as-RAM, the memory goes away just before board_init_r() is called. This means that serial drivers are no-longer unavailable, until initr_dm() it called, etc.
Any attempt to use printf() within this period will cause a hang.
To fix this, mark the serial devices as 'unavailable' when it is no-longer available. Bring it back when serial_initialize() is called. This means that the debug UART will be used instead for this period.
Signed-off-by: Simon Glass sjg@chromium.org
Changes in v2:
- Simplify the code in serial_initialize()
common/board_f.c | 7 +++++++ drivers/serial/serial-uclass.c | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-)
Reviewed-by: Bin Meng bmeng.cn@gmail.com