x86: Allow use of serial soon after relocation
authorSimon Glass <sjg@chromium.org>
Sat, 12 Mar 2016 05:06:51 +0000 (22:06 -0700)
committerBin Meng <bmeng.cn@gmail.com>
Thu, 17 Mar 2016 02:27:24 +0000 (10:27 +0800)
commite4d6ab0c2cb8456f80d0ee4e123a34029d5a5c41
tree5be75f2ce6cb4cf73183817fe8b301032c8f775d
parent8226a3e99f1c1e7ded648721d1e16118453761e5
x86: Allow use of serial soon after relocation

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>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
common/board_f.c
drivers/serial/serial-uclass.c