x86: ifdtool: Add support for early microcode access
authorSimon Glass <sjg@chromium.org>
Tue, 16 Dec 2014 05:02:38 +0000 (22:02 -0700)
committerSimon Glass <sjg@chromium.org>
Fri, 19 Dec 2014 00:26:05 +0000 (17:26 -0700)
commit31eca697276ef9aced10b802a869e7783439482e
treec7547676f386b38cfa5a80ffd1ec44164dd55583
parent65851fcec305bae079b35e17103aa61c8ef54674
x86: ifdtool: Add support for early microcode access

Some Intel CPUs use an 'FSP' binary blob which provides an inflexible
means of starting up the CPU. One result is that microcode updates can only
be done before RAM is available and therefore parsing of the device tree
is impracticle.

Worse, the addess of the microcode update must be stored in ROM since a
pointer to its start address and size is passed to the 'FSP' blob. It is
not possible to perform any calculations to obtain the address and size.

To work around this, ifdtool is enhanced to work out the address and size of
the first microcode update it finds in the supplied device tree. It then
writes these into the correct place in the ROM. U-Boot can then start up
the FSP correctly.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
tools/Makefile
tools/ifdtool.c