1. 11 3月, 2013 14 次提交
  2. 10 3月, 2013 1 次提交
  3. 09 3月, 2013 3 次提交
  4. 04 3月, 2013 1 次提交
  5. 03 3月, 2013 3 次提交
  6. 01 3月, 2013 3 次提交
  7. 27 2月, 2013 3 次提交
    • J
      net: reduce the unnecessary memory allocation of multiqueue · f6b26cf2
      Jason Wang 提交于
      Edivaldo reports a problem that the array of NetClientState in NICState is too
      large - MAX_QUEUE_NUM(1024) which will wastes memory even if multiqueue is not
      used.
      
      Instead of static arrays, solving this issue by allocating the queues on demand
      for both the NetClientState array in NICState and VirtIONetQueue array in
      VirtIONet.
      
      Tested by myself, with single virtio-net-pci device. The memory allocation is
      almost the same as when multiqueue is not merged.
      
      Cc: Edivaldo de Araujo Pereira <edivaldoapereira@yahoo.com.br>
      Cc: qemu-stable@nongnu.org
      Signed-off-by: NJason Wang <jasowang@redhat.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      f6b26cf2
    • A
      glib: Add compat wrapper for g_poll on old glib · 31e76f65
      Alexander Graf 提交于
      Older glib doesn't implement g_poll(). Most notably the glib version in use
      on SLE11 is on 2.18 which is hit by this.
      
      We do want to use g_poll() in the source however. So on older systems, just
      wrap it with functions that do exist on older versions.
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      Message-id: 1361835970-2889-1-git-send-email-agraf@suse.de
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      31e76f65
    • P
      qemu-log: default to stderr for logging output · 989b697d
      Peter Maydell 提交于
      Switch the default for qemu_log logging output from "/tmp/qemu.log"
      to stderr. This is an incompatible change in some sense, but logging
      is mostly used for debugging purposes so it shouldn't affect production
      use. The previous behaviour can be obtained by adding "-D /tmp/qemu.log"
      to the command line.
      
      This change requires us to:
       * update all the documentation/help text (we take the opportunity
         to smooth out minor inconsistencies between the phrasing in
         linux-user/bsd-user/system help messages)
       * make linux-user and bsd-user defer to qemu-log for the default
         logging destination rather than overriding it themselves
       * ensure that all logfile closing is done via qemu_log_close()
         and that that function doesn't close stderr
      as well as the obvious change to the behaviour of do_qemu_set_log()
      when no logfile name has been specified.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NStefan Hajnoczi <stefanha@redhat.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      Message-id: 1361901160-28729-1-git-send-email-peter.maydell@linaro.org
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      989b697d
  8. 24 2月, 2013 1 次提交
    • P
      Replace all setjmp()/longjmp() with sigsetjmp()/siglongjmp() · 6ab7e546
      Peter Maydell 提交于
      The setjmp() function doesn't specify whether signal masks are saved and
      restored; on Linux they are not, but on BSD (including MacOSX) they are.
      We want to have consistent behaviour across platforms, so we should
      always use "don't save/restore signal mask" (this is also generally
      going to be faster). This also works around a bug in MacOSX where the
      signal-restoration on longjmp() affects the signal mask for a completely
      different thread, not just the mask for the thread which did the longjmp.
      The most visible effect of this was that ctrl-C was ignored on MacOSX
      because the CPU thread did a longjmp which resulted in its signal mask
      being applied to every thread, so that all threads had SIGINT and SIGTERM
      blocked.
      
      The POSIX-sanctioned portable way to do a jump without affecting signal
      masks is to siglongjmp() to a sigjmp_buf which was created by calling
      sigsetjmp() with a zero savemask parameter, so change all uses of
      setjmp()/longjmp() accordingly. [Technically POSIX allows sigsetjmp(buf, 0)
      to save the signal mask; however the following siglongjmp() must not
      restore the signal mask, so the pair can be effectively considered as
      "sigjmp/longjmp which don't touch the mask".]
      
      For Windows we provide a trivial sigsetjmp/siglongjmp in terms of
      setjmp/longjmp -- this is OK because no user will ever pass a non-zero
      savemask.
      
      The setjmp() uses in tests/tcg/test-i386.c and tests/tcg/linux-test.c
      are left untouched because these are self-contained singlethreaded
      test programs intended to be run under QEMU's Linux emulation, so they
      have neither the portability nor the multithreading issues to deal with.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NRichard Henderson <rth@twiddle.net>
      Tested-by: NStefan Weil <sw@weilnetz.de>
      Reviewed-by: NLaszlo Ersek <lersek@redhat.com>
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      6ab7e546
  9. 23 2月, 2013 6 次提交
  10. 22 2月, 2013 5 次提交
    • J
      migration: calculate expected_downtime · 90f8ae72
      Juan Quintela 提交于
      We removed the calculation in commit e4ed1541
      
      Now we add it back.  We need to create dirty_bytes_rate because we
      can't include cpu-all.h from migration.c, and there is no other way to
      include TARGET_PAGE_SIZE.
      Signed-off-by: NJuan Quintela <quintela@redhat.com>
      Reviewed-by: NOrit Wasserman <owasserm@redhat.com>
      90f8ae72
    • A
      ui: add basic GTK gui (v5) · a4ccabcf
      Anthony Liguori 提交于
      This is minimalistic and just contains the basic widget infrastructure.  The GUI
      consists of a menu and a GtkNotebook.  To start with, the notebook has its tabs
      hidden which provides a UI that looks very similar to SDL with the exception of
      the menu bar.
      
      The menu bar allows a user to toggle the visibility of the tabs.  Cairo is used
      for rendering.
      
      I used gtk-vnc as a reference.  gtk-vnc solves the same basic problems as QEMU
      since it was originally written as a remote display for QEMU.  So for the most
      part, the approach to rendering and keyboard handling should be pretty solid for
      GTK.
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      Message-id: 1361367806-4599-4-git-send-email-aliguori@us.ibm.com
      a4ccabcf
    • A
      console: allow VCs to be overridden by UI · d82831db
      Anthony Liguori 提交于
      We want to expose VCs using a VteTerminal widget.  We need access to provide our
      own CharDriverState in order to do this.
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      Message-id: 1361367806-4599-3-git-send-email-aliguori@us.ibm.com
      d82831db
    • G
      vga: fix byteswapping. · b1424e03
      Gerd Hoffmann 提交于
      In case host and guest endianness differ the vga code first creates
      a shared surface (using qemu_create_displaysurface_from), then goes
      patch the surface format to indicate that the bytes must be swapped.
      
      The switch to pixman broke that hack as the format patching isn't
      propagated into the pixman image, so ui code using the pixman image
      directly (such as vnc) uses the wrong format.
      
      Fix that by adding a byteswap parameter to
      qemu_create_displaysurface_from, so we'll use the correct format
      when creating the surface (and the pixman image) and don't have
      to patch the format afterwards.
      
      [ v2: unbreak xen build ]
      
      Cc: qemu-stable@nongnu.org
      Cc: mark.cave-ayland@ilande.co.uk
      Cc: agraf@suse.de
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      Message-id: 1361349432-23884-1-git-send-email-kraxel@redhat.com
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      b1424e03
    • S
      aio: convert aio_poll() to g_poll(3) · 6b5f8762
      Stefan Hajnoczi 提交于
      AioHandler already has a GPollFD so we can directly use its
      events/revents.
      
      Add the int pollfds_idx field to AioContext so we can map g_poll(3)
      results back to AioHandlers.
      
      Reuse aio_dispatch() to invoke handlers after g_poll(3).
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      Reviewed-by: NLaszlo Ersek <lersek@redhat.com>
      Message-id: 1361356113-11049-10-git-send-email-stefanha@redhat.com
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      6b5f8762