Statistics
| Branch: | Revision:

root / include @ 16dbaf90

# Date Author Comment
16dbaf90 02/01/2013 07:03 pm Jason Wang

tap: support enabling or disabling a queue

This patch introduce a new bit - enabled in TAPState which tracks whether a
specific queue/fd is enabled. The tap/fd is enabled during initialization and
could be enabled/disabled by tap_enalbe() and tap_disable() which calls platform...

948ecf21 02/01/2013 07:03 pm Jason Wang

net: intorduce qemu_del_nic()

To support multiqueue nic, this patch separate the nic destructor from
qemu_del_net_client() to a new helper qemu_del_nic() since the mapping bettween
NiCState and NetClientState were not 1:1 in multiqueue. The following patches...

6c51ae73 02/01/2013 07:03 pm Jason Wang

net: introduce qemu_find_net_clients_except()

In multiqueue, all NetClientState that belongs to the same netdev or nic has the
same id. So this patches introduces an helper qemu_find_net_clients_except()
which finds all NetClientState with the same id. This will be used by multiqueue...

f7860455 02/01/2013 07:03 pm Jason Wang

net: introduce NetClientState destructor

To allow allocating an array of NetClientState and free it once, this patch
introduces destructor of NetClientState. Which could do type specific free,
which could be used by multiqueue to free the array once.

Signed-off-by: Jason Wang <>...

1ceef9f2 02/01/2013 07:03 pm Jason Wang

net: multiqueue support

This patch adds basic multiqueue support for qemu. The idea is simple, an array
of NetClientStates were introduced in NICState, parse_netdev() were extended to
find and match all NetClientStates belongs to the backend and place their...

cc1f0f45 02/01/2013 07:03 pm Jason Wang

net: introduce qemu_get_nic()

To support multiqueue, this patch introduces a helper qemu_get_nic() to get
NICState from a NetClientState. The following patches would refactor this helper
to support multiqueue.

Signed-off-by: Jason Wang <>...

b356f76d 02/01/2013 07:02 pm Jason Wang

net: introduce qemu_get_queue()

To support multiqueue, the patch introduce a helper qemu_get_queue()
which is used to get the NetClientState of a device. The following patches would
refactor this helper to support multiqueue.

Signed-off-by: Jason Wang <>...

ec45f083 02/01/2013 06:50 pm Jason Wang

net: tap: using bool instead of bitfield

Signed-off-by: Jason Wang <>
Signed-off-by: Anthony Liguori <>

0b087861 01/30/2013 12:16 pm Peter Maydell

qemu-pixman.h: Avoid mutual inclusion loop with console.h

Remove an unnecessary mutual inclusion loop between qemu-pixman.h and
console.h, since the former was only including the latter for
'PixelFormat*', which can be provided by typedefs.h. This requires a...

ec9466ff 01/28/2013 10:48 pm Anthony Liguori

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

  • afaerber/qom-cpu: (37 commits)
    kvm: Pass CPUState to kvm_on_sigbus_vcpu()
    cpu: Unconditionalize CPUState fields
    target-m68k: Use type_register() instead of type_register_static()
    target-unicore32: Use type_register() instead of type_register_static()...
503cb22e 01/28/2013 10:46 pm Anthony Liguori

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

  1. By Paolo Bonzini (14) and others
  2. Via Kevin Wolf
    • kwolf/for-anthony: (24 commits)
      ide: Add fall through annotations
      block: Create proper size file for disk mirror
      ahci: Add migration support...
c03c520d 01/28/2013 05:57 pm Andreas Färber

cpu: Unconditionalize CPUState fields

Commits fc8c5b8c41ee5ba69d7a2be63b02a08c7b0b155b (Makefile.user: Define
CONFIG_USER_ONLY for libuser/) and
dd83b06ae61cfa2dc4381ab49f365bd0995fc930 (qom: Introduce CPU class)
specifically prepared the qom/cpu.c file to be compiled differently for...

290adf38 01/28/2013 05:57 pm Andreas Färber

kvm: Pass CPUState to kvm_on_sigbus_vcpu()

Since commit 20d695a9254c1b086a456d3b79a3c311236643ba (kvm: Pass
CPUState to kvm_arch_*) CPUArchState is no longer needed.

Allows to change qemu_kvm_eat_signals() argument as well.

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

17862378 01/28/2013 12:33 am Andreas Färber

qom: Introduce object_class_is_abstract()

This lets a caller check if an ObjectClass as returned by, e.g.,
object_class_by_name() is instantiatable.

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

2b8c2754 01/27/2013 03:52 pm Andreas Färber

cpu: Add model resolution support to CPUClass

