From f3c446ae1433caef846d3d0723dc0108da8fef47 Mon Sep 17 00:00:00 2001 From: Graham Sanderson Date: Mon, 6 Jun 2022 08:20:00 -0500 Subject: [PATCH] move get_core_num() into platform.h (#852) --- src/host/hardware_sync/include/hardware/sync.h | 2 -- src/host/pico_platform/include/pico/platform.h | 3 +++ src/rp2_common/hardware_sync/include/hardware/sync.h | 9 --------- src/rp2_common/pico_platform/include/pico/platform.h | 11 +++++++++++ 4 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/host/hardware_sync/include/hardware/sync.h b/src/host/hardware_sync/include/hardware/sync.h index a27ea01..58426f5 100644 --- a/src/host/hardware_sync/include/hardware/sync.h +++ b/src/host/hardware_sync/include/hardware/sync.h @@ -86,8 +86,6 @@ bool is_spin_locked(const spin_lock_t *lock); void spin_unlock(spin_lock_t *lock, uint32_t saved_irq); -uint get_core_num(); - spin_lock_t *spin_lock_init(uint lock_num); void clear_spin_locks(void); diff --git a/src/host/pico_platform/include/pico/platform.h b/src/host/pico_platform/include/pico/platform.h index a4d3eaf..b5e8137 100644 --- a/src/host/pico_platform/include/pico/platform.h +++ b/src/host/pico_platform/include/pico/platform.h @@ -139,6 +139,9 @@ static inline int32_t __mul_instruction(int32_t a,int32_t b) static inline void __compiler_memory_barrier(void) { } + +uint get_core_num(); + #ifdef __cplusplus } #endif diff --git a/src/rp2_common/hardware_sync/include/hardware/sync.h b/src/rp2_common/hardware_sync/include/hardware/sync.h index 8f91d55..eee675e 100644 --- a/src/rp2_common/hardware_sync/include/hardware/sync.h +++ b/src/rp2_common/hardware_sync/include/hardware/sync.h @@ -304,15 +304,6 @@ __force_inline static void spin_unlock(spin_lock_t *lock, uint32_t saved_irq) { restore_interrupts(saved_irq); } -/*! \brief Get the current core number - * \ingroup hardware_sync - * - * \return The core number the call was made from - */ -__force_inline static uint get_core_num(void) { - return (*(uint32_t *) (SIO_BASE + SIO_CPUID_OFFSET)); -} - /*! \brief Initialise a spin lock * \ingroup hardware_sync * diff --git a/src/rp2_common/pico_platform/include/pico/platform.h b/src/rp2_common/pico_platform/include/pico/platform.h index ffc7660..1236fcd 100644 --- a/src/rp2_common/pico_platform/include/pico/platform.h +++ b/src/rp2_common/pico_platform/include/pico/platform.h @@ -17,6 +17,8 @@ */ #include "hardware/platform_defs.h" +#include "hardware/regs/addressmap.h" +#include "hardware/regs/sio.h" // Marker for builds targeting the RP2040 #define PICO_RP2040 1 @@ -423,6 +425,15 @@ static inline void busy_wait_at_least_cycles(uint32_t minimum_cycles) { ); } +/*! \brief Get the current core number + * \ingroup pico_platform + * + * \return The core number the call was made from + */ +__force_inline static uint get_core_num(void) { + return (*(uint32_t *) (SIO_BASE + SIO_CPUID_OFFSET)); +} + #else // __ASSEMBLER__ #define WRAPPER_FUNC_NAME(x) __wrap_##x