qemu/include
Eduardo Habkost 9337e3b6e1 target-i386: Disable PMU CPUID leaf by default
Bug description: QEMU currently gets all bits from GET_SUPPORTED_CPUID
for CPUID leaf 0xA and passes them directly to the guest. This makes
the guest ABI depend on host kernel and host CPU capabilities, and
breaks live migration if we migrate between hosts with different
capabilities (e.g., different number of PMU counters).

Add a "pmu" property to X86CPU, and set it to true only on "-cpu host",
or on pc-*-1.5 and older machine-types.

For now, setting pmu=on will enable the current passthrough mode that
doesn't have any ABI stability guarantees, but in the future we may
implement a mode where the PMU CPUID bits are stable and configurable.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
2013-07-29 15:29:16 +02:00
..
block Implement sync modes for drive-backup. 2013-07-26 22:01:31 +02:00
disas Add moxie disassembler 2013-03-23 14:25:41 +00:00
exec exec: Remove env from list of poisoned names 2013-07-27 11:22:54 +04:00
fpu softfloat: Implement uint64_to_float128 2013-01-05 10:12:50 +00:00
hw target-i386: Disable PMU CPUID leaf by default 2013-07-29 15:29:16 +02:00
migration rdma: account for the time spent in MIG_STATE_SETUP through QMP 2013-07-23 13:06:37 +02:00
monitor net: add support of mac-programming over macvtap in QEMU side 2013-07-15 21:23:08 +03:00
net net: add support of mac-programming over macvtap in QEMU side 2013-07-15 21:23:08 +03:00
qapi Implement qdict_flatten() 2013-07-26 22:01:31 +02:00
qemu QemuOpts: Add qemu_opt_unset() 2013-07-26 21:10:11 +02:00
qom cpu: Introduce CPUClass::gdb_core_xml_file for GDB_CORE_XML 2013-07-27 00:04:17 +02:00
sysemu kvm: Change prototype of kvm_update_guest_debug() 2013-07-26 23:05:31 +02:00
ui vnc: use booleans for vnc_connect, vnc_listen_read and vnc_display_add_client 2013-06-21 22:52:50 +04:00
config.h janitor: move remaining public headers to include/ 2012-12-19 08:32:46 +01:00
elf.h include/elf.h: add aarch64 ELF machine and relocs 2013-06-12 16:20:22 +01:00
glib-compat.h glib: add a compatibility interface for g_timeout_add_seconds 2013-03-25 13:10:40 -05:00
qemu-common.h Introduce async_run_on_cpu() 2013-07-12 19:36:01 +02:00
qemu-io.h qemu-io: Interface cleanup 2013-06-06 11:27:05 +02:00
trace.h build: some simplifications for "trace/Makefile.objs" 2013-01-12 18:42:51 +01:00