<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/arch/arm/lib, branch v2022.07</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/arch/arm/lib?h=v2022.07</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/arch/arm/lib?h=v2022.07'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2022-05-23T13:33:10Z</updated>
<entry>
<title>arm: gic_v2: Skip gic_init_secure when cpu is not in el3</title>
<updated>2022-05-23T13:33:10Z</updated>
<author>
<name>Sai Pavan Boddu</name>
<email>sai.pavan.boddu@xilinx.com</email>
</author>
<published>2022-05-11T08:39:07Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=2d25f63cc02e42f3e4a798bd5385e9cd73e51fd4'/>
<id>urn:sha1:2d25f63cc02e42f3e4a798bd5385e9cd73e51fd4</id>
<content type='text'>
This would prevent configuring non-secure regs in case gic security
extensions are not emulated in Qemu.

Signed-off-by: Sai Pavan Boddu &lt;sai.pavan.boddu@xilinx.com&gt;
Signed-off-by: Michal Simek &lt;michal.simek@amd.com&gt;
</content>
</entry>
<entry>
<title>arm: Add new config option ARCH_VERY_EARLY_INIT</title>
<updated>2022-05-16T09:31:33Z</updated>
<author>
<name>Pali Rohár</name>
<email>pali@kernel.org</email>
</author>
<published>2022-05-06T09:05:13Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=948da7773e340fe76d4d1b9c635d724bf8661d30'/>
<id>urn:sha1:948da7773e340fe76d4d1b9c635d724bf8661d30</id>
<content type='text'>
When this option is set then ARM _main() function would call
arch_very_early_init() function at the beginning. It would be before
calling any other functions like debug_uart_init() and also before
initializing C runtime environment.

Signed-off-by: Pali Rohár &lt;pali@kernel.org&gt;
Reviewed-by: Stefan Roese &lt;sr@denx.de&gt;
</content>
</entry>
<entry>
<title>arm: Do not compile vector table when SYS_NO_VECTOR_TABLE is enabled</title>
<updated>2022-04-21T10:31:36Z</updated>
<author>
<name>Pali Rohár</name>
<email>pali@kernel.org</email>
</author>
<published>2022-04-06T14:20:19Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=5165d2a04a777a9b636d6a3fe6d23f9c5086ff62'/>
<id>urn:sha1:5165d2a04a777a9b636d6a3fe6d23f9c5086ff62</id>
<content type='text'>
Vector table is not used when SYS_NO_VECTOR_TABLE is enabled.
So do not compile it and reduce image size.

Signed-off-by: Pali Rohár &lt;pali@kernel.org&gt;
</content>
</entry>
<entry>
<title>arm: init: save previous bootloader data</title>
<updated>2022-04-04T18:53:26Z</updated>
<author>
<name>Dzmitry Sankouski</name>
<email>dsankouski@gmail.com</email>
</author>
<published>2022-02-22T18:49:52Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=12a3e1ada06c702c403cf1eebb063ef7a34688cd'/>
<id>urn:sha1:12a3e1ada06c702c403cf1eebb063ef7a34688cd</id>
<content type='text'>
When u-boot is used as a chain-loaded bootloader (replacing OS kernel),
previous bootloader leaves data in RAM, that can be reused.

For example, on recent arm linux system, when chainloading u-boot,
there are initramfs and fdt in RAM prepared for OS booting. Initramfs
may be modified to store u-boot's payload, thus providing the ability to
use chainloaded u-boot to boot OS without any storage support.

Two config options added:
- SAVE_PREV_BL_INITRAMFS_START_ADDR
  saves initramfs start address to 'prevbl_initrd_start_addr' environment
  variable
- SAVE_PREV_BL_FDT_ADDR
  saves fdt address to 'prevbl_fdt_addr' environment variable

Signed-off-by: Dzmitry Sankouski &lt;dsankouski@gmail.com&gt;
Cc: Tom Rini &lt;trini@konsulko.com&gt;
</content>
</entry>
<entry>
<title>arm64: Catch non-emulated semihosting calls</title>
<updated>2022-04-01T20:56:53Z</updated>
<author>
<name>Sean Anderson</name>
<email>sean.anderson@seco.com</email>
</author>
<published>2022-03-22T20:59:31Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=bbe310cdaf459b0ee69534584128ed6e057568db'/>
<id>urn:sha1:bbe310cdaf459b0ee69534584128ed6e057568db</id>
<content type='text'>
If a debugger is not attached to U-Boot, semihosting calls will raise a
synchronous abort exception. Try to catch this and disable semihosting
so we can e.g. use another uart if one is available. In the immediate
case, we return an error, since it is not always possible to check for
semihosting beforehand (debug uart, user-initiated load command, etc.)

We handle all possible semihosting instructions, which is probably
overkill. However, we do need to keep track of what instruction set
we're using so that we don't suppress an actual error.

