1. 05 6月, 2014 1 次提交
  2. 13 5月, 2014 3 次提交
    • P
      target-i386: preserve FPU and MSR state on INIT · 43175fa9
      Paolo Bonzini 提交于
      Most MSRs, plus the FPU, MMX, MXCSR, XMM and YMM registers should not
      be zeroed on INIT (Table 9-1 in the Intel SDM).  Copy them out of
      CPUX86State and back in, instead of special casing env->pat.
      
      The relevant fields are already consecutive except PAT and SMBASE.
      However:
      
      - KVM and Hyper-V MSRs should be reset because they include memory
      locations written by the hypervisor.  These MSRs are moved together
      at the end of the preserved area.
      
      - SVM state can be moved out of the way since it is written by VMRUN.
      
      Cc: Andreas Faerber <afaerber@suse.de>
      Reviewed-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      43175fa9
    • P
      target-i386: fix set of registers zeroed on reset · 05e7e819
      Paolo Bonzini 提交于
      BND0-3, BNDCFGU, BNDCFGS, BNDSTATUS were not zeroed on reset, but they
      should be (Intel Instruction Set Extensions Programming Reference
      319433-015, pages 9-4 and 9-6).  Same for YMM.
      
      XCR0 should be reset to 1.
      
      TSC and TSC_RESET were zeroed already by the memset, remove the explicit
      assignments.
      
      Cc: Andreas Faerber <afaerber@suse.de>
      Reviewed-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      05e7e819
    • P
      kvm: reset state from the CPU's reset method · 50a2c6e5
      Paolo Bonzini 提交于
      Now that we have a CPU object with a reset method, it is better to
      keep the KVM reset close to the CPU reset.  Using qemu_register_reset
      as we do now keeps them far apart.
      
      With this patch, PPC no longer calls the kvm_arch_ function, so
      it can get removed there.  Other arches call it from their CPU
      reset handler, and the function gets an ARMCPU/X86CPU/S390CPU.
      
      Note that ARM- and s390-specific functions are called kvm_arm_*
      and kvm_s390_*, while x86-specific functions are called kvm_arch_*.
      That follows the convention used by the different architectures.
      Changing that is the topic of a separate patch.
      Reviewed-by: NGleb Natapov <gnatapov@redhat.com>
      Reviewed-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      50a2c6e5
  3. 06 5月, 2014 1 次提交
    • M
      qom: Clean up fragile use of error_is_set() in set() methods · 65cd9064
      Markus Armbruster 提交于
      Using error_is_set(ERRP) to find out whether a function failed is
      either wrong, fragile, or unnecessarily opaque.  It's wrong when ERRP
      may be null, because errors go undetected when it is.  It's fragile
      when proving ERRP non-null involves a non-local argument.  Else, it's
      unnecessarily opaque (see commit 84d18f06).
      
      I guess the error_is_set(errp) in the ObjectProperty set() methods are
      merely fragile right now, because I can't find a call chain that
      passes a null errp argument.
      
      Make the code more robust and more obviously correct: receive the
      error in a local variable, then propagate it through the parameter.
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: NAndreas Färber <afaerber@suse.de>
      65cd9064
  4. 27 3月, 2014 1 次提交
  5. 14 3月, 2014 16 次提交
  6. 11 3月, 2014 2 次提交
  7. 04 2月, 2014 11 次提交
  8. 07 1月, 2014 1 次提交
  9. 24 12月, 2013 4 次提交