Statistics
| Branch: | Revision:

root / include @ 3bd88451

# Date Author Comment
3bd88451 04/08/2013 07:13 pm Paolo Bonzini

hw: move timer devices to hw/timer/, configure with default-configs/

Signed-off-by: Paolo Bonzini <>

0d09e41a 04/08/2013 07:13 pm Paolo Bonzini

hw: move headers to include/

Many of these should be cleaned up with proper qdev-/QOM-ification.
Right now there are many catch-all headers in include/hw/ARCH depending
on cpu.h, and this makes it necessary to compile these files per-target.
However, fixing this does not belong in these patches....

9196dd41 04/06/2013 03:53 pm Blue Swirl

Merge branch 'arm-devs.next' of git://git.linaro.org/people/pmaydell/qemu-arm

  • 'arm-devs.next' of git://git.linaro.org/people/pmaydell/qemu-arm:
    hw/nand.c: Fix nand erase operation
    cadence_uart: Flush queued characters on reset
    pl330: Don't inhibit ES bits on INTEN...
5098699a 04/05/2013 08:49 pm Anthony Liguori

Merge remote-tracking branch 'kwolf/for-anthony' into staging

  1. By Stefan Hajnoczi (4) and Kevin Wolf (3)
  2. Via Kevin Wolf
    • kwolf/for-anthony:
      qcow2: Fix L1 write error handling in qcow2_update_snapshot_refcount
      qcow2: Return real error in qcow2_update_snapshot_refcount...
5905fbc9 04/05/2013 07:58 pm Stefan Hajnoczi

block: fix I/O throttling accounting blind spot

I/O throttling relies on bdrv_acct_done() which is called when a request
completes. This leaves a blind spot since we only charge for completed
requests, not submitted requests.

For example, if there is 1 operation remaining in this time slice the...

ae29d6c6 04/05/2013 07:58 pm Stefan Hajnoczi

block: keep I/O throttling slice time constant

It is not necessary to adjust the slice time at runtime. We already
extend the current slice in order to carry over accounting into the next
slice. Changing the actual slice time value introduces oscillations....

bd7f92e5 04/05/2013 06:17 pm Peter Maydell

vmstate: Add support for two dimensional arrays

Add support for migrating two dimensional arrays, by defining
a set of new macros VMSTATE_*_2DARRAY paralleling the existing
VMSTATE_*_ARRAY macros. 2D arrays are handled the same for actual
state serialization; the only difference is that the type check...

8070568b 04/05/2013 06:17 pm Igor Mitsyanko

vmstate.h: introduce VMSTATE_BUFFER_POINTER_UNSAFE macro

Macro could be used to migrate a dynamically allocated buffer of known size.

Signed-off-by: Igor Mitsyanko <>
Reviewed-by: Peter Maydell <>
Message-id: ...

54d49ac9 04/05/2013 03:42 pm Luiz Capitulino

qstring: add qstring_get_length()

Long overdue.

Signed-off-by: Luiz Capitulino <>
Reviewed-by: Eric Blake <>
Acked-by: Gerd Hoffmann <>

d05ef160 04/05/2013 04:22 am Brad Smith

Allow clock_gettime() monotonic clock to be utilized on more OS's

Allow the clock_gettime() code using monotonic clock to be utilized on
more POSIX compliannt OS's. This started as a fix for OpenBSD which was
listed in one function as part of the previous hard coded list of OS's...

0c764a9d 04/05/2013 03:23 am Laszlo Ersek

acpi_table_add(): accept QemuOpts and parse it with OptsVisitor

As one consequence, strtok() -- which modifies its argument -- is replaced
with g_strsplit().

Signed-off-by: Laszlo Ersek <>
Reviewed-by: Anthony Liguori <>...

44c473de 04/05/2013 03:21 am Hans de Goede

qemu-char: Add qemu_chr_fe_claim / _release helper functions

Add qemu_chr_fe_claim / _release helper functions for properly dealing with
avail_connections.

Signed-off-by: Hans de Goede <>
Message-id: ...

162cbbd1 04/02/2013 10:07 pm Anthony Liguori

Merge remote-tracking branch 'luiz/queue/qmp' into staging

  1. By Stefan Hajnoczi
  2. Via Luiz Capitulino
    • luiz/queue/qmp:
      chardev: clear O_NONBLOCK on SCM_RIGHTS file descriptors
      qemu-socket: set passed fd non-blocking in socket_connect()
      net: ensure "socket" backend uses non-blocking fds...
