Statistics
| Branch: | Revision:

root / include @ 396d2cfc

# Date Author Comment
961f8395 01/08/2013 10:03 pm Eduardo Habkost

cpu: Change parent type to Device

This finally makes the CPU class a subclass of the Device class,
allowing us to start using DeviceState properties on CPU subclasses.

It has no_user=1, as creating CPUs using -device doesn't work yet.

Signed-off-by: Igor Mammedov <>...

1e397ead 01/05/2013 12:12 pm Richard Henderson

softfloat: Implement uint64_to_float128

Reviewed-by: Peter Maydell <>
Signed-off-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

530c0bbd 01/02/2013 04:58 pm Stefan Hajnoczi

iov: add qemu_iovec_concat_iov()

The qemu_iovec_concat() function copies a subset of a QEMUIOVector. The
new qemu_iovec_concat_iov() function does the same for a iov/cnt pair.

It is easy to define qemu_iovec_concat() in terms of
qemu_iovec_concat_iov(). The existing code is mostly unchanged, except...

d0277635 01/02/2013 04:58 pm Stefan Hajnoczi

iov: add iov_discard_front/back() to remove data

The iov_discard_front/back() functions remove data from the front or
back of the vector. This is useful when peeling off header/footer
structs.

Signed-off-by: Stefan Hajnoczi <>

4065742a 01/02/2013 04:31 pm Stefan Hajnoczi

raw-posix: add raw_get_aio_fd() for virtio-blk-data-plane

The raw_get_aio_fd() function allows virtio-blk-data-plane to get the
file descriptor of a raw image file with Linux AIO enabled. This
interface is really a layering violation that can be resolved once the...

927fa909 12/28/2012 06:11 pm Brad Smith

Disable semaphores fallback code for OpenBSD

Disable the semaphores fallback code for OpenBSD as modern OpenBSD
releases now have sem_timedwait().

Signed-off-by: Brad Smith <>
Signed-off-by: Blue Swirl <>

501a7ce7 12/23/2012 01:40 am Andreas Färber

Merge branch 'master' of git://git.qemu.org/qemu into qom-cpu

Adapt header include paths.

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

9848a404 12/21/2012 12:09 am Juan Quintela

migration: merge QEMUFileBuffered into MigrationState

Avoid splitting the state of outgoing migration, more or less arbitrarily,
between two data structures. QEMUFileBuffered anyway is used only during
migration.

Signed-off-by: Paolo Bonzini <>...

0e288fa3 12/21/2012 12:09 am Juan Quintela

migration: move migration_fd_put_ready()

Put it near its use and un-export it.

Signed-off-by: Juan Quintela <>

2e450865 12/21/2012 12:09 am Juan Quintela

migration: Inline qemu_fopen_ops_buffered into migrate_fd_connect

Signed-off-by: Juan Quintela <>

6c279db8 12/21/2012 12:09 am Juan Quintela

memory: introduce memory_region_test_and_clear_dirty

This function avoids having to do two calls, one to test the dirty bit, and
other to reset it.

Signed-off-by: Juan Quintela <>

0d82d0e8 12/21/2012 12:09 am Juan Quintela

migration: move buffered_file.c code into migration.c

This only moves the code (also from buffered_file.h to migration.h).
Fix whitespace until checkpatch is happy.

Signed-off-by: Juan Quintela <>

edfa1af5 12/21/2012 12:09 am Juan Quintela

migration: make qemu_fopen_ops_buffered() return void

We want the file assignment to happen before the thread is created to
avoid locking, so we just do it before creating the thread.

Signed-off-by: Juan Quintela <>

Reviewed-by: Orit Wasserman <>

766bd176 12/21/2012 12:09 am Juan Quintela

migration: move migration thread init code to migrate_fd_put_ready

This way everything related with migration is run on the migration
thread and no locking is needed.

Signed-off-by: Juan Quintela <>

dd217b87 12/21/2012 12:09 am Juan Quintela

migration: make writes blocking

Move all the writes to the migration_thread, and make writings
blocking. Notice that are still using the iothread for everything
that we do.

Signed-off-by: Juan Quintela <>

188a4285 12/21/2012 12:09 am Juan Quintela

migration: remove unfreeze logic

Now that we have a thread, and blocking writes, we don't need it.

Signed-off-by: Juan Quintela <>

Reviewed-by: Paolo Bonzini <>

e4ed1541 12/21/2012 12:09 am Juan Quintela

savevm: New save live migration method: pending

