@@ -1616,6 +1616,7 @@ static void pc_machine_class_init(ObjectClass *oc, void *data)
HotplugHandlerClass *hc = HOTPLUG_HANDLER_CLASS(oc);
pcmc->get_hotplug_handler = mc->get_hotplug_handler;
+ pcmc->kvmclock_enabled = true;
mc->get_hotplug_handler = pc_get_hotpug_handler;
mc->default_boot_order = "cad";
mc->hot_add_cpu = pc_hot_add_cpu;
@@ -70,12 +70,12 @@ static bool gigabyte_align = true;
static bool has_reserved_memory = true;
/* PC hardware initialisation */
-static void pc_init1(MachineState *machine,
- int kvmclock_enabled)
+static void pc_init1(MachineState *machine)
{
PCMachineState *pc_machine = PC_MACHINE(machine);
PCMachineClass *pcmc = PC_MACHINE_GET_CLASS(pc_machine);
bool pci_enabled = pcmc->pci_enabled;
+ bool kvmclock_enabled = pcmc->kvmclock_enabled;
MemoryRegion *system_memory = get_system_memory();
MemoryRegion *system_io = get_system_io();
int i;
@@ -274,7 +274,7 @@ static void pc_init1(MachineState *machine,
static void pc_init_pci(MachineState *machine)
{
- pc_init1(machine, 1);
+ pc_init1(machine);
}
static void pc_compat_2_0(MachineState *machine)
@@ -376,7 +376,7 @@ static void pc_init_pci_no_kvmclock(MachineState *machine)
smbios_defaults = false;
x86_cpu_compat_disable_kvm_features(FEAT_KVM, KVM_FEATURE_PV_EOI);
enable_compat_apic_id_mode();
- pc_init1(machine, 0);
+ pc_init1(machine);
}
static void pc_init_isa(MachineState *machine)
@@ -389,7 +389,7 @@ static void pc_init_isa(MachineState *machine)
}
x86_cpu_compat_disable_kvm_features(FEAT_KVM, KVM_FEATURE_PV_EOI);
enable_compat_apic_id_mode();
- pc_init1(machine, 1);
+ pc_init1(machine);
}
#ifdef CONFIG_XEN
@@ -797,6 +797,7 @@ static TypeInfo pc_machine_v0_14_type_info = {
static void pc_machine_v0_13_class_init(ObjectClass *oc, void *data)
{
MachineClass *mc = MACHINE_CLASS(oc);
+ PCMachineClass *pcmc = PC_MACHINE_CLASS(oc);
static GlobalProperty compat_props[] = {
PC_COMPAT_0_13,
{ /* end of list */ }
@@ -806,6 +807,7 @@ static void pc_machine_v0_13_class_init(ObjectClass *oc, void *data)
mc->hw_version = "0.13";
mc->name = "pc-0.13";
machine_class_add_compat_props(mc, compat_props);
+ pcmc->kvmclock_enabled = false;
}
static TypeInfo pc_machine_v0_13_type_info = {
@@ -50,6 +50,7 @@ struct PCMachineClass {
HotplugHandler *(*get_hotplug_handler)(MachineState *machine,
DeviceState *dev);
bool pci_enabled;
+ bool kvmclock_enabled;
};
typedef struct PCMachineState PCMachineState;
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> --- hw/i386/pc.c | 1 + hw/i386/pc_piix.c | 12 +++++++----- include/hw/i386/pc.h | 1 + 3 files changed, 9 insertions(+), 5 deletions(-)