A future enhancement could try to determine semihosting capability by
inspecting the processor state.  There's an example of this at [1] for
RISC-V. The equivalent for ARM would inspect the monitor modei
enable/select bits of the DSCR. However, as the article notes, an
exception handler is still helpful in order to catch disconnected
debuggers.

[1] https://tomverbeure.github.io/2021/12/30/Semihosting-on-RISCV.html#avoiding-hangs-when-a-debugger-is-not-connected

Signed-off-by: Sean Anderson &lt;sean.anderson@seco.com&gt;
</content>
</entry>
<entry>
<title>arm: smh: Add option to detect semihosting</title>
<updated>2022-04-01T20:56:53Z</updated>
<author>
<name>Sean Anderson</name>
<email>sean.anderson@seco.com</email>
</author>
<published>2022-03-22T20:59:30Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=385d69d76b4216c10083f908005983d0c62e159c'/>
<id>urn:sha1:385d69d76b4216c10083f908005983d0c62e159c</id>
<content type='text'>
These functions are intended to support detecting semihosting and
falling back gracefully to alternative implementations. The test starts
by making semihosting call. SYS_ERRNO is chosen because it should not
mutate any state. If this semihosting call results in an exception
(rather than being caught by the debugger), then the exception handler
should call disable_semihosting() and resume execution after the call.

Ideally, this would just be part of semihosting by default, and not a
separate config. However, to reduce space ARM SPL doesn't include
exception vectors by default. This means we can't detect if a
semihosting call failed unless we enable them. To avoid forcing them to
be enabled, we use a separate config option. It might also be possible
to try and detect whether a debugger has enabled (by reading HDE from
DSCR), but I wasn't able to figure out a way to do this from all ELs.

This patch just introduces the generic code to handle detection. The
next patch will implement it for arm64 (but not arm32).

Signed-off-by: Sean Anderson &lt;sean.anderson@seco.com&gt;
</content>
</entry>
<entry>
<title>arm64: Save esr in pt_regs</title>
<updated>2022-04-01T20:56:53Z</updated>
<author>
<name>Sean Anderson</name>
<email>sean.anderson@seco.com</email>
</author>
<published>2022-03-22T21:17:35Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=e97ac4780d69c719b81086bba615c8568afd14a1'/>
<id>urn:sha1:e97ac4780d69c719b81086bba615c8568afd14a1</id>
<content type='text'>
To avoid passing around an extra register everywhere, save esr in
pt_regs like the rest. For proper alignment we need to have a second
(unused) register. All the printfs have to be adjusted, since
it's now an unsigned long and not an int.

Signed-off-by: Sean Anderson &lt;sean.anderson@seco.com&gt;
</content>
</entry>
<entry>
<title>arm: smh: Add some functions for working with the host console</title>
<updated>2022-04-01T19:03:13Z</updated>
<author>
<name>Sean Anderson</name>
<email>sean.anderson@seco.com</email>
</author>
<published>2022-03-22T20:59:23Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=3ea744e87359f95251ae7ec3c7a92f8b3293593b'/>
<id>urn:sha1:3ea744e87359f95251ae7ec3c7a92f8b3293593b</id>
<content type='text'>
This adds three wrappers around the semihosting commands for reading and
writing to the host console. We use the more standard getc/putc/puts
names instead of readc/writec/write0 for familiarity.

Signed-off-by: Sean Anderson &lt;sean.anderson@seco.com&gt;
</content>
</entry>
<entry>
<title>arm: smh: Remove smhload command</title>
<updated>2022-04-01T19:03:13Z</updated>
<author>
<name>Sean Anderson</name>
<email>sean.anderson@seco.com</email>
</author>
<published>2022-03-22T20:59:22Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=dcc4f9623e27b92a1e0b97326631b0d5841c49cb'/>
<id>urn:sha1:dcc4f9623e27b92a1e0b97326631b0d5841c49cb</id>
<content type='text'>
This command's functionality is now completely implemented by the
standard fs load command. Convert the vexpress64 boot command (which is
the only user) and remove the implementation.

Signed-off-by: Sean Anderson &lt;sean.anderson@seco.com&gt;
</content>
</entry>
<entry>
<title>cmd: fdt: Use start/size for chosen instead of start/end</title>
<updated>2022-04-01T19:03:13Z</updated>
<author>
<name>Sean Anderson</name>
<email>sean.anderson@seco.com</email>
</author>
<published>2022-03-22T20:59:21Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=dbf6f7c95240bd5fc7f5bbc2b36e275248279f53'/>
<id>urn:sha1:dbf6f7c95240bd5fc7f5bbc2b36e275248279f53</id>
<content type='text'>
Most U-Boot command deal with start/size instead of start/end. Convert
the "fdt chosen" command to use these semantics as well. The only user
of this subcommand is vexpress, so convert the smhload command to use
this as well. We don't bother renaming the variable in vexpress64's
bootcommand, since it will be rewritten in the next commit.

Signed-off-by: Sean Anderson &lt;sean.anderson@seco.com&gt;
</content>
</entry>
</feed>