Code just now does (simplified for clarity)

if (qemu_savevm_state_iterate(s->file) == 1) {
vm_stop_force_state(RUN_STATE_FINISH_MIGRATE);
qemu_savevm_state_complete(s->file);
}

Problem here is that qemu_savevm_state_iterate() returns 1 when it...

a3161038 12/21/2012 12:08 am Paolo Bonzini

exec: change RAM list to a TAILQ

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Juan Quintela <>

f798b07f 12/21/2012 12:08 am Umesh Deshpande

add a version number to ram_list

This will be used to detect if last_block might have become invalid
across different calls to ram_save_live.

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Umesh Deshpande <>
Signed-off-by: Juan Quintela <>...

b2a8658e 12/21/2012 12:08 am Umesh Deshpande

protect the ramlist with a separate mutex

Add the new mutex that protects shared state between ram_save_live
and the iothread. If the iothread mutex has to be taken together
with the ramlist mutex, the iothread shall always be outside.

Signed-off-by: Paolo Bonzini <>...

0d6d3c87 12/21/2012 12:08 am Paolo Bonzini

exec: change ramlist from MRU order to a 1-item cache

Most of the time, only 2 items will be active (from/to for a string operation,
or code/data). But TCG guests likely won't have gigabytes of memory, so
this actually goes down to 1 item.

Signed-off-by: Paolo Bonzini <>...

27dd7730 12/20/2012 01:15 am Anthony Liguori

Merge remote-tracking branch 'bonzini/header-dirs' into staging

  • bonzini/header-dirs: (45 commits)
    janitor: move remaining public headers to include/
    hw: move executable format header files to hw/
    fpu: move public header file to include/fpu
    softmmu: move remaining include files to include/ subdirectories...
a60f24b5 12/19/2012 03:09 pm Andreas Färber

cpu: Move kvm_state field into CPUState

Adapt some functions to take CPUState / {PowerPC,S390}CPU argument.

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

f7575c96 12/19/2012 03:09 pm Andreas Färber

cpu: Move kvm_run into CPUState

Pass CPUState / {X86,S390}CPU to helper functions.

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

8737c51c 12/19/2012 03:09 pm Andreas Färber

cpu: Move kvm_fd into CPUState

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

20d695a9 12/19/2012 03:09 pm Andreas Färber

kvm: Pass CPUState to kvm_arch_*

Move kvm_vcpu_dirty field into CPUState to simplify things and change
its type to bool while at it.

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

927d4878 12/19/2012 09:32 am Paolo Bonzini

softmmu: move remaining include files to include/ subdirectories

Signed-off-by: Paolo Bonzini <>

6b4c305c 12/19/2012 09:32 am Paolo Bonzini

fpu: move public header file to include/fpu

Signed-off-by: Paolo Bonzini <>

ec5e016c 12/19/2012 09:32 am Paolo Bonzini

janitor: move remaining public headers to include/

Headers in the root directory are now used only from within that
directory.

Signed-off-by: Paolo Bonzini <>

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

caf71f86 12/19/2012 09:31 am Paolo Bonzini

migration: move include files to include/migration/

Signed-off-by: Paolo Bonzini <>

14cccb61 12/19/2012 09:31 am Paolo Bonzini

qom: move include files to include/qom/

Signed-off-by: Paolo Bonzini <>

7b1b5d19 12/19/2012 09:31 am Paolo Bonzini

qapi: move include files to include/qobject/

Signed-off-by: Paolo Bonzini <>

737e150e 12/19/2012 09:31 am Paolo Bonzini

block: move include files to include/block/

Signed-off-by: Paolo Bonzini <>

022c62cb 12/19/2012 09:31 am Paolo Bonzini

exec: move include files to include/exec/

Signed-off-by: Paolo Bonzini <>

28ecbaee 12/19/2012 09:31 am Paolo Bonzini

ui: move files to ui/ and include/ui/

Signed-off-by: Paolo Bonzini <>

1422e32d 12/19/2012 09:31 am Paolo Bonzini

net: reorganize headers

Move public headers to include/net, and leave private headers in net/.
Put the virtio headers in include/net/tap.h, removing the multiple copies
that existed. Leave include/net/tap.h as the interface for NICs, and
net/tap_int.h as the interface for OS-specific parts of the tap backend....

76cad711 12/19/2012 09:29 am Paolo Bonzini

build: kill libdis, move disassemblers to disas/

Signed-off-by: Paolo Bonzini <>

e3980e28 11/30/2012 12:33 pm Dietmar Maurer

