diff options
author | Vineet Gupta <vgupta@synopsys.com> | 2014-04-17 13:43:26 +0200 |
---|---|---|
committer | Vineet Gupta <vgupta@synopsys.com> | 2014-06-26 06:44:05 +0200 |
commit | bef444a33004f4062930df1fc703a25dd6d7b460 (patch) | |
tree | ed7f20642c6319ca0d8c1841d97ad10fa1ba2f01 /arch/arc/kernel/head.S | |
parent | ARC: Fix build breakage for !CONFIG_ARC_DW2_UNWIND (diff) | |
download | linux-bef444a33004f4062930df1fc703a25dd6d7b460.tar.xz linux-bef444a33004f4062930df1fc703a25dd6d7b460.zip |
ARC: optimize kernel bss clearing in early boot code
using ARC ZOL which reduces tot num of instructions by half
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'arch/arc/kernel/head.S')
-rw-r--r-- | arch/arc/kernel/head.S | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/arc/kernel/head.S b/arch/arc/kernel/head.S index 07a58f2d3077..4d2481bd8b98 100644 --- a/arch/arc/kernel/head.S +++ b/arch/arc/kernel/head.S @@ -77,10 +77,11 @@ stext: ; Clear BSS before updating any globals ; XXX: use ZOL here mov r5, __bss_start - mov r6, __bss_stop + sub r6, __bss_stop, r5 + lsr.f lp_count, r6, 2 + lpnz 1f + st.ab 0, [r5, 4] 1: - st.ab 0, [r5,4] - brlt r5, r6, 1b ; Uboot - kernel ABI ; r0 = [0] No uboot interaction, [1] cmdline in r2, [2] DTB in r2 |