Statistics
| Branch: | Revision:

root / hw / qxl.c @ 16665b94

History | View | Annotate | Download (76.2 kB)

# Date Author Comment
71874c17 03/18/2013 11:21 am Gerd Hoffmann

spice: stop using DisplayState

Rework DisplayStateListener callbacks to not use the DisplayState
any more.

Signed-off-by: Gerd Hoffmann <>

bc2ed970 03/18/2013 11:21 am Gerd Hoffmann

console: zap displaystate from dcl callbacks

Now that nobody depends on DisplayState in DisplayChangeListener
callbacks any more we can remove the parameter from all callbacks.

Signed-off-by: Gerd Hoffmann <>

c78f7137 03/18/2013 11:21 am Gerd Hoffmann

console: stop using DisplayState in gfx hardware emulation

Use QemuConsole instead. Updates interfaces in console.[ch] and adapts
gfx hardware emulation code.

Signed-off-by: Gerd Hoffmann <>

7c20b4a3 03/18/2013 11:21 am Gerd Hoffmann

console: fix displaychangelisteners interface

Split callbacks into separate Ops struct. Pass DisplayChangeListener
pointer as first argument to all callbacks. Uninline a bunch of
display functions and move them from console.h to console.c

Signed-off-by: Gerd Hoffmann <>

c6c06853 03/18/2013 11:21 am Gerd Hoffmann

qxl: zap qxl0 global

DisplayChangeListener is passed now to all DisplayChangeListenerOps
callbacks, so we can use that to access the qxl state and kill the
qxl0 global variable.

Signed-off-by: Gerd Hoffmann <>

c099e7aa 03/18/2013 11:21 am Gerd Hoffmann

qxl: better vga init in enter_vga_mode

Ask the vga core to update the display. Will trigger dpy_gfx_resize
if needed. More complete than just calling dpy_gfx_resize.

Signed-off-by: Gerd Hoffmann <>

c12aeb86 03/18/2013 11:21 am Gerd Hoffmann

console: rework DisplaySurface handling [dcl/ui side]

Replace the dpy_gfx_resize and dpy_gfx_setdata DisplayChangeListener
callbacks with a dpy_gfx_switch callback which notifies the ui code
when the framebuffer backing storage changes.

Signed-off-by: Gerd Hoffmann <>

83c9f4ca 03/01/2013 04:01 pm Paolo Bonzini

hw: include hw header files with full paths

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....

312fd5f2 02/11/2013 04:13 pm Markus Armbruster

error: Strip trailing '\n' from error string arguments (again)

Commit 6daf194d and be62a2eb got rid of a bunch, but they keep coming
back. Tracked down with this Coccinelle semantic patch:

