diff options
author | Christoph Hellwig <hch@lst.de> | 2019-04-15 12:14:37 +0300 |
---|---|---|
committer | Palmer Dabbelt <palmer@sifive.com> | 2019-04-26 00:51:10 +0300 |
commit | c637b911e0669753ba85f8d61f10ca4b8f441dd3 (patch) | |
tree | cbc8946f8f04d7236aebdfa7a4fe7a61c4c9ad92 /arch/riscv | |
parent | df16c40cbfb43fbd6d5d879585b268b131fa95eb (diff) | |
download | linux-c637b911e0669753ba85f8d61f10ca4b8f441dd3.tar.xz |
riscv: simplify the stack pointer setup in head.S
We don't need THREAD_SIZE in asm-offsets.c as we can just calculate
the value of init_thread_union + THREAD_SIZE using cpp, just like
we do a few lines above.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Atish Patra <atish.patra@wdc.com>
Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
Diffstat (limited to 'arch/riscv')
-rw-r--r-- | arch/riscv/kernel/asm-offsets.c | 3 | ||||
-rw-r--r-- | arch/riscv/kernel/head.S | 5 |
2 files changed, 1 insertions, 7 deletions
diff --git a/arch/riscv/kernel/asm-offsets.c b/arch/riscv/kernel/asm-offsets.c index dac98348c6a3..578bb5efc085 100644 --- a/arch/riscv/kernel/asm-offsets.c +++ b/arch/riscv/kernel/asm-offsets.c @@ -312,9 +312,6 @@ void asm_offsets(void) - offsetof(struct task_struct, thread.fstate.f[0]) ); - /* The assembler needs access to THREAD_SIZE as well. */ - DEFINE(ASM_THREAD_SIZE, THREAD_SIZE); - /* * We allocate a pt_regs on the stack when entering the kernel. This * ensures the alignment is sane. diff --git a/arch/riscv/kernel/head.S b/arch/riscv/kernel/head.S index 9e3840d84d3e..62d2c9c85433 100644 --- a/arch/riscv/kernel/head.S +++ b/arch/riscv/kernel/head.S @@ -69,10 +69,7 @@ clear_bss_done: /* Restore C environment */ la tp, init_task sw zero, TASK_TI_CPU(tp) - - la sp, init_thread_union - li a0, ASM_THREAD_SIZE - add sp, sp, a0 + la sp, init_thread_union + THREAD_SIZE /* Start the kernel */ mv a0, s0 |