diff options
author | Raul E Rangel <rrangel@chromium.org> | 2021-07-22 12:37:23 -0600 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2021-07-26 07:28:08 +0000 |
commit | 7db7ee984c7268b6a60eae051a919e428b2db988 (patch) | |
tree | 25462429207623ec7eda70a5630e215a5e262917 /src/arch | |
parent | b9d94ecd78c4c85aa27e8b6a692f413eff2ed9a3 (diff) |
lib/thread,arch/x86: Move thread stacks into C bss
There is no reason this needs to be done in asm. It also allows
different stages to use threads. If threads are no used in a specific
stage, the compiler will garbage collect the space.
BUG=b:179699789
TEST=Boot guybrush to the OS
Suggested-by: Julius Werner <jwerner@chromium.org>
Signed-off-by: Raul E Rangel <rrangel@chromium.org>
Change-Id: Ib5a84a62fdc75db8ef0358ae16ff69c20cbafd5f
Reviewed-on: https://review.coreboot.org/c/coreboot/+/56531
Reviewed-by: Furquan Shaikh <furquan@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/x86/c_start.S | 5 | ||||
-rw-r--r-- | src/arch/x86/thread.c | 7 |
2 files changed, 0 insertions, 12 deletions
diff --git a/src/arch/x86/c_start.S b/src/arch/x86/c_start.S index 3ef03b3346..34ed4e3665 100644 --- a/src/arch/x86/c_start.S +++ b/src/arch/x86/c_start.S @@ -17,11 +17,6 @@ _stack: .space (CONFIG_MAX_CPUS+1)*CONFIG_STACK_SIZE _estack: .set _stack_size, _estack - _stack -#if CONFIG(COOP_MULTITASKING) -.global thread_stacks -thread_stacks: -.space CONFIG_STACK_SIZE*CONFIG_NUM_THREADS -#endif .section ".text._start", "ax", @progbits #if ENV_X86_64 diff --git a/src/arch/x86/thread.c b/src/arch/x86/thread.c index 3d12bf8d5c..a9fda66245 100644 --- a/src/arch/x86/thread.c +++ b/src/arch/x86/thread.c @@ -39,10 +39,3 @@ void arch_prepare_thread(struct thread *t, t->stack_current = stack; } - -void *arch_get_thread_stackbase(void) -{ - /* defined in c_start.S */ - extern u8 thread_stacks[]; - return &thread_stacks[0]; -} |