<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/arch/arm/lib, branch v2022.10</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.10</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/arch/arm/lib?h=v2022.10'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2022-08-31T16:21:47Z</updated>
<entry>
<title>arm: smh: Fix uninitialized parameters with newer GCCs</title>
<updated>2022-08-31T16:21:47Z</updated>
<author>
<name>Sean Anderson</name>
<email>sean.anderson@seco.com</email>
</author>
<published>2022-08-30T20:32:27Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=f4b540e25c5c63fd55a80c78a22b2f69ecb848f8'/>
<id>urn:sha1:f4b540e25c5c63fd55a80c78a22b2f69ecb848f8</id>
<content type='text'>
Newer versions of GCC won't initialize parts of structures which don't
appear to be used. This results in uninitialized semihosting parameters
passed via R1. Fix this by marking the inline assembly as clobbering
memory.

Signed-off-by: Sean Anderson &lt;sean.anderson@seco.com&gt;
</content>
</entry>
<entry>
<title>ARM: relocate: Fix Thumb code by using proper label type</title>
<updated>2022-07-26T21:53:43Z</updated>
<author>
<name>Andre Przywara</name>
<email>andre.przywara@arm.com</email>
</author>
<published>2022-07-12T11:00:23Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=81e712a91729950fbd8fb38a6f729cb9847b0adb'/>
<id>urn:sha1:81e712a91729950fbd8fb38a6f729cb9847b0adb</id>
<content type='text'>
The generic ARM relocate_code function was using its own function entry
point as a relocation base, and it was obtaining that address by using
the "adr" instruction on that entry point label.
However that label is not just an ordinary label, instead we explicitly
mark it as a function start address. Normally that doesn't change much
(other than for debugging), but when assembled in Thumb mode, newer
versions of the GNU assembler prepare everything for this address being
used as the argument to a "bx" call, so make sure bit 0 is set in there
to mark this function as Thumb code. Of course this doesn't end up very
well when we use this address for the ensuing memcpy operation.

To avoid this problem, and to solve it in a robust way, add an extra
label, which is not marked as a function entry, and use that for the adr
instruction. This lets all assemblers generate the right immediate offset
in the "adr" instruction.

This fixes in particular ARMv7-M ports when using GNU binutils v2.37 or
newer (commit d3e52e120b68 seems to trigger the change in behaviour).

Signed-off-by: Andre Przywara &lt;andre.przywara@arm.com&gt;
Reported-by: Jesse Taube &lt;mr.bossman075@gmail.com&gt;
</content>
</entry>
<entry>
<title>zynqmp: Run board_get_usable_ram_top() only on main U-Boot</title>
<updated>2022-07-26T06:23:54Z</updated>
<author>
<name>Ashok Reddy Soma</name>
<email>ashok.reddy.soma@xilinx.com</email>
</author>
<published>2022-07-07T08:45:37Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=65168910adaae3a4ac91fd5acf30941a28facc0e'/>
<id>urn:sha1:65168910adaae3a4ac91fd5acf30941a28facc0e</id>
<content type='text'>
With commit ce39ee28ec31 ("zynqmp: Do not place u-boot to reserved memory
location"), the function board_get_usable_ram_top() is allocating
MMU_SECTION_SIZE of about 2MB using lmb_alloc(). But we dont have this
much memory in case of mini U-Boot.

Keep these functions which use lmb under CONFIG_LMB so that they are
compiled and used only when LMB is enabled.

Signed-off-by: Ashok Reddy Soma &lt;ashok.reddy.soma@xilinx.com&gt;
Signed-off-by: Michal Simek &lt;michal.simek@xilinx.com&gt;

Signed-off-by: Michal Simek &lt;michal.simek@amd.com&gt;
Link: https://lore.kernel.org/r/75e52def75f573e554a6b177a78504c128cb0c4a.1657183534.git.michal.simek@amd.com
</content>
</entry>
<entry>
<title>arm: riscv: Remove additional ifdef from code guarded by CONFIG_IS_ENABLED</title>
<updated>2022-07-26T06:23:54Z</updated>
<author>
<name>Michal Simek</name>
<email>michal.simek@amd.com</email>
</author>
<published>2022-07-07T08:47:16Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=b09e462482b4b84f5d99986514db5fe8d10f4c2f'/>
<id>urn:sha1:b09e462482b4b84f5d99986514db5fe8d10f4c2f</id>
<content type='text'>
CONFIG_OF_LIBFDT is used twice for guarding the same code. It is enough to
do it once that's why remove additional ifdefs from arm and risc-v code.

Fixes: 0c303f9a6628 ("image: Drop IMAGE_ENABLE_OF_LIBFDT")
Signed-off-by: Michal Simek &lt;michal.simek@amd.com&gt;
Reviewed-by: Tom Rini &lt;trini@konsulko.com&gt;
Link: https://lore.kernel.org/r/f8e3ff9124195cbd957874de9a65ef79760ef5e7.1657183634.git.michal.simek@amd.com
</content>
</entry>
<entry>
<title>Migrate CUSTOM_SYS_INIT_SP_ADDR to Kconfig using system-constants.h</title>
<updated>2022-06-06T16:09:19Z</updated>
<author>
<name>Tom Rini</name>
<email>trini@konsulko.com</email>
</author>
<published>2022-05-25T16:16:03Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=eaf6ea6a1dc10d49cdcbcad0f8b0abb6c1eb1db1'/>
<id>urn:sha1:eaf6ea6a1dc10d49cdcbcad0f8b0abb6c1eb1db1</id>
<content type='text'>
- Make all users of CUSTOM_SYS_INIT_SP_ADDR reference SYS_INIT_SP_ADDR
- Introduce HAS_CUSTOM_SYS_INIT_SP_ADDR to allow for setting the stack
  pointer directly, otherwise we use the common calculation.
- On some platforms that were using the standard calculation but did not
  set CONFIG_SYS_INIT_RAM_SIZE / CONFIG_SYS_INIT_RAM_ADDR, set them.
- On a small number of platforms that were not subtracting
  GENERATED_GBL_DATA_SIZE do so now via the standard calculation.
- CONFIG_SYS_INIT_SP_OFFSET is now widely unused, so remove it from most
  board config header files.

Signed-off-by: Tom Rini &lt;trini@konsulko.com&gt;
</content>
</entry>
<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>
</feed>
