vx_start.S: Swizzle stack space
Striding stack space for threads by power-of-two risks possibilities of bank conflicts or cache aliasing problems. Add an extra offset of 4 bytes to avoid this.
This commit is contained in:
@@ -102,6 +102,8 @@ init_regs:
|
|||||||
#endif
|
#endif
|
||||||
csrr t0, VX_CSR_MHARTID
|
csrr t0, VX_CSR_MHARTID
|
||||||
sll t1, t0, STACK_LOG2_SIZE
|
sll t1, t0, STACK_LOG2_SIZE
|
||||||
|
sll t2, t0, 2
|
||||||
|
add t1, t1, t2
|
||||||
sub sp, sp, t1
|
sub sp, sp, t1
|
||||||
|
|
||||||
# set thread pointer register
|
# set thread pointer register
|
||||||
|
|||||||
Reference in New Issue
Block a user