qemu-patch-raspberry4/target-i386
Eduardo Habkost 6a4784ce6b target-i386: Disable kvm_mmu by default
KVM_CAP_PV_MMU capability reporting was removed from the kernel since
v2.6.33 (see commit a68a6a7282373), and was completely removed from the
kernel since v3.3 (see commit fb92045843). It doesn't make sense to keep
it enabled by default, as it would cause unnecessary hassle when using
the "enforce" flag.

This disables kvm_mmu on all machine-types. With this fix, the possible
scenarios when migrating from QEMU <= 1.3 to QEMU 1.4 are:

------------+----------+----------------------------------------------------
 src kernel | dst kern.| Result
------------+----------+----------------------------------------------------
 >= 2.6.33  | any      | kvm_mmu was already disabled and will stay disabled
 <= 2.6.32  | >= 3.3   | correct live migration is impossible
 <= 2.6.32  | <= 3.2   | kvm_mmu will be disabled on next guest reboot *
------------+----------+----------------------------------------------------

 * If they are running kernel <= 2.6.32 and want kvm_mmu to be kept
   enabled on guest reboot, they can explicitly add +kvm_mmu to the QEMU
   command-line. Using 2.6.33 and higher, it is not possible to enable
   kvm_mmu explicitly anymore.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
2013-01-15 04:09:14 +01:00
..
arch_dump.c exec: change RAM list to a TAILQ 2012-12-20 23:08:47 +01:00
arch_memory_mapping.c target-i386: fix bits 39:32 of the final physical address when using 4M page 2013-01-09 15:12:20 -02:00
cc_helper.c x86: Implement SMEP and SMAP 2012-10-01 08:04:22 -05:00
cc_helper_template.h x86: avoid AREG0 for condition code helpers 2012-08-14 19:01:25 +00:00
cpu-qom.h qom: move include files to include/qom/ 2012-12-19 08:31:32 +01:00
cpu.c target-i386: Disable kvm_mmu by default 2013-01-15 04:09:14 +01:00
cpu.h target-i386: check/enforce: Fix CPUID leaf numbers on error messages 2013-01-08 21:03:44 +01:00
excp_helper.c softmmu: move include files to include/sysemu/ 2012-12-19 08:32:45 +01:00
fpu_helper.c exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
helper.c cpu: Move cpu_index field to CPUState 2013-01-15 04:09:13 +01:00
helper.h exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
hyperv.c hyper-v: introduce Hyper-V support infrastructure. 2012-01-19 08:32:12 -02:00
hyperv.h hyperv: fix build on non-KVM hosts 2012-01-23 20:04:51 +00:00
int_helper.c misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
ioport-user.c exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
kvm-stub.c kvm: Move kvm_allows_irq0_override() to target-i386, fix return type 2012-08-09 16:16:55 +03:00
kvm.c Merge remote-tracking branch 'qemu-kvm/uq/master' into staging 2013-01-02 08:01:54 -06:00
kvm_i386.h softmmu: move include files to include/sysemu/ 2012-12-19 08:32:45 +01:00
machine.c Merge remote-tracking branch 'qemu-kvm/uq/master' into staging 2013-01-02 08:01:54 -06:00
Makefile.objs x86: switch to AREG0 free mode 2012-08-14 19:01:26 +00:00
mem_helper.c exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
misc_helper.c cpu: Move cpu_index field to CPUState 2013-01-15 04:09:13 +01:00
ops_sse.h x86: avoid AREG0 for FPU helpers 2012-08-14 19:01:25 +00:00
ops_sse_header.h x86: avoid AREG0 for FPU helpers 2012-08-14 19:01:25 +00:00
seg_helper.c misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
shift_helper_template.h x86: avoid AREG0 for integer helpers 2012-08-14 19:01:25 +00:00
smm_helper.c cpu_dump_state: move DUMP_FPU and DUMP_CCOP flags from x86-only to generic 2012-10-05 15:04:43 +01:00
svm.h Use new macro QEMU_PACKED for packed structures 2011-09-03 10:45:59 +00:00
svm_helper.c exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
TODO target-i386: fix {min,max}{pd,ps,sd,ss} SSE2 instructions 2012-01-11 09:55:28 +01:00
translate.c exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00