summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnup Patel <anup.patel@wdc.com>2019-07-01 06:24:13 +0300
committerAnup Patel <anup@brainfault.org>2019-07-01 06:24:13 +0300
commitbb3edd36afedc03903930380bef93ed77e83aef8 (patch)
tree1b9cf2970ac6f98e7ae6ae72a3b75f30bea9eaa6
parentda398ef8d68150e1a22c0f598a0b3b09b61a3ce6 (diff)
downloadopensbi-bb3edd36afedc03903930380bef93ed77e83aef8.tar.xz
firmware: For no relocation skip two stage wait for secondary HARTs
When relocation is not required (i.e. _load_start == _link_start), we can skip two stage wait for secondary HARTs. This means secondary HARTs can skip the _wait_relocate_copy_done() loop and directly jump to the _wait_for_boot_hart() loop when no relocation not required. Signed-off-by: Anup Patel <anup.patel@wdc.com>
-rw-r--r--firmware/fw_base.S1
1 files changed, 1 insertions, 0 deletions
diff --git a/firmware/fw_base.S b/firmware/fw_base.S
index 213396a..706db99 100644
--- a/firmware/fw_base.S
+++ b/firmware/fw_base.S
@@ -106,6 +106,7 @@ _wait_relocate_copy_done:
la t0, _start
la t1, _link_start
REG_L t1, 0(t1)
+ beq t0, t1, _wait_for_boot_hart
la t2, _boot_status
sub t2, t2, t0
add t2, t2, t1