From bb3edd36afedc03903930380bef93ed77e83aef8 Mon Sep 17 00:00:00 2001
From: Anup Patel <anup.patel@wdc.com>
Date: Mon, 1 Jul 2019 08:54:13 +0530
Subject: 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>
---
 firmware/fw_base.S | 1 +
 1 file changed, 1 insertion(+)

(limited to 'firmware')

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
-- 
cgit v1.2.3