arm: mxs: Add support for generating signed BootStream
authorMarek Vasut <marex@denx.de>
Thu, 3 Apr 2014 17:12:21 +0000 (19:12 +0200)
committerStefano Babic <sbabic@denx.de>
Fri, 4 Apr 2014 09:44:59 +0000 (11:44 +0200)
commit1a9df13d5bc0b68c9dcae88d244c995c9351db67
tree412a31f1ff5bebb3ed49bdaed5cf7bac41dafed5
parent1cad23c5f471d695bed1e3907e30caee3c2a3056
arm: mxs: Add support for generating signed BootStream

This patch adds the groundwork for generating signed BootStream, which
can be used by the HAB library in i.MX28. We are adding a new target,
u-boot-signed.sb , since the process for generating regular non-signed
BootStream is much easier. Moreover, the signed bootstream depends on
external _proprietary_ _binary-only_ tool from Freescale called 'cst',
which is available only under NDA.

To make things even uglier, the CST or HAB mandates a kind-of circular
dependency. The problem is, unlike the regular IVT, which is generated
by mxsimage, the IVT for signed boot must be generated by hand here due
to special demands of the CST. The U-Boot binary (or SPL binary) and IVT
are then signed by the CST as a one block. But here is the problem. The
size of the entire image (U-Boot, IVT, CST blocks) must be appended at
the end of IVT. But the size of the entire image is not known until the
CST has finished signing the U-Boot and IVT. We solve this by expecting
the CST block to be always 3904B (which it is in case two files, U-Boot
and the hand-made IVT, are signed in the CST block).

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
Makefile
arch/arm/cpu/arm926ejs/mxs/Makefile
arch/arm/cpu/arm926ejs/mxs/mxsimage-signed.cfg [new file with mode: 0644]