[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC v3 01/35] pc_piix: Add missing compat code to pc-0.1[0
From: |
Eduardo Habkost |
Subject: |
[Qemu-devel] [RFC v3 01/35] pc_piix: Add missing compat code to pc-0.1[0123] |
Date: |
Fri, 4 Jul 2014 21:09:28 -0300 |
pc-0.13 and older were missing some compat code that is present on newer
machine-types:
* x86_cpu_compat_disable_kvm_features(FEAT_1_ECX, CPUID_EXT_X2APIC);
(pc-i440fx-1.7 and older)
* x86_cpu_compat_set_features("n270", FEAT_1_ECX, 0, CPUID_EXT_MOVBE);
(pc-i440fx-1.4 and older)
* x86_cpu_compat_set_features("Westmere", FEAT_1_ECX, 0, CPUID_EXT_PCLMULQDQ);
(pc-i440fx-1.4 and older)
Add those missing bits to pc_init_pci_no_kvmclock(), to make sure
pc-0.13 and older are compatible with the older QEMU versions. While at
it, reorder pc_init_pci_no_kvmclock() and document where each line is
was copied from.
Signed-off-by: Eduardo Habkost <address@hidden>
---
hw/i386/pc_piix.c | 25 ++++++++++++++++++++-----
1 file changed, 20 insertions(+), 5 deletions(-)
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 2dccb34..802cd1a 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -389,16 +389,31 @@ static void pc_init_pci_1_2(MachineState *machine)
/* PC init function for pc-0.10 to pc-0.13, and reused by xenfv */
static void pc_init_pci_no_kvmclock(MachineState *machine)
{
- has_pci_info = false;
- has_acpi_build = false;
- smbios_defaults = false;
- gigabyte_align = false;
+ /* Copy from pc_compat_2_0(): */
smbios_legacy_mode = true;
has_reserved_memory = false;
+
+ /* Copy from pc_compat_1_7(): */
+ smbios_defaults = false;
+ gigabyte_align = false;
option_rom_has_mr = true;
+ x86_cpu_compat_disable_kvm_features(FEAT_1_ECX, CPUID_EXT_X2APIC);
+
+ /* Copy from pc_compat_1_6(): */
+ has_pci_info = false;
rom_file_has_mr = false;
- x86_cpu_compat_disable_kvm_features(FEAT_KVM, KVM_FEATURE_PV_EOI);
+ has_acpi_build = false;
+
+ /* Copy from pc_compat_1_4(): */
+ x86_cpu_compat_set_features("n270", FEAT_1_ECX, 0, CPUID_EXT_MOVBE);
+ x86_cpu_compat_set_features("Westmere", FEAT_1_ECX, 0,
CPUID_EXT_PCLMULQDQ);
+
+ /* Copy from pc_compat_1_3(): */
enable_compat_apic_id_mode();
+
+ /* Copy from pc_compat_1_2(): */
+ x86_cpu_compat_disable_kvm_features(FEAT_KVM, KVM_FEATURE_PV_EOI);
+
pc_init1(machine, 1, 0);
}
--
1.9.3
- [Qemu-devel] [RFC v3 00/35] Convert PC machine-types to QOM classes, Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 03/35] pc_piix: Reuse pc_compat_1_2() on pc_init_pci_no_kvmclock(), Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 05/35] vl.c: Use qdev_prop_register_global() for single globals, Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 02/35] target-i385: Add kvmclock_enabled static, Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 04/35] pc: Replace tabs with spaces on pc.h, Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 01/35] pc_piix: Add missing compat code to pc-0.1[0123],
Eduardo Habkost <=
- [Qemu-devel] [RFC v3 06/35] piix: Move pc-0.14 qxl compat properties to PC_COMPAT_0_14, Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 08/35] piix: Move pc-0.1[23] rombar compat props to PC_COMPAT_0_13, Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 07/35] piix: Move pc-0.13 virtio-9p-pci compat to PC_COMPAT_0_13, Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 09/35] piix: Move pc-0.11 drive version compat props TO PC_COMPAT_0_11, Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 10/35] machine: Make compat_props a linked list, Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 11/35] pc: Register machine classes directly instead of using QEMUMachine, Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 12/35] pc: Eliminate pc_common_machine_options(), Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 13/35] pc: Eliminate pc_default_machine_options(), Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 14/35] piix: Eliminate pc_i440fx_machine_options(), Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 15/35] q35: Eliminate pc_q35_machine_options(), Eduardo Habkost, 2014/07/04