diff options
author | Vineet Gupta <vgupta@synopsys.com> | 2014-04-17 07:43:26 -0400 |
---|---|---|
committer | Vineet Gupta <vgupta@synopsys.com> | 2014-06-26 00:44:05 -0400 |
commit | bef444a33004f4062930df1fc703a25dd6d7b460 (patch) | |
tree | ed7f20642c6319ca0d8c1841d97ad10fa1ba2f01 /arch/arc/kernel/head.S | |
parent | ba25915fb2cd18152cb14b144dbe8bf2f2bd8e45 (diff) |
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: | |||
77 | ; Clear BSS before updating any globals | 77 | ; Clear BSS before updating any globals |
78 | ; XXX: use ZOL here | 78 | ; XXX: use ZOL here |
79 | mov r5, __bss_start | 79 | mov r5, __bss_start |
80 | mov r6, __bss_stop | 80 | sub r6, __bss_stop, r5 |
81 | lsr.f lp_count, r6, 2 | ||
82 | lpnz 1f | ||
83 | st.ab 0, [r5, 4] | ||
81 | 1: | 84 | 1: |
82 | st.ab 0, [r5,4] | ||
83 | brlt r5, r6, 1b | ||
84 | 85 | ||
85 | ; Uboot - kernel ABI | 86 | ; Uboot - kernel ABI |
86 | ; r0 = [0] No uboot interaction, [1] cmdline in r2, [2] DTB in r2 | 87 | ; r0 = [0] No uboot interaction, [1] cmdline in r2, [2] DTB in r2 |