pc: add 2.1 machine type

At the moment, 2.1 and 2.0 machines are identical.
As several people are working on incompatible changes
to the PC machine, collaboration will be made easier
by merging this place-holder.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
Michael S. Tsirkin 2014-04-24 13:14:53 +03:00 committed by Gerd Hoffmann
parent fdaad4715a
commit 3458b2b075
2 changed files with 47 additions and 7 deletions

View File

@ -262,8 +262,13 @@ static void pc_init_pci(QEMUMachineInitArgs *args)
pc_init1(args, 1, 1); pc_init1(args, 1, 1);
} }
static void pc_compat_2_0(QEMUMachineInitArgs *args)
{
}
static void pc_compat_1_7(QEMUMachineInitArgs *args) static void pc_compat_1_7(QEMUMachineInitArgs *args)
{ {
pc_compat_2_0(args);
smbios_type1_defaults = false; smbios_type1_defaults = false;
gigabyte_align = false; gigabyte_align = false;
option_rom_has_mr = true; option_rom_has_mr = true;
@ -303,6 +308,12 @@ static void pc_compat_1_2(QEMUMachineInitArgs *args)
x86_cpu_compat_disable_kvm_features(FEAT_KVM, KVM_FEATURE_PV_EOI); x86_cpu_compat_disable_kvm_features(FEAT_KVM, KVM_FEATURE_PV_EOI);
} }
static void pc_init_pci_2_0(QEMUMachineInitArgs *args)
{
pc_compat_2_0(args);
pc_init_pci(args);
}
static void pc_init_pci_1_7(QEMUMachineInitArgs *args) static void pc_init_pci_1_7(QEMUMachineInitArgs *args)
{ {
pc_compat_1_7(args); pc_compat_1_7(args);
@ -383,16 +394,24 @@ static void pc_xen_hvm_init(QEMUMachineInitArgs *args)
.desc = "Standard PC (i440FX + PIIX, 1996)", \ .desc = "Standard PC (i440FX + PIIX, 1996)", \
.hot_add_cpu = pc_hot_add_cpu .hot_add_cpu = pc_hot_add_cpu
#define PC_I440FX_2_0_MACHINE_OPTIONS \ #define PC_I440FX_2_1_MACHINE_OPTIONS \
PC_I440FX_MACHINE_OPTIONS, \ PC_I440FX_MACHINE_OPTIONS, \
.default_machine_opts = "firmware=bios-256k.bin" .default_machine_opts = "firmware=bios-256k.bin"
static QEMUMachine pc_i440fx_machine_v2_1 = {
PC_I440FX_2_1_MACHINE_OPTIONS,
.name = "pc-i440fx-2.1",
.alias = "pc",
.init = pc_init_pci,
.is_default = 1,
};
#define PC_I440FX_2_0_MACHINE_OPTIONS PC_I440FX_2_1_MACHINE_OPTIONS
static QEMUMachine pc_i440fx_machine_v2_0 = { static QEMUMachine pc_i440fx_machine_v2_0 = {
PC_I440FX_2_0_MACHINE_OPTIONS, PC_I440FX_2_0_MACHINE_OPTIONS,
.name = "pc-i440fx-2.0", .name = "pc-i440fx-2.0",
.alias = "pc", .init = pc_init_pci_2_0,
.init = pc_init_pci,
.is_default = 1,
}; };
#define PC_I440FX_1_7_MACHINE_OPTIONS PC_I440FX_MACHINE_OPTIONS #define PC_I440FX_1_7_MACHINE_OPTIONS PC_I440FX_MACHINE_OPTIONS
@ -817,6 +836,7 @@ static QEMUMachine xenfv_machine = {
static void pc_machine_init(void) static void pc_machine_init(void)
{ {
qemu_register_machine(&pc_i440fx_machine_v2_1);
qemu_register_machine(&pc_i440fx_machine_v2_0); qemu_register_machine(&pc_i440fx_machine_v2_0);
qemu_register_machine(&pc_i440fx_machine_v1_7); qemu_register_machine(&pc_i440fx_machine_v1_7);
qemu_register_machine(&pc_i440fx_machine_v1_6); qemu_register_machine(&pc_i440fx_machine_v1_6);

View File

@ -240,8 +240,13 @@ static void pc_q35_init(QEMUMachineInitArgs *args)
} }
} }
static void pc_compat_2_0(QEMUMachineInitArgs *args)
{
}
static void pc_compat_1_7(QEMUMachineInitArgs *args) static void pc_compat_1_7(QEMUMachineInitArgs *args)
{ {
pc_compat_2_0(args);
smbios_type1_defaults = false; smbios_type1_defaults = false;
gigabyte_align = false; gigabyte_align = false;
option_rom_has_mr = true; option_rom_has_mr = true;
@ -268,6 +273,12 @@ static void pc_compat_1_4(QEMUMachineInitArgs *args)
x86_cpu_compat_set_features("Westmere", FEAT_1_ECX, 0, CPUID_EXT_PCLMULQDQ); x86_cpu_compat_set_features("Westmere", FEAT_1_ECX, 0, CPUID_EXT_PCLMULQDQ);
} }
static void pc_q35_init_2_0(QEMUMachineInitArgs *args)
{
pc_compat_2_0(args);
pc_q35_init(args);
}
static void pc_q35_init_1_7(QEMUMachineInitArgs *args) static void pc_q35_init_1_7(QEMUMachineInitArgs *args)
{ {
pc_compat_1_7(args); pc_compat_1_7(args);
@ -297,15 +308,23 @@ static void pc_q35_init_1_4(QEMUMachineInitArgs *args)
.desc = "Standard PC (Q35 + ICH9, 2009)", \ .desc = "Standard PC (Q35 + ICH9, 2009)", \
.hot_add_cpu = pc_hot_add_cpu .hot_add_cpu = pc_hot_add_cpu
#define PC_Q35_2_0_MACHINE_OPTIONS \ #define PC_Q35_2_1_MACHINE_OPTIONS \
PC_Q35_MACHINE_OPTIONS, \ PC_Q35_MACHINE_OPTIONS, \
.default_machine_opts = "firmware=bios-256k.bin" .default_machine_opts = "firmware=bios-256k.bin"
static QEMUMachine pc_q35_machine_v2_1 = {
PC_Q35_2_1_MACHINE_OPTIONS,
.name = "pc-q35-2.1",
.alias = "q35",
.init = pc_q35_init,
};
#define PC_Q35_2_0_MACHINE_OPTIONS PC_Q35_2_1_MACHINE_OPTIONS
static QEMUMachine pc_q35_machine_v2_0 = { static QEMUMachine pc_q35_machine_v2_0 = {
PC_Q35_2_0_MACHINE_OPTIONS, PC_Q35_2_0_MACHINE_OPTIONS,
.name = "pc-q35-2.0", .name = "pc-q35-2.0",
.alias = "q35", .init = pc_q35_init_2_0,
.init = pc_q35_init,
}; };
#define PC_Q35_1_7_MACHINE_OPTIONS PC_Q35_MACHINE_OPTIONS #define PC_Q35_1_7_MACHINE_OPTIONS PC_Q35_MACHINE_OPTIONS
@ -358,6 +377,7 @@ static QEMUMachine pc_q35_machine_v1_4 = {
static void pc_q35_machine_init(void) static void pc_q35_machine_init(void)
{ {
qemu_register_machine(&pc_q35_machine_v2_1);
qemu_register_machine(&pc_q35_machine_v2_0); qemu_register_machine(&pc_q35_machine_v2_0);
qemu_register_machine(&pc_q35_machine_v1_7); qemu_register_machine(&pc_q35_machine_v1_7);
qemu_register_machine(&pc_q35_machine_v1_6); qemu_register_machine(&pc_q35_machine_v1_6);