1. 04 2月, 2010 13 次提交
  2. 31 1月, 2010 4 次提交
  3. 30 1月, 2010 1 次提交
  4. 29 1月, 2010 10 次提交
  5. 28 1月, 2010 4 次提交
  6. 27 1月, 2010 8 次提交
    • E
      pflash: Buffer block writes · b4bf0a9a
      Edgar E. Iglesias 提交于
      Buffer block writes to avoid flushing every word access onto backing
      storage device. This significantly speeds up flash emulation for flashes
      connected through an 8 or 16-bit bus combined with backing storage (-pflash).
      Signed-off-by: NEdgar E. Iglesias <edgar.iglesias@petalogix.com>
      b4bf0a9a
    • A
      virtio: Add memory statistics reporting to the balloon driver · 625a5bef
      Adam Litke 提交于
      When using ballooning to manage overcommitted memory on a host, a system for
      guests to communicate their memory usage to the host can provide information
      that will minimize the impact of ballooning on the guests.  The current method
      employs a daemon running in each guest that communicates memory statistics to a
      host daemon at a specified time interval.  The host daemon aggregates this
      information and inflates and/or deflates balloons according to the level of
      host memory pressure.  This approach is effective but overly complex since a
      daemon must be installed inside each guest and coordinated to communicate with
      the host.  A simpler approach is to collect memory statistics in the virtio
      balloon driver and communicate them directly to the hypervisor.
      Signed-off-by: NAdam Litke <agl@us.ibm.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      625a5bef
    • A
      New API for asynchronous monitor commands · 940cc30d
      Adam Litke 提交于
      Qemu has a number of commands that can operate asynchronously (savevm, migrate,
      etc) and it will be getting more.  For these commands, the user monitor needs
      to be suspended, but QMP monitors could continue to to accept other commands.
      This patch introduces a new command API that isolates the details of handling
      different monitor types from the actual command execution.
      
      A monitor command can use this API by implementing the mhandler.cmd_async
      handler (or info_async if appropriate).  This function is responsible for
      submitting the command and does not return any data although it may raise
      errors.  When the command completes, the QMPCompletion callback should be
      invoked with its opaque data and the command result.
      
      The process for submitting and completing an asynchronous command is different
      for QMP and user monitors.  A user monitor must be suspended at submit time and
      resumed at completion time.  The user_print() function must be passed to the
      QMPCompletion callback so the result can be displayed properly.  QMP monitors
      are simpler.  No submit time setup is required.  When the command completes,
      monitor_protocol_emitter() writes the result in JSON format.
      
      This API can also be used to implement synchronous commands.  In this case, the
      cmd_async handler should immediately call the QMPCompletion callback.  It is my
      hope that this new interface will work for all commands, leading to a
      drastically simplified monitor.c once all commands are ported.
      Signed-off-by: NAdam Litke <agl@us.ibm.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      940cc30d
    • C
      block: avoid creating too large iovecs in multiwrite_merge · e2a305fb
      Christoph Hellwig 提交于
      If we go over the maximum number of iovecs support by syscall we get
      back EINVAL from the kernel which translate to I/O errors for the guest.
      
      Add a MAX_IOV defintion for platforms that don't have it.  For now we use
      the same 1024 define that's used on Linux and various other platforms,
      but until the windows block backend implements some kind of vectored I/O
      it doesn't matter.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      e2a305fb
    • S
      vnc_refresh: calling vnc_update_client might free vs · 6185c578
      Stefano Stabellini 提交于
      Hi all,
      this patch fixes another bug in vnc_refresh: calling vnc_update_client
      might cause vs to be free()ed, in this case we cannot access vs->next
      right after to examine the next item on the list.
      Signed-off-by: NStefano Stabellini <stefano.stabellini@eu.citrix.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      6185c578
    • K
      block/raw-posix: Abort on pread beyond end of non-growable file · 053965c7
      Kevin Wolf 提交于
      This shouldn't happen under any normal circumstances. However, it looks like
      it's possible to achieve this with corrupted images. Without this patch
      raw_pread is hanging in an endless loop in such cases.
      
      The patch is not affecting growable files, for which such reads happen in
      normal use cases. raw_pread_aligned already handles these cases and won't
      return zero in the first place.
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      053965c7
    • H
      win32: pair qemu_memalign() with qemu_vfree() · f8a83245
      Herve Poussineau 提交于
      Win32 suffers from a very big memory leak when dealing with SCSI devices.
      Each read/write request allocates memory with qemu_memalign (ie
      VirtualAlloc) but frees it with qemu_free (ie free).
      Pair all qemu_memalign() calls with qemu_vfree() to prevent such leaks.
      Signed-off-by: NHerve Poussineau <hpoussin@reactos.org>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      f8a83245
    • H
      win32/sdl: Fix toggle full screen · a35aed57
      Herve Poussineau 提交于
      Toggle full screen on Win32/SDL 1.2.13 was broken by commit
      c18a2c36. Re-add the call to
      do_sdl_resize() which was removed in this revision
      Signed-off-by: NHerve Poussineau <hpoussin@reactos.org>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      a35aed57