1. 19 3月, 2010 1 次提交
  2. 18 3月, 2010 4 次提交
  3. 17 3月, 2010 13 次提交
    • A
      balloon: Do not save VM state wrt asynchronous virtio operations · 6d0ee850
      Adam Litke 提交于
      When working with the VM state (for loadvm/savevm and migration), it is not
      valid to load and store pointers since the validity of those pointers cannot be
      assured in the new qemu address space.  Therefore, virtio_balloon_save() and
      virtio_balloon_load() must not handle the stats-related fields in struct
      VirtIOBalloon.
      
      If a memory stats request is in-flight at the time of a migration or savevm,
      the request will not complete and should be resubmitted once migration or
      loadvm completes.  Note that this extremely small race window can only be
      triggered using QMP so it is not possible to hang the user monitor.
      Signed-off-by: NAdam Litke <agl@us.ibm.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      6d0ee850
    • C
      block: add logical_block_size property · 8cfacf07
      Christoph Hellwig 提交于
      Add a logical block size attribute as various guest side tools only
      increase the filesystem sector size based on it, not the advisory
      physical block size.
      
      For scsi we already have support for a different logical block size
      in place for CDROMs that we can built upon.  Only my recent block
      device characteristics VPD page needs some fixups.  Note that we
      leave the logial block size for CDROMs hardcoded as the 2k value
      is expected for it in general.
      
      For virtio-blk we already have a feature flag claiming to support
      a variable logical block size that was added for the s390 kuli
      hypervisor.  Interestingly it does not actually change the units
      in which the protocol works, which is still fixed at 512 bytes,
      but only communicates a different minimum I/O granularity.  So
      all we need to do in virtio is to add a trap for unaligned I/O
      and round down the device size to the next multiple of the logical
      block size.
      
      IDE does not support any other logical block size than 512 bytes.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      8cfacf07
    • J
      Avoid crash on '-usbdevice <device>' without parameters · 702f3e0f
      Jan Kiszka 提交于
      Many usbdevice_init implementors assume params is non-NULL.
      Signed-off-by: NJan Kiszka <jan.kiszka@web.de>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      702f3e0f
    • P
      Large page TLB flush · d4c430a8
      Paul Brook 提交于
      QEMU uses a fixed page size for the CPU TLB.  If the guest uses large
      pages then we effectively split these into multiple smaller pages, and
      populate the corresponding TLB entries on demand.
      
      When the guest invalidates the TLB by virtual address we must invalidate
      all entries covered by the large page.  However the address used to
      invalidate the entry may not be present in the QEMU TLB, so we do not
      know which regions to clear.
      
      Implementing a full vaiable size TLB is hard and slow, so just keep a
      simple address/mask pair to record which addresses may have been mapped by
      large pages.  If the guest invalidates this region then flush the
      whole TLB.
      Signed-off-by: NPaul Brook <paul@codesourcery.com>
      d4c430a8
    • M
      monitor: convert do_device_add() to QObject · 8bc27249
      Markus Armbruster 提交于
      8bc27249
    • M
      monitor: Use argument type 'O' for device_add · c7e4e8ce
      Markus Armbruster 提交于
      While there, improve the params help text.
      c7e4e8ce
    • M
      qemu-option: Move the implied first name into QemuOptsList · 8212c64f
      Markus Armbruster 提交于
      We sometimes permit omitting the first option name, for example
      -device foo is short for -device driver=foo.  The name to use
      ("driver" in the example) is passed as argument to qemu_opts_parse().
      For each QemuOptsList, we use at most one such name.
      
      Move the name into QemuOptsList, and pass whether to permit the
      abbreviation.  This ensures continued consistency, and simplifies the
      commit after next in this series.
      8212c64f
    • M
      error: Convert do_device_add() to QError · 0204276b
      Markus Armbruster 提交于
      Conversion to QObject is still missing.
      0204276b
    • M
      Revert "qdev: Use QError for 'device not found' error" · 3801cf8a
      Markus Armbruster 提交于
      This reverts commit 3ced9f7a.
      
      The next commit will convert all of qdev_device_add() to QError, and
      it'll be clearer with this partial conversion reverted.
      3801cf8a
    • M
      qdev: Convert qbus_find() to QError · ac8dae67
      Markus Armbruster 提交于
      ac8dae67
    • M
      qdev: Relax parsing of bus option · fc98eb43
      Markus Armbruster 提交于
      Treat multiple successive slashes as a one slash.  Ignore trailing
      slashes.  This is how POSIX pathnames work.
      fc98eb43
    • M
      fdcfa190
    • M
      qdev: Hide "ptr" properties from users · 036f7166
      Markus Armbruster 提交于
      Users can't set them, so qdev_device_help() shouldn't list them.  Fix
      that.  Also make qdev_prop_parse() hide them instead of printing a
      meaningless "has no parser" error message.
      
      Their value means nothing to users, so qdev_print_props() shouldn't
      print it.  Fix by removing their print method.
      
      Their only use is dirty hacks.  Document that.
      036f7166
  4. 16 3月, 2010 13 次提交
  5. 15 3月, 2010 3 次提交
  6. 14 3月, 2010 1 次提交
  7. 13 3月, 2010 1 次提交
  8. 09 3月, 2010 4 次提交