xref: /linux/arch/x86/include/asm/vdso/processor.h (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright (C) 2020 ARM Ltd.
4  */
5 #ifndef __ASM_VDSO_PROCESSOR_H
6 #define __ASM_VDSO_PROCESSOR_H
7 
8 #ifndef __ASSEMBLY__
9 
10 /* REP NOP (PAUSE) is a good thing to insert into busy-wait loops. */
11 static __always_inline void rep_nop(void)
12 {
13 	asm volatile("rep; nop" ::: "memory");
14 }
15 
16 static __always_inline void cpu_relax(void)
17 {
18 	rep_nop();
19 }
20 
21 struct getcpu_cache;
22 
23 notrace long __vdso_getcpu(unsigned *cpu, unsigned *node, struct getcpu_cache *unused);
24 
25 #endif /* __ASSEMBLY__ */
26 
27 #endif /* __ASM_VDSO_PROCESSOR_H */
28