stream: fix ratelimit_set_speed

The formula to compute slice_quota was wrong since commit 6ef228fc.

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

42015c9a 11/26/2012 10:26 pm Amit Shah

virtio-rng: fix typos, comments

Fix typos, whitespace and update comments to match current
implementation.

Signed-off-by: Amit Shah <>
Signed-off-by: Anthony Liguori <>

339c2708 11/26/2012 09:41 pm Paolo Bonzini

qom: make object_finalize static

It is not used anymore, and there is no need to make it public.

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Anthony Liguori <>

667d22d1 11/26/2012 09:41 pm Paolo Bonzini

qdev: move bus removal to object_unparent

Add an ObjectClass method that is done at object_unparent time. It
should remove any backlinks to the object in the composition tree,
so that object_delete will be able to drop the last reference and
free the object....

fde9bf44 11/26/2012 09:41 pm Paolo Bonzini

qom: make object_delete usable for statically-allocated objects

Store in the object the freeing function that will be used at deletion
time. This makes it possible to use object_delete on statically-allocated
(embedded) objects. Dually, it makes it possible to use object_unparent...

5c74521d 11/16/2012 04:36 pm Anthony Liguori

rng-random: add an RNG backend that uses /dev/random (v3)

The filename can be overridden but it expects a non-blocking source of entropy.
A typical invocation would be:

qemu -object rng-random,id=rng0 -device virtio-rng-pci,rng=rng0

This can also be used with /dev/urandom by using the command line:...

0e558843 11/16/2012 04:36 pm Anthony Liguori

object: add object_property_add_bool (v2)

Signed-off-by: Anthony Liguori <>
---
v1 -> v2
- Fix whitespace (Andreas Faerber)

a9b7b2ad 11/16/2012 04:36 pm Anthony Liguori

rng: add RndBackend abstract object class

This is the backend used by devices that need to request entropy.

Signed-off-by: Anthony Liguori <>

f100f0b3 10/31/2012 05:12 am Andreas Färber

cpus: Pass CPUState to run_on_cpu()

CPUArchState is no longer needed.

Move the declaration to include/qemu/cpu.h and add documentation.

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

9f09e18a 10/31/2012 05:12 am Andreas Färber

cpu: Move thread_id to CPUState

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

3993c6bd 10/31/2012 05:11 am Andreas Färber

cpus: Pass CPUState to [qemu_]cpu_has_work()

For target-mips also change the return type to bool.

Make include paths for cpu-qom.h consistent for alpha and unicore32.

Signed-off-by: Andreas Färber <>
[AF: Updated new target-openrisc function accordingly]...

c08d7424 10/31/2012 02:02 am Andreas Färber

cpus: Pass CPUState to qemu_cpu_kick()

CPUArchState is no longer needed there.

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

c64ca814 10/31/2012 02:02 am Andreas Färber

cpu: Move queued_work_{first,last} to CPUState

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

61a46217 10/31/2012 02:02 am Andreas Färber

cpu: Move created field to CPUState

Change its type to bool.

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

4fdeee7c 10/31/2012 02:02 am Andreas Färber

cpu: Move stop field to CPUState

Change its type to bool.

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

f324e766 10/31/2012 02:02 am Andreas Färber

cpu: Move stopped field to CPUState

Change its type to bool.

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

2fa45344 10/31/2012 02:02 am Andreas Färber

cpus: Pass CPUState to cpu_is_stopped()

CPUArchState is no longer needed there.

Also change the return type to bool.

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

f5c121b8 10/31/2012 02:02 am Andreas Färber

cpu: Move halt_cond to CPUState

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

60e82579 10/31/2012 02:02 am Andreas Färber

cpus: Pass CPUState to qemu_cpu_is_self()

Change return type to bool, move to include/qemu/cpu.h and
add documentation.

Signed-off-by: Andreas Färber <>
Reviewed-by: Igor Mammedov <>
[AF: Updated new caller qemu_in_vcpu_thread()]

ac839ccd 08/14/2012 12:02 am Anthony Liguori

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

  • quintela/migration-next-20120808:
    Restart optimization on stage3 update version
    Add XBZRLE statistics
    Add migration accounting for normal and duplicate pages
    Change total_time to total-time in MigrationStats...
33e95c63 08/13/2012 12:20 pm Anthony Liguori

qom: Reimplement Interfaces

The current implementation of Interfaces is poorly designed. Each interface
that an object implements ends up being an object that's tracked by the
implementing object. There's all sorts of gymnastics to deal with casting
between these objects....

