From 5c2a2e1bb3902a1dced153507a201a180d9c040c Mon Sep 17 00:00:00 2001 From: Arthur Heymans Date: Wed, 19 Apr 2023 21:27:25 +0200 Subject: [PATCH] arch/risc/mcall.h: Make the stack pointer global Clang complains about the stack pointer register variable being uninitialized. This can remediated by making the variable global. Change the variable name to be more unambiguous. Change-Id: I24602372833aa9d413bf396853b223263fd873ed Signed-off-by: Arthur Heymans Reviewed-on: https://review.coreboot.org/c/coreboot/+/74570 Reviewed-by: Elyes Haouas Reviewed-by: Daniel Maslowski Reviewed-by: Felix Singer Tested-by: build bot (Jenkins) --- src/arch/riscv/include/mcall.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/arch/riscv/include/mcall.h b/src/arch/riscv/include/mcall.h index 803ee3e66b..b0b4bc768b 100644 --- a/src/arch/riscv/include/mcall.h +++ b/src/arch/riscv/include/mcall.h @@ -54,10 +54,10 @@ _Static_assert( sizeof(hls_t) == HLS_SIZE, "HLS_SIZE must equal to sizeof(hls_t)"); +register uintptr_t current_stack_pointer asm("sp"); + #define MACHINE_STACK_TOP() ({ \ - /* coverity[uninit_use] : FALSE */ \ - register uintptr_t sp asm ("sp"); \ - (void*)((sp + RISCV_PGSIZE) & -RISCV_PGSIZE); }) + (void *)((current_stack_pointer + RISCV_PGSIZE) & -RISCV_PGSIZE); }) // hart-local storage, at top of stack #define HLS() ((hls_t*)(MACHINE_STACK_TOP() - HLS_SIZE))