Commit c70e1b47 authored by Borislav Petkov's avatar Borislav Petkov

x86/asm: Use alternative_2() in rdtsc_barrier()

... now that we have it.
Acked-by: default avatarAndy Lutomirski <luto@amacapital.net>
Cc: Richard Weinberger <richard@nod.at>
Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
parent 6620ef28
...@@ -95,13 +95,11 @@ do { \ ...@@ -95,13 +95,11 @@ do { \
* Stop RDTSC speculation. This is needed when you need to use RDTSC * Stop RDTSC speculation. This is needed when you need to use RDTSC
* (or get_cycles or vread that possibly accesses the TSC) in a defined * (or get_cycles or vread that possibly accesses the TSC) in a defined
* code region. * code region.
*
* (Could use an alternative three way for this if there was one.)
*/ */
static __always_inline void rdtsc_barrier(void) static __always_inline void rdtsc_barrier(void)
{ {
alternative(ASM_NOP3, "mfence", X86_FEATURE_MFENCE_RDTSC); alternative_2("", "mfence", X86_FEATURE_MFENCE_RDTSC,
alternative(ASM_NOP3, "lfence", X86_FEATURE_LFENCE_RDTSC); "lfence", X86_FEATURE_LFENCE_RDTSC);
} }
#endif /* _ASM_X86_BARRIER_H */ #endif /* _ASM_X86_BARRIER_H */
...@@ -64,8 +64,8 @@ ...@@ -64,8 +64,8 @@
*/ */
static inline void rdtsc_barrier(void) static inline void rdtsc_barrier(void)
{ {
alternative(ASM_NOP3, "mfence", X86_FEATURE_MFENCE_RDTSC); alternative_2("", "mfence", X86_FEATURE_MFENCE_RDTSC,
alternative(ASM_NOP3, "lfence", X86_FEATURE_LFENCE_RDTSC); "lfence", X86_FEATURE_LFENCE_RDTSC);
} }
#endif #endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment