Merge pull request #1519 from gullradriel/locking-fix

define replacement for enable and disable irq for m0
This commit is contained in:
Mike Walters
2024-12-18 17:44:48 +00:00
committed by GitHub

View File

@ -40,14 +40,14 @@
#else #else
static inline uint32_t load_exclusive(volatile uint32_t* addr) static inline uint32_t load_exclusive(volatile uint32_t* addr)
{ {
__disable_irq(); __asm volatile("cpsid i" ::: "memory");
return *addr; return *addr;
} }
static inline uint32_t store_exclusive(uint32_t val, volatile uint32_t* addr) static inline uint32_t store_exclusive(uint32_t val, volatile uint32_t* addr)
{ {
*addr = val; *addr = val;
__enable_irq(); __asm volatile("cpsie i" ::: "memory");
return 0; return 0;
} }
#endif #endif