• H
    x86: Implement SMEP and SMAP · a9321a4d
    H. Peter Anvin 提交于
    This patch implements Supervisor Mode Execution Prevention (SMEP) and
    Supervisor Mode Access Prevention (SMAP) for x86.  The purpose of the
    patch, obviously, is to help kernel developers debug the support for
    those features.
    
    A fair bit of the code relates to the handling of CPUID features.  The
    CPUID code probably would get greatly simplified if all the feature
    bit words were unified into a single vector object, but in the
    interest of producing a minimal patch for SMEP/SMAP, and because I had
    very limited time for this project, I followed the existing style.
    
    [ v2: don't change the definition of the qemu64 CPU shorthand, since
      that breaks loading old snapshots.  Per Anthony Liguori this can be
      fixed once the CPU feature set is snapshot.
    
      Change the coding style slightly to conform to checkpatch.pl. ]
    Signed-off-by: NH. Peter Anvin <hpa@linux.intel.com>
    Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
    a9321a4d
cpu.c 66.7 KB