diff options
author | Raul E Rangel <rrangel@chromium.org> | 2021-07-12 13:49:59 -0600 |
---|---|---|
committer | Raul Rangel <rrangel@chromium.org> | 2021-07-18 15:14:10 +0000 |
commit | b29f9d471bade1cf6d5e0994af7ccf722ac65ef0 (patch) | |
tree | df879543eaefe97ac9baa040f178879f7381ca4c /src/include | |
parent | a98d302fe9dcce13a1c60b4bdfaf2e713fd11b51 (diff) |
lib/thread: Add mutex
We need a way to protect shared resources. Since we are using
cooperative multitasking the mutex implementation is pretty trivial.
BUG=b:179699789
TEST=Verify thread lock and unlock.
Signed-off-by: Raul E Rangel <rrangel@chromium.org>
Change-Id: Ife1ac95ec064ebcdd00fcaacec37a06ac52885ff
Reviewed-on: https://review.coreboot.org/c/coreboot/+/56230
Reviewed-by: Karthik Ramasubramanian <kramasub@google.com>
Reviewed-by: Furquan Shaikh <furquan@google.com>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/thread.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/include/thread.h b/src/include/thread.h index 293a666dbd..4bc04db00a 100644 --- a/src/include/thread.h +++ b/src/include/thread.h @@ -6,6 +6,10 @@ #include <bootstate.h> #include <arch/cpu.h> +struct thread_mutex { + bool locked; +}; + #if ENV_RAMSTAGE && CONFIG(COOP_MULTITASKING) struct thread { @@ -53,6 +57,9 @@ int thread_yield_microseconds(unsigned int microsecs); void thread_coop_enable(void); void thread_coop_disable(void); +void thread_mutex_lock(struct thread_mutex *mutex); +void thread_mutex_unlock(struct thread_mutex *mutex); + static inline void thread_init_cpu_info_non_bsp(struct cpu_info *ci) { ci->thread = NULL; @@ -85,6 +92,10 @@ static inline void thread_coop_enable(void) {} static inline void thread_coop_disable(void) {} struct cpu_info; static inline void thread_init_cpu_info_non_bsp(struct cpu_info *ci) { } + +static inline void thread_mutex_lock(struct thread_mutex *mutex) {} + +static inline void thread_mutex_unlock(struct thread_mutex *mutex) {} #endif #endif /* THREAD_H_ */ |