<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/common/spl/spl.c, branch v2021.10-rc2</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/common/spl/spl.c?h=v2021.10-rc2</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/common/spl/spl.c?h=v2021.10-rc2'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2021-07-31T07:49:32Z</updated>
<entry>
<title>SPL: Add support for parsing board / BootROM specific image types</title>
<updated>2021-07-31T07:49:32Z</updated>
<author>
<name>Pali Rohár</name>
<email>pali@kernel.org</email>
</author>
<published>2021-07-23T09:14:28Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=9baab60b805472c0911ceabfcd991d59c92b3ddd'/>
<id>urn:sha1:9baab60b805472c0911ceabfcd991d59c92b3ddd</id>
<content type='text'>
Platform specific BootROM may use its own image type for loading SPL or
U-Boot proper. In some cases it makes sense to not use BootROM supplied
code for booting U-Boot proper but rather to use U-Boot SPL for this,
e.g. when U-Boot SPL can load U-Boot proper faster than BootROM. In this
case it is required for platform board code to parse and load U-Boot in
BootROM specific image type.

This change adds support for parsing platform / board / BootROM specific
image types via weak function spl_parse_board_header() which is called
before marking boot image as a raw.

Signed-off-by: Pali Rohár &lt;pali@kernel.org&gt;
Reviewed-by: Marek Behún &lt;marek.behun@nic.cz&gt;
Reviewed-by: Stefan Roese &lt;sr@denx.de&gt;
</content>
</entry>
<entry>
<title>Rename SPL_WATCHDOG_SUPPORT to SPL_WATCHDOG</title>
<updated>2021-07-28T18:27:54Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2021-07-11T03:14:28Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=078111b9c04764114c04f70969e84a01ffb487c0'/>
<id>urn:sha1:078111b9c04764114c04f70969e84a01ffb487c0</id>
<content type='text'>
Rename this option so that CONFIG_IS_ENABLED can be used with it.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>spl: Introduce spl_board_prepare_for_optee() hook</title>
<updated>2021-07-27T07:47:40Z</updated>
<author>
<name>Alexandru Gagniuc</name>
<email>mr.nuke.me@gmail.com</email>
</author>
<published>2021-07-15T19:19:24Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=a25d6b65c21b1298712c75604ff606025cb40267'/>
<id>urn:sha1:a25d6b65c21b1298712c75604ff606025cb40267</id>
<content type='text'>
OP-TEE requires some particular setup, which is not needed for linux
or other payloads. Add a hook for platform-specific code to perform
any OP-TEE related configuration and initialization.

A weak function is used because it is symmetrical to other
spl_board_prepare_for_*() implementations. A solution to avoid the use
of weak functions would trivially apply to all these implementations.
However, re-designing this is beyond the scope of this patch.

Signed-off-by: Alexandru Gagniuc &lt;mr.nuke.me@gmail.com&gt;
Reviewed-by: Tom Rini &lt;trini@konsulko.com&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
Reviewed-by: Patrick Delaunay &lt;patrick.delaunay@foss.st.com&gt;
</content>
</entry>
<entry>
<title>spl: use CONFIG_IS_ENABLED(LOAD_FIT_FULL)</title>
<updated>2021-07-23T11:13:24Z</updated>
<author>
<name>John Keeping</name>
<email>john@metanate.com</email>
</author>
<published>2021-05-19T14:05:53Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=674afa6b3588dafe02b99406278ed81216fbefcb'/>
<id>urn:sha1:674afa6b3588dafe02b99406278ed81216fbefcb</id>
<content type='text'>
It's possible that LOAD_FIT_FULL will have different values for TPL and
SPL, in which case just checking CONFIG_SPL_LOAD_FIT_FULL causes this to
be compiled in to the TPL even though functions and struct members it
depends on are not.

Use CONFIG_IS_ENABLED() to ensure the correct TPL/SPL variant is
checked.

Signed-off-by: John Keeping &lt;john@metanate.com&gt;
Reviewed-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>spl: Provide more information on boot failure</title>
<updated>2021-07-21T16:27:35Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2021-07-05T22:32:57Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=7d84fbb57312ac0224dc67860f4d0306a3bb3f81'/>
<id>urn:sha1:7d84fbb57312ac0224dc67860f4d0306a3bb3f81</id>
<content type='text'>
If SPL fails to boot, try to provide an error code to indicate what is
wrong. For example, if a uclass is missing, this can return -EPFNOSUPPORT
(-96) which provides useful information.

Add a helper for accessing the image-loader name so we can drop the use
of #ifdefs in this code.

