1. 05 6月, 2015 1 次提交
    • P
      ui/console: remove dpy_gfx_update_dirty · 42af3e3a
      Paolo Bonzini 提交于
      dpy_gfx_update_dirty expects DIRTY_MEMORY_VGA logging to be always on,
      but that will not be the case soon.  Because it computes the memory
      region on the fly for every update (with memory_region_find), it cannot
      enable/disable logging by itself.
      
      We could always treat updates as invalidations if dirty logging is
      not enabled, assuming that the board will enable logging on the
      RAM region that includes the framebuffer.
      
      However, the function is unused, so just drop it.
      Reviewed-by: NFam Zheng <famz@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      42af3e3a
  2. 06 5月, 2015 2 次提交
  3. 30 4月, 2015 1 次提交
  4. 22 4月, 2015 1 次提交
  5. 12 3月, 2015 1 次提交
  6. 10 3月, 2015 1 次提交
  7. 19 1月, 2015 1 次提交
  8. 29 9月, 2014 1 次提交
    • G
      console: add graphic_console_set_hwops · 1c1f9498
      Gerd Hoffmann 提交于
      Add a function to allow display emulations to switch the hwops
      function pointers.  This is useful for devices which have two
      completely different operation modes.  Typical case is the vga
      compatibility mode vs. native mode in qxl and the upcoming
      virtio-vga device.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      1c1f9498
  9. 17 9月, 2014 1 次提交
  10. 05 9月, 2014 5 次提交
  11. 23 6月, 2014 1 次提交
  12. 10 6月, 2014 2 次提交
  13. 02 6月, 2014 2 次提交
  14. 26 5月, 2014 5 次提交
    • G
      console: add kbd_put_keysym_console · 3f9a6e85
      Gerd Hoffmann 提交于
      So you can send keysyms to a specific (text terminal) console.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      3f9a6e85
    • G
      console: rework text terminal cursor logic · aea7947c
      Gerd Hoffmann 提交于
      Have a global timer.  Update all visible terminal windows syncronously.
      Right now this can be the active_console only, but that will change
      soon.  The global timer will disable itself if not needed, so we only
      have to care start it if needed.  Which might be at console switch time
      or when a new displaychangelistener is registered.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      aea7947c
    • G
      console: update text terminal surface unconditionally · b35e3ba0
      Gerd Hoffmann 提交于
      These days each QemuConsole has its own private DisplaySurface,
      so we can simply render updates all the time.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      b35e3ba0
    • G
      console: nicer initial screen · 521a580d
      Gerd Hoffmann 提交于
      Now that we have a function to create a fancy DisplaySurface with a
      message for the user, to handle non-existing graphics hardware, we
      can make it more generic and use it for other things too.
      
      This patch adds a text line to the in initial DisplaySurface, notifying
      the user that the display isn't initialized yet by the guest.
      
      You can see this in action when starting qemu with '-S'.  Also when
      booting ovmf in qemu (which needs a few moments to initialize itself
      before it initializes the vga).
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      521a580d
    • K
      console: Abort on property access errors · afff2b15
      Kirill Batuzov 提交于
      All defined properties of QemuConsole are mandatory and no access to them
      should fail. Nevertheless not checking returned errors is bad because in case
      of unexpected failure it will hide the bug and cause a memory leak.
      
      Abort in case of unexpected property access errors. This change exposed a bug
      where an attempt was made to write to a read-only property "head".
      
      Set "head" property's value at creation time and do not attempt to change it
      later. This fixes the bug mentioned above.
      Signed-off-by: NKirill Batuzov <batuzovk@ispras.ru>
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      afff2b15
  15. 08 5月, 2014 1 次提交
  16. 20 3月, 2014 2 次提交
    • S
      qom: Add check() argument to object_property_add_link() · 39f72ef9
      Stefan Hajnoczi 提交于
      There are currently three types of object_property_add_link() callers:
      
      1. The link property may be set at any time.
      2. The link property of a DeviceState instance may only be set before
         realize.
      3. The link property may never be set, it is read-only.
      
      Something similar can already be achieved with
      object_property_add_str()'s set() argument.  Follow its example and add
      a check() argument to object_property_add_link().
      
      Also provide default check() functions for case #1 and #2.  Case #3 is
      covered by passing a NULL function pointer.
      
      Cc: Peter Crosthwaite <peter.crosthwaite@petalogix.com>
      Cc: Alexander Graf <agraf@suse.de>
      Cc: Anthony Liguori <aliguori@amazon.com>
      Cc: "Michael S. Tsirkin" <mst@redhat.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      Reviewed-by: NPaolo Bonzini <pbonzini@redhat.com>
      [AF: Tweaked documentation comment]
      Signed-off-by: NAndreas Färber <afaerber@suse.de>
      39f72ef9
    • S
      qom: Make QOM link property unref optional · 9561fda8
      Stefan Hajnoczi 提交于
      Some object_property_add_link() callers expect property deletion to
      unref the link property object.  Other callers expect to manage the
      refcount themselves.  The former are currently broken and therefore leak
      the link property object.
      
      This patch adds a flags argument to object_property_add_link() so the
      caller can specify which refcount behavior they require.  The new
      OBJ_PROP_LINK_UNREF_ON_RELEASE flag causes the link pointer to be
      unreferenced when the property is deleted.
      
      This fixes refcount leaks in qdev.c, xilinx_axidma.c, xilinx_axienet.c,
      s390-virtio-bus.c, virtio-pci.c, virtio-rng.c, and ui/console.c.
      
      Rationale for refcount behavior:
      
       * hw/core/qdev.c
         - bus children are explicitly unreferenced, don't interfere
         - parent_bus is essentially a read-only property that doesn't hold a
           refcount, don't unref
         - hotplug_handler is leaked, do unref
      
       * hw/dma/xilinx_axidma.c
         - rx stream "dma" links are set using set_link, therefore they
           need unref
         - tx streams are set using set_link, therefore they need unref
      
       * hw/net/xilinx_axienet.c
         - same reasoning as hw/dma/xilinx_axidma.c
      
       * hw/pcmcia/pxa2xx.c
         - pxa2xx bypasses set_link and therefore does not use refcounts
      
       * hw/s390x/s390-virtio-bus.c
       * hw/virtio/virtio-pci.c
       * hw/virtio/virtio-rng.c
       * ui/console.c
         - set_link is used and there is no explicit unref, do unref
      
      Cc: Peter Crosthwaite <peter.crosthwaite@petalogix.com>
      Cc: Alexander Graf <agraf@suse.de>
      Cc: Anthony Liguori <aliguori@amazon.com>
      Cc: "Michael S. Tsirkin" <mst@redhat.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      Reviewed-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NAndreas Färber <afaerber@suse.de>
      9561fda8
  17. 05 3月, 2014 3 次提交
  18. 03 12月, 2013 3 次提交
  19. 13 11月, 2013 1 次提交
  20. 23 8月, 2013 1 次提交
  21. 29 6月, 2013 1 次提交
  22. 11 6月, 2013 1 次提交
    • M
      qemu-char: don't issue CHR_EVENT_OPEN in a BH · bd5c51ee
      Michael Roth 提交于
      When CHR_EVENT_OPENED was initially added, it was CHR_EVENT_RESET,
      and it was issued as a bottom-half:
      
      86e94dea
      
      Which we basically used to print out a greeting/prompt for the
      monitor.
      
      AFAICT the only reason this was ever done in a BH was because in
      some cases we'd modify the chr_write handler for a new chardev
      backend *after* the site where we issued the reset (see:
      86e94d:qemu_chr_open_stdio())
      
      At some point this event was renamed to CHR_EVENT_OPENED, and we've
      maintained the use of this BH ever since.
      
      However, due to 9f939df9, we schedule
      the BH via g_idle_add(), which is causing events to sometimes be
      delivered after we've already begun processing data from backends,
      leading to:
      
       known bugs:
      
        QMP:
          session negotation resets with OPENED event, in some cases this
          is causing new sessions to get sporadically reset
      
       potential bugs:
      
        hw/usb/redirect.c:
          can_read handler checks for dev->parser != NULL, which may be
          true if CLOSED BH has not been executed yet. In the past, OPENED
          quiesced outstanding CLOSED events prior to us reading client
          data. If it's delayed, our check may allow reads to occur even
          though we haven't processed the OPENED event yet, and when we
          do finally get the OPENED event, our state may get reset.
      
        qtest.c:
          can begin session before OPENED event is processed, leading to
          a spurious reset of the system and irq_levels
      
        gdbstub.c:
          may start a gdb session prior to the machine being paused
      
      To fix these, let's just drop the BH.
      
      Since the initial reasoning for using it still applies to an extent,
      work around that by deferring the delivery of CHR_EVENT_OPENED until
      after the chardevs have been fully initialized, toward the end of
      qmp_chardev_add() (or some cases, qemu_chr_new_from_opts()). This
      defers delivery long enough that we can be assured a CharDriverState
      is fully initialized before CHR_EVENT_OPENED is sent.
      
      Also, rather than requiring each chardev to do an explicit open, do it
      automatically, and allow the small few who don't desire such behavior to
      suppress the OPENED-on-init behavior by setting a 'explicit_be_open'
      flag.
      
      We additionally add missing OPENED events for stdio backends on w32,
      which were previously not being issued, causing us to not recieve the
      banner and initial prompts for qmp/hmp.
      Reported-by: NStefan Priebe <s.priebe@profihost.ag>
      Signed-off-by: NMichael Roth <mdroth@linux.vnet.ibm.com>
      Message-id: 1370636393-21044-1-git-send-email-mdroth@linux.vnet.ibm.com
      Cc: qemu-stable@nongnu.org
      Signed-off-by: NMichael Roth <mdroth@linux.vnet.ibm.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      bd5c51ee
  23. 26 4月, 2013 2 次提交