1. 13 9月, 2013 1 次提交
  2. 03 9月, 2013 1 次提交
  3. 23 7月, 2013 2 次提交
  4. 10 7月, 2013 1 次提交
  5. 28 6月, 2013 2 次提交
  6. 02 5月, 2013 1 次提交
    • E
      target-i386: Replace cpuid_*features fields with a feature word array · 0514ef2f
      Eduardo Habkost 提交于
      This replaces the feature-bit fields on both X86CPU and x86_def_t
      structs with an array.
      
      With this, we will be able to simplify code that simply does the same
      operation on all feature words (e.g. kvm_check_features_against_host(),
      filter_features_for_kvm(), add_flagname_to_bitmaps(), CPU feature-bit
      property lookup/registration, and the proposed "feature-words" property)
      
      The following field replacements were made on X86CPU and x86_def_t:
      
        (cpuid_)features         -> features[FEAT_1_EDX]
        (cpuid_)ext_features     -> features[FEAT_1_ECX]
        (cpuid_)ext2_features    -> features[FEAT_8000_0001_EDX]
        (cpuid_)ext3_features    -> features[FEAT_8000_0001_ECX]
        (cpuid_)ext4_features    -> features[FEAT_C000_0001_EDX]
        (cpuid_)kvm_features     -> features[FEAT_KVM]
        (cpuid_)svm_features     -> features[FEAT_SVM]
        (cpuid_)7_0_ebx_features -> features[FEAT_7_0_EBX]
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      Reviewed-by: NIgor Mammedov <imammedo@redhat.com>
      Signed-off-by: NAndreas Färber <afaerber@suse.de>
      0514ef2f
  7. 23 3月, 2013 1 次提交
  8. 12 3月, 2013 2 次提交
  9. 20 2月, 2013 2 次提交
  10. 19 2月, 2013 1 次提交
  11. 16 2月, 2013 2 次提交
  12. 02 2月, 2013 1 次提交
  13. 01 2月, 2013 1 次提交
  14. 15 1月, 2013 5 次提交
  15. 19 12月, 2012 2 次提交
  16. 16 12月, 2012 1 次提交
  17. 31 10月, 2012 3 次提交
  18. 23 10月, 2012 1 次提交
    • A
      Rename target_phys_addr_t to hwaddr · a8170e5e
      Avi Kivity 提交于
      target_phys_addr_t is unwieldly, violates the C standard (_t suffixes are
      reserved) and its purpose doesn't match the name (most target_phys_addr_t
      addresses are not target specific).  Replace it with a finger-friendly,
      standards conformant hwaddr.
      
      Outstanding patchsets can be fixed up with the command
      
        git rebase -i --exec 'find -name "*.[ch]"
                              | xargs s/target_phys_addr_t/hwaddr/g' origin
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      a8170e5e
  19. 05 10月, 2012 1 次提交
  20. 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
  21. 01 8月, 2012 1 次提交
    • I
      target-i386: move cpu halted decision into x86_cpu_reset · dd673288
      Igor Mammedov 提交于
      MP initialization protocol differs between cpu families, and for P6 and
      onward models it is up to CPU to decide if it will be BSP using this
      protocol, so try to model this. However there is no point in implementing
      MP initialization protocol in qemu. Thus first CPU is always marked as BSP.
      
      This patch:
       - moves decision to designate BSP from board into cpu, making cpu
      self-sufficient in this regard. Later it will allow to cleanup hw/pc.c
      and remove cpu_reset and wrappers from there.
       - stores flag that CPU is BSP in IA32_APIC_BASE to model behavior
      described in Inted SDM vol 3a part 1 chapter 8.4.1
       - uses MSR_IA32_APICBASE_BSP flag in apic_base for checking if cpu is BSP
      
      patch is based on Jan Kiszka's proposal:
          http://thread.gmane.org/gmane.comp.emulators.qemu/100806Signed-off-by: NIgor Mammedov <imammedo@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      dd673288
  22. 29 6月, 2012 1 次提交
    • 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
  23. 25 6月, 2012 2 次提交
  24. 05 6月, 2012 3 次提交
  25. 12 5月, 2012 1 次提交
    • A
      target-i386: Defer MCE init · 7a059953
      Andreas Färber 提交于
      Commit de024815 (target-i386: QOM'ify
      CPU init) moved mce_init() call from helper.c:cpu_x86_init() into
      X86CPU's cpu.c:x86_cpu_initfn().
      mce_init() checks for a family >= 6 though, so we could end up with a
      sequence such as for -cpu somecpu,family=6:
      
        x86_cpu_initfn => X86CPU::family == 5
          mce_init => no-op
        cpu_x86_register => X86CPU::family = 6
        => MCE unexpectedly not init'ed
      
      or for -cpu someothercpu,family=5:
      
        x86_cpu_initfn => X86CPU::family == 6
          mce_init => init'ed
        cpu_x86_register => X86CPU::family = 5
        => MCE unexpectedly init'ed
      
      Therefore partially revert the above commit. To avoid moving
      mce_init() back into helper.c, foresightedly move it into a
      new x86_cpu_realize() function and, in lack of ObjectClass::realize,
      call it directly from cpu_x86_init().
      
      While at it, move the qemu_init_vcpu() call that used to follow
      mce_init() in cpu_x86_init() into the new realizefn as well.
      Reported-by: NIgor Mammedov <imammedo@redhat.com>
      Signed-off-by: NAndreas Färber <afaerber@suse.de>
      Reviewed-by: NIgor Mammedov <imammedo@redhat.com>
      7a059953