Commit 64bbd372 authored by Paolo Bonzini's avatar Paolo Bonzini
Browse files

pc: add 2.3 machine types



The next patch will differentiate them.

Reviewed-by: default avatarEduardo Habkost <ehabkost@redhat.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent 5b9efc39
Loading
Loading
Loading
Loading
+25 −4
Original line number Diff line number Diff line
@@ -303,9 +303,15 @@ static void pc_init_pci(MachineState *machine)
    pc_init1(machine, 1, 1);
}

static void pc_compat_2_2(MachineState *machine)
{
}

static void pc_compat_2_1(MachineState *machine)
{
    PCMachineState *pcms = PC_MACHINE(machine);

    pc_compat_2_2(machine);
    smbios_uuid_encoded = false;
    x86_cpu_compat_set_features("coreduo", FEAT_1_ECX, CPUID_EXT_VMX, 0);
    x86_cpu_compat_set_features("core2duo", FEAT_1_ECX, CPUID_EXT_VMX, 0);
@@ -380,6 +386,12 @@ static void pc_compat_1_2(MachineState *machine)
    x86_cpu_compat_kvm_no_autoenable(FEAT_KVM, KVM_FEATURE_PV_EOI);
}

static void pc_init_pci_2_2(MachineState *machine)
{
    pc_compat_2_2(machine);
    pc_init_pci(machine);
}

static void pc_init_pci_2_1(MachineState *machine)
{
    pc_compat_2_1(machine);
@@ -473,19 +485,27 @@ static void pc_xen_hvm_init(MachineState *machine)
    .desc = "Standard PC (i440FX + PIIX, 1996)", \
    .hot_add_cpu = pc_hot_add_cpu

#define PC_I440FX_2_2_MACHINE_OPTIONS                           \
#define PC_I440FX_2_3_MACHINE_OPTIONS                           \
    PC_I440FX_MACHINE_OPTIONS,                                  \
    .default_machine_opts = "firmware=bios-256k.bin",           \
    .default_display = "std"

static QEMUMachine pc_i440fx_machine_v2_2 = {
    PC_I440FX_2_2_MACHINE_OPTIONS,
    .name = "pc-i440fx-2.2",
static QEMUMachine pc_i440fx_machine_v2_3 = {
    PC_I440FX_2_3_MACHINE_OPTIONS,
    .name = "pc-i440fx-2.3",
    .alias = "pc",
    .init = pc_init_pci,
    .is_default = 1,
};

#define PC_I440FX_2_2_MACHINE_OPTIONS PC_I440FX_2_3_MACHINE_OPTIONS

static QEMUMachine pc_i440fx_machine_v2_2 = {
    PC_I440FX_2_2_MACHINE_OPTIONS,
    .name = "pc-i440fx-2.2",
    .init = pc_init_pci_2_2,
};

#define PC_I440FX_2_1_MACHINE_OPTIONS                           \
    PC_I440FX_MACHINE_OPTIONS,                                  \
    .default_machine_opts = "firmware=bios-256k.bin"
@@ -923,6 +943,7 @@ static QEMUMachine xenfv_machine = {

static void pc_machine_init(void)
{
    qemu_register_pc_machine(&pc_i440fx_machine_v2_3);
    qemu_register_pc_machine(&pc_i440fx_machine_v2_2);
    qemu_register_pc_machine(&pc_i440fx_machine_v2_1);
    qemu_register_pc_machine(&pc_i440fx_machine_v2_0);
+23 −3
Original line number Diff line number Diff line
@@ -282,10 +282,15 @@ static void pc_q35_init(MachineState *machine)
    }
}

static void pc_compat_2_2(MachineState *machine)
{
}

static void pc_compat_2_1(MachineState *machine)
{
    PCMachineState *pcms = PC_MACHINE(machine);

    pc_compat_2_2(machine);
    pcms->enforce_aligned_dimm = false;
    smbios_uuid_encoded = false;
    x86_cpu_compat_set_features("coreduo", FEAT_1_ECX, CPUID_EXT_VMX, 0);
@@ -329,6 +334,12 @@ static void pc_compat_1_4(MachineState *machine)
    x86_cpu_compat_set_features("Westmere", FEAT_1_ECX, 0, CPUID_EXT_PCLMULQDQ);
}

static void pc_q35_init_2_2(MachineState *machine)
{
    pc_compat_2_2(machine);
    pc_q35_init(machine);
}

static void pc_q35_init_2_1(MachineState *machine)
{
    pc_compat_2_1(machine);
@@ -372,16 +383,24 @@ static void pc_q35_init_1_4(MachineState *machine)
    .hot_add_cpu = pc_hot_add_cpu, \
    .units_per_default_bus = 1

#define PC_Q35_2_2_MACHINE_OPTIONS                      \
#define PC_Q35_2_3_MACHINE_OPTIONS                      \
    PC_Q35_MACHINE_OPTIONS,                             \
    .default_machine_opts = "firmware=bios-256k.bin",   \
    .default_display = "std"

static QEMUMachine pc_q35_machine_v2_3 = {
    PC_Q35_2_3_MACHINE_OPTIONS,
    .name = "pc-q35-2.3",
    .alias = "q35",
    .init = pc_q35_init,
};

#define PC_Q35_2_2_MACHINE_OPTIONS PC_Q35_2_3_MACHINE_OPTIONS

static QEMUMachine pc_q35_machine_v2_2 = {
    PC_Q35_2_2_MACHINE_OPTIONS,
    .name = "pc-q35-2.2",
    .alias = "q35",
    .init = pc_q35_init,
    .init = pc_q35_init_2_2,
};

#define PC_Q35_2_1_MACHINE_OPTIONS                      \
@@ -460,6 +479,7 @@ static QEMUMachine pc_q35_machine_v1_4 = {

static void pc_q35_machine_init(void)
{
    qemu_register_pc_machine(&pc_q35_machine_v2_3);
    qemu_register_pc_machine(&pc_q35_machine_v2_2);
    qemu_register_pc_machine(&pc_q35_machine_v2_1);
    qemu_register_pc_machine(&pc_q35_machine_v2_0);