9fb26641 08/08/2012 02:51 pm Orit Wasserman

Add cache handling functions

Add MRU page cache mechanism.
The page are accessed by their address.

Signed-off-by: Benoit Hudzia <>
Signed-off-by: Petter Svard <>
Signed-off-by: Aidan Shribman <>...

216fc9a4 08/02/2012 07:12 pm Andreas Färber

cpu: Move thread_kicked to CPUState

Change field type to bool.

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

bcba2a72 08/02/2012 07:12 pm Andreas Färber

cpu: Move CPU_COMMON_THREAD into CPUState

CPU_COMMON_THREAD was only used for Windows, adding an hThread field
to CPU_COMMON.

Move the field into QOM CPUState and change its type to HANDLE,
which it is assigned from. This requires Windows headers, pulled in...

814e612e 08/02/2012 07:12 pm Andreas Färber

cpu: Move thread field into CPUState

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

8aca5215 06/18/2012 06:35 pm Anthony Liguori

Merge remote-tracking branch 'afaerber-or/qom-next-2' into staging

  • afaerber-or/qom-next-2: (22 commits)
    qom: Push error reporting to object_property_find()
    qdev: Remove qdev_prop_exists()
    qbus: Initialize in standard way
    qbus: Make child devices links...
8cb6789a 06/18/2012 04:14 pm Paolo Bonzini

qdev: Remove qdev_prop_exists()

Can be replaced everywhere with object_property_find().

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

89bfe000 06/18/2012 04:14 pm Paolo Bonzini

qom: Push error reporting to object_property_find()

Avoids duplicated error_set().

Signed-off-by: Paolo Bonzini <>
[AF: Also drop error_set() in object_property_del().]
Signed-off-by: Andreas Färber <>

3b50e311 06/18/2012 04:14 pm Paolo Bonzini

qom: Add class_base_init

The class_base_init TypeInfo callback was present in one of the early
QOM versions but removed (on my request...) before committing. We
will need it soon, add it.

Signed-off-by: Paolo Bonzini <>
Reviewed-by: Anthony Liguori <>...

745549c8 06/18/2012 04:14 pm Paolo Bonzini

qom: Make Object a type

Right now the base Object class has a special NULL type. Change this so
that we will be able to add class_init and class_base_init callbacks.
To do this, remove some special casing of ObjectClass that is not really
necessary.

Signed-off-by: Paolo Bonzini <>...

9c4b4cc4 06/18/2012 04:14 pm Paolo Bonzini

qom: Drop type_register_static_alias() macro

It's unused.

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

e7cce67f 06/18/2012 04:14 pm Paolo Bonzini

qom: Add object_class_get_parent()

This simple bit of functionality was missing and we'll need it soon,
so add it.

Signed-off-by: Paolo Bonzini <>
Reviewed-by: Anthony Liguori <>
[AF: Document possible NULL return value]...

32efc535 06/18/2012 04:14 pm Paolo Bonzini

qom: Add object_child_foreach()

A utility function that will be used to implement hierarchical realization.

Signed-off-by: Paolo Bonzini <>
Reviewed-by: Anthony Liguori <>
[AF: Drop unrelated whitespace change, add Returns: in documentation]...

6ef228fc 06/15/2012 03:03 pm Paolo Bonzini

stream: move rate limiting to a separate header file

Make the code reusable.

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Kevin Wolf <>

0466e458 05/12/2012 03:17 pm Paolo Bonzini

qom: Documentation addition for object_class_by_name()

Signed-off-by: Paolo Bonzini <>
[AF: Document the possible NULL return value]
Signed-off-by: Andreas Färber <>

f5df5baf 05/08/2012 07:15 pm Andreas Färber

cpu: Update documentation and comment

State struct CPU had been renamed to CPUState, former CPUState to
CPUArchState.

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

dfe47e70 04/24/2012 05:50 pm Andreas Färber

qom: Refine container_get() to allow using a custom root

Specify the root to search from as argument. This avoids hardcoding
"/machine" in some places and makes it more flexible.

Signed-off-by: Andreas Färber <>
Cc: Paolo Bonzini <>...

a612b2a6 04/02/2012 11:04 pm Paolo Bonzini

qom: add container_get

This is QOM "mkdir -p". It is useful when referring to
container objects such as "/machine".

Reviewed-by: Anthony Liguori <>
Signed-off-by: Paolo Bonzini <>
Signed-off-by: Anthony Liguori <>

