diff options
| author | Frédéric Desbiens <[email protected]> | 2026-09-15 16:24:09 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-09-15 16:24:09 -0400 |
| commit | 5d235a534c8969cc5ed50bfd492806b5b6993a3b (patch) | |
| tree | f5c4ccdb6ec68773a8983bf3cf6f20c831657770 /ports/cortex_a57 | |
| parent | cd6a2d90347945f2736a6afe25dcf745ffc31a6c (diff) | |
Fixed the garbage _tx_initialize_unused_memory in the GNU Cortex-A ports (#726)
Fixes #435
`LDR x1, =__top_of_ram` already loads the top of RAM, so the `LDR x1, [x1]`
that followed read whatever sat at that address and left
`_tx_initialize_unused_memory` holding garbage.
Dropped that instruction from the 13 non-SMP GNU Cortex-A ports, the ARMv8-A
source they are generated from, and the two Cortex-A35 module examples. The SMP
GNU ports already had the correct form, and the Arm Compiler ports are
unaffected -- their symbol really does need the dereference.
`scripts/check_ports.sh` passes and the `gnu` CI job build-verifies the AArch64
ports. Not run on hardware.
Assisted-by: Copilot (Opus 5) <[email protected]>
Diffstat (limited to 'ports/cortex_a57')
| -rw-r--r-- | ports/cortex_a57/gnu/src/tx_initialize_low_level.S | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/ports/cortex_a57/gnu/src/tx_initialize_low_level.S b/ports/cortex_a57/gnu/src/tx_initialize_low_level.S index 3025f12b..07e4ea11 100644 --- a/ports/cortex_a57/gnu/src/tx_initialize_low_level.S +++ b/ports/cortex_a57/gnu/src/tx_initialize_low_level.S @@ -9,6 +9,7 @@ * SPDX-License-Identifier: MIT **************************************************************************/ +// Some portions generated by Copilot (Opus 5). /**************************************************************************/ /**************************************************************************/ @@ -83,7 +84,6 @@ _tx_initialize_low_level: LDR x0, =_tx_initialize_unused_memory // Pickup address of unused memory ptr LDR x1, =__top_of_ram // Pickup unused memory address - LDR x1, [x1] // STR x1, [x0] // Store unused memory address /* Done, return to caller. */ |
