processor.h (437B)
1/* SPDX-License-Identifier: GPL-2.0-only */ 2#ifndef __ASM_VDSO_PROCESSOR_H 3#define __ASM_VDSO_PROCESSOR_H 4 5#ifndef __ASSEMBLY__ 6 7#include <asm/barrier.h> 8 9static inline void cpu_relax(void) 10{ 11#ifdef __riscv_muldiv 12 int dummy; 13 /* In lieu of a halt instruction, induce a long-latency stall. */ 14 __asm__ __volatile__ ("div %0, %0, zero" : "=r" (dummy)); 15#endif 16 barrier(); 17} 18 19#endif /* __ASSEMBLY__ */ 20 21#endif /* __ASM_VDSO_PROCESSOR_H */