summaryrefslogtreecommitdiff
path: root/libcpu
diff options
context:
space:
mode:
Diffstat (limited to 'libcpu')
-rw-r--r--libcpu/arm/cortex-a/cpu.c6
-rw-r--r--libcpu/risc-v/k210/cpuport_smp.c5
2 files changed, 11 insertions, 0 deletions
diff --git a/libcpu/arm/cortex-a/cpu.c b/libcpu/arm/cortex-a/cpu.c
index 6b129f89ee..7c6bf58a4b 100644
--- a/libcpu/arm/cortex-a/cpu.c
+++ b/libcpu/arm/cortex-a/cpu.c
@@ -14,6 +14,7 @@
#include <board.h>
#ifdef RT_USING_SMP
+
int rt_hw_cpu_id(void)
{
int cpu_id;
@@ -25,6 +26,11 @@ int rt_hw_cpu_id(void)
return cpu_id;
};
+void rt_hw_spin_lock_init(rt_hw_spinlock_t *lock)
+{
+ lock->slock = 0;
+}
+
void rt_hw_spin_lock(rt_hw_spinlock_t *lock)
{
unsigned long tmp;
diff --git a/libcpu/risc-v/k210/cpuport_smp.c b/libcpu/risc-v/k210/cpuport_smp.c
index a31314a13f..8c57dfeafc 100644
--- a/libcpu/risc-v/k210/cpuport_smp.c
+++ b/libcpu/risc-v/k210/cpuport_smp.c
@@ -25,6 +25,11 @@ int rt_hw_cpu_id(void)
return read_csr(mhartid);
}
+void rt_hw_spin_lock_init(rt_hw_spinlock_t *lock)
+{
+ ((spinlock_t *)lock)->lock = 0;
+}
+
void rt_hw_spin_lock(rt_hw_spinlock_t *lock)
{
spinlock_lock((spinlock_t *)lock);