<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/doc/uImage.FIT, branch v2021.04</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/doc/uImage.FIT?h=v2021.04</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/doc/uImage.FIT?h=v2021.04'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2021-01-22T21:17:33Z</updated>
<entry>
<title>doc: FIT image: Clarify format and simplify syntax</title>
<updated>2021-01-22T21:17:33Z</updated>
<author>
<name>Alexandru Gagniuc</name>
<email>mr.nuke.me@gmail.com</email>
</author>
<published>2020-12-15T19:15:43Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=4afc4f37c70eb3b275cdcbd99818fb47493aa7ad'/>
<id>urn:sha1:4afc4f37c70eb3b275cdcbd99818fb47493aa7ad</id>
<content type='text'>
** Introduction

There are currently four ways to load an OS image with u-boot
  1. SPL -&gt; u-boot -&gt; bootm
  2. SPL blue falcon mode
  3. "Basic" FIT image (CONFIG_LOAD_FIT)
  4. "Full-featured" FIT image (CONFIG_LOAD_FIT_FULL)

These four code paths were developed independently, and share very
little code. (3) and (4), behave very differently, are littered with
special cases. They even have different DTS syntax and properties.

The cause of this divergence is that the FIT format specification
leaves a number of things open to interpretation. The purpose of this
change is to enable the reduction of code size, duplication, and
complexity by updating and streamlining the FIT format.

We are only marginally concerned with backwards compatibility, because
we don't have inter-compatibility. For example, CONFIG_LOAD_FIT is
able to load images that CONFIG_LOAD_FIT_FULL won't. This is a direct
result of the incompatible syntax between the two implementations.

Ideally, these changes would enable "simple" FIT to be a subset of the
"full" fit implementation, and share most code. These changes should
also eliminate the need for falcon mode (although we are not
advocating for the removal of falcon mode at this time).

** Description of changes

 * The "configurations" node is now mandatory

Guessing how to load components based on their "os" and "type" invites
confusion and superfluous heuristics. Instead, require each FIT image
to be explicit on how components should be loaded.

 * Eliminate "ramdisk", "setup", "standalone", and "fpga" properties

Having too many special purpose properties requires special-casing
FIT loading code. When a special property can be handled by another
property, it is redundant.
 - A "ramdisk" is identical to a loadable. Thus ramdisk images should
   be placed under "loadables".
 - A "setup" node can be achieved by using a "kernel" or "firmware"
   property instead.
 - "standalone" is used for u-boot nodes. The correct property to use
   in this case is "firmware".
 - "fpga" is a loadable

 * Prioritize control between "firmware" and "kernel"

"firmware" and "kernel" are special nodes in that control is passed
to the "entry-point" of the image. Both can be present, for example,
an OP-TEE firmware with a linux kernel. When both are present,
control is passed to the "firmware" image.

** Further generalizations (not included herein)

The "firmware" and "kernel" properties could be generalized as a
"next-boot-stage", or similar name. This "next" stage would be special
in that it is both executable, and is the stage that is passed
control. For example, "next-stage" could be an op-tee image, with
linux as a loadable, or a u-boot image.

Signed-off-by: Alexandru Gagniuc &lt;mr.nuke.me@gmail.com&gt;
</content>
</entry>
<entry>
<title>doc: Fix typo in FIT documentation</title>
<updated>2020-12-18T10:46:36Z</updated>
<author>
<name>Sean Anderson</name>
<email>seanga2@gmail.com</email>
</author>
<published>2020-08-07T17:13:31Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=55a2bec7b570fdbc32211e487f2a4d51ccd56c8c'/>
<id>urn:sha1:55a2bec7b570fdbc32211e487f2a4d51ccd56c8c</id>
<content type='text'>
u_boot should be u-boot

