risc-v: Use _ebss instead of _default_stack_limit as idle stack base
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
This commit is contained in:
parent
fc4ab4fd94
commit
64130b4775
@ -25,6 +25,8 @@
|
||||
* Included Files
|
||||
****************************************************************************/
|
||||
|
||||
#include "riscv_internal.h"
|
||||
|
||||
#include "hardware/c906_memorymap.h"
|
||||
#include "hardware/c906_uart.h"
|
||||
#include "hardware/c906_clint.h"
|
||||
@ -35,13 +37,12 @@
|
||||
* Pre-processor Definitions
|
||||
****************************************************************************/
|
||||
|
||||
/* Idle thread stack starts from _default_stack_limit */
|
||||
/* Idle thread stack starts from _ebss */
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
extern uintptr_t *_default_stack_limit;
|
||||
#define C906_IDLESTACK_BASE (uintptr_t)&_default_stack_limit
|
||||
#define C906_IDLESTACK_BASE (uintptr_t)&_ebss
|
||||
#else
|
||||
#define C906_IDLESTACK_BASE _default_stack_limit
|
||||
#define C906_IDLESTACK_BASE _ebss
|
||||
#endif
|
||||
|
||||
#define C906_IDLESTACK0_TOP (C906_IDLESTACK_BASE + CONFIG_IDLETHREAD_STACKSIZE)
|
||||
|
@ -25,6 +25,8 @@
|
||||
* Included Files
|
||||
****************************************************************************/
|
||||
|
||||
#include "riscv_internal.h"
|
||||
|
||||
#include "hardware/fe310_memorymap.h"
|
||||
#include "hardware/fe310_uart.h"
|
||||
#include "hardware/fe310_clint.h"
|
||||
@ -36,13 +38,12 @@
|
||||
* Pre-processor Definitions
|
||||
****************************************************************************/
|
||||
|
||||
/* Idle thread stack starts from _default_stack_limit */
|
||||
/* Idle thread stack starts from _ebss */
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
extern uintptr_t *_default_stack_limit;
|
||||
#define FE310_IDLESTACK_BASE (uintptr_t)&_default_stack_limit
|
||||
#define FE310_IDLESTACK_BASE (uintptr_t)&_ebss
|
||||
#else
|
||||
#define FE310_IDLESTACK_BASE _default_stack_limit
|
||||
#define FE310_IDLESTACK_BASE _ebss
|
||||
#endif
|
||||
|
||||
#define FE310_IDLESTACK_TOP (FE310_IDLESTACK_BASE + CONFIG_IDLETHREAD_STACKSIZE)
|
||||
|
@ -25,6 +25,8 @@
|
||||
* Included Files
|
||||
****************************************************************************/
|
||||
|
||||
#include "riscv_internal.h"
|
||||
|
||||
#include "hardware/k210_memorymap.h"
|
||||
#include "hardware/k210_uart.h"
|
||||
#include "hardware/k210_clint.h"
|
||||
@ -38,10 +40,9 @@
|
||||
/* Idle thread stack starts from _ebss */
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
extern uintptr_t *_default_stack_limit;
|
||||
#define K210_IDLESTACK_BASE (uintptr_t)&_default_stack_limit
|
||||
#define K210_IDLESTACK_BASE (uintptr_t)&_ebss
|
||||
#else
|
||||
#define K210_IDLESTACK_BASE _default_stack_limit
|
||||
#define K210_IDLESTACK_BASE _ebss
|
||||
#endif
|
||||
|
||||
#define K210_IDLESTACK0_BASE (K210_IDLESTACK_BASE)
|
||||
|
@ -25,6 +25,8 @@
|
||||
* Included Files
|
||||
****************************************************************************/
|
||||
|
||||
#include "riscv_internal.h"
|
||||
|
||||
#include "hardware/mpfs_clint.h"
|
||||
#include "hardware/mpfs_memorymap.h"
|
||||
#include "hardware/mpfs_plic.h"
|
||||
@ -35,13 +37,12 @@
|
||||
* Pre-processor Definitions
|
||||
****************************************************************************/
|
||||
|
||||
/* Idle thread stack starts from _default_stack_limit */
|
||||
/* Idle thread stack starts from _ebss */
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
extern uintptr_t *_default_stack_limit;
|
||||
#define MPFS_IDLESTACK_BASE (uintptr_t)&_default_stack_limit
|
||||
#define MPFS_IDLESTACK_BASE (uintptr_t)&_ebss
|
||||
#else
|
||||
#define MPFS_IDLESTACK_BASE _default_stack_limit
|
||||
#define MPFS_IDLESTACK_BASE _ebss
|
||||
#endif
|
||||
|
||||
#define MPFS_IDLESTACK_SIZE (CONFIG_IDLETHREAD_STACKSIZE & ~15)
|
||||
|
@ -74,10 +74,8 @@ SECTIONS
|
||||
*(.gnu.linkonce.b.*)
|
||||
*(.gnu.linkonce.sb.*)
|
||||
*(COMMON)
|
||||
. = ALIGN(4);
|
||||
_ebss = ABSOLUTE(.);
|
||||
. = ALIGN(32);
|
||||
_default_stack_limit = ABSOLUTE(.);
|
||||
_ebss = ABSOLUTE(.);
|
||||
} > sram
|
||||
|
||||
/* Stabs debugging sections. */
|
||||
|
@ -74,10 +74,8 @@ SECTIONS
|
||||
*(.gnu.linkonce.b.*)
|
||||
*(.gnu.linkonce.sb.*)
|
||||
*(COMMON)
|
||||
. = ALIGN(4);
|
||||
_ebss = ABSOLUTE(.);
|
||||
. = ALIGN(32);
|
||||
_default_stack_limit = ABSOLUTE(.);
|
||||
_ebss = ABSOLUTE(.);
|
||||
} > sram
|
||||
|
||||
/* Stabs debugging sections. */
|
||||
|
@ -72,10 +72,8 @@ SECTIONS
|
||||
*(.gnu.linkonce.b.*)
|
||||
*(.gnu.linkonce.sb.*)
|
||||
*(COMMON)
|
||||
. = ALIGN(4);
|
||||
_ebss = ABSOLUTE(.);
|
||||
. = ALIGN(32);
|
||||
_default_stack_limit = ABSOLUTE(.);
|
||||
_ebss = ABSOLUTE(.);
|
||||
} > sram
|
||||
|
||||
/* Stabs debugging sections. */
|
||||
|
@ -72,10 +72,8 @@ SECTIONS
|
||||
*(.gnu.linkonce.b.*)
|
||||
*(.gnu.linkonce.sb.*)
|
||||
*(COMMON)
|
||||
. = ALIGN(4);
|
||||
_ebss = ABSOLUTE(.);
|
||||
. = ALIGN(32);
|
||||
_default_stack_limit = ABSOLUTE(.);
|
||||
_ebss = ABSOLUTE(.);
|
||||
} > sram
|
||||
|
||||
/* Stabs debugging sections. */
|
||||
|
@ -79,10 +79,8 @@ SECTIONS
|
||||
*(.gnu.linkonce.b.*)
|
||||
*(.gnu.linkonce.sb.*)
|
||||
*(COMMON)
|
||||
. = ALIGN(4);
|
||||
_ebss = ABSOLUTE(.);
|
||||
. = ALIGN(32);
|
||||
_default_stack_limit = ABSOLUTE(.);
|
||||
_ebss = ABSOLUTE(.);
|
||||
} > sram
|
||||
|
||||
/* Stabs debugging sections. */
|
||||
|
@ -91,16 +91,10 @@ SECTIONS
|
||||
/* Page tables here, align to 4K boundary */
|
||||
.pgtables : ALIGN(0x1000) {
|
||||
*(.pgtables)
|
||||
. = ALIGN(4);
|
||||
. = ALIGN(32);
|
||||
_ebss = ABSOLUTE(.);
|
||||
} > ksram
|
||||
|
||||
/* Stack top */
|
||||
.stack_top : {
|
||||
. = ALIGN(32);
|
||||
_default_stack_limit = ABSOLUTE(.);
|
||||
} > ksram
|
||||
|
||||
/* Stabs debugging sections. */
|
||||
|
||||
.stab 0 : { *(.stab) }
|
||||
|
@ -101,10 +101,8 @@ SECTIONS
|
||||
*(.gnu.linkonce.b.*)
|
||||
*(.gnu.linkonce.sb.*)
|
||||
*(COMMON)
|
||||
. = ALIGN(4);
|
||||
_ebss = ABSOLUTE(.);
|
||||
. = ALIGN(32);
|
||||
_default_stack_limit = ABSOLUTE(.);
|
||||
_ebss = ABSOLUTE(.);
|
||||
} > l2lim
|
||||
|
||||
PROVIDE(__mpfs_nuttx_end = .);
|
||||
|
@ -75,10 +75,8 @@ SECTIONS
|
||||
*(.gnu.linkonce.b.*)
|
||||
*(.gnu.linkonce.sb.*)
|
||||
*(COMMON)
|
||||
. = ALIGN(4);
|
||||
_ebss = ABSOLUTE(.);
|
||||
. = ALIGN(32);
|
||||
_default_stack_limit = ABSOLUTE(.);
|
||||
_ebss = ABSOLUTE(.);
|
||||
} > lim
|
||||
|
||||
/* Stabs debugging sections. */
|
||||
|
@ -74,10 +74,8 @@ SECTIONS
|
||||
*(.gnu.linkonce.b.*)
|
||||
*(.gnu.linkonce.sb.*)
|
||||
*(COMMON)
|
||||
. = ALIGN(4);
|
||||
_ebss = ABSOLUTE(.);
|
||||
. = ALIGN(32);
|
||||
_default_stack_limit = ABSOLUTE(.);
|
||||
_ebss = ABSOLUTE(.);
|
||||
} > sram
|
||||
|
||||
/* Stabs debugging sections. */
|
||||
|
@ -75,10 +75,8 @@ SECTIONS
|
||||
*(.gnu.linkonce.b.*)
|
||||
*(.gnu.linkonce.sb.*)
|
||||
*(COMMON)
|
||||
. = ALIGN(4);
|
||||
_ebss = ABSOLUTE(.);
|
||||
. = ALIGN(32);
|
||||
_default_stack_limit = ABSOLUTE(.);
|
||||
_ebss = ABSOLUTE(.);
|
||||
} > lim
|
||||
|
||||
/* Stabs debugging sections. */
|
||||
|
@ -74,10 +74,8 @@ SECTIONS
|
||||
*(.gnu.linkonce.b.*)
|
||||
*(.gnu.linkonce.sb.*)
|
||||
*(COMMON)
|
||||
. = ALIGN(4);
|
||||
_ebss = ABSOLUTE(.);
|
||||
. = ALIGN(32);
|
||||
_default_stack_limit = ABSOLUTE(.);
|
||||
_ebss = ABSOLUTE(.);
|
||||
} > sram
|
||||
|
||||
/* Stabs debugging sections. */
|
||||
|
Loading…
Reference in New Issue
Block a user