Merge remote-tracking branch 'remotes/kvm/uq/master' into staging
authorPeter Maydell <peter.maydell@linaro.org>
Thu, 6 Feb 2014 23:51:24 +0000 (23:51 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Thu, 6 Feb 2014 23:51:24 +0000 (23:51 +0000)
* remotes/kvm/uq/master:
  target-i386: Move KVM default-vendor hack to instance_init
  target-i386: Don't change x86_def_t struct on cpu_x86_register()
  target-i386: Eliminate CONFIG_KVM #ifdefs
  kvm: add support for hyper-v timers
  kvm: make hyperv vapic assist page migratable
  kvm: make hyperv hypercall and guest os id MSRs migratable.
  kvm: make availability of Hyper-V enlightenments dependent on KVM_CAP_HYPERV
  KVM: fix coexistence of KVM and Hyper-V leaves
  kvm: print suberror on all internal errors
  target-i386: kvm_check_features_against_host(): Kill feature word array
  target-i386: kvm_cpu_fill_host(): Fill feature words in a loop
  target-i386: kvm_cpu_fill_host(): Set all feature words at end of function
  target-i386: kvm_cpu_fill_host(): No need to check xlevel2
  target-i386: kvm_cpu_fill_host(): No need to check CPU vendor
  target-i386: kvm_cpu_fill_host(): No need to check level
  target-i386: kvm_cpu_fill_host(): Kill unused code

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
1  2 
kvm-all.c

diff --combined kvm-all.c
+++ b/kvm-all.c
@@@ -1360,7 -1360,6 +1360,7 @@@ int kvm_init(void
       * page size for the system though.
       */
      assert(TARGET_PAGE_SIZE <= getpagesize());
 +    page_size_init();
  
  #ifdef KVM_CAP_SET_GUEST_DEBUG
      QTAILQ_INIT(&s->kvm_sw_breakpoints);
@@@ -1546,17 -1545,16 +1546,16 @@@ static void kvm_handle_io(uint16_t port
  
  static int kvm_handle_internal_error(CPUState *cpu, struct kvm_run *run)
  {
-     fprintf(stderr, "KVM internal error.");
+     fprintf(stderr, "KVM internal error. Suberror: %d\n",
+             run->internal.suberror);
      if (kvm_check_extension(kvm_state, KVM_CAP_INTERNAL_ERROR_DATA)) {
          int i;
  
-         fprintf(stderr, " Suberror: %d\n", run->internal.suberror);
          for (i = 0; i < run->internal.ndata; ++i) {
              fprintf(stderr, "extra data[%d]: %"PRIx64"\n",
                      i, (uint64_t)run->internal.data[i]);
          }
-     } else {
-         fprintf(stderr, "\n");
      }
      if (run->internal.suberror == KVM_INTERNAL_ERROR_EMULATION) {
          fprintf(stderr, "emulation failure\n");