Go to file
Eduardo Habkost 1352672860 Expose CPUID leaf 7 only for -cpu host
Changes v2 -> v3;
  - Check for kvm_enabled() before setting cpuid_7_0_ebx_features

Changes v1 -> v2:
  - Use kvm_arch_get_supported_cpuid() instead of host_cpuid() on
    cpu_x86_fill_host().

  We should use GET_SUPPORTED_CPUID for all bits on "-cpu host"
  eventually, but I am not changing all the other CPUID leaves because
  we may not be able to test such an intrusive change in time for 1.1.

Description of the bug:

Since QEMU 0.15, the CPUID information on CPUID[EAX=7,ECX=0] is being
returned unfiltered to the guest, directly from the GET_SUPPORTED_CPUID
return value.

The problem is that this makes the resulting CPU feature flags
unpredictable and dependent on the host CPU and kernel version. This
breaks live-migration badly if migrating from a host CPU that supports
some features on that CPUID leaf (running a recent kernel) to a kernel
or host CPU that doesn't support it.

Migration also is incorrect (the virtual CPU changes under the guest's
feet) if you migrate in the opposite direction (from an old CPU/kernel
to a new CPU/kernel), but with less serious consequences (guests
normally query CPUID information only once on boot).

Fortunately, the bug affects only users using cpudefs with level >= 7.

The right behavior should be to explicitly enable those features on
[cpudef] config sections or on the "-cpu" command-line arguments. Right
now there is no predefined CPU model on QEMU that has those features:
the latest Intel model we have is Sandy Bridge.