dd83b06a 03/14/2012 11:20 pm Andreas Färber

qom: Introduce CPU class

Reintroduce CPUState as QOM object: It's abstract and derived directly
from TYPE_OBJECT for compatibility with the user emulators.
The identifier CPUState avoids conflicts between CPU and the struct.

Introduce $(qom-twice-y) to build it separately for system and for user...

418ba9e5 03/14/2012 10:30 pm Andreas Färber

qom: Introduce object_class_get_list()

This function allows to obtain a singly-linked list of classes, which
can be sorted by the caller.

Signed-off-by: Andreas Färber <>
Cc: Anthony Liguori <>
Signed-off-by: Anthony Liguori <>

93148aa5 03/08/2012 05:22 pm Stefan Weil

Spelling fixes in comments (it's -> its)

  • it's -> its (fixed for all files)
  • dont -> don't (only fixed in a line which was touched by the previous fix)
  • distrub -> disturb (fixed in the same line)

Reviewed-by: Andreas Färber <>
Signed-off-by: Stefan Weil <>...

441dd5eb 03/07/2012 03:03 pm Stefan Weil

qom: Fix spelling in documentation

This fixes a new spelling issue which was detected by codespell.

Signed-off-by: Stefan Weil <>
Signed-off-by: Stefan Hajnoczi <>

358b5465 02/22/2012 05:02 pm Alexander Barabash

qom: Document ways to retrieve child object added by object_property_add_child()

object_property_add_child() creates a property whose values as a string is
the child object's canonical path.

Acked-by: Paolo Bonzini <>
Signed-off-by: Alexander Barabash <>...

b2cd7dee 02/22/2012 09:31 am Paolo Bonzini

qom: add generic string parsing/printing

Add generic property accessors that take a string and parse it
appropriately for the property type. All the magic here is done
by the new string-based visitors.

Signed-off-by: Paolo Bonzini <>

a0dbf408 02/17/2012 05:58 pm Andreas Färber

qom: Fix typo in Object's documentation

Fixes a warning from gtk-doc.

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

438e1c79 02/17/2012 05:58 pm Andreas Färber

qom: Fix identifiers in documentation

Fixes gtk-doc warnings.

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

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

02fe2db6 02/07/2012 02:52 pm Paolo Bonzini

qom: add object_resolve_path_type

Reviewed-by: Anthony Liguori <>
Signed-off-by: Paolo Bonzini <>

1d9c5a12 02/07/2012 02:52 pm Paolo Bonzini

qom: add property get/set wrappers for links

These can set a link to any object, as long as it is included in
the composition tree.

Reviewed-by: Anthony Liguori <>
Signed-off-by: Paolo Bonzini <>

9f5f1350 02/07/2012 02:52 pm Paolo Bonzini

qom: add QObject-based property get/set wrappers

Move the creation of QmpInputVisitor and QmpOutputVisitor from qmp.c
to qom/object.c, since it's the only practical way to access object
properties.

Keep this isolated such that it's easy to remove. At some point, we need...

7b7b7d18 02/07/2012 02:52 pm Paolo Bonzini

qom: add property get/set wrappers for C types

Add wrappers that let you get/set properties using normal C data types.

Reviewed-by: Anthony Liguori <anthony@>
Signed-off-by: Paolo Bonzini <>

0815a859 02/07/2012 11:21 am Paolo Bonzini

qom: more documentation on subclassing

Reviewed-by: Anthony Liguori <>
Signed-off-by: Paolo Bonzini <>

1ed5b918 02/07/2012 11:20 am Paolo Bonzini

qom: clean up cast macros

Reviewed-by: Anthony Liguori <>
Signed-off-by: Paolo Bonzini <>

57c9fafe 02/03/2012 06:41 pm Anthony Liguori

qom: move properties from qdev to object

This is mostly code movement although not entirely. This makes properties part
of the Object base class which means that we can now start using Object in a
meaningful way outside of qdev.

Signed-off-by: Anthony Liguori <>

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

93c511a1 02/03/2012 06:41 pm Anthony Liguori

qom: allow object_class_foreach to take additional parameters to refine search

Signed-off-by: Anthony Liguori <>

2f28d2ff 01/27/2012 06:28 pm Anthony Liguori

qom: add the base Object class (v2)

This class provides the main building block for QEMU Object Model and is
extensively documented in the header file. It is largely inspired by GObject.

Signed-off-by: Anthony Liguori <>
---
v1 -> v2...