Signed-off-by: Sean Anderson &lt;seanga2@gmail.com&gt;
Reviewed-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
Reviewed-by: Jagan Teki &lt;jagan@amarulasolutions.com&gt;
</content>
</entry>
<entry>
<title>spl: Use standard FIT entries</title>
<updated>2020-10-27T07:13:32Z</updated>
<author>
<name>Michal Simek</name>
<email>michal.simek@xilinx.com</email>
</author>
<published>2020-09-03T09:24:28Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=caa7fc2c57750f323d53aef38c7ee2e01898c4ba'/>
<id>urn:sha1:caa7fc2c57750f323d53aef38c7ee2e01898c4ba</id>
<content type='text'>
SPL is creating fit-images DT node when loadables are recorded in selected
configuration. Entries which are created are using entry-point and
load-addr property names. But there shouldn't be a need to use non standard
properties because entry/load are standard FIT properties. But using
standard FIT properties enables option to use generic FIT functions to
descrease SPL size. Here is result for ZynqMP virt configuration:
xilinx_zynqmp_virt: spl/u-boot-spl:all -82 spl/u-boot-spl:rodata -22 spl/u-boot-spl:text -60

The patch causes change in run time fit image record.
Before:
fit-images {
        uboot {
                os = "u-boot";
                type = "firmware";
                size = &lt;0xfd520&gt;;
                entry-point = &lt;0x8000000&gt;;
                load-addr = &lt;0x8000000&gt;;
        };
};

After:
fit-images {
        uboot {
                os = "u-boot";
                type = "firmware";
                size = &lt;0xfd520&gt;;
                entry = &lt;0x8000000&gt;;
                load = &lt;0x8000000&gt;;
        };
};

Replacing calling fdt_getprop_u32() by fit_image_get_entry/load() also
enables support for reading entry/load properties recorded in 64bit format.

Signed-off-by: Michal Simek &lt;michal.simek@xilinx.com&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>doc: verified-boot: add required-mode information</title>
<updated>2020-10-13T01:30:37Z</updated>
<author>
<name>Thirupathaiah Annapureddy</name>
<email>thiruan@linux.microsoft.com</email>
</author>
<published>2020-08-17T06:01:11Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=6a0498a5fd41b58b0c61b34f315771aac0eca0e0'/>
<id>urn:sha1:6a0498a5fd41b58b0c61b34f315771aac0eca0e0</id>
<content type='text'>
Add documentation about 'required-mode' property in /signature node
in U-Boot's control FDT.

Signed-off-by: Thirupathaiah Annapureddy &lt;thiruan@linux.microsoft.com&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>doc: fit: Write hex address as hex instead of int</title>
<updated>2020-07-17T14:47:19Z</updated>
<author>
<name>Michal Simek</name>
<email>michal.simek@xilinx.com</email>
</author>
<published>2020-07-15T13:10:17Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=4d288dcd4c8059a3d6dbaeb8a27030366eb27d89'/>
<id>urn:sha1:4d288dcd4c8059a3d6dbaeb8a27030366eb27d89</id>
<content type='text'>
When update_uboot.its is used directly there is syntax error for no reason.

Error report:
mkimage -f update_uboot.its boot
Error: update_uboot.its:18.12-13 syntax error
FATAL ERROR: Unable to parse input tree
mkimage: Can't read boot.tmp: Invalid argument

Fixes: 4bae90904b69 ("Automatic software update from TFTP server")
Signed-off-by: Michal Simek &lt;michal.simek@xilinx.com&gt;
</content>
</entry>
<entry>
<title>arm: ti: Remove ARCH= references from documentation</title>
<updated>2020-06-02T21:27:04Z</updated>
<author>
<name>Tom Rini</name>
<email>trini@konsulko.com</email>
</author>
<published>2020-05-26T18:36:52Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=897135809a046fa95f964abeb6858a5a7dcb6717'/>
<id>urn:sha1:897135809a046fa95f964abeb6858a5a7dcb6717</id>
<content type='text'>
When building U-Boot we select the architecture via Kconfig and not ARCH
being passed in via the environment or make cmdline.