I would like to get this fixed on 1.1, so I am submitting this patch,
that enables those features only if "-cpu host" is being used (as we
don't have any pre-defined CPU model that actually have those features).
After 1.1 is released, we can make those features properly configurable
on [cpudef] and -cpu configuration.

One problem is: with this patch, users with the following setup:
- Running QEMU 1.0;
- Using a cpudef having level >= 7;
- Running a kernel that supports the features on CPUID leaf 7; and
- Running on a CPU that supports some features on CPUID leaf 7
won't be able to live-migrate to QEMU 1.1. But for these users
live-migration is already broken (they can't live-migrate to hosts with
older CPUs or older kernels, already), I don't see how to avoid this
problem.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-05-30 10:28:44 +08:00
QMP qom: quick and dirty QOM filesystem based on FUSE 2012-04-26 13:14:57 -05:00
audio audio: Always call fini on exit 2012-05-24 19:35:27 +04:00
block Merge remote-tracking branch 'kwolf/for-anthony' into staging 2012-05-29 04:30:49 -05:00
bsd-user bsd-user: fix compile failure 2012-04-13 09:57:36 +01:00
default-configs Drop darwin-user 2012-05-01 00:17:27 +02:00
docs docs: fix one issue in qcow2 specs 2012-05-02 18:39:39 +02:00
fpu softfloat: Replace int16 type with int_fast16_t 2012-04-28 09:13:26 +00:00
fsdev Replace Qemu by QEMU in user visible documentation 2012-04-07 13:58:06 +00:00
gdb-xml gdb-xml: fix hacks in powerpc register numbering 2009-07-12 23:42:05 +02:00
hw pci: call object_unparent() before free_qdev() 2012-05-29 20:19:24 -05:00
include/qemu qom: Documentation addition for object_class_by_name() 2012-05-12 14:17:52 +02:00
libcacard libcacard/vcard_emul_nss: add warning for old coolkey 2012-03-26 18:39:00 +02:00
linux-headers kvm: update linux headers 2012-04-12 19:01:42 -03:00
linux-user linux-user: Fix stale tbs after mmap 2012-05-19 15:49:40 +00:00
net Declare state directory in smb.conf 2012-05-01 19:08:44 -03:00
pc-bios pc-bios: update OpenBIOS images 2012-05-01 10:58:04 +00:00
qapi qapi: add support for command options 2012-05-15 09:15:16 -05:00
qga qemu-ga: Fix missing environ declaration 2012-05-24 13:06:33 -05:00
qom qdev: Use object_property_print() in info qtree 2012-05-12 14:17:52 +02:00
roms seabios: update to 1.7.0 2012-04-17 10:51:41 +02:00
scripts qapi: add support for command options 2012-05-15 09:15:16 -05:00
slirp slirp: Avoid redefining MAX_TCPOPTLEN 2012-05-28 22:44:27 +02:00
sysconfigs/target move CPU definitions to /usr/share/qemu/cpus-x86_64.conf (v2) 2012-05-10 12:37:57 -05:00
target-alpha target-alpha: QOM'ify CPU init 2012-04-15 21:26:55 +02:00
target-arm target-arm/cpu.h: Make cpu_init("nonexistent cpu") return NULL 2012-05-10 12:56:09 +00:00
target-cris target-cris: Start QOM'ifying CPU init 2012-04-24 16:04:56 +02:00
target-i386 Expose CPUID leaf 7 only for -cpu host 2012-05-30 10:28:44 +08:00
target-lm32 Use uintptr_t for various op related functions 2012-04-14 14:23:37 +00:00
target-m68k target-m68k: Add QOM CPU subclasses 2012-04-30 11:32:13 +02:00
target-microblaze target-microblaze: impelemented swapx instructions 2012-05-18 12:17:52 +02:00
target-mips mips: Fix BC1ANY[24]F instructions 2012-05-19 15:51:44 +00:00
target-ppc target-ppc: Some support for dumping TLB_EMB TLBs 2012-05-01 21:47:01 +02:00
target-s390x S390: dont call system_shutdown on disabled wait 2012-05-01 21:04:06 +02:00
target-sh4 target-sh4: Start QOM'ifying CPU init 2012-04-30 11:32:10 +02:00
target-sparc fix block loads broken in commit 30038fd818 2012-05-12 09:48:05 +00:00
target-unicore32 target-unicore32: Move CPU-dependent init into initfn 2012-03-30 11:09:31 +02:00
target-xtensa target-xtensa: fix LOOPNEZ/LOOPGTZ translation 2012-04-21 13:24:45 +00:00
tcg tcg/ppc: Handle _CALL_DARWIN being undefined on Darwin 2012-05-27 21:52:56 +04:00
tests fdc-test: introduced qtest no_media_on_start and cmos qtest for floppy 2012-05-25 18:23:47 +02:00
trace trace: make trace_thread_create() use its function arg 2012-03-12 10:12:34 +00:00
ui cocoa: Suppress Cocoa frontend for -qtest 2012-05-29 11:40:27 +02:00
.gitignore .gitignore: add qemu-bridge-helper and option rom build products 2012-03-19 10:52:52 +00:00
.gitmodules add sgabios blob and submodule 2011-11-07 10:57:36 -06:00
.mailmap Add a .mailmap to map pre-git-conversion authors to friendly names 2011-12-12 17:06:21 -06:00
CODING_STYLE Replace Qemu by QEMU in internal documentation 2012-04-07 13:58:25 +00:00
COPYING COPYING: update from FSF 2008-10-12 17:54:42 +00:00
COPYING.LIB Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
Changelog fix some common typos 2012-05-14 07:27:24 +02:00
HACKING HACKING: clarify allocation/free recommendations 2011-12-15 09:27:23 -06:00
LICENSE LICENSE: There is no libqemu.a anymore 2011-12-09 11:25:22 +00:00
MAINTAINERS Merge branch 'maintainers-up' of git://repo.or.cz/qemu/afaerber 2012-05-01 09:29:44 +00:00
Makefile move CPU definitions to /usr/share/qemu/cpus-x86_64.conf (v2) 2012-05-10 12:37:57 -05:00
Makefile.dis Compile disassemblers only once 2010-03-21 08:28:47 +00:00
Makefile.hw make: Remove duplicate use of GLIB_CFLAGS 2012-02-09 20:44:38 +04:00
Makefile.objs Beautify makefile commands for generation of files with tracetool 2012-04-25 14:21:35 +01:00
Makefile.target cputlb: move TLB handling to a separate file 2012-05-01 10:45:04 +00:00
Makefile.user qom: Add QOM support to user emulators 2012-03-13 13:23:18 -05:00
README Update README 2011-12-11 17:50:43 -06:00
TODO Update 2008-12-04 11:29:42 +00:00
VERSION Update version for 1.1.0-rc3 2012-05-22 09:21:01 -05:00
a.out.h Use new macro QEMU_PACKED for packed structures 2011-09-03 10:45:59 +00:00
acl.c acl: Fix use after free in qemu_acl_reset() 2011-11-01 06:23:48 +00:00
acl.h Fix sys-queue.h conflict for good 2009-09-12 07:36:22 +00:00
aes.c Include assert.h from qemu-common.h 2009-05-13 20:54:26 +01:00
aes.h
aio.c aio: simplify qemu_aio_wait 2012-04-19 16:51:47 +02:00
alpha-dis.c target-alpha: Disassemble EV6 PALcode instructions. 2011-05-31 10:18:04 -07: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 arch_init: Fix AltiVec build on Darwin/ppc 2012-05-29 11:38:07 +02:00
arch_init.h eliminate arch_config_name variable 2012-05-10 12:37:55 -05:00
arm-dis.c fix spelling in main directory 2011-12-02 10:50:57 +00:00
arm-semi.c arm-semi: Rename SYS_XXX macros to TARGET_SYS_XXX (fixes compiler warning) 2012-05-03 07:04:48 +02:00
arm.ld Fix linker scripts 2011-08-27 15:42:35 +00:00
async.c async: Use bool for boolean struct members and remove a hole 2012-05-01 10:13:25 +01:00
balloon.c qapi: fix qmp_balloon() conversion 2012-04-27 11:44:50 -03:00
balloon.h qapi: Convert balloon 2011-12-06 11:40:01 -02:00
bitmap.c bitmap: add a generic bitmap and bitops library 2011-02-23 16:28:29 -06:00
bitmap.h Use glib memory allocation and free functions 2011-08-20 23:01:08 -05: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 Purge migration of (almost) everything to do with monitors 2012-03-15 10:39:52 -03:00
block-migration.h block migration: Report progress also via info migration 2009-12-03 10:48:53 -06:00
block.c qemu-img: make "info" backing file output correct and easier to use 2012-05-10 10:32:12 +02:00
block.h qemu-img: make "info" backing file output correct and easier to use 2012-05-10 10:32:12 +02:00
block_int.h block: wait for job callback in block_job_cancel_sync 2012-05-10 10:32:12 +02:00
blockdev.c block: fail live snapshot if disk has no medium 2012-05-10 10:32:11 +02:00
blockdev.h qapi: Convert block_set_io_throttle 2012-01-18 10:23:39 -02:00
bswap.h bswap.h: build fix 2011-09-16 08:26:31 -05:00
bt-host.c bt-host: add missing break statement 2012-01-13 10:37:00 +00:00
bt-host.h Clean build: Add bt-host.h 2009-03-10 21:43:35 +00:00
bt-vhci.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
buffered_file.c prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
buffered_file.h Introduce a buffered file wrapper for QEMUFile 2008-10-13 03:10:22 +00:00
cache-utils.c Remove trailing whitespace 2010-11-01 00:54:06 +03:00
cache-utils.h cache-utils: Add missing include file for uintptr_t 2012-03-11 11:25:19 +00:00
cmd.c qemu-io: correctly print non-integer values as decimals 2012-05-10 10:32:12 +02:00
cmd.h Delete useless 'extern' qualifiers for functions 2011-01-23 16:21:20 +00:00
compatfd.c prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
compatfd.h Register Linux dyntick timer as per-thread signal 2011-07-23 11:26:12 -05:00
compiler.h rewrite QEMU_BUILD_BUG_ON 2012-02-09 16:17:51 +01:00
config.h Makefile dependencies for device configs 2009-11-22 21:24:54 +00:00
configure configure: check if environ is declared 2012-05-24 13:06:31 -05:00
console.c optimize screendump for the common non-switch case 2012-02-24 13:36:05 -06:00
console.h console: add some trace events 2012-03-12 10:30:23 +00:00
coroutine-gthread.c coroutine-gthread.c: Avoid threading APIs deprecated in GLib 2.31 2012-04-14 10:59:14 +00:00
coroutine-sigaltstack.c Merge remote-tracking branch 'kwolf/for-anthony' into staging 2012-05-14 12:45:01 -05:00
coroutine-ucontext.c coroutine: switch to QSLIST 2012-02-17 08:33:33 -06:00
coroutine-win32.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
cpu-all.h exec: prepare for splitting 2012-05-01 10:45:02 +00:00
cpu-common.h w64: Fix size of ram_addr_t 2012-03-03 18:10:16 +00:00
cpu-defs.h w64: Fix struct CPUTLBEntry 2012-04-15 21:25:16 +02:00
cpu-exec.c cpu-exec: Remove non-portable type cast and fix format string 2012-04-15 21:25:17 +02:00
cpus.c kvm: Drop redundant kvm_enabled from cpu_thread_is_idle 2012-04-12 19:01:41 -03:00
cpus.h qtest: add clock management 2012-03-30 08:14:11 -05:00
cputlb.c cputlb: fix watchpoints handling 2012-05-12 09:14:38 +00:00
cputlb.h memory: move functions is_romd and section_addr to memory API 2012-05-01 10:45:07 +00:00
cris-dis.c cris-dis: Clean memory allocation 2012-01-10 09:36:43 +01:00
cursor.c Fix sign of sscanf format specifiers 2012-03-07 13:03:51 +00: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 cutils: extract buffer_is_zero() from qemu-img.c 2012-02-09 16:17:50 +01:00
def-helper.h Add support for target helper functions which don't return 2012-03-24 13:01:46 +00:00
device_tree.c device_tree: Fix potential memory leak 2011-10-26 13:36:34 +01:00
device_tree.h device tree: add add_subnode command 2011-10-06 09:48:00 +02:00
dis-asm.h target-lm32: add simple disassembler 2012-04-01 20:30:23 +02:00
disas.c fix some common typos 2012-05-14 07:27:24 +02:00
disas.h Rename CPUState -> CPUArchState 2012-03-14 22:20:27 +01:00
dma-helpers.c Use DMADirection type for dma_bdrv_io 2012-04-05 14:54:40 +02:00
dma.h Merge remote-tracking branch 'kwolf/for-anthony' into staging 2012-04-10 08:16:12 -05:00
dyngen-exec.h Rename CPUState -> CPUArchState 2012-03-14 22:20:27 +01:00
elf.h elf.h: Update EF_ARM_ constants to newer ABI versions 2012-04-06 19:25:57 +03: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
error.c error.c: don't return value for void function 2012-04-20 13:14:53 +01:00
error.h Error: Introduce error_copy() 2012-03-15 10:39:52 -03:00
error_int.h Introduce the new error framework 2011-06-07 13:52:10 -05:00
event_notifier.c prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
event_notifier.h prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
exec-all.h linux-user: Fix stale tbs after mmap 2012-05-19 15:49:40 +00:00
exec-memory.h fix spelling in main directory 2011-12-02 10:50:57 +00:00
exec-obsolete.h memory: get rid of cpu_register_io_memory() 2012-03-08 19:16:39 +02:00
exec.c linux-user: Fix stale tbs after mmap 2012-05-19 15:49:40 +00:00
gdbstub.c gdbstub: Synchronize CPU state unconditionally in gdb_set_cpu_pc 2012-04-21 13:27:34 +00:00
gdbstub.h Rename CPUState -> CPUArchState 2012-03-14 22:20:27 +01:00
gen-icount.h Rename CPUState -> CPUArchState 2012-03-14 22:20:27 +01:00
hmp-commands.hx block: add 'speed' optional parameter to block-stream 2012-04-27 11:44:50 -03:00
hmp.c stream: fix HMP block_job_set_speed 2012-05-10 11:01:59 +02:00
hmp.h qapi: convert device_del 2012-04-09 14:35:25 -03:00
host-utils.c user: compile host-utils.c only once 2009-08-16 08:03:26 +00:00
host-utils.h Move macro QEMU_GNUC_PREREQ to compiler.h 2011-09-23 11:51:05 -05:00
hppa-dis.c fix spelling in main directory 2011-12-02 10:50:57 +00:00
hppa.ld Fix linker scripts 2011-08-27 15:42:35 +00:00
i386-dis.c i386-dis: Fix unused return value, spotted by clang 2010-04-18 14:27:44 +00:00
i386.ld Fix linker scripts 2011-08-27 15:42:35 +00:00
ia64-dis.c ia64-dis.c: Undefine ABS to avoid clash with glib 2011-11-01 11:50:12 -05: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 runstate: introduce suspended state 2012-05-08 14:30:09 -03:00
int128.h Add support for 128-bit arithmetic 2011-10-16 13:13:05 +02:00
iohandler.c iohandler: Use bool for boolean struct member and remove holes 2012-05-01 10:13:33 +01:00
ioport-user.c Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
ioport.c ioport: use INT64_MAX for IO ranges 2012-03-19 15:17:21 +02:00
ioport.h ioport: add destructor method to IORange 2012-03-05 17:36:19 +02:00
iorange.h ioport: add destructor method to IORange 2012-03-05 17:36:19 +02:00
iov.c prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
iov.h Add iov_clear() 2011-08-04 15:51:22 +02:00
json-lexer.c Add 'fall through' comments to case statements without break 2012-01-13 10:36:59 +00:00
json-lexer.h json-lexer: make lexer error-recovery more deterministic 2011-06-07 13:52:11 -05:00
json-parser.c json-parser: add handling for NULL token list 2011-06-07 13:52:11 -05:00
json-parser.h json-parser: propagate error from parser 2011-06-07 13:52:10 -05:00
json-streamer.c json-streamer: add handling for JSON_ERROR token/state 2011-06-07 13:52:11 -05:00
json-streamer.h json-streamer: make sure to reset token_size after emitting a token list 2011-06-07 13:52:11 -05:00
kvm-all.c kvm: Fix dirty tracking with large kernel page size 2012-05-10 12:40:08 +03:00
kvm-stub.c kvm: Drop unused kvm_pit_in_kernel 2012-04-12 19:01:41 -03:00
kvm.h kvm: Drop unused kvm_pit_in_kernel 2012-04-12 19:01:41 -03:00
libfdt_env.h Fix libfdt warnings on Darwin 2011-06-14 03:08:57 +02:00
linux-aio.c aio: remove process_queue callback and qemu_aio_process_queue 2012-04-19 16:37:53 +02:00
lm32-dis.c target-lm32: add simple disassembler 2012-04-01 20:30:23 +02:00
m68k-dis.c fix spelling in main directory 2011-12-02 10:50:57 +00:00
m68k-semi.c m68k-semi: Don't use CPUState 2012-03-14 22:20:26 +01:00
m68k.ld set SEARCH_PATH for the linker script from output of ld --verbose -v 2009-07-27 14:10:56 -05:00
main-loop.c main-loop: Calculate poll timeout using timeout argument 2012-05-01 10:46:25 +00:00
main-loop.h Switch SIG_IPI to SIGUSR1 2012-05-10 08:33:34 -05:00
memory.c memory: check address space when a listener is registered 2012-04-05 13:09:17 +03:00
memory.h memory: move functions is_romd and section_addr to memory API 2012-05-01 10:45:07 +00:00
microblaze-dis.c *-dis: Replace fprintf_ftype by fprintf_function (format checking) 2010-12-04 20:50:30 +00:00
migration-exec.c prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
migration-fd.c qapi: Convert migrate 2012-03-15 10:39:52 -03:00
migration-tcp.c use inet_listen()/inet_connect() to support ipv6 migration 2012-05-10 12:37:57 -05:00
migration-unix.c prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
migration.c use inet_listen()/inet_connect() to support ipv6 migration 2012-05-10 12:37:57 -05:00
migration.h use inet_listen()/inet_connect() to support ipv6 migration 2012-05-10 12:37:57 -05:00
mips-dis.c Remove blanks before \n in output strings 2011-09-16 08:25:56 -05:00
mips.ld Fix linker scripts 2011-08-27 15:42:35 +00:00
module.c Remove type field in ModuleEntry as it's not used 2012-03-19 10:52:52 +00:00
module.h qom: Unify type registration 2012-02-15 09:39:21 -06:00
monitor.c hmp: fix bad value conversion for M type 2012-05-08 14:30:22 -03:00
monitor.h suspend: add qmp events 2012-02-24 13:36:04 -06:00
nbd.c sockets: use error class to pass listen error 2012-05-10 12:37:57 -05:00
nbd.h nbd: consistently return negative errno values 2012-04-19 16:36:43 +02:00
net.c net: move compute_mcast_idx() to net.h 2012-03-16 01:04:51 +02:00
net.h net: move compute_mcast_idx() to net.h 2012-03-16 01:04:51 +02:00
notify.c notifier: switch to QLIST 2012-02-17 08:33:32 -06:00
notify.h notifier: switch to QLIST 2012-02-17 08:33:32 -06:00
os-posix.c os-posix: Fix build on FreeBSD 2012-04-26 13:14:58 -05:00
os-win32.c link the main loop and its dependencies into the tools 2011-12-22 11:53:58 +01:00
osdep.c move corking functions to osdep.c 2011-12-22 11:53:58 +01:00
osdep.h softfloat: Replace int16 type with int_fast16_t 2012-04-28 09:13:26 +00:00
oslib-posix.c link the main loop and its dependencies into the tools 2011-12-22 11:53:58 +01:00
oslib-win32.c main-loop: interrupt wait when data arrives on a socket 2012-04-07 08:34:16 +00:00
path.c user: speed up init_paths a bit 2011-02-09 10:33:54 +02:00
pci-ids.txt List virtio console device in pci-ids.txt 2009-01-24 16:37:31 +00:00
pflib.c prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
pflib.h add pflib: PixelFormat conversion library. 2010-09-21 18:35:30 +02:00
poison.h Rename CPUState -> CPUArchState 2012-03-14 22:20:27 +01:00
posix-aio-compat.c aio: remove process_queue callback and qemu_aio_process_queue 2012-04-19 16:37:53 +02:00
ppc-dis.c Replace Qemu by QEMU in comments 2012-04-07 14:00:45 +00:00
ppc.ld PPC: Fix linker scripts on ppc hosts 2012-01-10 18:23:58 +01:00
ppc64.ld PPC: Fix linker scripts on ppc hosts 2012-01-10 18:23:58 +01:00
qapi-schema-guest.json qemu-ga: guest-shutdown: use only async-signal-safe functions 2012-05-15 09:15:16 -05:00
qapi-schema-test.json qapi: add struct-errors test case to test-qmp-output-visitor 2012-03-27 09:11:00 -03:00
qapi-schema.json runstate: introduce suspended state 2012-05-08 14:30:09 -03:00
qbool.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05: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 Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
qdict.h QDict: Introduce qdict_get_try_bool() 2010-07-01 14:27:13 -03:00
qemu-aio.h aio: return "AIO in progress" state from qemu_aio_wait 2012-04-19 16:50:49 +02:00
qemu-barrier.h virtio: order index/descriptor reads 2012-04-25 10:53:47 +03:00
qemu-bridge-helper.c Add cap reduction support to enable use as SUID 2012-02-01 16:24:39 -06:00
qemu-char.c sockets: use error class to pass listen error 2012-05-10 12:37:57 -05:00
qemu-char.h qdev: nuke qdev_init_chardev() 2012-02-03 10:41:08 -06:00
qemu-common.h declare ECANCELED on all machines 2012-05-10 11:01:59 +02:00
qemu-config.c arm: add device tree support 2012-03-02 11:56:38 +00:00
qemu-config.h implement -no-user-config command-line option (v3) 2012-05-10 12:37:57 -05:00
qemu-coroutine-int.h coroutine: switch to QSLIST 2012-02-17 08:33:33 -06:00
qemu-coroutine-io.c sheepdog: move coroutine send/recv function to generic code 2011-12-22 11:53:53 +01:00
qemu-coroutine-lock.c coroutine: add qemu_co_queue_restart_all() 2011-12-05 14:51:38 +01:00
qemu-coroutine-sleep.c block: allow interrupting a co_sleep_ns 2012-04-19 16:03:27 +02:00
qemu-coroutine.c coroutine: introduce coroutines 2011-08-01 12:14:09 +02:00
qemu-coroutine.h coroutine: add co_sleep_ns() coroutine sleep function 2012-01-26 11:45:26 +01:00
qemu-doc.texi qemu-doc: Use QEMU instead of qemu for product name 2012-05-14 07:27:24 +02:00
qemu-error.c error: Add an accessor for progname 2011-12-15 09:27:22 -06:00
qemu-error.h error: Add an accessor for progname 2011-12-15 09:27:22 -06:00
qemu-file.h Spelling fixes in comments (it's -> its) 2012-03-08 15:22:11 +00:00
qemu-ga.c qemu-ga: align versioning with QEMU_VERSION 2012-05-15 09:17:06 -05:00
qemu-img-cmds.hx Documentation: Add qemu-img -t parameter in man page 2011-12-15 12:40:08 +01:00
qemu-img.c qemu-img: Fix segmentation fault 2012-05-14 17:02:19 +02:00
qemu-img.texi qemu-img: Explain how rebase operation can be used to perform a 'diff' operation. 2012-05-25 18:12:54 +02:00
qemu-io.c qemu-io: fix the alloc command 2012-05-10 10:32:13 +02:00
qemu-lock.h qemu-lock.h: Remove non-pthreads spinlock implementations 2011-02-20 15:20:06 +01:00
qemu-log.h Define macros that will become the new logging API (Eduardo Habkost) 2009-01-15 21:52:11 +00:00
qemu-nbd.c nbd: do not include block_int.h 2012-04-19 17:19:37 +02:00
qemu-nbd.texi Replace Qemu by QEMU in user visible documentation 2012-04-07 13:58:06 +00:00
qemu-objects.h Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
qemu-option.c qemu-option: Add support for merged QemuOptsLists 2012-02-17 09:08:22 +01:00
qemu-option.h qemu-option: Add support for merged QemuOptsLists 2012-02-17 09:08:22 +01:00
qemu-options-wrapper.h vl.c: In qemu -h output, only print options for the arch we are running as 2011-12-19 10:27:33 -06:00
qemu-options.h vl.c: Move option generation logic into a wrapper file 2011-12-19 10:27:33 -06:00
qemu-options.hx Merge remote-tracking branch 'sweil/for-1.1' into staging 2012-05-14 10:06:50 -05:00
qemu-os-posix.h 9pfs: improve portability to older systems 2011-11-28 11:36:27 -06:00
qemu-os-win32.h w64: Fix definition of setjmp 2012-04-15 21:25:16 +02:00
qemu-progress.c Fix compilation warning due to missing header for sigaction (followup) 2011-06-08 09:04:29 +01:00
qemu-queue.h Replace Qemu by QEMU in comments 2012-04-07 14:00:45 +00:00
qemu-sockets.c sockets: use error class to pass listen error 2012-05-10 12:37:57 -05:00
qemu-tech.texi Drop darwin-user 2012-05-01 00:17:27 +02:00
qemu-thread-posix.c qemu-thread: implement joinable threads for POSIX 2011-12-12 17:06:22 -06:00
qemu-thread-posix.h add Win32 IPI service 2011-03-13 14:44:22 +00:00
qemu-thread-win32.c w32: Initialise critical section before starting thread (fix #922131) 2012-02-07 18:11:41 +01:00
qemu-thread-win32.h fix win32 build 2011-12-15 09:20:50 -06:00
qemu-thread.h qemu-thread: add API for joinable threads 2011-12-12 17:06:22 -06: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 wrong error message 2012-05-14 07:27:24 +02:00
qemu-timer.h qemu-timer: Move include for __FreeBSD_version to header 2012-05-08 11:14:56 -05:00
qemu-tls.h Rename get_tls to tls_var 2011-12-06 10:07:04 +00:00
qemu-tool.c main_loop_wait: block indefinitely 2012-04-26 13:14:58 -05:00
qemu-user.c qom: Add QOM support to user emulators 2012-03-13 13:23:18 -05:00
qemu-x509.h move x509 file name defines to qemu-x509.h 2010-03-08 11:30:09 -06:00
qemu-xattr.h configure: fix detection for xattr.h on modern distributions 2011-11-09 12:06:20 -06:00
qemu.sasl Add SASL authentication support ("Daniel P. Berrange") 2009-03-06 20:27:28 +00:00
qemu_socket.h sockets: use error class to pass listen error 2012-05-10 12:37:57 -05:00
qerror.c qerror: add five qerror strings 2012-05-10 12:37:57 -05:00
qerror.h qerror: add five qerror strings 2012-05-10 12:37:57 -05:00
qfloat.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
qfloat.h Add a QFloat datatype 2009-11-17 08:49:38 -06:00
qint.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05: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 qjson.h: include compiler.h for GCC_FMT_ATTR 2012-03-09 17:34:17 -03:00
qlist.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
qlist.h qlist: add qlist_first()/qlist_next() 2011-07-21 16:48:13 -03:00
qmp-commands.hx block: add mode argument to blockdev-snapshot-sync 2012-05-10 10:32:11 +02:00
qmp.c runstate: introduce suspended state 2012-05-08 14:30:09 -03:00
qobject.h Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
qstring.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
qstring.h Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
qtest.c qtest: Fix tv_usec != long 2012-04-24 09:50:31 -05:00
qtest.h qtest: add dummy functions for user emulators 2012-04-19 18:52:35 +00:00
range.h Introduce range.h 2010-09-18 05:53:14 +00:00
readline.c readline: Fix buffer overrun on re-add to history 2011-11-07 08:03:49 +00:00
readline.h monitor: Improve mux'ed console experience (Jan Kiszka) 2009-03-05 23:01:47 +00:00
rules.mak Beautify makefile commands for generation of files with tracetool 2012-04-25 14:21:35 +01: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 w64: Fix time conversion for some versions of MinGW-w64 2012-04-15 21:25:18 +02:00
sh4-dis.c *-dis: Replace fprintf_ftype by fprintf_function (format checking) 2010-12-04 20:50:30 +00:00
softmmu-semi.h Rename CPUState -> CPUArchState 2012-03-14 22:20:27 +01:00
softmmu_defs.h softmmu templates: optionally pass CPUState to memory access functions 2012-03-18 12:21:52 +00:00
softmmu_exec.h Document softmmu templates 2011-10-01 09:31:08 +00:00
softmmu_header.h w64: Fix data types in softmmu*.h 2012-04-15 21:25:17 +02:00
softmmu_template.h w64: Fix data types in softmmu*.h 2012-04-15 21:25:17 +02:00
sparc-dis.c sparc64: more ultrasparc asi extensions for disassembler 2010-05-06 20:13:02 +00:00
sparc.ld Fix linker scripts 2011-08-27 15:42:35 +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-qemu-char.c: Show what name is unsupported 2012-04-20 13:14:53 +01:00
sysemu.h qapi: Convert migrate 2012-03-15 10:39:52 -03: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
tci-dis.c tcg: Add tci disassembler 2011-10-31 21:52:17 +01:00
tci.c tci: Fix wrong macro name for debug code 2012-05-08 11:15:18 -05:00
thunk.c linux-user: add struct old_dev_t compat 2012-04-06 18:49:58 +03:00
thunk.h linux-user: Fix invalid TARGET_ABI_BITS usage on ppc hosts 2012-05-01 21:47:01 +02:00
trace-events ISCSI: Switch to using READ16/WRITE16 for I/O to the LUN 2012-05-28 14:04:16 +02:00
translate-all.c w64: Fix data type of tb_next and other variables used for host addresses 2012-04-07 11:27:45 +00:00
uboot_image.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
user-exec.c user-exec.c: Don't assert on segfaults for non-valid addresses 2012-05-08 11:15:18 -05:00
version.rc mingw: add version information to the executables 2010-09-26 16:07:57 +00:00
vgafont.h Some little fixes on QEMU 2008-09-06 16:31:30 +00:00
vl.c Merge remote-tracking branch 'origin/master' into staging 2012-05-14 08:44:32 -05:00
vmstate.h Purge migration of (almost) everything to do with monitors 2012-03-15 10:39:52 -03:00
x86_64.ld Fix linker scripts 2011-08-27 15:42:35 +00:00
xen-all.c Call xc_domain_shutdown with the reboot flag when the guest requests a reboot. 2012-05-17 10:52:38 +00:00
xen-mapcache.c xen-mapcache: don't unmap locked entry during mapcache invalidation 2012-04-13 17:35:06 +00:00
xen-mapcache.h xen mapcache: check if memory region has moved. 2012-03-19 18:21:12 +00:00
xen-stub.c Xen: basic HVM MSI injection support. 2012-04-13 17:34:08 +00:00
xtensa-semi.c target-xtensa: Move helpers.h to helper.h 2012-04-14 03:48:08 +04:00

README

Read the documentation in qemu-doc.html or on http://wiki.qemu.org

- QEMU team