On Wed, Oct 24, 2018 at 11:53:54AM -0700, Andy Lutomirski wrote: > On Tue, Oct 23, 2018 at 11:43 AM Chang S. Bae <chang.seok....@intel.com> > wrote: > > > > From: Andi Kleen <a...@linux.intel.com> > > > > Add C intrinsics and assembler macros for the new FSBASE and GSBASE > > instructions. > > > > Very straight forward. Used in followon patches. > > > > [ luto: Rename the variables from FS and GS to FSBASE and GSBASE and > > make <asm/fsgsbase.h> safe to include on 32-bit kernels. ] > > > > v2: Use __always_inline > > > > [ chang: Revise the changelog. Place them in <asm/fsgsbase.h>. Replace > > the macros with GAS-compatible ones. ] > > > > If GCC supports it, we can add -mfsgsbase to CFLAGS and use the builtins > > here for extra performance. > > Reviewed-by: Andy Lutomirski <l...@kernel.org> # C parts only > > With the caveat that I'm not convinced that the memory clobbers are > needed. The __force_order trick in special_insns.h would probably be > more appropriate. > > I don't feel qualified to review the asm part without some research. > Whereas hpa or Boris could probably review it with their eyes closed.
BTW the other option would be to update the min-binutils requirement to 2.21 (currently it is 2.20) and then write it directly without .byte. I believe 2.21 added support for these instructions. (It's only a binutils requirement, don't need gcc support) -Andi