Introduce CPUClass::class_by_name and add a default implementation.
Hook up the alpha and ppc implementations.

Introduce a wrapper function cpu_class_by_name().

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

54fb7bf6 01/27/2013 03:34 pm Eduardo Habkost

cpus.h: Make constant smp_cores/smp_threads available on *-user

The code that calculates the APIC ID will use smp_cores/smp_threads, so
just define them as 1 on *-user to avoid #ifdefs in the code.

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

d61a23ba 01/27/2013 03:34 pm Eduardo Habkost

kvm: Add fake KVM_FEATURE_CLOCKSOURCE_STABLE_BIT for builds without KVM

Signed-off-by: Eduardo Habkost <>
Acked-by: Marcelo Tosatti <>
Signed-off-by: Andreas Färber <>

b164e48e 01/27/2013 03:34 pm Eduardo Habkost

kvm: Create kvm_arch_vcpu_id() function

This will allow each architecture to define how the VCPU ID is set on
the KVM_CREATE_VCPU ioctl call.

Signed-off-by: Eduardo Habkost <>
Acked-by: Gleb Natapov <>
Signed-off-by: Andreas Färber <>

d09acb9b 01/26/2013 03:23 pm Markus Armbruster

fw_cfg: Splash image loader can overrun a stack variable, fix

read_splashfile() passes the address of an int variable as size_t *
parameter to g_file_get_contents(), with a cast to gag the compiler.

No problem on machines where sizeof(size_t) == sizeof(int)....

02582abd 01/25/2013 07:18 pm Stefan Weil

block: Add special error code for wrong format

The block drivers need a special error code for "wrong format".
From the available error codes EMEDIUMTYPE fits best.
It is not available on all platforms, so a definition in
qemu-common.h and a specific error report are needed....

1b095244 01/25/2013 07:18 pm Paolo Bonzini

hbitmap: add assertion on hbitmap_iter_init

hbitmap_iter_init causes an out-of-bounds access when the "first"
argument is or greater than or equal to the size of the bitmap.
Forbid this with an assertion, and remove the failing testcase.

Reported-by: Kevin Wolf <>...

50717e94 01/25/2013 07:18 pm Paolo Bonzini

block: allow customizing the granularity of the dirty bitmap

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

eee13dfe 01/25/2013 07:18 pm Paolo Bonzini

mirror: allow customizing the granularity

The desired granularity may be very different depending on the kind of
operation (e.g. continuous replication vs. collapse-to-raw) and whether
the VM is expected to perform lots of I/O while mirroring is in progress....

08e4ed6c 01/25/2013 07:18 pm Paolo Bonzini

mirror: add buf-size argument to drive-mirror

This makes sense when the next commit starts using the extra buffer space
to perform many I/O operations asynchronously.

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

8f0720ec 01/25/2013 07:18 pm Paolo Bonzini

block: implement dirty bitmap using HBitmap

This actually uses the dirty bitmap in the block layer, and converts
mirroring to use an HBitmapIter.

Reviewed-by: Laszlo Ersek <> (except block/mirror.c parts)
Reviewed-by: Eric Blake <>...

343bded4 01/25/2013 07:18 pm Paolo Bonzini

block: make round_to_clusters public

This is needed in the following patch.

Reviewed-by: Laszlo Ersek <>
Reviewed-by: Eric Blake <>
Signed-off-by: Paolo Bonzini <>
Signed-off-by: Kevin Wolf <>

e7c033c3 01/25/2013 07:18 pm Paolo Bonzini

add hierarchical bitmap data type and test cases

HBitmaps provides an array of bits. The bits are stored as usual in an
array of unsigned longs, but HBitmap is also optimized to provide fast
iteration over set bits; going from one bit to the next is O(logB n)...

4c37ef02 01/25/2013 07:18 pm Paolo Bonzini

host-utils: add ffsl

We can provide fast versions based on the other functions defined
by host-utils.h. Some care is required on glibc, which provides
ffsl already.

Reviewed-by: Eric Blake <>
Signed-off-by: Paolo Bonzini <>...

016c7182 01/21/2013 09:22 pm Anthony Liguori

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

  1. By Juan Quintela (7) and Paolo Bonzini (6)
  2. Via Juan Quintela
    • quintela/thread.next:
      migration: remove argument to qemu_savevm_state_cancel
      migration: Only go to the iterate stage if there is anything to send...
8b17ed4c 01/20/2013 07:01 pm Anthony Liguori

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

  1. By Kevin Wolf (4) and others
  2. Via Stefan Hajnoczi
    • stefanha/block:
      dataplane: support viostor virtio-pci status bit setting
      dataplane: avoid reentrancy during virtio_blk_data_plane_stop()...