r
expression err, eno, cls, fmt;
position p;
@@
(...
038c1879 01/22/2013 12:01 pm Alon Levy

qxl: change rom size to 8192

This is a simpler solution to 869981, where migration breaks since qxl's
rom bar size has changed. Instead of ignoring fields in QXLRom, which is what has
actually changed, we remove some of the modes, a mechanism already
accounted for by the guest. The modes left allow for portrait and...

e0ac6097 01/22/2013 12:01 pm Alon Levy

qxl: stop using non revision 4 rom fields for revision < 4

Signed-off-by: Alon Levy <>
Signed-off-by: Gerd Hoffmann <>

bc5f92e5 01/14/2013 09:59 am Markus Armbruster

qxl: Fix SPICE_RING_PROD_ITEM(), SPICE_RING_CONS_ITEM() sanity check

The pointer arithmetic there is safe, but ugly. Coverity grouses
about it. However, the actual comparison is off by one: <= end
instead of < end. Fix by rewriting the check in a cleaner way....

08688af0 01/14/2013 09:59 am Markus Armbruster

qxl: Don't drop client capability bits

interface_set_client_capabilities() copies only the first few bits,
because it falls into a Classic C trap: you can declare a parameter
uint8_t caps58, but the resulting parameter type is uint8_t *, not
uint8_t58. In particular, sizeof(caps) is sizeof(uint8_t *), not...

8c43a6f0 01/10/2013 11:11 pm Andreas Färber

Make all static TypeInfos const

Since 39bffca2030950ef6efe57c2fac8327a45ae1015 (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....

9c17d615 12/19/2012 09:32 am Paolo Bonzini

softmmu: move include files to include/sysemu/

Signed-off-by: Paolo Bonzini <>

1de7afc9 12/19/2012 09:32 am Paolo Bonzini

misc: move include files to include/qemu/

Signed-off-by: Paolo Bonzini <>

83c9089e 12/19/2012 09:31 am Paolo Bonzini

monitor: move include files to include/monitor/

Signed-off-by: Paolo Bonzini <>

fa98efe9 11/29/2012 08:58 am Yonit Halperin

qxl: reload memslots after migration, when qxl is in UNDEFINED mode

The devram memslot stays active when qxl enters UNDEFINED mode (i.e, no
primary surface). If migration has occurred while the device is in
UNDEFINED stae, the memslots have to be reloaded at the destination....

bdd4df33 11/05/2012 12:54 pm Gerd Hoffmann

spice: fix initialization order

Register displaychangelistener last, after spice is fully initialized,
otherwise we may hit NULL pointer dereferences when qemu starts calling
our callbacks.

Commit e250d949feb1334828f27f0d145c35f29c4b7639 triggers this bug....

511aefb0 11/05/2012 12:49 pm Alon Levy

hw/qxl: qxl_send_events: nop if stopped

Added a trace point for easy logging.

RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=870972

Signed-off-by: Alon Levy <>
Signed-off-by: Gerd Hoffmann <>

958c2bce 11/05/2012 12:49 pm Gerd Hoffmann

qxl: fix cursor reset

When resetting the qxl cursor notify the qemu displaystate too.

Signed-off-by: Gerd Hoffmann <>

e32c25b5 11/05/2012 12:49 pm Gerd Hoffmann

qxl: call dpy_gfx_resize when entering vga mode

When entering vga mode the display size likely changes,
notify all displaychangelisteners about this.

Probably went unnoticed for a while as one if the first
things the guest does after leaving qxl native mode and...

48f4ba67 11/05/2012 12:49 pm Alon Levy

hw/qxl: guest bug on primary create with stride %4 != 0

Due to usage of pixman for rendering on all spice surfaces we have
pixman's requirement that the stride be word aligned. A guest not
honoring that can crash spice and qemu with it due to failure to create...

a93a4a22 11/01/2012 02:10 pm Gerd Hoffmann

console: untangle gfx & txt updates

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....

a8170e5e 10/23/2012 04:58 pm Avi Kivity

Rename target_phys_addr_t to hwaddr

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,...

ffe01e59 10/08/2012 01:15 pm Gerd Hoffmann

qxl: fix range check for rev3 io commands.

Enables QXL_IO_FLUSH_SURFACES_ASYNC and QXL_IO_FLUSH_RELEASE
which are part of the qxl rev3 feature set.

Signed-off-by: Gerd Hoffmann <>

e25a0651 10/08/2012 01:15 pm Alon Levy

hw/qxl: exit on failure to register qxl interface

This prevents a segfault later on when the device reset handler
tries to access a NULL ssd.worker since interface_attach_worker has
not been called.

Signed-off-by: Alon Levy <>
Signed-off-by: Gerd Hoffmann <>

d96aafca 10/08/2012 01:15 pm Alon Levy

hw/qxl: fix condition for exiting guest_bug

Reported and suggested by Paolo Bonzini, thanks.

Signed-off-by: Alon Levy <>
Signed-off-by: Gerd Hoffmann <>

c5825ac6 10/08/2012 01:15 pm Alon Levy

hw/qxl: qxl_dirty_surfaces: use uintptr_t

As suggested by Paolo Bonzini, to avoid possible integer overflow issues.

Signed-off-by: Alon Levy <>
Signed-off-by: Gerd Hoffmann <>

67be6726 10/08/2012 01:15 pm Gerd Hoffmann

spice: raise requirement to 0.12

With the next qemu version (1.3) we are going to bump the qxl device
revision to 4. The new features available require a recent spice-server
version, so raise up the bar. Otherwise we would end up with different
qxl revisions depending on the spice-server version installed, which...

36a03e0b 10/08/2012 01:15 pm Michael Tokarev

qxl/update_area_io: cleanup invalid parameters handling

This cleans up two additions of almost the same code in commits
511b13e2c9 and ccc2960d654. While at it, make error paths
consistent (always use 'break' instead of 'return').

Signed-off-by: Michael Tokarev <>...

cd6dcc71 09/17/2012 06:21 pm Anthony Liguori

Merge remote-tracking branch 'spice/spice.v60' into staging

  • spice/spice.v60:
    hw/qxl: support client monitor configuration via device
    qxl: add trace-event for QXL_IO_LOG
    hw/qxl: tracing fixes
    qxl: better cleanup for surface destroy
    qxl: Ignore set_client_capabilities pre/post migrate...
a639ab04 09/13/2012 08:31 am Alon Levy

hw/qxl: support client monitor configuration via device

Until now we used only the agent to change the monitor count and each
monitor resolution. This patch introduces the qemu part of using the
device as the mediator instead of the agent via virtio-serial....

917ae08c 09/13/2012 08:31 am Alon Levy

hw/qxl: tracing fixes

Add two new trace events:
qxl_send_events(int qid, uint32_t events) "%d %d"
qxl_set_guest_bug(int qid) "%d"

Change qxl_io_unexpected_vga_mode parameters to be equivalent to those
of qxl_io_write for easier grouping under a single systemtap probe....

1a1bc085 09/13/2012 08:31 am Alon Levy

qxl: add trace-event for QXL_IO_LOG

Signed-off-by: Alon Levy <>
Signed-off-by: Gerd Hoffmann <>

ccc2960d 09/12/2012 09:09 am Dunrong Huang

qxl: dont update invalid area

This patch fixes the following error:

$ ~/usr/bin/qemu-system-x86_64 enable-kvm -m 1024 -spice port=5900,disable-ticketing -vga qxl -cdrom ~/Images/linuxmint-13-mate-dvd-32bit.iso
(/home/mathslinux/usr/bin/qemu-system-x86_64:10068): SpiceWorker-CRITICAL **: red_worker.c:4599:red_update_area: condition `area
>left >= 0 && area->top >= 0 && area->left < area->right && area->top < area->bottom' failed...

ab902981 09/12/2012 09:09 am Hans de Goede

qxl: Ignore set_client_capabilities pre/post migrate

The recent introduction of set_client_capabilities has broken
(seamless) migration by trying to call qxl_send_events pre (seamless
incoming) and post (*) migration, triggering the following assert:
qxl_send_events: Assertion `qemu_spice_display_is_running(&d->ssd)' failed....

753b8b0d 09/12/2012 09:09 am Uri Lublin

qxl: better cleanup for surface destroy

Add back a call to qxl_spice_destroy_surface_wait_complete() in qxl_spice_destroy_surface_wait(),
that was removed by commit c480bb7da465186b84d8427e068ef7502e47ffbf

It is needed to complete surface-removal cleanup, for non async....

b1af98ba 09/12/2012 09:09 am Gerd Hoffmann

spice: switch to queue for vga mode updates

Signed-off-by: Gerd Hoffmann <>

bd8f2f5d 09/12/2012 12:15 am Jan Kiszka

VGA: Flush coalesced MMIO on related MMIO/PIO accesses

In preparation of stopping to flush coalesced MMIO unconditionally on
vmexits, mark VGA MMIO and PIO regions as synchronous /wrt coalesced
MMIO and flush the buffer explicitly on PIO accesses that do not use...

69fc2553 09/10/2012 04:32 pm Aurelien Jarno

Merge branch 'spice.v59' of git://anongit.freedesktop.org/spice/qemu

  • 'spice.v59' of git://anongit.freedesktop.org/spice/qemu:
    Remove #ifdef QXL_COMMAND_FLAG_COMPAT_16BPP
    qxl: Add set_client_capabilities() interface to QXLInterface
    spice: make number of surfaces runtime-configurable....
d7098135 09/05/2012 09:48 pm Luiz Capitulino

console: vga_hw_screen_dump_ptr: take Error argument

All devices that register a screen dump callback via
graphic_console_init() are updated.

The new argument is not used in this commit. Error handling will
be added to each device individually later.

This change is a preparation to convert the screendump command...

d663174d 09/05/2012 09:48 pm Luiz Capitulino

vga: ppm_save(): add error handling

Signed-off-by: Luiz Capitulino <>

ddd8fdc7 09/05/2012 06:11 pm Gerd Hoffmann

spice: make number of surfaces runtime-configurable.

Signed-off-by: Gerd Hoffmann <>

c10018d6 09/05/2012 06:11 pm Søren Sandmann Pedersen

qxl: Add set_client_capabilities() interface to QXLInterface

This new interface lets spice server inform the guest whether

(a) a client is connected
(b) what capabilities the client has

There is a fixed number (464) of bits reserved for capabilities, and...

265db734 09/05/2012 06:11 pm Søren Sandmann Pedersen

Remove #ifdef QXL_COMMAND_FLAG_COMPAT_16BPP

We require spice >= 0.8 now, so this flag is always present.

Signed-off-by: Soren Sandmann <>
Signed-off-by: Gerd Hoffmann <>

71d388d4 09/05/2012 06:11 pm Yonit Halperin

spice: notify on vm state change only via spice_server_vm_start/stop

QXLWorker->start/stop are deprecated since spice-server 0.11.2

Signed-off-by: Yonit Halperin <>
Signed-off-by: Gerd Hoffmann <>

511b13e2 09/05/2012 06:11 pm Alon Levy

qxl/update_area_io: guest_bug on invalid parameters

Signed-off-by: Alon Levy <>
Signed-off-by: Gerd Hoffmann <>

36839d35 09/05/2012 06:11 pm Alon Levy

qxl: disallow unknown revisions

Signed-off-by: Alon Levy <>
Signed-off-by: Gerd Hoffmann <>

020af1c4 09/05/2012 06:11 pm Alon Levy

qxl: add QXL_IO_MONITORS_CONFIG_ASYNC

Revision bumped to 4 for new IO support, enabled for spice-server >=
0.11.1. New io enabled if revision is 4. Revision can be set to 4.

[ kraxel: 3 continues to be the default revision. Once we have a new
stable spice-server release and the qemu patches to enable...

9e56edcf 06/22/2012 11:49 am Gerd Hoffmann

vga: raise default vgamem size

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: Gerd Hoffmann <>

13d1fd44 06/22/2012 11:49 am Alon Levy

qxl: add vgamem_size_mb and vgamem_size

In preperation for supporting a larger framebuffer for multiple monitors
on a single card, add a property to qxl vgamem_size_mb, and corresponding
byte sized vgamem_size, and use instead of VGA_RAM_SIZE.

[ kraxel: simplify property handling, add sanity checks ]...

0a530548 06/22/2012 11:46 am Alon Levy

hw/qxl: s/qxl_guest_bug/qxl_set_guest_bug/

Signed-off-by: Alon Levy <>
Signed-off-by: Gerd Hoffmann <>

0f7bfd81 06/22/2012 11:46 am Alon Levy

qxl: stop dirty loging when not in vga mode

Tested with linux guest. Not sure how to check actual performance affect
of this. Checked with the previously send traceevent that the kvm ioctl
to start/stop dirty logging is being called.
(KVM_SET_USER_MEMORY_REGION)....

087e6a42 06/22/2012 11:46 am Alon Levy

hw/qxl: ignore guest from guestbug until reset

soft_reset is called from any of: * QXL_IO_RESET * vga io * pci reset handler

Signed-off-by: Alon Levy <>
Signed-off-by: Gerd Hoffmann <>

a5f68c22 06/22/2012 11:46 am Alon Levy

qxl: reset current_async on qxl_soft_reset

Signed-off-by: Alon Levy <>
Signed-off-by: Gerd Hoffmann <>

4a1e244e 06/22/2012 11:46 am Gerd Hoffmann

vga: make vram size configurable

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...

3f6297b9 05/14/2012 11:22 am Uri Lublin

qxl: set size of PCI IO BAR correctly (16) for revision 2

Also move it up into switch(qxl->revision) block

Signed-off-by: Uri Lublin <>
Signed-off-by: Gerd Hoffmann <>

4b635c59 05/03/2012 11:45 am Alon Levy

hw/qxl.c: qxl_phys2virt: replace panics with guest_bug

Signed-off-by: Alon Levy <>
Signed-off-by: Gerd Hoffmann <>

fae2afb1 05/03/2012 11:45 am Alon Levy

qxl: check for NULL return from qxl_phys2virt

Signed-off-by: Alon Levy <>
Signed-off-by: Gerd Hoffmann <>

47eddfbf 05/03/2012 11:45 am Alon Levy

qxl: replace panic with guest bug in qxl_track_command

Signed-off-by: Alon Levy <>
Signed-off-by: Gerd Hoffmann <>

2fce7edf 05/03/2012 11:45 am Alon Levy

qxl: fix > 80 chars line

Signed-off-by: Alon Levy <>
Signed-off-by: Gerd Hoffmann <>

0b81c478 05/03/2012 11:45 am Alon Levy

qxl: don't abort on guest trigerrable ring indices mismatch

Signed-off-by: Alon Levy <>
Signed-off-by: Gerd Hoffmann <>

75fe0d7b 05/03/2012 11:45 am Alon Levy

qxl: cleanup s/__FUNCTION__/__func__/

Signed-off-by: Alon Levy <>
Signed-off-by: Gerd Hoffmann <>

baeae407 05/03/2012 11:45 am Alon Levy

qxl: interface_notify_update: remove guest trigerrable abort

Signed-off-by: Alon Levy <>
Signed-off-by: Gerd Hoffmann <>

e954ea28 05/03/2012 11:45 am Alon Levy

qxl: qxl_add_memslot: remove guest trigerrable panics

Signed-off-by: Alon Levy <>
Signed-off-by: Gerd Hoffmann <>

4763e2ca 05/03/2012 11:45 am Alon Levy

qxl: ioport_write: remove guest trigerrable abort

Signed-off-by: Alon Levy <>
Signed-off-by: Gerd Hoffmann <>

ddf9f4b7 05/03/2012 11:45 am Alon Levy

qxl: don't assert on guest create_guest_primary

Signed-off-by: Alon Levy <>
Signed-off-by: Gerd Hoffmann <>

5f8daf2e 04/20/2012 03:14 pm Stefan Weil

qxl: Add missing GCC_FMT_ATTR and fix format specifier

val is an uint64_t, therefore %d was not correct.

Signed-off-by: Stefan Weil <>
Acked-by: Gerd Hoffmann <>
Signed-off-by: Stefan Hajnoczi <>

79ce3567 04/18/2012 01:21 pm Alon Levy

qxl: set default values of vram*_size_mb to -1

The addition of those values caused a regression where not specifying
any value for the vram bar size would result in a 4096 byte surface
area. This is ok for the windows driver but causes the X driver to be...

aa3db423 03/19/2012 02:12 pm Alon Levy

qxl: init_pipe_signaling: exit on failure

If pipe creation fails, exit, don't log and continue. Fix indentation at
the same time.

Signed-off-by: Alon Levy <>
Signed-off-by: Gerd Hoffmann <>

c480bb7d 03/19/2012 02:12 pm Alon Levy

qxl: switch qxl.c to trace-events

dprint is still used for qxl_init_common one time prints.

also switched parts of spice-display.c over, mainly all the callbacks to
spice server.

All qxl device trace events start with the qxl device id.

Signed-off-by: Alon Levy <>...

5dba0d45 03/19/2012 02:12 pm Peter Maydell

hw/qxl.c: Fix compilation failures on 32 bit hosts

Fix compilation failures on 32 bit hosts (cast from pointer to
integer of different size; %ld expects 'long int' not uint64_t).

Reported-by: Steve Langasek <>
Signed-off-by: Peter Maydell <>...

6f2b175a 02/28/2012 06:20 pm Gerd Hoffmann

qxl: add optinal 64bit vram bar

This patch adds an 64bit pci bar for vram. It is turned off by default.
It can be enabled by setting the size of the 64bit bar to be larger than
the 32bit bar. Both 32bit and 64bit bar refer to the same memory. Only
the first part of the memory is available via 32bit bar....

2e1a98c9 02/27/2012 10:46 am Alon Levy

qxl: introduce QXLCookie

Will be used in the next patch.

Signed-off-by: Alon Levy <>
Signed-off-by: Gerd Hoffmann <>

81fb6f15 02/27/2012 10:46 am Alon Levy

qxl: make qxl_render_update async

RHBZ# 747011

Removes the last user of QXL_SYNC when using update drivers that use the
_ASYNC io ports.

The last user is qxl_render_update, it is called both by qxl_hw_update
which is the vga_hw_update_ptr passed to graphic_console_init, and by...

bb5a8cd5 02/27/2012 10:46 am Alon Levy

qxl: fix spice+sdl no cursor regression

regression introduced by 075360945860ad9bdd491921954b383bf762b0e5,

v2: lock around qemu_spice_cursor_refresh_unlocked

Reported-by: Fabiano Fidêncio <>
Signed-off-by: Alon Levy <>...

4295e15a 02/27/2012 10:46 am Alon Levy

qxl: require spice >= 0.8.2

drop all ifdefs on SPICE_INTERFACE_QXL_MINOR >= 1 as a result,
any check for SPICE_SERVER_VERSION that is now always satisfied,
and SPICE_INTERFACE_CORE_MINOR >= 3 tests, because
0.8.2 has SPICE_INTERFACE_QXL_MINOR 1 and
SPICE_INTERFACE_CORE_MINOR 3....

45efb161 02/24/2012 09:36 pm Gerd Hoffmann

optimize screendump for the common non-switch case

switch console only if needed, also pass down whenever the console was
switched or not because a displaysurface redraw is only needed in case
the console was switched.

Signed-off-by: Gerd Hoffmann <>...

80105bbf 02/21/2012 11:36 am Gerd Hoffmann

qxl: drop vram bar minimum size

There is no reason to require a minimum size of 16 MB for the vram.
Lower the limit to 4096 (one page). Make it disapper completely would
break guests.

a974192c 02/21/2012 11:36 am Gerd Hoffmann

qxl: move ram size init to new function

Factor memory bar sizing bits out to a separate function.

Signed-off-by: Gerd Hoffmann <>

017438ee 02/21/2012 11:36 am Gerd Hoffmann

qxl: add user-friendly bar size properties

Add two properties to specify bar sizes in megabytes instead of bytes,
which is alot more user-friendly.

Signed-off-by: Gerd Hoffmann <>

f4a8a424 02/21/2012 11:36 am Gerd Hoffmann

qxl: fix warnings on 32bit

Signed-off-by: Gerd Hoffmann <>

e25139b3 02/21/2012 11:36 am Yonit Halperin

qxl: set only off-screen surfaces dirty instead of the whole vram

We used to assure the guest surfaces were saved before migration by
setting the whole vram dirty. This patch sets dirty only the areas
that are actually used in the vram.

Signed-off-by: Yonit Halperin <>...

2aa9e85c 02/21/2012 11:36 am Yonit Halperin

qxl: make sure primary surface is saved on migration also in compat mode

RHBZ #790083

Signed-off-by: Yonit Halperin <>
Signed-off-by: Gerd Hoffmann <>

83f7d43a 02/15/2012 05:39 pm Andreas Färber

qom: Unify type registration

Replace device_init() with generalized type_init().

While at it, unify naming convention: type_init([$prefix_]register_types)
Also, type_init() is a function, so add preceding blank line where
necessary and don't put a semicolon after the closing brace....

39bffca2 02/03/2012 06:41 pm Anthony Liguori

qdev: register all types natively through QEMU Object Model

This was done in a mostly automated fashion. I did it in three steps and then
rebased it into a single step which avoids repeatedly touching every file in
the tree.

The first step was a sed-based addition of the parent type to the subclass...

40021f08 01/27/2012 06:50 pm Anthony Liguori

pci: convert to QEMU Object Model

Signed-off-by: Anthony Liguori <>

e855761c 01/27/2012 06:50 pm Anthony Liguori

qdev: prepare source tree for code conversion

These are various small stylistic changes which help make things more
consistent such that the automated conversion script can be simpler.

It's not necessary to agree or disagree with these style changes because all...

fd4aa979 01/25/2012 08:32 pm Blue Swirl

memory: change dirty setting APIs to take a size

Instead of each target knowing or guessing the guest page size,
just pass the desired size of dirtied memory area.

Signed-off-by: Blue Swirl <>

6b7332eb 01/17/2012 05:30 pm Markus Armbruster

qxl: Slot sanity check in qxl_phys2virt() is off by one, fix

Spotted by Coverity.

Signed-off-by: Markus Armbruster <>
Signed-off-by: Gerd Hoffmann <>

c5705a77 01/04/2012 01:34 pm Avi Kivity

vmstate, memory: decouple vmstate from memory API

Currently creating a memory region automatically registers it for
live migration. This differs from other state (which is enumerated
in a VMStateDescription structure) and ties the live migration code
into the memory core....

f67ab77a 11/07/2011 06:57 pm Gerd Hoffmann

qxl: fix vga port initialization.

Commit 0a039dc70096b768d3810afa50ba1d214768aaf4 broke vga modes for
qxl-vga by loosing vga_ioport_read windup. qxl needs to hook into
vga port writes only and used to realize that by letting vga_init() do
the work for both reads and writes, then overwrite the write function....

54825d2e 11/01/2011 02:24 pm Alon Levy

qxl: create slots on post_load in vga state

RHBZ 740547

If we migrate when the device is in vga state the guest
still believes the slots are created, and will cause operations
that reference the slots, causing a "panic: virtual address out of range"
on the first of them. Easy to see by migrating in vga mode with...

78e60ba5 10/25/2011 03:00 pm Gerd Hoffmann

qxl: factor out properties

Signed-off-by: Gerd Hoffmann <>

30f6da66 10/25/2011 03:00 pm Yonit Halperin

qxl: fix guest cursor tracking

(1) If the guest cursor command is empty, don't reload it after migration.
(2) Cleaning the guest cursor when it is released by
the spice server. In addition, explicitly reset the
cursor in spice upon destroying the primary surface...

9f0f352d 10/25/2011 03:00 pm Alon Levy

qxl: reset update_surface

update init_qxl_ram to reset update_surface to 0. This fixes one case
of breakage when installing an old driver in a vm that had a new driver
installed. The newer driver would know about surface creation and would
change update_surface to !=0, then a reset would happen, all surfaces...

691f5c7b 10/25/2011 03:00 pm Jan Kiszka

qxl: Convert to QEMU thread API

Use QEMU thread API instead of pthread directly. We still need to get
rid of pthread_yield, though, to drop pthread.h inclusion.

Signed-off-by: Jan Kiszka <>
Signed-off-by: Gerd Hoffmann <>

4ec8d307 10/25/2011 03:00 pm Jan Kiszka

qxl: Drop phread_yield on OOM

This was only a best-effort attempt, by far not guaranteed to have an
effect. Drop it so that also no direct pthread usage remain in the
device model.

Signed-off-by: Jan Kiszka <>
Signed-off-by: Gerd Hoffmann <>

0a039dc7 10/11/2011 04:57 pm Richard Henderson

vga: Convert to isa_register_portio_list

[jan: fix cut'n'paste errors]
[avi: adjust pci variants not to use isa functions]

Signed-off-by: Richard Henderson <>
Signed-off-by: Jan Kiszka <>
Signed-off-by: Avi Kivity <>