f9e8cacc 04/02/2013 06:47 pm Stefan Hajnoczi

oslib-posix: rename socket_set_nonblock() to qemu_set_nonblock()

The fcntl(fd, F_SETFL, O_NONBLOCK) flag is not specific to sockets.
Rename to qemu_set_nonblock() just like qemu_set_cloexec().

Signed-off-by: Stefan Hajnoczi <>
Reviewed-by: Eric Blake <>...

8f0605cc 04/02/2013 04:15 pm Stefan Berger

QOM-ify the TPM support

QOM-ified the TPM support with much code borrowed from the rng implementation.

All other TPM related code moves will be provided in a subsequent patch.

Signed-off-by: Stefan Berger <>
Message-id: 1364469981.24703.1.camel@d941e-10...

fee204fd 03/27/2013 05:26 pm Hans de Goede

qemu-char: Rename qemu_chr_generic_open to qemu_chr_be_generic_open

To better reflect that it is for handling a backend being opened.

Signed-off-by: Hans de Goede <>
Message-id:
Signed-off-by: Anthony Liguori <>

c0c4bd2c 03/27/2013 05:26 pm Hans de Goede

qemu-char: Add fe_open tracking

Add tracking of the fe_open state to struct CharDriverState.

Signed-off-by: Hans de Goede <>
Message-id:
Signed-off-by: Anthony Liguori <>

19083228 03/27/2013 05:26 pm Hans de Goede

qemu-char: Automatically do fe_open / fe_close on qemu_chr_add_handlers

Most frontends can't really determine if the guest actually has the frontend
side open. So lets automatically generate fe_open / fe_close as soon as a
frontend becomes ready (as signalled by calling qemu_chr_add_handlers) /...

8e25daa8 03/27/2013 05:26 pm Hans de Goede

qemu-char: Cleanup: consolidate fe_open/fe_close into fe_set_open

Signed-off-by: Hans de Goede <>
Message-id:
Signed-off-by: Anthony Liguori <>

574b711a 03/27/2013 05:26 pm Hans de Goede

qemu-char: Consolidate guest_close/guest_open into a set_fe_open callback

Signed-off-by: Hans de Goede <>
Message-id:
Signed-off-by: Anthony Liguori <>

16665b94 03/27/2013 05:26 pm Hans de Goede

qemu-char: Rename opened to be_open

Rename the opened variable to be_open to reflect that it contains the
opened state of the backend.

Signed-off-by: Hans de Goede <>
Message-id:
Signed-off-by: Anthony Liguori <>

99835e00 03/27/2013 05:10 pm Paolo Bonzini

compiler: fix warning with GCC 4.8.0

GCC 4.8.0 introduces a new warning:

block/qcow2-snapshot.c: In function 'qcow2_write_snapshots’:
block/qcow2-snapshot.c:252:18: error: typedef 'qemu_build_bug_on__253'
locally defined but not used [-Werror=unused-local-typedefs]...
404e7a4f 03/26/2013 11:16 pm Anthony Liguori

Merge remote-tracking branch 'mst/tags/for_anthony' into staging

virtio,pci,qom

Work by Alex to support VGA assignment,
pci and virtio fixes by Stefan, Jason and myself, and a
new qmp event for hotplug support by myself.

Signed-off-by: Michael S. Tsirkin <>...

18501ae6 03/26/2013 08:38 pm Anthony Liguori

Merge remote-tracking branch 'quintela/migration.next' into staging

  1. By Peter Lieven (9) and others
  2. Via Juan Quintela
    • quintela/migration.next: (22 commits)
      Use qemu_put_buffer_async for guest memory pages
      Add qemu_put_buffer_async
      Use writev ops if available...
cd18720a 03/26/2013 05:08 pm Anthony Liguori

char: introduce a blocking version of qemu_chr_fe_write

Signed-off-by: Anthony Liguori <>

f1c72795 03/26/2013 02:32 pm Peter Lieven

migration: do not sent zero pages in bulk stage

during bulk stage of ram migration if a page is a
zero page do not send it at all.
the memory at the destination reads as zero anyway.

