]> git.proxmox.com Git - qemu.git/commit
x86: Implement SMEP and SMAP
authorH. Peter Anvin <hpa@linux.intel.com>
Wed, 26 Sep 2012 20:18:43 +0000 (13:18 -0700)
committerAnthony Liguori <aliguori@us.ibm.com>
Mon, 1 Oct 2012 13:04:22 +0000 (08:04 -0500)
commita9321a4d49d65d29c2926a51aedc5b91a01f3591
tree5703f3f012c43f9edfabe2ff26d4b0047d7e8925
parent4a19e505df659dd25a77fb790399744f3e1f971c
x86: Implement SMEP and SMAP

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: H. Peter Anvin <hpa@linux.intel.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
target-i386/cc_helper.c
target-i386/cpu.c
target-i386/cpu.h
target-i386/helper.c
target-i386/helper.h
target-i386/translate.c