criu/arch/arm/include/asm/processor.h
Ruslan Kuprieiev 3a2d171976 arch:arm: add atomic_cmpxchg
Signed-off-by: Ruslan Kuprieiev <kupruser@gmail.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2014-12-08 15:55:53 +03:00

28 lines
604 B
C

#ifndef __CR_PROCESSOR_H__
#define __CR_PROCESSOR_H__
/* Copied from linux kernel arch/arm/include/asm/unified.h */
#define WASM(instr) #instr
/* Copied from linux kernel arch/arm/include/asm/processor.h */
#define __ALT_SMP_ASM(smp, up) \
"9998: " smp "\n" \
" .pushsection \".alt.smp.init\", \"a\"\n" \
" .long 9998b\n" \
" " up "\n" \
" .popsection\n"
static inline void prefetchw(const void *ptr)
{
__asm__ __volatile__(
".arch_extension mp\n"
__ALT_SMP_ASM(
WASM(pldw) "\t%a0",
WASM(pld) "\t%a0"
)
:: "p" (ptr));
}
#endif /* __CR_PROCESSOR_H__ */