even if there is an madvise with QEMU_MADV_DONTNEED
at the target upon receipt of a zero page I have observed...

d913829f 03/26/2013 02:32 pm Orit Wasserman

Add QemuFileWritevBuffer QemuFileOps

This will allow us to write an iovec

Signed-off-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>
Signed-off-by: Juan Quintela <>

6181ec24 03/26/2013 02:32 pm Orit Wasserman

Add qemu_put_buffer_async

This allows us to add a buffer to the iovec to send without copying it
into the static buffer, the buffer will be sent later when qemu_fflush is called.

Signed-off-by: Orit Wasserman <>
Signed-off-by: Juan Quintela <>

41a259bd 03/26/2013 02:32 pm Peter Lieven

cutils: add a function to find non-zero content in a buffer

this adds buffer_find_nonzero_offset() which is a SSE2/Altivec
optimized function that searches for non-zero content in a
buffer.

the function starts full unrolling only after the first few chunks have...

d58f5598 03/26/2013 02:30 pm David Gibson

savevm: Add VMSTATE_UINTTL_EQUAL helper

This adds an _EQUAL VMSTATE helper for target_ulongs, defined in terms of
VMSTATE_UINT32_EQUAL or VMSTATE_UINT64_EQUAL as appropriate.

Signed-off-by: David Gibson <>
Signed-off-by: Juan Quintela <>

213945e4 03/26/2013 02:30 pm David Gibson

savevm: Add VMSTATE_FLOAT64 helpers

The current savevm code includes VMSTATE helpers for a number of commonly
used data types, but not for the float64 type used by the internal floating
point emulation code. This patch fixes the deficiency.

Signed-off-by: David Gibson <>...

8474a9dd 03/26/2013 02:30 pm David Gibson

savevm: Add VMSTATE_STRUCT_VARRAY_POINTER_UINT32