b54c2873 01/19/2013 10:01 pm Stefan Weil

tci: Fix broken build (regression)

s390x-linux-user now also uses GETPC. Instead of adding it to the list of
targets which use GETPC, the macro is now defined unconditionally.

This avoids future build regressions like this one:

CC    s390x-linux-user/target-s390x/int_helper.o...
249fe3f3 01/19/2013 12:29 pm Andreas Färber

cpu-defs.h: Drop qemu_work_item prototype

Commit c64ca8140e9c21cd0d44c10fbe1247cb4ade8e6e (cpu: Move
queued_work_{first,last} to CPUState) moved the qemu_work_item fields
away. Clean up the now unused prototype.

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

0e7a7592 01/19/2013 12:22 pm Markus Armbruster

vl: Use size_t for sizes in get_boot_devices_list()

Code mixes uint32_t, int and size_t. Very unlikely to go wrong in
practice, but clean it up anyway.

Signed-off-by: Markus Armbruster <>
Signed-off-by: Blue Swirl <>

ddc01bf1 01/17/2013 09:09 pm Anthony Liguori

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

  1. By Wenchao Xia
  2. Via Luiz Capitulino
    • luiz/queue/qmp:
      HMP: add sub command table to info
      HMP: move define of mon_cmds
      HMP: add infrastructure for sub command
      HMP: delete info handler
      HMP: add QDict to info callback handler
782beb52 01/17/2013 03:33 pm Andreas Färber

qom: Extend documentation on QOM method concepts

Add a documentation section "Methods" and discuss among others how to
handle overriding virtual methods.

Clarify DeviceClass::realize documentation and refer to the above.

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

6522773f 01/17/2013 02:54 pm Juan Quintela

migration: remove argument to qemu_savevm_state_cancel

Signed-off-by: Juan Quintela <>

Reviewed-by: Reviewed-by: Eric Blake <>
Reviewed-by: Paolo Bonzini <>

76f5933a 01/17/2013 02:54 pm Juan Quintela

migration: move beginning stage to the migration thread

Signed-off-by: Juan Quintela <>

Reviewed-by: Reviewed-by: Eric Blake <>
Reviewed-by: Paolo Bonzini <>

b9c961a8 01/17/2013 02:54 pm Paolo Bonzini

migration: make function static

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

Reviewed-by: Reviewed-by: Eric Blake <>

84f2d0ea 01/17/2013 02:24 pm Wenchao Xia

HMP: add QDict to info callback handler

This patch change all info call back function to take
additional QDict * parameter, which allow those command
take parameter. Now it is set to NULL at default case.

Signed-off-by: Wenchao Xia <>...

2ea9b58f 01/17/2013 11:51 am Kevin Wolf

aio: Fix return value of aio_poll()

aio_poll() must return true if any work is still pending, even if it
didn't make progress, so that bdrv_drain_all() doesn't stop waiting too
early. The possibility of stopping early occasionally lead to a failed
assertion in bdrv_drain_all(), when some in-flight request was missed...

a4cbfe24 01/17/2013 03:31 am Blue Swirl

bswap: improve gluing

OpenBSD system compiler (gcc 4.2.1) has problems with concatenation
of macro arguments in macro functions:
CC aes.o
In file included from /src/qemu/include/qemu-common.h:126,
from /src/qemu/aes.c:30:
/src/qemu/include/qemu/bswap.h: In function 'leul_to_cpu':...

bd2d80b2 01/16/2013 07:58 am Gerd Hoffmann

chardev: add error reporting for qemu_chr_new_from_opts

Signed-off-by: Gerd Hoffmann <>

2274ae9d 01/16/2013 07:58 am Gerd Hoffmann

chardev: fix QemuOpts lifecycle

qemu_chr_new_from_opts handles QemuOpts release now, so callers don't
have to worry. It will either be saved in CharDriverState, then
released in qemu_chr_delete, or in the error case released instantly.

Signed-off-by: Gerd Hoffmann <>

58a864de 01/16/2013 12:53 am Anthony Liguori

Merge remote-tracking branch 'stefanha/trivial-patches' into staging

  • stefanha/trivial-patches:
    configure: try pkg-config for curses
    qom: Make object_resolve_path_component() path argument const
    Add libcacard/trace/generated-tracers.c to .gitignore...
3e84b483 01/15/2013 11:54 am Andreas Färber

qom: Make object_resolve_path_component() path argument const

A usage with a hardcoded partial path such as

object_resolve_path_component(obj, "foo")

is totally valid but currently leads to a compilation error. Fix this.

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

38d8f5c8 01/15/2013 05:09 am Andreas Färber

exec: Return CPUState from qemu_get_cpu()

