1. 26 9月, 2012 1 次提交
  2. 22 8月, 2012 1 次提交
    • S
      virtio-blk: hide VIRTIO_BLK_F_CONFIG_WCE from old machine types · ea776abc
      Stefan Hajnoczi 提交于
      QEMU has a policy of keeping a stable guest device ABI.  When new guest device
      features are introduced they must not change hardware info seen by existing
      guests.  This is important because operating systems or applications may
      "fingerprint" the hardware and refuse to run when the hardware changes.  To
      always get the latest guest device ABI, run with x86 machine type "pc".
      
      This patch hides the new VIRTIO_BLK_F_CONFIG_WCE virtio feature bit from
      existing machine types.  Only pc-1.2 and later will expose this feature
      by default.
      
      For more info on the VIRTIO_BLK_F_CONFIG_WCE feature bit, see:
      
        commit 13e3dce0
        Author: Paolo Bonzini <pbonzini@redhat.com>
        Date:   Thu Aug 9 16:07:19 2012 +0200
      
            virtio-blk: support VIRTIO_BLK_F_CONFIG_WCE
      
            Also rename VIRTIO_BLK_F_WCACHE to VIRTIO_BLK_F_WCE for consistency with
            the spec.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      
      Anthony Liguori <aliguori@us.ibm.com> reported:
      
        This broke qemu-test because it changed the pc-1.0 machine type:
      
        Setting guest RANDOM seed to 47167
        *** Running tests ***
        Running test /tests/finger-print.sh...		OK
        --- fingerprints/pc-1.0.x86_64	2011-12-18 13:08:40.000000000 -0600
        +++ fingerprint.txt	2012-08-12 13:30:48.000000000 -0500
        @@ -55,7 +55,7 @@
         /sys/bus/pci/devices/0000:00:06.0/subsystem_device=0x0002
         /sys/bus/pci/devices/0000:00:06.0/class=0x010000
         /sys/bus/pci/devices/0000:00:06.0/revision=0x00
        -/sys/bus/pci/devices/0000:00:06.0/virtio/host-features=0x710006d4
        +/sys/bus/pci/devices/0000:00:06.0/virtio/host-features=0x71000ed4
         /sys/class/dmi/id/bios_vendor=Bochs
         /sys/class/dmi/id/bios_date=01/01/2007
         /sys/class/dmi/id/bios_version=Bochs
        Guest fingerprint changed for pc-1.0!
      Reported-by: NAnthony Liguori <aliguori@us.ibm.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      ea776abc
  3. 20 8月, 2012 1 次提交
  4. 18 8月, 2012 1 次提交
    • S
      virtio-blk: hide VIRTIO_BLK_F_CONFIG_WCE from old machine types · eec7f96c
      Stefan Hajnoczi 提交于
      QEMU has a policy of keeping a stable guest device ABI.  When new guest device
      features are introduced they must not change hardware info seen by existing
      guests.  This is important because operating systems or applications may
      "fingerprint" the hardware and refuse to run when the hardware changes.  To
      always get the latest guest device ABI, run with x86 machine type "pc".
      
      This patch hides the new VIRTIO_BLK_F_CONFIG_WCE virtio feature bit from
      existing machine types.  Only pc-1.2 and later will expose this feature
      by default.
      
      For more info on the VIRTIO_BLK_F_CONFIG_WCE feature bit, see:
      
        commit 13e3dce0
        Author: Paolo Bonzini <pbonzini@redhat.com>
        Date:   Thu Aug 9 16:07:19 2012 +0200
      
            virtio-blk: support VIRTIO_BLK_F_CONFIG_WCE
      
            Also rename VIRTIO_BLK_F_WCACHE to VIRTIO_BLK_F_WCE for consistency with
            the spec.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      
      Anthony Liguori <aliguori@us.ibm.com> reported:
      
        This broke qemu-test because it changed the pc-1.0 machine type:
      
        Setting guest RANDOM seed to 47167
        *** Running tests ***
        Running test /tests/finger-print.sh...		OK
        --- fingerprints/pc-1.0.x86_64	2011-12-18 13:08:40.000000000 -0600
        +++ fingerprint.txt	2012-08-12 13:30:48.000000000 -0500
        @@ -55,7 +55,7 @@
         /sys/bus/pci/devices/0000:00:06.0/subsystem_device=0x0002
         /sys/bus/pci/devices/0000:00:06.0/class=0x010000
         /sys/bus/pci/devices/0000:00:06.0/revision=0x00
        -/sys/bus/pci/devices/0000:00:06.0/virtio/host-features=0x710006d4
        +/sys/bus/pci/devices/0000:00:06.0/virtio/host-features=0x71000ed4
         /sys/class/dmi/id/bios_vendor=Bochs
         /sys/class/dmi/id/bios_date=01/01/2007
         /sys/class/dmi/id/bios_version=Bochs
        Guest fingerprint changed for pc-1.0!
      Reported-by: NAnthony Liguori <aliguori@us.ibm.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      eec7f96c
  5. 22 6月, 2012 2 次提交
  6. 20 6月, 2012 2 次提交
    • C
      Allow machines to configure the QEMU_VERSION that's exposed via hardware · 93bfef4c
      Crístian Viana 提交于
      QEMU exposes its version to the guest's hardware and in some cases that is wrong
      (e.g. Windows prints messages about driver updates when you switch
      the QEMU version).
      There is a new field now on the struct QEmuMachine, hw_version, which may
      contain the version that the specific machine should report. If that field is
      set, then that machine will report that version to the guest.
      Signed-off-by: NCrístian Viana <vianac@linux.vnet.ibm.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      93bfef4c
    • G
      Add PIIX4 properties to control PM system states. · 459ae5ea
      Gleb Natapov 提交于
      This patch adds two things. First it allows QEMU to distinguish between
      regular powerdown and S4 powerdown. Later separate QMP notification will
      be added for S4 powerdown. Second it allows S3/S4 states to be disabled
      from QEMU command line. Some guests known to be broken with regards to
      power management, but allow to use it anyway. Using new properties
      management will be able to disable S3/S4 for such guests.
      
      Supported system state are passed to a firmware using new fw_cfg file.
      The file contains  6 byte array. Each byte represents one system
      state. If byte at offset X has its MSB set it means that system state
      X is supported and to enter it guest should use the value from lowest 3
      bits.
      Signed-off-by: NGleb Natapov <gleb@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      459ae5ea
  7. 18 6月, 2012 1 次提交
    • P
      qdev: Move bus properties to abstract superclasses · bce54474
      Paolo Bonzini 提交于
      In qdev, each bus in practice identified an abstract superclass, but
      this was mostly hidden.  In QOM, instead, these abstract classes are
      explicit so we can move bus properties there.
      
      All bus property walks are removed, and all device property walks
      are changed to look along the class hierarchy instead.
      
      We would have duplicates if class A defines some properties and its
      subclass B does not define any, because class_b->props will be
      left equal to class_a->props.
      
      The solution here is to reintroduce the class_base_init TypeInfo
      callback, that was present in one of the early QOM versions but
      removed (on my request...) before committing.
      
      This breaks global bus properties, an obscure feature when used
      with the command-line which is actually useful and used when used by
      backwards-compatible machine types.  So this patch also adjusts the
      global bus properties in hw/pc_piix.c to refer to the abstract class.
      
      Globals and other properties must be modified in the same patch to
      avoid complications related to initialization ordering.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NAndreas Färber <afaerber@suse.de>
      bce54474
  8. 22 5月, 2012 2 次提交
  9. 14 5月, 2012 1 次提交
  10. 17 4月, 2012 1 次提交
    • G
      usb/vmstate: add parent dev path · eeb0cf9a
      Gerd Hoffmann 提交于
      ... to make vmstate id string truely unique with multiple host
      controllers, i.e. move from "1/usb-ptr" to "0000:00:01.3/1/usb-ptr"
      (usb tabled connected to piix3 uhci).
      
      This obviously breaks migration.  To handle this the usb bus
      property "full-path" is added.  When setting this to false old
      behavior is maintained.  This way current qemu will be compatible
      with old versions when started using '-M pc-$oldversion'.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      eeb0cf9a
  11. 16 4月, 2012 1 次提交
  12. 11 4月, 2012 2 次提交
    • D
      virtio-pci: change virtio balloon PCI class code · 2ba1d381
      David Gibson 提交于
      Currently the virtio balloon device, when using the virtio-pci interface
      advertises itself with PCI class code MEMORY_RAM.  This is wrong; the
      balloon is vaguely related to memory, but is nothing like a PCI memory
      device in the meaning of the class code, and this code is not required
      or suggested by the virtio PCI specification.
      
      Worse, this patch causes problems on the pseries machine, because the
      firmware, seeing this class code, advertises the device as memory in the
      device tree, and then a guest kernel bug causes it to see this "memory"
      before the real system memory, leading to a crash in early boot.
      
      This patch fixes the problem by removing the bogus PCI class code on the
      balloon device.  The backwards compatibility PC machines get new compat
      properties so that they don't change.
      
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      2ba1d381
    • M
      pc: reduce duplication in compat machine types · d6c73008
      Michael S. Tsirkin 提交于
      Make it easier to add compat properties, by
      adding macros for properties duplicated across
      machine types.
      
      Note: there could be bugs in compat properties,
      this patch does not attempt to address them,
      the code is bug for bug identical to the original.
      
      Tested by: generated a preprocessed file, sorted and
      compared to sorted original.
      Lightly tested on x86_64.
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      d6c73008
  13. 03 4月, 2012 1 次提交
    • P
      qdev: add children before qdev_init · f424d5c4
      Paolo Bonzini 提交于
      We want the composition tree to to be in order by the time we call
      qdev_init, so that a single set of the toplevel realize property can
      propagate all the way down the composition tree.
      
      This is not the case so far.  Unfortunately, this is incompatible
      with calling qdev_init in the constructor wrappers for devices,
      so for now we need to unattach some devices that are created through
      those wrappers.  This will be fixed by removing qdev_init and instead
      setting the toplevel realize property after machine init.
      Reviewed-by: NAnthony Liguori <aliguori@us.ibm.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      f424d5c4
  14. 30 3月, 2012 1 次提交
  15. 13 3月, 2012 1 次提交
  16. 29 2月, 2012 1 次提交
  17. 25 2月, 2012 1 次提交
    • G
      suspend: switch acpi s3 to new infrastructure. · da98c8eb
      Gerd Hoffmann 提交于
      This patch switches pc s3 suspend over to the new infrastructure.
      The cmos_s3 qemu_irq is killed, the new notifier is used instead.
      The xen hack goes away with that too, the hypercall can simply be
      done in a notifier function now.
      
      This patch also makes the guest actually stay suspended instead
      of leaving suspend instantly, so it is useful for more than just
      testing whenever the suspend/resume cycle actually works.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      da98c8eb
  18. 22 2月, 2012 3 次提交
  19. 09 2月, 2012 1 次提交
  20. 04 2月, 2012 1 次提交
  21. 19 1月, 2012 3 次提交
    • J
      kvm: x86: Add user space part for in-kernel IOAPIC · a39c1d47
      Jan Kiszka 提交于
      This introduces the KVM-accelerated IOAPIC model 'kvm-ioapic' and
      extends the IRQ routing setup by the 0->2 redirection when needed.
      
      The kvm-ioapic model has a property that allows to define its GSI base
      for injecting interrupts into the kernel model. This will allow to
      disentangle PIC and IOAPIC pins for chipsets that support more
      sophisticated IRQ routes than the PIIX3. So far the base is kept at 0,
      i.e. PIC and IOAPIC share pins 0..15.
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      a39c1d47
    • J
      kvm: x86: Add user space part for in-kernel i8259 · 10b61882
      Jan Kiszka 提交于
      Introduce the alternative 'kvm-i8259' device model that exploits KVM
      in-kernel acceleration.
      
      The PIIX3 initialization code is furthermore extended by KVM specific
      IRQ route setup. GSI injection differs in KVM mode from the user space
      model. As we can dispatch ISA-range IRQs to both IOAPIC and PIC inside
      the kernel, we do not need to inject them separately. This is reflected
      by a KVM-specific GSI handler.
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      10b61882
    • J
      kvm: Move kvmclock into hw/kvm folder · 3b9a6ee5
      Jan Kiszka 提交于
      More KVM-specific devices will come, so let's start with moving the
      kvmclock into a dedicated folder.
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      3b9a6ee5
  22. 16 1月, 2012 1 次提交
  23. 21 12月, 2011 3 次提交
  24. 19 12月, 2011 2 次提交
  25. 15 12月, 2011 2 次提交
  26. 15 11月, 2011 1 次提交
  27. 08 11月, 2011 2 次提交