提交 8ab4c9a6 编写于 作者: G Guangyao Ma

fix: v1.1.0的reset_vector_up/mp.S bug修复同步自master

Close #I3VQGN

Change-Id: I3772fde91067433c18b34fe2157abf05fa75fd73
Signed-off-by: NGuangyao Ma <guangyao.ma@outlook.com>
上级 ebe33aa2
...@@ -65,7 +65,9 @@ ...@@ -65,7 +65,9 @@
.equ MPIDR_CPUID_MASK, 0xffU .equ MPIDR_CPUID_MASK, 0xffU
.fpu vfpv4 .fpu neon-vfpv4
.syntax unified
.arch armv7-a
.arm .arm
/* param0 is stack bottom, param1 is stack size, r12 hold cpu id */ /* param0 is stack bottom, param1 is stack size, r12 hold cpu id */
...@@ -187,7 +189,7 @@ reloc_img_to_bottom_done: ...@@ -187,7 +189,7 @@ reloc_img_to_bottom_done:
mov r0, r4 mov r0, r4
mov r1, #0 mov r1, #0
mov r2, #MMU_DESCRIPTOR_L1_SMALL_ENTRY_NUMBERS mov r2, #MMU_DESCRIPTOR_L1_SMALL_ENTRY_NUMBERS
bl memset bl memset_optimized /* optimized memset since r0 is 64-byte aligned */
PAGE_TABLE_SET SYS_MEM_BASE, KERNEL_VMM_BASE, KERNEL_VMM_SIZE, MMU_DESCRIPTOR_KERNEL_L1_PTE_FLAGS PAGE_TABLE_SET SYS_MEM_BASE, KERNEL_VMM_BASE, KERNEL_VMM_SIZE, MMU_DESCRIPTOR_KERNEL_L1_PTE_FLAGS
PAGE_TABLE_SET SYS_MEM_BASE, UNCACHED_VMM_BASE, UNCACHED_VMM_SIZE, MMU_INITIAL_MAP_NORMAL_NOCACHE PAGE_TABLE_SET SYS_MEM_BASE, UNCACHED_VMM_BASE, UNCACHED_VMM_SIZE, MMU_INITIAL_MAP_NORMAL_NOCACHE
...@@ -463,6 +465,18 @@ _bootaddr_setup: ...@@ -463,6 +465,18 @@ _bootaddr_setup:
bx lr bx lr
memset_optimized:
mov r3, r0
vdup.8 q0, r1
vmov q1, q0
vmov q2, q0
vmov q3, q0
memset_optimized_loop:
subs r2, #64
vstmia r3!, {d0 - d7}
bge memset_optimized_loop
bx lr
init_done: init_done:
.long 0xDEADB00B .long 0xDEADB00B
......
...@@ -65,7 +65,9 @@ ...@@ -65,7 +65,9 @@
.equ MPIDR_CPUID_MASK, 0xffU .equ MPIDR_CPUID_MASK, 0xffU
.fpu vfpv4 .fpu neon-vfpv4
.syntax unified
.arch armv7-a
.arm .arm
/* param0 is stack bottom, param1 is stack size, r11 hold cpu id */ /* param0 is stack bottom, param1 is stack size, r11 hold cpu id */
...@@ -164,7 +166,7 @@ reloc_img_to_bottom_done: ...@@ -164,7 +166,7 @@ reloc_img_to_bottom_done:
mov r0, r4 mov r0, r4
mov r1, #0 mov r1, #0
mov r2, #MMU_DESCRIPTOR_L1_SMALL_ENTRY_NUMBERS mov r2, #MMU_DESCRIPTOR_L1_SMALL_ENTRY_NUMBERS
bl memset bl memset_optimized /* optimized memset since r0 is 64-byte aligned */
PAGE_TABLE_SET SYS_MEM_BASE, KERNEL_VMM_BASE, KERNEL_VMM_SIZE, MMU_DESCRIPTOR_KERNEL_L1_PTE_FLAGS PAGE_TABLE_SET SYS_MEM_BASE, KERNEL_VMM_BASE, KERNEL_VMM_SIZE, MMU_DESCRIPTOR_KERNEL_L1_PTE_FLAGS
...@@ -431,6 +433,18 @@ _bootaddr_setup: ...@@ -431,6 +433,18 @@ _bootaddr_setup:
bx lr bx lr
memset_optimized:
mov r3, r0
vdup.8 q0, r1
vmov q1, q0
vmov q2, q0
vmov q3, q0
memset_optimized_loop:
subs r2, #64
vstmia r3!, {d0 - d7}
bge memset_optimized_loop
bx lr
init_done: init_done:
.long 0xDEADB00B .long 0xDEADB00B
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册