1. 10 Feb, 2014 1 commit
  2. 02 Dec, 2013 1 commit
  3. 29 Jul, 2013 1 commit
  4. 22 Jul, 2013 2 commits
  5. 04 Jul, 2013 5 commits
  6. 25 Apr, 2013 1 commit
  7. 16 Apr, 2013 5 commits
    • Gerd Hoffmann's avatar
      console: add GraphicHwOps · 380cd056
      Gerd Hoffmann authored
      Pass a single GraphicHwOps struct pointer to graphic_console_init,
      instead of a bunch of function pointers.
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
    • Gerd Hoffmann's avatar
      console: simplify screendump · 2c62f08d
      Gerd Hoffmann authored
      Screendumps are alot simpler as we can update non-active
      QemuConsoles now.  So we only need to update the QemuConsole
      we want write out, then dump the DisplaySurface content into
      a ppm file.  Done.
      No console switching needed.  No special support code in the
      gfx card emulation needed.  Zap it all.  Also move ppm_save
      out of the vga code and next to the qmp_screendump function.
      For now screen dumping is limited to console #0 (like it used
      to be), even though it is dead simple to extend it to other
      consoles.  I wanna finish the console cleanup before setting
      new qapi interfaces into stone.
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      Tested-by: default avatarIgor Mitsyanko <i.mitsyanko@gmail.com>
    • Gerd Hoffmann's avatar
      hw/vmware_vga.c: various vmware vga fixes. · eb2f9b02
      Gerd Hoffmann authored
      Hardcode depth to 32 bpp.  It effectively was that way before because
      that is the default surface depth, this just makes it explicit in the
      Rename depth to new_depth to make it consistent with the new_width +
      new_height names.  In theory we can make new_depth changeable (i.e.
      allow the guest to fill in -- say -- 16 there).  In practice the guests
      don't try, the X-Server refuses to start if you ask it to use 16bpp
      depth (via DefaultDepth in the Screen section).
      Always return the correct rmask+gmask+bmask values for the given
      Fix mode setting to also verify at new_depth to make sure we have a
      correct DisplaySurface, even if the current video mode happes to be
      16bpp (set by vgabios via bochs vbe interface).  While being at it
      switch over to use qemu_create_displaysurface_from, so the surface is
      backed by guest-visible video memory and we save a memcpy.
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
    • Gerd Hoffmann's avatar
    • Igor Mitsyanko's avatar
      hw/vmware_vga.c: fix screen resize bug introduced after console revamp · 17866fc8
      Igor Mitsyanko authored
      In vmsvga display update function, a pointer to DisplaySurface must be acquired
      after a call to vmsvga_check_size since this function might replace current
      DisplaySurface with a new one.
      Signed-off-by: default avatarIgor Mitsyanko <i.mitsyanko@gmail.com>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
  8. 08 Apr, 2013 2 commits
  9. 18 Mar, 2013 1 commit
  10. 01 Mar, 2013 1 commit
    • Paolo Bonzini's avatar
      hw: include hw header files with full paths · 83c9f4ca
      Paolo Bonzini authored
      Done with this script:
      cd hw
      for i in `find . -name '*.h' | sed 's/^..//'`; do
        echo '\,^#.*include.*["<]'$i'[">], s,'$i',hw/&,'
      done | sed -i -f - `find . -type f`
      This is so that paths remain valid as files are moved.
      Instead, files in hw/dataplane are referenced with the relative path.
      We know they are not going to move to include/, and they are the only
      include files that are in subdirectories _and_ move.
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
  11. 21 Feb, 2013 1 commit
    • Gerd Hoffmann's avatar
      vga: fix byteswapping. · b1424e03
      Gerd Hoffmann authored
      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: default avatarGerd Hoffmann <kraxel@redhat.com>
      Message-id: 1361349432-23884-1-git-send-email-kraxel@redhat.com
      Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
  12. 26 Jan, 2013 1 commit
    • Michael Tokarev's avatar
      vmware_vga: fix out of bounds and invalid rects updating · 8cb6bfb5
      Michael Tokarev authored
      This is a follow up for several attempts to fix this issue.
      Previous incarnations:
      1. http://thread.gmane.org/gmane.linux.ubuntu.bugs.general/3156089
      "qemu-kvm dies when using vmvga driver and unity in the guest" bug.
      Fix by Serge Hallyn:
      This fix is incomplete, since it does not check width and height
      for being negative.  Serge weren't sure if that's the right place
      to fix it, maybe the fix should be up the stack somewhere.
      2. http://thread.gmane.org/gmane.comp.emulators.qemu/166064
      by Marek Vasut: "vmware_vga: Redraw only visible area"
      This one adds the (incomplete) check to vmsvga_update_rect_delayed(),
      the routine just queues the rect updating but does no interesting
      stuff.  It is also incomplete in the same way as patch by Serge,
      but also does not touch width&height at all after adjusting x&y,
      which is wrong.
      As far as I can see, when processing guest requests, the device
      places them into a queue (vmsvga_update_rect_delayed()) and
      processes this queue in different place/time, namely, in
      vmsvga_update_rect().  Sometimes, vmsvga_update_rect() is
      called directly, without placing the request to the gueue.
      This is the place this patch changes, which is the last
      (deepest) in the stack.  I'm not sure if this is the right
      place still, since it is possible we have some queue optimization
      (or may have in the future) which will be upset by negative/wrong
      values here, so maybe we should check for validity of input
      right when receiving request from the guest (and maybe even
      use unsigned types there).  But I don't know the protocol
      and implementation enough to have a definitive answer.
      But since vmsvga_update_rect() has other sanity checks already,
      I'm adding the missing ones there as well.
      Cc'ing BALATON Zoltan and Andrzej Zaborowski who shows in `git blame'
      output and may know something in this area.
      If this patch is accepted, it should be applied to all active
      stable branches (at least since 1.1, maybe even before), with
      minor context change (ds_get_*(s->vga.ds) => s->*).  I'm not
      Cc'ing -stable yet, will do it explicitly once the patch is
      BTW, these checks use fprintf(stderr) -- it should be converted
      to something more appropriate, since stderr will most likely
      disappear somewhere.
      Cc: Marek Vasut <marex@denx.de>
      CC: Serge Hallyn <serge.hallyn@ubuntu.com>
      Cc: BALATON Zoltan <balaton@eik.bme.hu>
      Cc: Andrzej Zaborowski <balrogg@gmail.com>
      Signed-off-by: default avatarMichael Tokarev <mjt@tls.msk.ru>
      Reviewed-by: default avatarMarek Vasut <marex@denx.de>
      Signed-off-by: default avatarSerge Hallyn <serge.hallyn@ubuntu.com>
      Signed-off-by: default avatarBlue Swirl <blauwirbel@gmail.com>
  13. 10 Jan, 2013 1 commit
    • Andreas Färber's avatar
      Make all static TypeInfos const · 8c43a6f0
      Andreas Färber authored
      Since 39bffca2 (qdev: register all
      types natively through QEMU Object Model), TypeInfo as used in
      the common, non-iterative pattern is no longer amended with information
      and should therefore be const.
      Fix the documented QOM examples:
       sed -i 's/static TypeInfo/static const TypeInfo/g' include/qom/object.h
      Since frequently the wrong examples are being copied by contributors of
      new devices, fix all types in the tree:
       sed -i 's/^static TypeInfo/static const TypeInfo/g' */*.c
       sed -i 's/^static TypeInfo/static const TypeInfo/g' */*/*.c
      This also avoids to piggy-back these changes onto real functional
      changes or other refactorings.
      Signed-off-by: default avatarAndreas Färber <afaerber@suse.de>
      Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
  14. 19 Dec, 2012 1 commit
  15. 17 Dec, 2012 1 commit
  16. 10 Nov, 2012 1 commit
  17. 03 Nov, 2012 4 commits
  18. 01 Nov, 2012 2 commits
    • Gerd Hoffmann's avatar
      console: untangle gfx & txt updates · a93a4a22
      Gerd Hoffmann authored
      Stop abusing displaysurface fields for text mode displays.
      (bpp = 0, width = cols, height = lines).
      Add flags to displaystate indicating whenever text mode display
      (curses) or gfx mode displays (sdl, vnc, ...) are present.
      Add separate displaychangelistener callbacks for text / gfx mode
      resize & updates.
      This allows to enable gfx and txt diplays at the same time and also
      paves the way for more cleanups in the future.
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
    • Gerd Hoffmann's avatar
      console: move set_mouse + cursor_define callbacks · bf2fde70
      Gerd Hoffmann authored
      When adding DisplayChangeListeners the set_mouse and cursor_define
      callbacks have been left in DisplayState for some reason.  Fix it.
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
  19. 23 Oct, 2012 1 commit
    • Avi Kivity's avatar
      Rename target_phys_addr_t to hwaddr · a8170e5e
      Avi Kivity authored
      target_phys_addr_t is unwieldly, violates the C standard (_t suffixes are
      reserved) and its purpose doesn't match the name (most target_phys_addr_t
      addresses are not target specific).  Replace it with a finger-friendly,
      standards conformant hwaddr.
      Outstanding patchsets can be fixed up with the command
        git rebase -i --exec 'find -name "*.[ch]"
                              | xargs s/target_phys_addr_t/hwaddr/g' origin
      Signed-off-by: default avatarAvi Kivity <avi@redhat.com>
      Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
  20. 06 Oct, 2012 1 commit
  21. 11 Sep, 2012 1 commit
  22. 05 Sep, 2012 2 commits
  23. 28 Jul, 2012 1 commit
  24. 22 Jun, 2012 2 commits
    • Gerd Hoffmann's avatar
      vga: raise default vgamem size · 9e56edcf
      Gerd Hoffmann authored
      Old size: 8 MB (traditional upstream qemu value).
      New size: 16 MB (traditional qemu-kvm value).
      Also adds compat properties so old machine types
      keep the old default values.
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
    • Gerd Hoffmann's avatar
      vga: make vram size configurable · 4a1e244e
      Gerd Hoffmann authored
      Zap the global VGA_RAM_SIZE #define, make the vga ram size configurable
      for standard vga and vmware vga.  cirrus and qxl are left with a fixed
      size (and private VGA_RAM_SIZE #define) for now.
      qxl needs some non-trivial adjustments in the mode list handling deal
      with a runtime-configurable size, which calls for a separate qxl patch.
      cirrus emulates cards which have 2 MB (isa) and 4 MB (pci), so I guess
      it would make sense to use these sizes.  That change would break
      migration though, so I left it fixed at 8 MB size.  Making it
      configurabls is pretty pointless for cirrus as we have to match real
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>