summaryrefslogtreecommitdiff
path: root/arch/riscv/cpu/start.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/riscv/cpu/start.S')
-rw-r--r--arch/riscv/cpu/start.S26
1 files changed, 1 insertions, 25 deletions
diff --git a/arch/riscv/cpu/start.S b/arch/riscv/cpu/start.S
index 6324ff585d4..7bafdfd390a 100644
--- a/arch/riscv/cpu/start.S
+++ b/arch/riscv/cpu/start.S
@@ -151,16 +151,9 @@ call_harts_early_init:
*/
la t0, hart_lottery
li t1, 1
-#if CONFIG_IS_ENABLED(RISCV_ISA_ZAAMO)
amoswap.w s2, t1, 0(t0)
bnez s2, wait_for_gd_init
#else
- lr.w s2, (t0)
- bnez s2, wait_for_gd_init
- sc.w s2, t1, (t0)
- bnez s2, wait_for_gd_init
-#endif
-#else
/*
* FIXME: gp is set before it is initialized. If an XIP U-Boot ever
* encounters a pending IPI on boot it is liable to jump to whatever
@@ -184,12 +177,7 @@ call_harts_early_init:
#if !CONFIG_IS_ENABLED(XIP)
#ifdef CONFIG_AVAILABLE_HARTS
la t0, available_harts_lock
-#if CONFIG_IS_ENABLED(RISCV_ISA_ZAAMO)
amoswap.w.rl zero, zero, 0(t0)
-#else
- fence rw, w
- sw zero, 0(t0)
-#endif
#endif
wait_for_gd_init:
@@ -202,14 +190,7 @@ wait_for_gd_init:
#ifdef CONFIG_AVAILABLE_HARTS
la t0, available_harts_lock
li t1, 1
-1:
-#if CONFIG_IS_ENABLED(RISCV_ISA_ZAAMO)
- amoswap.w.aq t1, t1, 0(t0)
-#else
- lr.w.aq t1, 0(t0)
- bnez t1, 1b
- sc.w.rl t1, t1, 0(t0)
-#endif
+1: amoswap.w.aq t1, t1, 0(t0)
bnez t1, 1b
/* register available harts in the available_harts mask */
@@ -219,12 +200,7 @@ wait_for_gd_init:
or t2, t2, t1
SREG t2, GD_AVAILABLE_HARTS(gp)
-#if CONFIG_IS_ENABLED(RISCV_ISA_ZAAMO)
amoswap.w.rl zero, zero, 0(t0)
-#else
- fence rw, w
- sw zero, 0(t0)
-#endif
#endif
/*