From b0c1f773889936934db2552f66921022bc89d6e1 Mon Sep 17 00:00:00 2001 From: Hansung Kim Date: Fri, 29 Mar 2024 12:24:55 -0700 Subject: [PATCH] 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. --- kernel/src/vx_start.S | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kernel/src/vx_start.S b/kernel/src/vx_start.S index b5065c95..d2a81707 100644 --- a/kernel/src/vx_start.S +++ b/kernel/src/vx_start.S @@ -102,6 +102,8 @@ init_regs: #endif csrr t0, VX_CSR_MHARTID sll t1, t0, STACK_LOG2_SIZE + sll t2, t0, 2 + add t1, t1, t2 sub sp, sp, t1 # set thread pointer register