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
|
#ifdef CONFIG_ARM64_SMP_BUSY_WAIT
|
||||||
uint32_t *address = (uint32_t *)CONFIG_ARM64_SMP_BUSY_WAIT_FLAG_ADDR;
|
uint32_t *address = (uint32_t *)CONFIG_ARM64_SMP_BUSY_WAIT_FLAG_ADDR;
|
||||||
*address = 1;
|
*address = 1;
|
||||||
up_flush_dcache((uintptr_t)address, sizeof(address));
|
up_flush_dcache((uintptr_t)address, (uintptr_t)address + sizeof(address));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
arm64_start_cpu(cpu);
|
arm64_start_cpu(cpu);
|
||||||
|
@ -14,6 +14,8 @@ CONFIG_ARCH_CHIP_FVP_ARMV8R=y
|
|||||||
CONFIG_ARCH_CHIP_FVP_R82=y
|
CONFIG_ARCH_CHIP_FVP_R82=y
|
||||||
CONFIG_ARCH_EARLY_PRINT=y
|
CONFIG_ARCH_EARLY_PRINT=y
|
||||||
CONFIG_ARCH_INTERRUPTSTACK=4096
|
CONFIG_ARCH_INTERRUPTSTACK=4096
|
||||||
|
CONFIG_ARM64_SMP_BUSY_WAIT=y
|
||||||
|
CONFIG_ARM64_SMP_BUSY_WAIT_FLAG_ADDR=0x60000
|
||||||
CONFIG_ARM64_STRING_FUNCTION=y
|
CONFIG_ARM64_STRING_FUNCTION=y
|
||||||
CONFIG_BUILTIN=y
|
CONFIG_BUILTIN=y
|
||||||
CONFIG_DEBUG_ASSERTIONS=y
|
CONFIG_DEBUG_ASSERTIONS=y
|
||||||
|
@ -18,6 +18,8 @@
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
|
#include <nuttx/config.h>
|
||||||
|
|
||||||
OUTPUT_ARCH(aarch64)
|
OUTPUT_ARCH(aarch64)
|
||||||
|
|
||||||
ENTRY(__start)
|
ENTRY(__start)
|
||||||
@ -88,6 +90,10 @@ SECTIONS
|
|||||||
} :text
|
} :text
|
||||||
_edata = .; /* End+1 of .data */
|
_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 */
|
.bss : { /* BSS */
|
||||||
. = ALIGN(8);
|
. = ALIGN(8);
|
||||||
_sbss = .;
|
_sbss = .;
|
||||||
|
Loading…
Reference in New Issue
Block a user