1. 18 7月, 2017 1 次提交
  2. 15 7月, 2017 2 次提交
  3. 14 7月, 2017 3 次提交
  4. 13 7月, 2017 2 次提交
  5. 08 7月, 2017 1 次提交
  6. 04 7月, 2017 9 次提交
  7. 28 6月, 2017 3 次提交
  8. 20 6月, 2017 10 次提交
  9. 16 6月, 2017 4 次提交
    • S
      hw/i386: fix nvdimm check error path · 7f3cf2d6
      Stefan Hajnoczi 提交于
      Commit e987c37a ("hw/i386: check if
      nvdimm is enabled before plugging") introduced a check to reject nvdimm
      hotplug if -machine pc,nvdimm=on was not given.
      
      This check executes after pc_dimm_memory_plug() has already completed
      and does not reverse the effect of this function in the case of failure.
      
      Perform the check before calling pc_dimm_memory_plug().  This fixes the
      following abort:
      
        $ qemu -M accel=kvm -m 1G,slots=4,maxmem=8G \
               -object memory-backend-file,id=mem1,share=on,mem-path=nvdimm.dat,size=1G
        (qemu) device_add nvdimm,memdev=mem1
        nvdimm is not enabled: missing 'nvdimm' in '-M'
        (qemu) device_add nvdimm,memdev=mem1
        Core dumped
      
      The backtrace is:
      
        #0  0x00007fffdb5b191f in raise () at /lib64/libc.so.6
        #1  0x00007fffdb5b351a in abort () at /lib64/libc.so.6
        #2  0x00007fffdb5a9da7 in __assert_fail_base () at /lib64/libc.so.6
        #3  0x00007fffdb5a9e52 in  () at /lib64/libc.so.6
        #4  0x000055555577a5fa in qemu_ram_set_idstr (new_block=0x555556747a00, name=<optimized out>, dev=dev@entry=0x555556705590) at qemu/exec.c:1709
        #5  0x0000555555a0fe86 in vmstate_register_ram (mr=mr@entry=0x55555673a0e0, dev=dev@entry=0x555556705590) at migration/savevm.c:2293
        #6  0x0000555555965088 in pc_dimm_memory_plug (dev=dev@entry=0x555556705590, hpms=hpms@entry=0x5555566bb0e0, mr=mr@entry=0x555556705630, align=<optimized out>, errp=errp@entry=0x7fffffffc660)
            at hw/mem/pc-dimm.c:110
        #7  0x000055555581d89b in pc_dimm_plug (errp=0x7fffffffc6c0, dev=0x555556705590, hotplug_dev=<optimized out>) at qemu/hw/i386/pc.c:1713
        #8  0x000055555581d89b in pc_machine_device_plug_cb (hotplug_dev=<optimized out>, dev=0x555556705590, errp=0x7fffffffc6c0) at qemu/hw/i386/pc.c:2004
        #9  0x0000555555914da6 in device_set_realized (obj=<optimized out>, value=<optimized out>, errp=0x7fffffffc7e8) at hw/core/qdev.c:926
      
      Cc: Haozhong Zhang <haozhong.zhang@intel.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      Reviewed-by: NEduardo Habkost <ehabkost@redhat.com>
      Reviewed-by: NHaozhong Zhang <haozhong.zhang@intel.com>
      Reviewed-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      7f3cf2d6
    • P
      intel_iommu: cleanup vtd_interrupt_remap_msi() · e7a3b91f
      Peter Xu 提交于
      Move the memcpy upper into where needed, then share the trace so that we
      trace every correct remapping.
      Signed-off-by: NPeter Xu <peterx@redhat.com>
      Reviewed-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      e7a3b91f
    • P
      intel_iommu: cleanup vtd_{do_}iommu_translate() · b9313021
      Peter Xu 提交于
      First, let vtd_do_iommu_translate() return a status, so that we
      explicitly knows whether error occured. Meanwhile, we make sure that
      IOMMUTLBEntry is filled in in that.
      
      Then, cleanup vtd_iommu_translate a bit. So even with PT we'll get a log
      now. Also, remove useless assignments.
      Signed-off-by: NPeter Xu <peterx@redhat.com>
      Reviewed-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      b9313021
    • P
      intel_iommu: switching the rest DPRINTF to trace · 7feb51b7
      Peter Xu 提交于
      We have converted many of the DPRINTF() into traces. This patch does the
      last 100+ ones.
      
      To debug VT-d when error happens, let's try enable:
      
        -trace enable="vtd_err*"
      
      This should works just like the old GENERAL but of course better, since
      we don't need to recompile.
      
      Similar rules apply to the other modules. I was trying to make the
      prefix good enough for sub-module debugging.
      Signed-off-by: NPeter Xu <peterx@redhat.com>
      Reviewed-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      7feb51b7
  10. 13 6月, 2017 2 次提交
  11. 08 6月, 2017 1 次提交
    • D
      kvmclock: update system_time_msr address forcibly · e2b6c171
      Denis Plotnikov 提交于
      Do an update of system_time_msr address every time before reading
      the value of tsc_timestamp from guest's kvmclock page.
      
      There is no other code paths which ensure that qemu has an up-to-date
      value of system_time_msr. So, force this update on guest's tsc_timestamp
      reading.
      
      This bug causes effect on those nested setups which turn off TPR access
      interception for L2 guests and that access being intercepted by L0 doesn't
      show up in L1.
      Linux bootstrap initiate kvmclock before APIC initializing causing TPR access.
      That's why on L1 guests, having TPR interception turned on for L2, the effect
      of the bug is not revealed.
      
      This patch fixes this problem by making sure it knows the correct
      system_time_msr address every time it is needed.
      Signed-off-by: NDenis Plotnikov <dplotnikov@virtuozzo.com>
      Message-Id: <1496054944-25623-1-git-send-email-dplotnikov@virtuozzo.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      e2b6c171
  12. 06 6月, 2017 2 次提交