1. 17 11月, 2012 2 次提交
  2. 10 11月, 2012 2 次提交
  3. 14 10月, 2012 1 次提交
  4. 01 10月, 2012 1 次提交
    • 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
  5. 28 9月, 2012 1 次提交
  6. 24 8月, 2012 1 次提交
  7. 15 8月, 2012 8 次提交
  8. 29 7月, 2012 1 次提交
    • V
      x86: Fixed incorrect segment base address addition in 64-bits mode · 7162ab21
      Vitaly Chipounov 提交于
      According to the Intel manual
      "Intel® 64 and IA-32 Architectures Software Developer’s Manual
      Volume 3", "3.4.4 Segment Loading Instructions in IA-32e Mode":
      
      "When in compatibility mode, FS and GS overrides operate as defined by
      32-bit mode behavior regardless of the value loaded into the upper 32
      linear-address bits of the hidden descriptor register base field.
      Compatibility mode ignores the upper 32 bits when calculating an effective address."
      
      However, the code misses the 64-bit mode case, where an instruction with
      address and segment size override would be translated incorrectly. For example,
      inc dword ptr gs:260h[ebx*4] gets incorrectly translated to:
      
      (uint32_t)(gs.base + ebx * 4 + 0x260)
      instead of
      gs.base + (uint32_t)(ebx * 4 + 0x260)
      Signed-off-by: NVitaly Chipounov <vitaly.chipounov@epfl.ch>
      Reviewed-by: NMax Filippov <jcmvbkbc@gmail.com>
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      7162ab21
  9. 07 7月, 2012 3 次提交
  10. 06 7月, 2012 1 次提交
  11. 29 6月, 2012 2 次提交
    • B
      x86: improve SSE table type safety · c4baa050
      Blue Swirl 提交于
      SSE function tables could easily be corrupted because of use
      of void pointers.
      
      Introduce function pointer types and helper variables in order
      to improve type safety.
      
      Split sse_op_table3 according to types used.
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      c4baa050
    • B
      x86: avoid AREG0 for exceptions · 77b2bc2c
      Blue Swirl 提交于
      Add an explicit CPUX86State parameter instead of relying on AREG0.
      
      Merge raise_exception_env() to raise_exception(), likewise with
      raise_exception_err_env() and raise_exception_err().
      
      Introduce cpu_svm_check_intercept_param() and cpu_vmexit()
      as wrappers.
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      77b2bc2c
  12. 15 3月, 2012 1 次提交
  13. 13 1月, 2012 1 次提交
  14. 11 1月, 2012 1 次提交
    • A
      target-i386: fix SSE rounding and flush to zero · 2355c16e
      Aurelien Jarno 提交于
      SSE rounding and flush to zero control has never been implemented. However
      given that softfloat-native was using a single state for FPU and SSE and
      given that glibc is setting both FPU and SSE state in fesetround(), this
      was working correctly up to the switch to softfloat.
      
      Fix that by adding an update_sse_status() function similar to
      update_fpu_status(), and callin git on write to mxcsr.
      Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
      2355c16e
  15. 12 12月, 2011 1 次提交
  16. 01 10月, 2011 1 次提交
  17. 21 9月, 2011 1 次提交
  18. 08 9月, 2011 1 次提交
  19. 27 6月, 2011 1 次提交
  20. 08 6月, 2011 1 次提交
  21. 20 4月, 2011 1 次提交
    • S
      Remove unused function parameters from gen_pc_load and rename the function · e87b7cb0
      Stefan Weil 提交于
      Function gen_pc_load was introduced in commit
      d2856f1a.
      The only reason for parameter searched_pc was
      a debug statement in target-i386/translate.c.
      
      Parameter puc was needed by target-sparc until
      commit d7da2a10.
      
      Remove searched_pc from the debug statement and remove both
      parameters from the parameter list of gen_pc_load.
      
      As the function name gen_pc_load was also misleading,
      it is now called restore_state_to_opc. This new name
      was suggested by Peter Maydell, thanks.
      
      v2: Remove last parameter, too, and rename the function.
      
      v3: Fix [] typo in target-arm/translate.c.
          Fix wrong SHA1 object name in commit message (copy+paste error).
      
      Cc: Aurelien Jarno <aurelien@aurel32.net>
      Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: NStefan Weil <weil@mail.berlios.de>
      e87b7cb0
  22. 10 4月, 2011 1 次提交
  23. 20 1月, 2011 1 次提交
  24. 25 7月, 2010 1 次提交
  25. 24 7月, 2010 1 次提交
  26. 02 7月, 2010 2 次提交
  27. 05 6月, 2010 1 次提交