From f3063ce12b7763fd2868068b6b80ece6461f9ad5 Mon Sep 17 00:00:00 2001 From: ligd Date: Mon, 17 Apr 2023 16:26:03 +0800 Subject: [PATCH] armv7-a: align stack_top code with armv7-r Signed-off-by: ligd --- arch/arm/src/armv7-a/arm_head.S | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/arch/arm/src/armv7-a/arm_head.S b/arch/arm/src/armv7-a/arm_head.S index d5df22ca07..9c9ce98de0 100644 --- a/arch/arm/src/armv7-a/arm_head.S +++ b/arch/arm/src/armv7-a/arm_head.S @@ -31,6 +31,18 @@ #include "chip.h" #include "arm_internal.h" +#ifndef IDLE_STACK_BASE + #ifdef CONFIG_BOOT_SDRAM_DATA + #define IDLE_STACK_BASE IDLE_STACK_VBASE + #elif defined(CONFIG_SMP) + #define IDLE_STACK_BASE _enoinit + #else + #define IDLE_STACK_BASE _ebss + #endif +#endif + +#define IDLE_STACK_TOP (IDLE_STACK_BASE + CONFIG_IDLETHREAD_STACKSIZE) + #ifndef CONFIG_PAGING .file "arm_head.S" @@ -752,13 +764,7 @@ arm_data_initialize: .size .Linitparms, . -.Linitparms .Lstackpointer: -#ifdef CONFIG_BOOT_SDRAM_DATA - .long IDLE_STACK_VBASE+CONFIG_IDLETHREAD_STACKSIZE -#elif defined(CONFIG_SMP) - .long _enoinit+CONFIG_IDLETHREAD_STACKSIZE -#else - .long _ebss+CONFIG_IDLETHREAD_STACKSIZE -#endif + .long IDLE_STACK_TOP .size .Lstackpointer, . -.Lstackpointer #ifdef CONFIG_BOOT_RUNFROMFLASH @@ -786,13 +792,7 @@ arm_data_initialize: g_idle_topstack: -#ifdef CONFIG_BOOT_SDRAM_DATA - .long IDLE_STACK_VBASE+CONFIG_IDLETHREAD_STACKSIZE -#elif defined(CONFIG_SMP) - .long _enoinit+CONFIG_IDLETHREAD_STACKSIZE -#else - .long _ebss+CONFIG_IDLETHREAD_STACKSIZE -#endif + .long IDLE_STACK_TOP .size g_idle_topstack, .-g_idle_topstack .end #endif