Go to file
Michael Tokarev 51b0c6065a fix crash in migration, 32-bit userspace on 64-bit host
This change fixes a long-standing immediate crash (memory corruption
and abort in glibc malloc code) in migration on 32bits.

The bug is present since this commit:

  commit 692d9aca97b865b0f7903565274a52606910f129
  Author: Bruce Rogers <brogers@novell.com>
  Date:   Wed Sep 23 16:13:18 2009 -0600

    qemu-kvm: allocate correct size for dirty bitmap

    The dirty bitmap copied out to userspace is stored in a long array,
    and gets copied out to userspace accordingly.  This patch accounts
    for that correctly.  Currently I'm seeing kvm crashing due to writing
    beyond the end of the alloc'd dirty bitmap memory, because the buffer
    has the wrong size.

    Signed-off-by: Bruce Rogers
    Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>

 --- a/qemu-kvm.c
 +++ b/qemu-kvm.c
 @@ int kvm_get_dirty_pages_range(kvm_context_t kvm, unsigned long phys_addr,
 -            buf = qemu_malloc((slots[i].len / 4096 + 7) / 8 + 2);
 +            buf = qemu_malloc(BITMAP_SIZE(slots[i].len));
             r = kvm_get_map(kvm, KVM_GET_DIRTY_LOG, i, buf);

BITMAP_SIZE is now open-coded in that function, like this:

 size = ALIGN(((mem->memory_size) >> TARGET_PAGE_BITS), HOST_LONG_BITS) / 8;

The problem is that HOST_LONG_BITS in 32bit userspace is 32
but it's 64 in 64bit kernel.  So userspace aligns this to
32, and kernel to 64, but since no length is passed from
userspace to kernel on ioctl, kernel uses its size calculation
and copies 4 extra bytes to userspace, corrupting memory.

Here's how it looks like during migrate execution:

our=20, kern=24
our=4, kern=8
...
our=4, kern=8
our=4064, kern=4064
our=512, kern=512
our=4, kern=8
our=20, kern=24
our=4, kern=8
...
our=4, kern=8
our=4064, kern=4064
*** glibc detected *** ./x86_64-softmmu/qemu-system-x86_64: realloc(): invalid next size: 0x08f20528 ***

(our is userspace size above, kern is the size as calculated
by the kernel).

Fix this by always aligning to 64 in a hope that no platform will
have sizeof(long)>8 any time soon, and add a comment describing it
all.  It's a small price to pay for bad kernel design.

Alternatively it's possible to fix that in the kernel by using
different size calculation depending on the current process.
But this becomes quite ugly.

Special thanks goes to Stefan Hajnoczi for spotting the fundamental
cause of the issue, and to Alexander Graf for his support in #qemu.

Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
CC: Bruce Rogers <brogers@novell.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
2011-05-02 09:38:35 -03:00
QMP spice: connection events. 2010-12-09 14:23:24 +01:00
audio Fix trivial "endianness bugs" 2011-04-03 21:42:57 +02:00
block qed: Fix consistency check on 32-bit hosts 2011-04-27 16:21:00 +02:00
bsd-user bsd-user: Fix possible memory leaks and wrong realloc call 2011-01-17 20:23:47 +00:00
darwin-user darwin-user: Remove unneeded null pointer check 2011-04-27 16:28:09 +02:00
default-configs unicore32: necessary modifications for other files to support unicore32 2011-04-12 18:49:05 +00:00
docs docs/tracing.txt: minor documentation fixes 2011-04-26 13:14:49 +01:00
fpu softfloat-native: add float*_is_any_nan() functions 2011-04-25 11:18:33 +02:00
fsdev virtio-9p: move 9p files around 2011-04-27 08:24:37 -07:00
gdb-xml
hw kvm: create kvmclock when one of the flags are present 2011-05-02 09:38:35 -03:00
libcacard libcacard: fix opposite usage of isspace 2011-04-17 20:40:31 +02:00
linux-user Don't zero out buffer in sched_getaffinity 2011-05-02 10:00:01 +03:00
net Use qemu-common.h or qemu-timer.h in place of sysemu.h 2011-04-15 18:25:44 +00:00
pc-bios PXE: Refresh all PXE ROMs from the ipxe submodule 2011-04-18 11:46:41 -06:00
roms Revert SeaBIOS change due to overzealous commit -a 2011-04-13 08:16:53 -05:00
scripts trace: [ust] fix generation of 'trace.c' on events without args 2011-04-26 13:14:49 +01:00
slirp add a service to reap zombies, use it in SLIRP 2011-03-29 08:14:11 -05:00
sysconfigs/target Add cpu model configuration support.. 2010-02-22 16:16:17 -06:00
target-alpha Remove unused function parameter from cpu_restore_state 2011-04-20 10:37:03 +02:00
target-arm target-arm: Don't update base register on abort in Thumb T1 LDM 2011-04-27 20:14:34 +02:00
target-cris Remove unused function parameter from cpu_restore_state 2011-04-20 10:37:03 +02:00
target-i386 kvm: add kvmclock to its second bit 2011-05-02 09:38:35 -03:00
target-lm32 Remove unused function parameter from cpu_restore_state 2011-04-20 10:37:03 +02:00
target-m68k Remove unused function parameter from cpu_restore_state 2011-04-20 10:37:03 +02:00
target-microblaze Remove unused function parameter from cpu_restore_state 2011-04-20 10:37:03 +02:00
target-mips Remove unused function parameter from cpu_restore_state 2011-04-20 10:37:03 +02:00
target-ppc Remove unused function parameter from cpu_restore_state 2011-04-20 10:37:03 +02:00
target-s390x Remove unused function parameter from cpu_restore_state 2011-04-20 10:37:03 +02:00
target-sh4 Remove unused function parameter from cpu_restore_state 2011-04-20 10:37:03 +02:00
target-sparc Remove unused function parameter from cpu_restore_state 2011-04-20 10:37:03 +02:00
target-unicore32 Remove unused function parameters from gen_pc_load and rename the function 2011-04-20 10:33:59 +02:00
tcg tcg/arm: Support host code being compiled for Thumb 2011-03-24 03:27:22 +01:00
tests tests/test-mmap.c: Check mmap() return value before using it 2011-04-14 17:31:47 +02:00
ui vnc: tight: Fix crash after 2GB of output 2011-04-10 00:14:51 +02:00
.gitignore Makefile: Clean up after "make pdf" 2011-04-16 12:24:28 +01:00
.gitmodules Add ipxe submodule 2011-04-08 13:03:34 -06:00
CODING_STYLE checkpatch: adjust to QEMUisms 2011-01-20 20:58:56 +00:00
COPYING
COPYING.LIB
Changelog Update version and changelog to sync with stable branch 2009-12-19 08:26:03 -06:00
HACKING HACKING: Update status of format checking 2011-02-25 16:31:05 -06:00
LICENSE
MAINTAINERS MAINTAINERS: add Milkymist board 2011-04-04 10:26:54 +02:00
Makefile Merge remote-tracking branch 'awilliam/ipxe' into staging 2011-04-25 10:26:10 -05:00
Makefile.dis Compile disassemblers only once 2010-03-21 08:28:47 +00:00
Makefile.hw Clean libhw subdirs as well 2010-05-22 08:24:49 +00:00
Makefile.objs virtfs: fix build due from rename 2011-04-28 12:40:54 -05:00
Makefile.target virtio-9p: move 9p files around 2011-04-27 08:24:37 -07:00
Makefile.user Use vpath directive 2010-01-08 09:58:40 -06:00
README
TODO
VERSION Open up the 0.15 development branch 2011-02-02 08:39:28 +01:00
a.out.h
acl.c Remove unused sysemu.h include directives 2011-04-15 18:25:41 +00:00
acl.h Fix sys-queue.h conflict for good 2009-09-12 07:36:22 +00:00
aes.c
aes.h
aio.c block: fix aio_flush segfaults for read-only protocols (e.g. curl) 2010-05-21 11:49:18 +02:00
alpha-dis.c *-dis: Replace fprintf_ftype by fprintf_function (format checking) 2010-12-04 20:50:30 +00:00
alpha.ld set SEARCH_PATH for the linker script from output of ld --verbose -v 2009-07-27 14:10:56 -05:00
arch_init.c LatticeMico32 target support 2011-03-07 13:42:36 +01:00
arch_init.h migration: move some declarations to migration.h 2011-04-15 20:14:54 +00:00
arm-dis.c arm-dis: Include opcode hex when doing disassembly 2011-01-12 15:10:47 +01:00
arm-semi.c Remove unused sysemu.h include directives 2011-04-15 18:25:41 +00:00
arm.ld set SEARCH_PATH for the linker script from output of ld --verbose -v 2009-07-27 14:10:56 -05:00
async.c Introduce contexts for asynchronous callbacks 2009-10-27 12:28:59 -05:00
balloon.c Remove unused sysemu.h include directives 2011-04-15 18:25:41 +00:00
balloon.h move balloon handling to balloon.c 2010-04-09 18:55:56 +02:00
bitmap.c bitmap: add a generic bitmap and bitops library 2011-02-23 16:28:29 -06:00
bitmap.h bitmap: add a generic bitmap and bitops library 2011-02-23 16:28:29 -06:00
bitops.c bitmap: add a generic bitmap and bitops library 2011-02-23 16:28:29 -06:00
bitops.h bitops: fix error on OpenBSD and mingw32 2011-02-25 17:21:22 +00:00
block-migration.c Improve accuracy of block migration bandwidth calculation 2011-04-27 14:36:57 +02:00
block-migration.h block migration: Report progress also via info migration 2009-12-03 10:48:53 -06:00
block.c block: Do not cache device size for removable media 2011-04-07 13:51:47 +02:00
block.h Do not delete BlockDriverState when deleting the drive 2011-04-07 13:51:47 +02:00
block_int.h Add flag to indicate external users to block device 2011-02-07 12:51:19 +01:00
blockdev.c Do not delete BlockDriverState when deleting the drive 2011-04-07 13:51:47 +02:00
blockdev.h blockdev: add refcount to DriveInfo 2011-02-07 12:51:19 +01:00
bswap.h bswap.h: add cpu_to_be64wu() 2011-01-10 10:55:10 +01:00
bt-host.c Remove unused sysemu.h include directives 2011-04-15 18:25:41 +00:00
bt-host.h
bt-vhci.c Remove unused sysemu.h include directives 2011-04-15 18:25:41 +00:00
buffered_file.c Remove unused sysemu.h include directives 2011-04-15 18:25:41 +00:00
buffered_file.h
cache-utils.c Remove trailing whitespace 2010-11-01 00:54:06 +03:00
cache-utils.h Delete useless 'extern' qualifiers for functions 2011-01-23 16:21:20 +00:00
check-qdict.c check-qdict: Fix possible crash 2011-02-20 18:45:09 +01:00
check-qfloat.c Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
check-qint.c Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
check-qjson.c Silence compiler warning in json test case 2010-10-22 10:08:37 -02:00
check-qlist.c Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
check-qstring.c Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
cmd.c qemu-io: check registered fds in command_loop() 2010-06-22 14:38:02 +02:00
cmd.h Delete useless 'extern' qualifiers for functions 2011-01-23 16:21:20 +00:00
compatfd.c Use sigwait instead of sigwaitinfo. 2011-02-25 20:16:26 +00:00
compatfd.h signalfd compatibility 2010-10-20 16:15:04 -05:00
config.h Makefile dependencies for device configs 2009-11-22 21:24:54 +00:00
configure virtio-9p: move 9p files around 2011-04-27 08:24:37 -07:00
console.c Consolidate DisplaySurface allocation in qemu_alloc_display() 2011-03-22 08:39:11 -05:00
console.h Make VNC support optional 2011-03-22 08:39:12 -05:00
cpu-all.h Redirect cpu_interrupt to callback handler 2011-05-02 09:38:35 -03:00
cpu-common.h cpu-common: Modify cpu_physical_memory_read and cpu_physical_memory_write 2011-04-12 21:51:50 +02:00
cpu-defs.h Expose thread_id in info cpus 2011-03-16 17:11:07 -03:00
cpu-exec.c Remove unused function parameter from cpu_restore_state 2011-04-20 10:37:03 +02:00
cpus.c qemu_next_deadline should not consider host-time timers 2011-04-15 09:27:56 +02:00
cpus.h Move CPU related functions to cpus.h 2011-04-15 20:14:52 +00:00
cris-dis.c cris: Support disassembly of crisv10 2011-01-10 22:31:09 +01:00
cursor.c cursor: add cursor functions. 2010-05-24 15:18:23 -05:00
cursor_hidden.xpm cursor: add cursor functions. 2010-05-24 15:18:23 -05:00
cursor_left_ptr.xpm cursor: add cursor functions. 2010-05-24 15:18:23 -05:00
cutils.c QCOW2: bug fix - read base image beyond its size 2011-02-10 13:23:44 +01:00
def-helper.h tcg: Optionally sign-extend 32-bit arguments for 64-bit hosts. 2010-06-16 11:29:11 +02:00
device_tree.c Remove unused sysemu.h include directives 2011-04-15 18:25:41 +00:00
device_tree.h Allow qemu_devtree_setprop() to take arbitrary values 2011-04-01 18:34:54 +02:00
dis-asm.h Delete useless 'extern' qualifiers for functions 2011-01-23 16:21:20 +00:00
disas.c Replace cpu_physical_memory_rw were possible 2011-04-12 21:51:50 +02:00
disas.h Remove special handling of system include files (no longer needed) 2010-10-22 17:11:28 +00:00
dma-helpers.c Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
dma.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
dyngen-exec.h Remove special handling of system include files (no longer needed) 2010-10-22 17:11:28 +00:00
elf.h unicore32: necessary modifications for other files to support unicore32 2011-04-12 18:49:05 +00:00
envlist.c Fix sys-queue.h conflict for good 2009-09-12 07:36:22 +00:00
envlist.h Delete useless 'extern' qualifiers for functions 2011-01-23 16:21:20 +00:00
exec-all.h Remove unused function parameter from cpu_restore_state 2011-04-20 10:37:03 +02:00
exec.c Redirect cpu_interrupt to callback handler 2011-05-02 09:38:35 -03:00
gdbstub.c gdbstub: Catch and report more vmstop reasons 2011-04-03 23:57:39 +02:00
gdbstub.h Add scripts directory 2011-01-20 20:54:21 +00:00
gen-icount.h Fix conversions from pointer to tcg_target_long 2011-04-10 00:45:16 +02:00
hmp-commands.hx hmp-commands.hx: fix badly merged client_migrate_info command 2011-03-10 16:12:21 -06:00
host-utils.c user: compile host-utils.c only once 2009-08-16 08:03:26 +00:00
host-utils.h target-alpha: Fix generic ctz64. 2009-12-17 18:12:04 +01:00
hpet.h
hppa-dis.c tcg-hppa: Fix const errors in hppa-dis.c 2010-03-23 22:00:43 +01:00
hppa.ld set SEARCH_PATH for the linker script from output of ld --verbose -v 2009-07-27 14:10:56 -05:00
i386-dis.c i386-dis: Fix unused return value, spotted by clang 2010-04-18 14:27:44 +00:00
i386.ld Fix missing symbols in .rel/.rela.plt sections 2010-02-06 22:22:27 +01:00
ia64-dis.c Fix %lld or %llx printf format use 2010-05-22 08:02:12 +00:00
ia64.ld set SEARCH_PATH for the linker script from output of ld --verbose -v 2009-07-27 14:10:56 -05:00
input.c event: trivial coding style fixes 2011-04-09 10:56:17 +01:00
iohandler.c add a service to reap zombies, use it in SLIRP 2011-03-29 08:14:11 -05:00
ioport-user.c Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
ioport.c ioport: Improve error output 2011-03-06 21:01:32 +01:00
ioport.h Type-safe ioport callbacks 2010-11-21 09:16:57 -06:00
iorange.h Type-safe ioport callbacks 2010-11-21 09:16:57 -06:00
iov.c iov: Move from hw/ to topdir 2010-05-10 11:36:03 -05:00
iov.h iov: Move from hw/ to topdir 2010-05-10 11:36:03 -05:00
json-lexer.c json-lexer: fix conflict with mingw32 ERROR definition 2011-04-15 18:25:38 +00:00
json-lexer.h Add a lexer for JSON 2009-11-17 08:49:39 -06:00
json-parser.c Use GCC_FMT_ATTR (format checking) 2010-10-03 06:34:51 +00:00
json-parser.h Add a JSON parser 2009-11-17 08:49:39 -06:00
json-streamer.c json-streamer: Don't use qdict_put_obj() 2010-06-11 15:25:14 -03:00
json-streamer.h Add a JSON message boundary identifier 2009-11-17 08:49:39 -06:00
kvm-all.c fix crash in migration, 32-bit userspace on 64-bit host 2011-05-02 09:38:35 -03:00
kvm-stub.c Remove unused sysemu.h include directives 2011-04-15 18:25:41 +00:00
kvm.h kvm: x86: Push kvm_arch_debug to kvm_arch_handle_exit 2011-03-16 17:11:06 -03:00
libfdt_env.h
linux-aio.c linux-aio: Fix typo in read() EINTR check 2010-04-23 16:21:57 +02:00
m68k-dis.c *-dis: Replace fprintf_ftype by fprintf_function (format checking) 2010-12-04 20:50:30 +00:00
m68k-semi.c Move qemu_gettimeofday() to OS specific files 2010-10-30 08:02:38 +00:00
m68k.ld set SEARCH_PATH for the linker script from output of ld --verbose -v 2009-07-27 14:10:56 -05:00
microblaze-dis.c *-dis: Replace fprintf_ftype by fprintf_function (format checking) 2010-12-04 20:50:30 +00:00
migration-exec.c Remove unused sysemu.h include directives 2011-04-15 18:25:41 +00:00
migration-fd.c Remove unused sysemu.h include directives 2011-04-15 18:25:41 +00:00
migration-tcp.c Remove unused sysemu.h include directives 2011-04-15 18:25:41 +00:00
migration-unix.c Remove unused sysemu.h include directives 2011-04-15 18:25:41 +00:00
migration.c Improve vm_stop reason declarations 2011-02-14 12:39:46 -02:00
migration.h migration: move some declarations to migration.h 2011-04-15 20:14:54 +00:00
mips-dis.c *-dis: Replace fprintf_ftype by fprintf_function (format checking) 2010-12-04 20:50:30 +00:00
mips.ld set SEARCH_PATH for the linker script from output of ld --verbose -v 2009-07-27 14:10:56 -05:00
module.c Fix sys-queue.h conflict for good 2009-09-12 07:36:22 +00:00
module.h
monitor.c Replace cpu_physical_memory_rw were possible 2011-04-12 21:51:50 +02:00
monitor.h spice: connection events. 2010-12-09 14:23:24 +01:00
nbd.c NBD: Use qemu_socket functions to open TCP and UNIX sockets 2011-04-07 13:51:48 +02:00
nbd.h NBD: Use qemu_socket functions to open TCP and UNIX sockets 2011-04-07 13:51:48 +02:00
net.c Remove unused sysemu.h include directives 2011-04-15 18:25:41 +00:00
net.h Add bootindex parameter to net/block/fd device 2010-12-11 21:32:46 +00:00
notify.c Add support for generic notifier lists 2010-03-19 15:27:32 -05:00
notify.h Add support for generic notifier lists 2010-03-19 15:27:32 -05:00
os-posix.c add a service to reap zombies, use it in SLIRP 2011-03-29 08:14:11 -05:00
os-win32.c Expose thread_id in info cpus 2011-03-16 17:11:07 -03:00
osdep.c Remove unused sysemu.h include directives 2011-04-15 18:25:41 +00:00
osdep.h Merge remote branch 'qemu-kvm/uq/master' into staging 2011-03-21 17:42:20 -05:00
oslib-posix.c virtio-9p: fix build on !CONFIG_UTIMENSAT 2010-12-02 16:08:40 -08:00
oslib-win32.c w32: Remove implementation of function ffs 2011-02-20 20:18:21 +00:00
path.c user: speed up init_paths a bit 2011-02-09 10:33:54 +02:00
pci-ids.txt
pflib.c add pflib: PixelFormat conversion library. 2010-09-21 18:35:30 +02:00
pflib.h add pflib: PixelFormat conversion library. 2010-09-21 18:35:30 +02:00
poison.h LatticeMico32 target support 2011-03-07 13:42:36 +01:00
posix-aio-compat.c trace: Trace posix-aio-compat.c completion and cancellation 2011-03-07 15:34:46 +00:00
ppc-dis.c Work around OpenSolaris sys/regset.h namespace pollution 2009-09-12 12:36:11 +00:00
ppc.ld set SEARCH_PATH for the linker script from output of ld --verbose -v 2009-07-27 14:10:56 -05:00
ppc64.ld set SEARCH_PATH for the linker script from output of ld --verbose -v 2009-07-27 14:10:56 -05:00
qbool.c Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
qbool.h Add a QBool type 2009-11-17 08:49:39 -06:00
qdict-test-data.txt Introduce QDict test data file 2009-09-04 09:37:34 -05:00
qdict.c QDict: Introduce qdict_get_try_bool() 2010-07-01 14:27:13 -03:00
qdict.h QDict: Introduce qdict_get_try_bool() 2010-07-01 14:27:13 -03:00
qemu-aio.h Add qemu_aio_process_queue() 2009-10-27 12:28:59 -05:00
qemu-barrier.h Introduce proper compiler barrier 2010-07-22 05:52:08 +02:00
qemu-char.c char: Detect chardev release by NULL handlers as well as NULL opaque 2011-04-28 11:11:04 +05:30
qemu-char.h char: Allow devices to use a single multiplexed chardev. 2011-04-28 11:03:07 +05:30
qemu-common.h Move generic or OS function declarations to qemu-common.h 2011-04-15 18:25:46 +00:00
qemu-config.c Remove unused sysemu.h include directives 2011-04-15 18:25:41 +00:00
qemu-config.h spice: core bits 2010-09-21 18:36:42 +02:00
qemu-doc.texi Documentation: add Sheepdog disk images 2011-02-07 09:44:45 +01:00
qemu-error.c Remove unused sysemu.h include directives 2011-04-15 18:25:41 +00:00
qemu-error.h Use GCC_FMT_ATTR (format checking) 2010-10-03 06:34:51 +00:00
qemu-img-cmds.hx qemu-img: Initial progress printing support 2011-04-07 13:51:47 +02:00
qemu-img.c qemu-img: allow rebase to a NULL backing file when unsafe 2011-04-27 11:12:50 +02:00
qemu-img.texi Documentation: Add qemu-img check/rebase 2011-01-24 16:41:49 +01:00
qemu-io.c qemu-io: Fix discard command 2011-01-31 10:03:00 +01:00
qemu-lock.h qemu-lock.h: Remove non-pthreads spinlock implementations 2011-02-20 15:20:06 +01:00
qemu-log.h
qemu-malloc.c Add missing tracing to qemu_mallocz() 2010-12-14 15:44:21 +01:00
qemu-nbd.c Remove NULL checks for bdrv_new return value 2010-12-17 16:11:03 +01:00
qemu-nbd.texi qemu-nbd: Fix wrong description in qemu-nbd.texi 2010-03-06 23:03:50 +01:00
qemu-objects.h Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
qemu-option.c qemu-option: Fix parse_option_parameters() documentation typo 2010-12-14 15:44:21 +01:00
qemu-option.h error: New qemu_opts_loc_restore() 2010-07-06 17:05:49 +02:00
qemu-options.h Introduce OS specific cmdline argument handling and move SMB arg to os-posix.c 2010-06-12 08:49:15 +03:00
qemu-options.hx doc: fix slirp description 2011-04-25 23:10:04 +02:00
qemu-os-posix.h virtio-9p: fix build on !CONFIG_UTIMENSAT 2010-12-02 16:08:40 -08:00
qemu-os-win32.h Move generic or OS function declarations to qemu-common.h 2011-04-15 18:25:46 +00:00
qemu-progress.c Remove obsolete 'enabled' variable from progress state 2011-04-27 16:21:00 +02:00
qemu-queue.h Import a simple queue implementation from NetBSD 2009-12-03 10:48:52 -06:00
qemu-sockets.c Set errno=ENOTSUP for attempts to use UNIX sockets on Windows platforms 2011-04-07 13:51:48 +02:00
qemu-tech.texi qemu-tech: Spelling fixes 2011-01-09 20:59:53 +00:00
qemu-thread-posix.c qemu-thread: delete unused functions 2011-03-19 08:30:28 +00:00
qemu-thread-posix.h add Win32 IPI service 2011-03-13 14:44:22 +00:00
qemu-thread-win32.c w32: Add missing functions qemu_mutex_destroy, qemu_cond_destroy 2011-03-19 08:29:35 +00:00
qemu-thread-win32.h add win32 qemu-thread implementation 2011-03-13 14:44:21 +00:00
qemu-thread.h qemu-thread.h: include inttypes.h 2011-04-01 19:07:48 -05:00
qemu-timer-common.c Add OpenBSD to ifdef list since it has CLOCK_MONOTONIC. 2010-12-21 19:44:42 +00:00
qemu-timer.c qemu-timer: Fix timers for w32 2011-04-27 13:30:18 +02:00
qemu-timer.h qemu-timer: Remove unneeded include statement (w32) 2011-04-27 13:30:18 +02:00
qemu-tool.c Remove unused sysemu.h include directives 2011-04-15 18:25:41 +00:00
qemu-x509.h move x509 file name defines to qemu-x509.h 2010-03-08 11:30:09 -06:00
qemu.sasl
qemu_socket.h net: remove parse_host_src_port() function 2011-03-06 20:06:50 +01:00
qerror.c qerror: Add QERR_UNKNOWN_BLOCK_FORMAT_FEATURE 2011-02-10 13:23:44 +01:00
qerror.h Make VNC support optional 2011-03-22 08:39:12 -05:00
qfloat.c Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
qfloat.h Add a QFloat datatype 2009-11-17 08:49:38 -06:00
qint.c Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
qint.h Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
qjson.c Add support for JSON pretty printing 2010-10-01 10:12:43 -03:00
qjson.h Merge remote branch 'qmp/for-anthony' into staging 2010-10-05 13:54:49 -05:00
qlist.c Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
qlist.h Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
qmp-commands.hx qmp-commands.hx: Clean up mess of client_migrate_info 2011-03-22 08:39:12 -05:00
qobject.h Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
qstring.c Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
qstring.h Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
range.h Introduce range.h 2010-09-18 05:53:14 +00:00
readline.c cope with printf macro definition in readline.c 2010-02-08 12:12:40 +03:00
readline.h
rules.mak Add scripts directory 2011-01-20 20:54:21 +00:00
rwhandler.c Make simple io mem handler endian aware 2010-12-11 15:24:25 +00:00
rwhandler.h Make simple io mem handler endian aware 2010-12-11 15:24:25 +00:00
s390-dis.c s390: Disassemble some general-instruction-extension insns. 2010-06-10 00:46:41 +02:00
s390.ld set SEARCH_PATH for the linker script from output of ld --verbose -v 2009-07-27 14:10:56 -05:00
savevm.c Fix some typos in comments and documentation 2011-04-16 12:24:28 +01:00
sh4-dis.c *-dis: Replace fprintf_ftype by fprintf_function (format checking) 2010-12-04 20:50:30 +00:00
simpletrace.c simpletrace: Move st_init() error reporting 2011-03-15 18:03:26 +00:00
simpletrace.h simpletrace: Move st_init() error reporting 2011-03-15 18:03:26 +00:00
softmmu-semi.h
softmmu_defs.h
softmmu_exec.h sparc64: handle asi referencing nucleus and secondary MMU contexts 2010-05-06 23:14:26 +03:00
softmmu_header.h sparc64: fix 32bit load sign extension 2010-06-02 20:04:52 +00:00
softmmu_template.h Split TLB addend and target_phys_addr_t 2010-04-05 00:28:53 +01:00
sparc-dis.c sparc64: more ultrasparc asi extensions for disassembler 2010-05-06 20:13:02 +00:00
sparc.ld Fix sparc.ld 2009-09-13 19:38:43 +00:00
sparc64.ld set SEARCH_PATH for the linker script from output of ld --verbose -v 2009-07-27 14:10:56 -05:00
spice-qemu-char.c spice-chardev: listen to frontend guest open / close 2011-04-28 11:02:31 +05:30
sysemu.h migration: move some declarations to migration.h 2011-04-15 20:14:54 +00:00
targphys.h Split TLB addend and target_phys_addr_t 2010-04-05 00:28:53 +01:00
tcg-runtime.c tcg: add div/rem 32-bit helpers 2010-03-14 22:04:50 +01:00
thunk.c
thunk.h
trace-events trace: [trace-events] fix print formats in some events 2011-04-26 13:14:50 +01:00
translate-all.c Remove unused function parameter from cpu_restore_state 2011-04-20 10:37:03 +02:00
uboot_image.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
usb-bsd.c Fix trivial "endianness bugs" 2011-04-03 21:42:57 +02:00
usb-linux.c usb: fix spelling errors in usb-linux.c 2011-04-16 12:24:28 +01:00
usb-stub.c
version.rc mingw: add version information to the executables 2010-09-26 16:07:57 +00:00
vgafont.h
vl.c vl.c: Replace -virtfs string manipulation with QemuOpts 2011-04-27 08:31:29 -07:00
x86_64.ld Fix missing symbols in .rel/.rela.plt sections 2010-02-06 22:22:27 +01:00

README

Read the documentation in qemu-doc.html.

Fabrice Bellard.