arm64: fix fvp smp faild to boot
reason: we should give a busy wait addr This commit fixes the regression from https://github.com/apache/nuttx/pull/13640 Signed-off-by: hujun5 <hujun5@xiaomi.com>
This commit is contained in:
parent
6e7d90e195
commit
9dc3e4ee41
@ -210,7 +210,7 @@ int up_cpu_start(int cpu)
|
||||
#ifdef CONFIG_ARM64_SMP_BUSY_WAIT
|
||||
uint32_t *address = (uint32_t *)CONFIG_ARM64_SMP_BUSY_WAIT_FLAG_ADDR;
|
||||
*address = 1;
|
||||
up_flush_dcache((uintptr_t)address, sizeof(address));
|
||||
up_flush_dcache((uintptr_t)address, (uintptr_t)address + sizeof(address));
|
||||
#endif
|
||||
|
||||
arm64_start_cpu(cpu);
|
||||
|
@ -14,6 +14,8 @@ CONFIG_ARCH_CHIP_FVP_ARMV8R=y
|
||||
CONFIG_ARCH_CHIP_FVP_R82=y
|
||||
CONFIG_ARCH_EARLY_PRINT=y
|
||||
CONFIG_ARCH_INTERRUPTSTACK=4096
|
||||
CONFIG_ARM64_SMP_BUSY_WAIT=y
|
||||
CONFIG_ARM64_SMP_BUSY_WAIT_FLAG_ADDR=0x60000
|
||||
CONFIG_ARM64_STRING_FUNCTION=y
|
||||
CONFIG_BUILTIN=y
|
||||
CONFIG_DEBUG_ASSERTIONS=y
|
||||
|
@ -18,6 +18,8 @@
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#include <nuttx/config.h>
|
||||
|
||||
OUTPUT_ARCH(aarch64)
|
||||
|
||||
ENTRY(__start)
|
||||
@ -88,6 +90,10 @@ SECTIONS
|
||||
} :text
|
||||
_edata = .; /* End+1 of .data */
|
||||
|
||||
#if defined(CONFIG_SMP) && defined(CONFIG_ARM64_SMP_BUSY_WAIT)
|
||||
. = CONFIG_ARM64_SMP_BUSY_WAIT_FLAG_ADDR + 4;
|
||||
#endif
|
||||
|
||||
.bss : { /* BSS */
|
||||
. = ALIGN(8);
|
||||
_sbss = .;
|
||||
|
Loading…
Reference in New Issue
Block a user