From 037cb87276bb8803ee522c60ff23bd892b5ea5fc Mon Sep 17 00:00:00 2001 From: Guennadi Liakhovetski Date: Tue, 4 Feb 2025 10:56:12 +0100 Subject: [PATCH] llext: export spinlock debugging symbols to extensions With spinlock debugging enabled LLEXTs need additional symbols exported by the kernel. Signed-off-by: Guennadi Liakhovetski --- kernel/idle.c | 2 ++ kernel/spinlock_validate.c | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/kernel/idle.c b/kernel/idle.c index 62ff84e4c88..3cf47910093 100644 --- a/kernel/idle.c +++ b/kernel/idle.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -100,3 +101,4 @@ void __weak arch_spin_relax(void) arch_nop(); } +EXPORT_SYMBOL(arch_spin_relax); diff --git a/kernel/spinlock_validate.c b/kernel/spinlock_validate.c index cb7ff5a3e7f..103998dea2f 100644 --- a/kernel/spinlock_validate.c +++ b/kernel/spinlock_validate.c @@ -5,6 +5,7 @@ */ #include #include +#include bool z_spin_lock_valid(struct k_spinlock *l) { @@ -17,6 +18,7 @@ bool z_spin_lock_valid(struct k_spinlock *l) } return true; } +EXPORT_SYMBOL(z_spin_lock_valid); bool z_spin_unlock_valid(struct k_spinlock *l) { @@ -33,15 +35,18 @@ bool z_spin_unlock_valid(struct k_spinlock *l) } return true; } +EXPORT_SYMBOL(z_spin_unlock_valid); void z_spin_lock_set_owner(struct k_spinlock *l) { l->thread_cpu = _current_cpu->id | (uintptr_t)_current; } +EXPORT_SYMBOL(z_spin_lock_set_owner); #ifdef CONFIG_KERNEL_COHERENCE bool z_spin_lock_mem_coherent(struct k_spinlock *l) { return arch_mem_coherent((void *)l); } +EXPORT_SYMBOL(z_spin_lock_mem_coherent); #endif /* CONFIG_KERNEL_COHERENCE */