Skip to content
Snippets Groups Projects
Select Git revision
  • f987c955c74501c9295a81372c7d363cbe07c8a6
  • openEuler-1.0-LTS default protected
  • openEuler-22.09
  • OLK-5.10
  • openEuler-22.03-LTS
  • openEuler-22.03-LTS-Ascend
  • master
  • openEuler-22.03-LTS-LoongArch-NW
  • openEuler-22.09-HCK
  • openEuler-20.03-LTS-SP3
  • openEuler-21.09
  • openEuler-21.03
  • openEuler-20.09
  • 4.19.90-2210.5.0
  • 5.10.0-123.0.0
  • 5.10.0-60.63.0
  • 5.10.0-60.62.0
  • 4.19.90-2210.4.0
  • 5.10.0-121.0.0
  • 5.10.0-60.61.0
  • 4.19.90-2210.3.0
  • 5.10.0-60.60.0
  • 5.10.0-120.0.0
  • 5.10.0-60.59.0
  • 5.10.0-119.0.0
  • 4.19.90-2210.2.0
  • 4.19.90-2210.1.0
  • 5.10.0-118.0.0
  • 5.10.0-106.19.0
  • 5.10.0-60.58.0
  • 4.19.90-2209.6.0
  • 5.10.0-106.18.0
  • 5.10.0-106.17.0
33 results

arch

  • Clone with SSH
  • Clone with HTTPS
  • user avatar
    Andi Kleen authored and Thomas Gleixner committed
    The kernel needs to explicitly enable FSGSBASE. So, the application needs
    to know if it can safely use these instructions. Just looking at the CPUID
    bit is not enough because it may be running in a kernel that does not
    enable the instructions.
    
    One way for the application would be to just try and catch the SIGILL.
    But that is difficult to do in libraries which may not want to overwrite
    the signal handlers of the main application.
    
    Enumerate the enabled FSGSBASE capability in bit 1 of AT_HWCAP2 in the ELF
    aux vector. AT_HWCAP2 is already used by PPC for similar purposes.
    
    The application can access it open coded or by using the getauxval()
    function in newer versions of glibc.
    
    [ tglx: Massaged changelog ]
    
    Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
    Signed-off-by: default avatarChang S. Bae <chang.seok.bae@intel.com>
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Ravi Shankar <ravi.v.shankar@intel.com>
    Cc: H. Peter Anvin <hpa@zytor.com>
    Link: https://lkml.kernel.org/r/1557309753-24073-18-git-send-email-chang.seok.bae@intel.com
    f987c955
    History
    Name Last commit Last update
    ..