projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
bf9c912
)
x86/cpu: Use XGETBV and XSETBV mnemonics in fpu/internal.h
author
Uros Bizjak
<ubizjak@gmail.com>
Tue, 7 Jul 2020 17:47:22 +0000
(19:47 +0200)
committer
Borislav Petkov
<bp@suse.de>
Tue, 18 Aug 2020 13:49:07 +0000
(15:49 +0200)
Current minimum required version of binutils is 2.23, which supports
XGETBV and XSETBV instruction mnemonics.
Replace the byte-wise specification of XGETBV and XSETBV with these
proper mnemonics.
Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link:
https://lkml.kernel.org/r/20200707174722.58651-1-ubizjak@gmail.com
arch/x86/include/asm/fpu/internal.h
patch
|
blob
|
history
diff --git
a/arch/x86/include/asm/fpu/internal.h
b/arch/x86/include/asm/fpu/internal.h
index
0a460f2
..
21a8b52
100644
(file)
--- a/
arch/x86/include/asm/fpu/internal.h
+++ b/
arch/x86/include/asm/fpu/internal.h
@@
-602,9
+602,7
@@
static inline u64 xgetbv(u32 index)
{
u32 eax, edx;
- asm volatile(".byte 0x0f,0x01,0xd0" /* xgetbv */
- : "=a" (eax), "=d" (edx)
- : "c" (index));
+ asm volatile("xgetbv" : "=a" (eax), "=d" (edx) : "c" (index));
return eax + ((u64)edx << 32);
}
@@
-613,8
+611,7
@@
static inline void xsetbv(u32 index, u64 value)
u32 eax = value;
u32 edx = value >> 32;
- asm volatile(".byte 0x0f,0x01,0xd1" /* xsetbv */
- : : "a" (eax), "d" (edx), "c" (index));
+ asm volatile("xsetbv" :: "a" (eax), "d" (edx), "c" (index));
}
#endif /* _ASM_X86_FPU_INTERNAL_H */