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>
This commit is contained in:
parent
df16c40cbf
commit
c637b911e0
|
@ -312,9 +312,6 @@ void asm_offsets(void)
|
||||||
- offsetof(struct task_struct, thread.fstate.f[0])
|
- 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
|
* We allocate a pt_regs on the stack when entering the kernel. This
|
||||||
* ensures the alignment is sane.
|
* ensures the alignment is sane.
|
||||||
|
|
|
@ -69,10 +69,7 @@ clear_bss_done:
|
||||||
/* Restore C environment */
|
/* Restore C environment */
|
||||||
la tp, init_task
|
la tp, init_task
|
||||||
sw zero, TASK_TI_CPU(tp)
|
sw zero, TASK_TI_CPU(tp)
|
||||||
|
la sp, init_thread_union + THREAD_SIZE
|
||||||
la sp, init_thread_union
|
|
||||||
li a0, ASM_THREAD_SIZE
|
|
||||||
add sp, sp, a0
|
|
||||||
|
|
||||||
/* Start the kernel */
|
/* Start the kernel */
|
||||||
mv a0, s0
|
mv a0, s0
|
||||||
|
|
Loading…
Reference in New Issue