Cc: Lokesh Vutla &lt;lokeshvutla@ti.com&gt;
Cc: Vitaly Andrianov &lt;vitalya@ti.com&gt;
Signed-off-by: Tom Rini &lt;trini@konsulko.com&gt;
</content>
</entry>
<entry>
<title>lib: rsa: avoid overriding the object name when already specified</title>
<updated>2020-05-15T18:47:35Z</updated>
<author>
<name>Jan Luebbe</name>
<email>jlu@pengutronix.de</email>
</author>
<published>2020-05-13T10:26:24Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=24bf6e84ce22cd1b53cb79e4f89a4036af7e9c6b'/>
<id>urn:sha1:24bf6e84ce22cd1b53cb79e4f89a4036af7e9c6b</id>
<content type='text'>
If "object=" is specified in "keydir" when using the pkcs11 engine do
not append another "object=&lt;key-name-hint&gt;". This makes it possible to
use object names other than the key name hint. These two string
identifiers are not necessarily equal.

Signed-off-by: Jan Luebbe &lt;jlu@pengutronix.de&gt;
Signed-off-by: Bastian Krause &lt;bst@pengutronix.de&gt;
Reviewed-by: George McCollister &lt;george.mccollister@gmail.com&gt;
</content>
</entry>
<entry>
<title>mkimage: fit_image: Add option to make fit header align</title>
<updated>2020-04-24T14:10:01Z</updated>
<author>
<name>Kever Yang</name>
<email>kever.yang@rock-chips.com</email>
</author>
<published>2020-03-30T03:56:24Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=ebfe611be91e0075c040588a30a9996519d30aa6'/>
<id>urn:sha1:ebfe611be91e0075c040588a30a9996519d30aa6</id>
<content type='text'>
The image is usually stored in block device like emmc, SD card, make the
offset of image data aligned to block(512 byte) can avoid data copy
during boot process.
eg. SPL boot from FIT image with external data:
- SPL read the first block of FIT image, and then parse the header;
- SPL read image data separately;
- The first image offset is the base_offset which is the header size;
- The second image offset is just after the first image;
- If the offset of imge does not aligned, SPL will do memcpy;
The header size is a ramdon number, which is very possible not aligned, so
add '-B size'to specify the align size in hex for better performance.

example usage:
  ./tools/mkimage -E -f u-boot.its -B 0x200 u-boot.itb

Signed-off-by: Kever Yang &lt;kever.yang@rock-chips.com&gt;
Reviewed-by: Punit Agrawal &lt;punit1.agrawal@toshiba.co.jp&gt;
Reviewed-by: Tom Rini &lt;trini@konsulko.com&gt;
</content>
</entry>
<entry>
<title>doc: Add sample uefi.its image description file</title>
<updated>2020-01-07T17:08:21Z</updated>
<author>
<name>Cristian Ciocaltea</name>
<email>cristian.ciocaltea@gmail.com</email>
</author>
<published>2019-12-24T16:05:40Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=b533386dc1bb67672d6c45d7e3c689d80546e0c8'/>
<id>urn:sha1:b533386dc1bb67672d6c45d7e3c689d80546e0c8</id>
<content type='text'>
This patch adds an example FIT image description file demonstrating
the usage of bootm command to securely launch UEFI binaries.

Signed-off-by: Cristian Ciocaltea &lt;cristian.ciocaltea@gmail.com&gt;
Reviewed-by: Heinrich Schuchardt &lt;xypron.glpk@gmx.de&gt;
</content>
</entry>
<entry>
<title>doc: fitImage: example of a signature node</title>
<updated>2019-12-13T18:01:53Z</updated>
<author>
<name>Heinrich Schuchardt</name>
<email>xypron.glpk@gmx.de</email>
</author>
<published>2019-12-11T09:45:50Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=97fd36933c7de74a9ea840a8f898a0df9eafb52e'/>
<id>urn:sha1:97fd36933c7de74a9ea840a8f898a0df9eafb52e</id>
<content type='text'>
Describe that a signature node can be added to a binary device tree using
the mkimage tool.

Provide an example device tree node.

Signed-off-by: Heinrich Schuchardt &lt;xypron.glpk@gmx.de&gt;
</content>
</entry>
</feed>
