forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-09-20 cf4ce59b3b70238352c7f1729f0f7223214828ad
kernel/arch/x86/um/asm/processor.h
....@@ -1,6 +1,7 @@
11 /* SPDX-License-Identifier: GPL-2.0 */
22 #ifndef __UM_PROCESSOR_H
33 #define __UM_PROCESSOR_H
4
+#include <linux/time-internal.h>
45
56 /* include faultinfo structure */
67 #include <sysdep/faultinfo.h>
....@@ -21,12 +22,19 @@
2122 #include <asm/user.h>
2223
2324 /* REP NOP (PAUSE) is a good thing to insert into busy-wait loops. */
24
-static inline void rep_nop(void)
25
+static __always_inline void rep_nop(void)
2526 {
2627 __asm__ __volatile__("rep;nop": : :"memory");
2728 }
2829
29
-#define cpu_relax() rep_nop()
30
+static __always_inline void cpu_relax(void)
31
+{
32
+ if (time_travel_mode == TT_MODE_INFCPU ||
33
+ time_travel_mode == TT_MODE_EXTERNAL)
34
+ time_travel_ndelay(1);
35
+ else
36
+ rep_nop();
37
+}
3038
3139 #define task_pt_regs(t) (&(t)->thread.regs)
3240