Put this feature behind a CONFIG_SHOW_ERRORS option to avoid increasing
the code size.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>bootstage: Eliminate when not enabled</title>
<updated>2021-07-07T14:17:54Z</updated>
<author>
<name>Tom Rini</name>
<email>trini@konsulko.com</email>
</author>
<published>2021-05-03T20:48:58Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=cb80ff20f2c8392f19248418f9a19a0474661860'/>
<id>urn:sha1:cb80ff20f2c8392f19248418f9a19a0474661860</id>
<content type='text'>
When we do not have bootstage enabled, rather than include an empty
dummy function, we just don't reference it.  This saves us space in some
tight builds.  This also shows a few cases where show_boot_progress was
incorrectly guarded before.

Cc: Simon Glass &lt;sjg@chromium.org&gt;
Signed-off-by: Tom Rini &lt;trini@konsulko.com&gt;
</content>
</entry>
<entry>
<title>Revert "spl: Drop bd_info in the data section"</title>
<updated>2021-04-19T15:34:01Z</updated>
<author>
<name>Alexandru Gagniuc</name>
<email>mr.nuke.me@gmail.com</email>
</author>
<published>2021-04-08T16:56:11Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=58b504e5e1f382891b8a58bb4103046c858c758e'/>
<id>urn:sha1:58b504e5e1f382891b8a58bb4103046c858c758e</id>
<content type='text'>
This reverts commit 38d6b7ebdaee3e0e8426ef1b9df88bdce8ae2e75.

struct global_data contains a pointer to the bd_info structure. This
pointer was populated spl_set_bd() to a pre-allocated bd_info in the
".data" section. The referenced commit replaced this mechanism to one
that uses malloc(). That new mechanism is only used if SPL_ALLOC_BD=y.
which very few boards do.

The result is that (struct global_data)-&gt;bd is NULL in SPL on most
platforms. This breaks falcon mode, since arch_fixup_fdt() tries to
access (struct global_data)-&gt;bd and set the "/memory" node in the
devicetree. The result is that the "/memory" node contains garbage
values, causing linux to panic() as it sets up the page table.

Instead of trying to fix the mess, potentially causing other issues,
revert to the code that worked, while this change is reworked.

Signed-off-by: Alexandru Gagniuc &lt;mr.nuke.me@gmail.com&gt;
</content>
</entry>
<entry>
<title>spl: LOAD_FIT_FULL: Support 'kernel' and 'firmware' properties</title>
<updated>2021-04-14T20:02:43Z</updated>
<author>
<name>Alexandru Gagniuc</name>
<email>mr.nuke.me@gmail.com</email>
</author>
<published>2021-04-01T18:25:29Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=51d3a8b54f2cd1bd8278d0611db4ff2d17235229'/>
<id>urn:sha1:51d3a8b54f2cd1bd8278d0611db4ff2d17235229</id>
<content type='text'>
The 'firmware' property of a config node takes precedence over the
'kernel' property. 'standalone' is deprecated. However, give users a
couple of releases where 'standalone' still works, but warns loudly.

Signed-off-by: Alexandru Gagniuc &lt;mr.nuke.me@gmail.com&gt;
</content>
</entry>
<entry>
<title>spl: LOAD_FIT_FULL: Relocate FDT for u-boot payloads</title>
<updated>2021-04-14T20:02:43Z</updated>
<author>
<name>Alexandru Gagniuc</name>
<email>mr.nuke.me@gmail.com</email>
</author>
<published>2021-04-01T18:25:28Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=60138aa87cb3281dafebf25125d546718beb3969'/>
<id>urn:sha1:60138aa87cb3281dafebf25125d546718beb3969</id>
<content type='text'>
U-Boot expects the FDT to be located right after the _end
linker symbol (see fdtdec.c: board_fdt_blob_setup())

The "basic" LOAD_FIT path is aware of this limitation, and relocates
the FDT at the expected location. Guessing the expected location
probably only works reliably on 32-bit arm, and it feels like a hack.
One proposal would be to pass the FDT address to u-boot
(e.g. using 'r2' on arm platforms).

The variable is named "fdt_hack" to remind future contributors that,
"hey! we should fix the underlying problem". However, that is beyond
the scope of this patch.

Signed-off-by: Alexandru Gagniuc &lt;mr.nuke.me@gmail.com&gt;
</content>
</entry>
<entry>
<title>spl: LOAD_FIT_FULL: Do not hard-code os to IH_OS_U_BOOT</title>
<updated>2021-04-14T20:02:43Z</updated>
<author>
<name>Alexandru Gagniuc</name>
<email>mr.nuke.me@gmail.com</email>
</author>
<published>2021-04-01T18:25:27Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=2eaae17bc90ec524dbddc52a85ff3705727d7c5a'/>
<id>urn:sha1:2eaae17bc90ec524dbddc52a85ff3705727d7c5a</id>
<content type='text'>
The information on the OS should be contained in the FIT, as the
self-explanatory "os" property of a node under /images. Hard-coding
this to U_BOOT might send us down the wrong path later in the boot
process.

Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
Signed-off-by: Alexandru Gagniuc &lt;mr.nuke.me@gmail.com&gt;
</content>
</entry>
</feed>