Currently the savevm code contains a VMSTATE_STRUCT_VARRAY_POINTER_INT32
helper (a variably sized array with the number of elements in an int32_t),
but not VMSTATE_STRUCT_VARRAY_POINTER_UINT32 (... with the number of...

377e2cb9 03/26/2013 02:30 pm David Gibson

savevm: Fix bugs in the VMSTATE_VBUFFER_MULTIPLY definition

The VMSTATE_BUFFER_MULTIPLY macro is misnamed - it actually specifies
a variably sized buffer with VMS_VBUFFER, so should be named
VMSTATE_VBUFFER_MULTIPLY. This patch fixes this (the macro had no current...

c61ca00a 03/26/2013 02:30 pm Peter Lieven

move vector definitions to qemu-common.h

vector optimizations will now be used at various places
not just in is_dup_page() in arch_init.c

Signed-off-by: Peter Lieven <>
Signed-off-by: Juan Quintela <>

e344b8a1 03/26/2013 02:30 pm David Gibson

savevm: Add VMSTATE_UINT64_EQUAL helpers

The savevm code already includes a number of *_EQUAL helpers which act as
sanity checks verifying that the configuration of the saved state matches
that of the machine we're loading into to work. Variants already exist...

dcadaa9b 03/25/2013 08:14 pm Anthony Liguori

Merge remote-tracking branch 'stefanha/net' into staging

  1. By Dmitry Fleytman (5) and others
  2. Via Stefan Hajnoczi
    • stefanha/net:
      net: increase buffer size to accommodate Jumbo frame pkts
      VMXNET3 device implementation
      Packet abstraction for VMWARE network devices...
d63c9477 03/25/2013 08:10 pm Anthony Liguori

glib: add a compatibility interface for g_timeout_add_seconds

Signed-off-by: Anthony Liguori <>

d32fcad3 03/25/2013 12:14 pm Scott Feldman

net: increase buffer size to accommodate Jumbo frame pkts

Socket buffer sizes were hard-coded to 4K for VDE and socket netdevs. Bump this
up to 68K (ala tap netdev) to handle maximum GSO packet size (64k) plus plenty
of room for the ethernet and virtio_net headers....

84026301 03/25/2013 12:13 pm Dmitry Fleytman

net: iovec checksum calculator

Signed-off-by: Dmitry Fleytman <>
Signed-off-by: Yan Vugenfirer <>
Signed-off-by: Stefan Hajnoczi <>

75020a70 03/25/2013 12:13 pm Dmitry Fleytman

Common definitions for VMWARE devices

Signed-off-by: Dmitry Fleytman <>
Signed-off-by: Yan Vugenfirer <>
Signed-off-by: Stefan Hajnoczi <>

5acf5ea4 03/25/2013 12:13 pm Dmitry Fleytman

Checksum-related utility functions

net_checksum_add_cont()
checksum calculation for scattered data with odd chunk sizes

net_raw_checksum()
checksum calculation for a buffer

Signed-off-by: Dmitry Fleytman <>
Signed-off-by: Yan Vugenfirer <>...

bd86a88e 03/23/2013 04:25 pm Anthony Green

Add moxie disassembler

Signed-off-by: Anthony Green <>
Signed-off-by: Blue Swirl <>

a360d965 03/23/2013 04:25 pm Anthony Green

Add sample moxie system

Signed-off-by: Anthony Green <>
Signed-off-by: Blue Swirl <>

3f08ffb4 03/22/2013 08:08 pm Anthony Liguori

Merge remote-tracking branch 'kwolf/for-anthony' into staging

  1. By Kevin Wolf (12) and Peter Lieven (2)
  2. Via Kevin Wolf
    • kwolf/for-anthony:
      nbd: Check against invalid option combinations
      nbd: Use default port if only host is specified
      block: Allow omitting the file name when using driver-specific options...
197a4859 03/22/2013 06:51 pm Kevin Wolf

nbd: Remove unused functions

Signed-off-by: Kevin Wolf <>
Reviewed-by: Eric Blake <>

6963a30d 03/22/2013 06:51 pm Kevin Wolf

block: Introduce .bdrv_parse_filename callback

If a driver needs structured data and not just a string, it can provide
a .bdrv_parse_filename callback now that parses the command line string
into separate options. Keeping this separate from .bdrv_open_filename...

c2ad1b0c 03/22/2013 06:51 pm Kevin Wolf

block: Allow omitting the file name when using driver-specific options

After this patch, using -drive with an empty file name continues to open
the file if driver-specific options are used. If no driver-specific
options are specified, the semantics stay as it was: It defines a drive...

787e4a85 03/22/2013 06:51 pm Kevin Wolf

block: Add options QDict to bdrv_file_open() prototypes

The new parameter is unused yet.

Signed-off-by: Kevin Wolf <>
Reviewed-by: Eric Blake <>

e62be888 03/22/2013 06:51 pm Kevin Wolf

qemu-socket: Make socket_optslist public

Allow other users to create the QemuOpts needed for inet_connect_opts().

Signed-off-by: Kevin Wolf <>
Reviewed-by: Eric Blake <>

f17c90be 03/22/2013 06:51 pm Kevin Wolf

nbd: Keep hostname and port separate

The NBD block supports an URL syntax, for which a URL parser returns
separate hostname and port fields. It also supports the traditional qemu
syntax encoded in a filename. Until now, after parsing the URL to get
each piece of information, a new string is built to be fed to socket...

085d8134 03/22/2013 02:25 pm Peter Maydell

Fix typos and misspellings

Fix various typos and misspellings. The bulk of these were found with
codespell.

Signed-off-by: Peter Maydell <>
Reviewed-by: Stefan Weil <>
Signed-off-by: Stefan Hajnoczi <>

2c8a5942 03/19/2013 02:56 pm Kevin Wolf

char: Fix return type of qemu_chr_fe_add_watch()

qemu_chr_fe_add_watch() can return negative errors, therefore it must
not have an unsigned return type. For consistency with other
qemu_chr_fe_* functions, this uses a standard C int instead of glib
types....

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

1562e531 03/18/2013 11:21 am Gerd Hoffmann

console: remove ds_get_* helper functions

Switch the few remaining ds_get_* uses in console.c over to the new
surface_* accessors.

While doing so tripped over a few leftovers from commit
a93a4a226a2afba147ba5df688b85d844f537c68 (code using depth == 0
as indicator for textmode rendering). Fixed them up....

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

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

console: kill DisplayState->opaque

It's broken by design. There can be multiple DisplayChangeListener
instances, so they simply can't store state in the (single) DisplayState
struct. Try 'qemu -display gtk -vnc :0', watch it crash & burn.

With DisplayChangeListenerOps having a more sane interface now we can...

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

console: rework DisplaySurface handling [vga emu side]

Decouple DisplaySurface allocation & deallocation from DisplayState.
Replace dpy_gfx_resize + dpy_gfx_setdata with a dpy_gfx_replace_surface
function.

This handles the graphic hardware emulation.

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

626e3b34 03/18/2013 11:21 am Gerd Hoffmann

console: add surface_*() getters

Add convinence wrappers to query DisplaySurface properties.
Simliar to ds_get_*, but operating in the DisplaySurface
not the DisplayState.

With this patch in place ui frontents can stop using DisplayState
in the rendering code paths, they can simply operate using the...

0402a5d6 03/17/2013 01:27 pm Michael S. Tsirkin

qdev: DEVICE_DELETED event

libvirt has a long-standing bug: when removing the device,
it can request removal but does not know when the
removal completes. Add an event so we can fix this in a robust way.

Signed-off-by: Michael S. Tsirkin <>

6ff66f50 03/15/2013 06:41 pm Peter Crosthwaite

iov: Factor out hexdumper

Factor out the hexdumper functionality from iov for all to use. Useful for
creating verbose debug printfery that dumps packet data.

Signed-off-by: Peter Crosthwaite <>
Message-id: ...

85d126f3 03/15/2013 05:07 pm Stefan Hajnoczi

block: add bdrv_get_aio_context()

For now bdrv_get_aio_context() is just a stub that calls
qemu_aio_get_context() since the block layer is currently tied to the
main loop AioContext.

Add the stub now so that the block layer can begin accessing its
AioContext....

c4d9d196 03/15/2013 05:07 pm Stefan Hajnoczi

threadpool: drop global thread pool

Now that each AioContext has a ThreadPool and the main loop AioContext
can be fetched with bdrv_get_aio_context(), we can eliminate the concept
of a global thread pool from thread-pool.c.

The submit functions must take a ThreadPool* argument....

28f08246 03/15/2013 05:07 pm Stefan Hajnoczi

coroutine: use AioContext for CoQueue BH

CoQueue uses a BH to awake coroutines that were made ready to run again
using qemu_co_queue_next() or qemu_co_queue_restart_all(). The BH
currently runs in the iothread AioContext and would break coroutines
that run in a different AioContext....

5f3aa1ff 03/15/2013 05:07 pm Stefan Hajnoczi

main-loop: add qemu_get_aio_context()

It is very useful to get the main loop AioContext, which is a static
variable in main-loop.c.

I'm not sure whether qemu_get_aio_context() will be necessary in the
future once devices focus on using their own AioContext instead of the...

f7311ccc 03/15/2013 05:07 pm Stefan Hajnoczi

threadpool: add thread_pool_new() and thread_pool_free()

ThreadPool is tied to an AioContext through its event notifier, which
dictates in which AioContext the work item's callback function will be
invoked.

In order to support multiple AioContexts we need to support multiple...

9b34277d 03/15/2013 05:07 pm Stefan Hajnoczi

aio: add a ThreadPool instance to AioContext

This patch adds a ThreadPool to AioContext. It's possible that some
AioContext instances will never use the ThreadPool, so defer creation
until aio_get_thread_pool().

The reason why AioContext should have the ThreadPool is because the...

1a86938f 03/15/2013 05:07 pm Kevin Wolf

block: Add options QDict to .bdrv_open()

Signed-off-by: Kevin Wolf <>
Reviewed-by: Eric Blake <>
Reviewed-by: Stefan Hajnoczi <>
Signed-off-by: Stefan Hajnoczi <>

de9c0cec 03/15/2013 05:07 pm Kevin Wolf

block: Add options QDict to bdrv_open() prototype

It doesn't do anything yet except storing the options QDict in the
BlockDriverState.

Signed-off-by: Kevin Wolf <>
Reviewed-by: Eric Blake <>
Reviewed-by: Stefan Hajnoczi <>...

b382bc9a 03/15/2013 05:07 pm Kevin Wolf

Add qdict_clone_shallow()

Signed-off-by: Kevin Wolf <>
Reviewed-by: Eric Blake <>
Reviewed-by: Stefan Hajnoczi <>
Signed-off-by: Stefan Hajnoczi <>

376609cc 03/15/2013 05:07 pm Kevin Wolf

qemu-option: Add qemu_opts_absorb_qdict()

This adds a function that adds all entries of a QDict to a QemuOpts if
the keys are known, and leaves only the rest in the QDict.

This way a single QDict of -drive options can be processed in multiple
places (generic block layer, block driver, backing file block driver,...

bb44619b 03/15/2013 05:07 pm Kevin Wolf

blockdev: Keep a copy of DriveInfo.serial

Pointing to a QemuOpts element is surprising and can lead to subtle
use-after-free errors when the QemuOpts is freed after all options are
parsed.

Signed-off-by: Kevin Wolf <>
Signed-off-by: Stefan Hajnoczi <>

139a4b63 03/14/2013 09:54 pm Anthony Liguori

Merge remote-tracking branch 'kraxel/chardev.5' into staging

  • kraxel/chardev.5:
    spice-qemu-char: Remove dead debugging code
    spice-qemu-char: Fix name parameter issues after qapi-ifying
    qemu-char.c: fix waiting for telnet connection message
    Revert "hmp: Disable chardev-add and chardev-remove"...
3d34a411 03/14/2013 09:50 pm Anthony Liguori

Merge remote-tracking branch 'afaerber/qom-cpu' into staging

  1. By Andreas Färber (16) and Igor Mammedov (1)
  2. Via Andreas Färber
    • afaerber/qom-cpu:
      target-lm32: Update VMStateDescription to LM32CPU
      target-arm: Override do_interrupt for ARMv7-M profile...
f5a51cab 03/13/2013 11:27 am Gerd Hoffmann

chardev: add msmouse support to qapi

This patch adds 'msmouse' support to qapi and also switches over
the msmouse chardev initialization to the new qapi code path.

Signed-off-by: Gerd Hoffmann <>

2d57286d 03/13/2013 11:27 am Gerd Hoffmann

chardev: add braille support to qapi

This patch adds 'braille' support to qapi and also switches over
the braille chardev initialization to the new qapi code path.

Signed-off-by: Gerd Hoffmann <>

cd153e2a 03/13/2013 11:27 am Gerd Hoffmann

chardev: add spice support to qapi

This patch adds 'spicevmc' and 'spiceport' support to qapi and also
switches over the spice chardev initialization to the new qapi code
path.

702ec69c 03/13/2013 11:27 am Gerd Hoffmann

chardev: add vc support to qapi

This patch adds 'vc' support to qapi and also switches over the
vc chardev initialization to the new qapi code path.

Signed-off-by: Gerd Hoffmann <>

3ecc059d 03/13/2013 11:27 am Gerd Hoffmann

chardev: add udp support to qapi

This patch adds 'udp' support to qapi.

Signed-off-by: Gerd Hoffmann <>

2c5f4882 03/13/2013 11:27 am Gerd Hoffmann

chardev: add support for qapi-based chardev initialization

This patch add support for a new way to initialize chardev devices.
Instead of calling a initialization function with a QemuOpts we will
now create a (qapi) ChardevBackend, optionally call a function to...

4549a8b7 03/12/2013 08:40 pm Stefan Berger

Add a TPM Passthrough backend driver implementation

This patch is based of off version 9 of Stefan Berger's patch series
"QEMU Trusted Platform Module (TPM) integration"
and adds a new backend driver for it.

This patch adds a passthrough backend driver for passing commands sent to the...

d1a0cf73 03/12/2013 08:40 pm Stefan Berger

Support for TPM command line options

This patch adds support for TPM command line options.
The command line options supported here are

./qemu-... -tpmdev passthrough,path=<path to TPM device>,id=<id>
-device tpm-tis,tpmdev=<id>,id=<other id>
...

259186a7 03/12/2013 11:35 am Andreas Färber

cpu: Move halted and interrupt_request fields to CPUState

Both fields are used in VMState, thus need to be moved together.
Explicitly zero them on reset since they were located before
breakpoints.

Pass PowerPCCPU to kvmppc_handle_halt().

Signed-off-by: Andreas Färber <>

d8ed887b 03/12/2013 11:35 am Andreas Färber

exec: Pass CPUState to cpu_reset_interrupt()

Move it to qom/cpu.c to avoid build failures depending on include order
of cpu-qom.h and exec/cpu-all.h.

Change opaques of various ..._irq_handler() functions to the
appropriate CPU type to facilitate using cpu_reset_interrupt()....

c3affe56 03/12/2013 11:35 am Andreas Färber

cpu: Pass CPUState to cpu_interrupt()

Move it to qom/cpu.h to avoid issues with include order.

Change pc_acpi_smi_interrupt() opaque to X86CPU.

Signed-off-by: Andreas Färber <>

97a8ea5a 03/12/2013 11:35 am Andreas Färber

cpu: Replace do_interrupt() by CPUClass::do_interrupt method

This removes a global per-target function and thus takes us one step
closer to compiling multiple targets into one executable.

It will also allow to override the interrupt handling for certain CPU...

d7650eab 03/12/2013 11:35 am Andreas Färber

vmstate: Make vmstate_register() static inline

This avoids adding a duplicate stub for CONFIG_USER_ONLY.

Suggested-by: Eduardo Habkost <>
Reviewed-by: Eduardo Habkost <>
Reviewed-by: Juan Quintela <>...

c71c3e99 03/12/2013 11:35 am Andreas Färber

stubs: Add a vmstate_dummy struct for CONFIG_USER_ONLY

Reviewed-by: Juan Quintela <>
Reviewed-by: Eduardo Habkost <>
Signed-off-by: Andreas Färber <>

b170fce3 03/12/2013 11:35 am Andreas Färber

cpu: Register VMStateDescription through CPUState

In comparison to DeviceClass::vmsd, CPU VMState is split in two,
"cpu_common" and "cpu", and uses cpu_index as instance_id instead of -1.
Therefore add a CPU-specific CPUClass::vmsd field.

Unlike the legacy CPUArchState registration, rather register CPUState....

ca91b15f 03/12/2013 11:35 am Andreas Färber

cpu: Introduce cpu_class_set_vmsd()

This setter avoids redefining each VMStateDescription value to
vmstate_dummy by not referencing the value for CONFIG_USER_ONLY.

Suggested-by: Juan Quintela <>
Reviewed-by: Eduardo Habkost <>...

b352365f 03/11/2013 02:32 pm Paolo Bonzini

migration: eliminate s->migration_file

The indirection is useless now. Backends can open s->file directly.

Reviewed-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>
Signed-off-by: Paolo Bonzini <>...

ee0b44aa 03/11/2013 02:32 pm Peter Lieven

page_cache: dup memory on insert

The page cache frees all data on finish, on resize and
if there is collision on insert. So it should be the caches
responsibility to dup the data that is stored in the cache.

Signed-off-by: Peter Lieven <>
Signed-off-by: Orit Wasserman <>...

817b9ed5 03/11/2013 02:32 pm Paolo Bonzini

migration: merge qemu_popen_cmd with qemu_popen

There is no reason for outgoing exec migration to do popen manually
anymore (the reason used to be that we needed the FILE* to make it
non-blocking). Use qemu_popen_cmd.

Reviewed-by: Orit Wasserman <>...

13c7b2da 03/11/2013 02:32 pm Paolo Bonzini

qemu-file: check exit status when closing a pipe QEMUFile

This is what exec_close does. Move this to the underlying QEMUFile.

Reviewed-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>
Signed-off-by: Paolo Bonzini <>...

0cc3f3cc 03/11/2013 02:32 pm Paolo Bonzini

qemu-file: add writable socket QEMUFile

Reviewed-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>
Signed-off-by: Paolo Bonzini <>
Signed-off-by: Juan Quintela <>

f8bbc128 03/11/2013 02:32 pm Paolo Bonzini

migration: use QEMUFile for migration channel lifetime

As a start, use QEMUFile to store the destination and close it.
qemu_get_fd gets a file descriptor that will be used by the write
callbacks.

Reviewed-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>...

e6a1cf21 03/11/2013 02:32 pm Paolo Bonzini

migration: use QEMUFile for writing outgoing migration data

Second, drop the file descriptor indirection, and write directly to the
QEMUFile.

Reviewed-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>
Signed-off-by: Paolo Bonzini <>...

1964a397 03/11/2013 02:32 pm Paolo Bonzini

migration: move rate limiting to QEMUFile

Rate limiting is now simply a byte counter; client call
qemu_file_rate_limit() manually to determine if they have to exit.
So it is possible and simple to move the functionality to QEMUFile.

This makes the remaining functionality of s->file redundant;...