Move the declaration to qemu/cpu.h and add documentation.
The implementation still depends on CPUArchState for CPU iteration.

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

9ca58923 01/15/2013 05:09 am Eduardo Habkost

kvm: Add fake KVM constants to avoid #ifdefs on KVM-specific code

Any KVM-specific code that use these constants must check if
kvm_enabled() is true before using them.

Signed-off-by: Eduardo Habkost <>
Reviewed-by: Gleb Natapov <>...

ce3960eb 01/15/2013 05:09 am Andreas Färber

cpu: Move nr_{cores,threads} fields to CPUState

To facilitate the field movements, pass MIPSCPU to malta_mips_config();
avoid that for mips_cpu_map_tc() since callers only access MIPS Thread
Contexts, inside TCG helpers.

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

1b1ed8dc 01/15/2013 05:09 am Andreas Färber

cpu: Move numa_node field to CPUState

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

55e5c285 01/15/2013 05:09 am Andreas Färber

cpu: Move cpu_index field to CPUState

Note that target-alpha accesses this field from TCG, now using a
negative offset. Therefore the field is placed last in CPUState.

Pass PowerPCCPU to [kvm]ppc_fixup_cpu() to facilitate this change.

Move common parts of mips cpu_state_reset() to mips_cpu_reset()....

504134d2 01/15/2013 05:09 am Andreas Färber

kvm: Pass CPUState to kvm_init_vcpu()

CPUArchState is no longer needed, and it thereby no longer depends on
NEED_CPU_H.

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

da758bd7 01/14/2013 06:26 pm Anthony Liguori

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

  • kwolf/for-anthony:
    dataplane: handle misaligned virtio-blk requests
    dataplane: extract virtio-blk read/write processing into do_rdwr_cmd()
    block: make qiov_is_aligned() public
    raw-posix: fix bdrv_aio_ioctl...
c53b1c51 01/14/2013 11:06 am Stefan Hajnoczi

block: make qiov_is_aligned() public

The qiov_is_aligned() function checks whether a QEMUIOVector meets a
BlockDriverState's alignment requirements. This is needed by
virtio-blk-data-plane so:

1. Move the function from block/raw-posix.c to block/block.c....

0e848f48 01/12/2013 07:42 pm Paolo Bonzini

build: some simplifications for "trace/Makefile.objs"

Signed-off-by: Lluís Vilanova <>
Signed-off-by: Paolo Bonzini <>

4d454574 01/12/2013 06:17 pm Paolo Bonzini

qemu-option: move standard option definitions out of qemu-config.c

Signed-off-by: Paolo Bonzini <>

092bb306 01/12/2013 02:42 pm Gerd Hoffmann

pixman: fix warning

Cc:
Cc:
Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Blue Swirl <>

c732a52d 01/12/2013 02:24 pm Richard Henderson

bswap: Rewrite cpu_to_<endian><type>u with {ld,st}<type>_<endian>_p

We've now optimized the ld/st versions; reuse that for the "legacy"
versions. Always use inlines so that we get the type checking that
we expect.

Signed-off-by: Richard Henderson <>...

612d590e 01/12/2013 02:24 pm Richard Henderson

bswap: Rewrite all ld<type>_<endian>_p functions

Use the new host endian unaligned access functions instead of
open coding byte-by-byte references. Remove assembly special
cases for i386 and ppc -- we've now exposed the operation to
the compiler sufficiently for these to be optimized automatically....

7db2145a 01/12/2013 02:24 pm Richard Henderson

bswap: Add host endian unaligned access functions

Signed-off-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

cdfe2851 01/12/2013 02:23 pm Richard Henderson

bswap: Tidy base definitions of bswapN

Move the bswap_N -> bswapN wrappers inside CONFIG_BYTESWAP_H.

Change the ultimate fallback defintions from macros to inline functions.
The proper types recieved by the function arguments means we can remove
unnecessary casts, making the code more readable....

fedb88bd 01/12/2013 02:22 pm Richard Henderson

fdt: Use bswapN instead of bswap_N

Fixes the libfdt enabled build for hosts that have <machine/bswap.h>.

The code at the beginning of qemu/bswap.h is attempting to standardize
on bswapN. In the case of CONFIG_MACHINE_BSWAP_H, this is all we get.
In the case of CONFIG_BYTESWAP_H, we get bswap_N from the system header...

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

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

75a192aa 01/08/2013 10:03 pm Andreas Färber

qemu-common.h: Make qemu_init_vcpu() stub static inline

Turn the *-user macro into a no-op inline function to avoid
unused-variable warnings and band-aiding #ifdef'ery.

This allows to drop an #ifdef for alpha and avoids more for unicore32
and other upcoming trivial realizefn implementations....

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