![Will Deacon](/assets/img/avatar_default.png)
In order to patch in the new atomic instructions at runtime, we need to generate wrappers around the out-of-line exclusive load/store atomics. This patch adds a new Kconfig option, CONFIG_ARM64_LSE_ATOMICS. which causes our atomic functions to branch to the out-of-line ll/sc implementations. To avoid the register spill overhead of the PCS, the out-of-line functions are compiled with specific compiler flags to force out-of-line save/restore of any registers that are usually caller-saved. Reviewed-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
4 lines
85 B
C
4 lines
85 B
C
#include <asm/atomic.h>
|
|
#define __ARM64_IN_ATOMIC_IMPL
|
|
#include <asm/atomic_ll_sc.h>
|