[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2] pc: add 1.8 machine type
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH v2] pc: add 1.8 machine type |
Date: |
Thu, 14 Nov 2013 11:39:35 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130923 Thunderbird/17.0.9 |
Il 14/11/2013 11:37, Michael S. Tsirkin ha scritto:
> Several changes that affect compatibility between 1.8 and 1.7 are
> already planned, so we need pc compat structures in place.
>
> Signed-off-by: Michael S. Tsirkin <address@hidden>
> ---
>
> Changes from v1:
> make 1.6 call 1.7 as suggested by Paolo
>
> hw/i386/pc_piix.c | 30 +++++++++++++++++++++++++-----
> hw/i386/pc_q35.c | 27 ++++++++++++++++++++++++---
> 2 files changed, 49 insertions(+), 8 deletions(-)
>
> diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
> index 049f216..b6347e2 100644
> --- a/hw/i386/pc_piix.c
> +++ b/hw/i386/pc_piix.c
> @@ -238,8 +238,13 @@ static void pc_init_pci(QEMUMachineInitArgs *args)
> pc_init1(args, 1, 1);
> }
>
> +static void pc_compat_1_7(QEMUMachineInitArgs *args)
> +{
> +}
> +
> static void pc_compat_1_6(QEMUMachineInitArgs *args)
> {
> + pc_compat_1_6(args);
It's calling itself now. :) q35 is fine.
With the obvious blunder fixed,
Reviewed-by: Paolo Bonzini <address@hidden>
> has_pci_info = false;
> rom_file_in_ram = false;
> has_acpi_build = false;
> @@ -272,6 +277,12 @@ static void pc_compat_1_2(QEMUMachineInitArgs *args)
> disable_kvm_pv_eoi();
> }
>
> +static void pc_init_pci_1_7(QEMUMachineInitArgs *args)
> +{
> + pc_compat_1_7(args);
> + pc_init_pci(args);
> +}
> +
> static void pc_init_pci_1_6(QEMUMachineInitArgs *args)
> {
> pc_compat_1_6(args);
> @@ -344,16 +355,24 @@ static void pc_xen_hvm_init(QEMUMachineInitArgs *args)
> .desc = "Standard PC (i440FX + PIIX, 1996)", \
> .hot_add_cpu = pc_hot_add_cpu
>
> -#define PC_I440FX_1_7_MACHINE_OPTIONS PC_I440FX_MACHINE_OPTIONS
> -static QEMUMachine pc_i440fx_machine_v1_7 = {
> - PC_I440FX_1_7_MACHINE_OPTIONS,
> - .name = "pc-i440fx-1.7",
> +
> +#define PC_I440FX_1_8_MACHINE_OPTIONS PC_I440FX_MACHINE_OPTIONS
> +static QEMUMachine pc_i440fx_machine_v1_8 = {
> + PC_I440FX_1_8_MACHINE_OPTIONS,
> + .name = "pc-i440fx-1.8",
> .alias = "pc",
> .init = pc_init_pci,
> .is_default = 1,
> };
>
> -#define PC_I440FX_1_6_MACHINE_OPTIONS PC_I440FX_MACHINE_OPTIONS
> +#define PC_I440FX_1_7_MACHINE_OPTIONS PC_I440FX_1_8_MACHINE_OPTIONS
> +static QEMUMachine pc_i440fx_machine_v1_7 = {
> + PC_I440FX_1_7_MACHINE_OPTIONS,
> + .name = "pc-i440fx-1.7",
> + .init = pc_init_pci_1_7,
> +};
> +
> +#define PC_I440FX_1_6_MACHINE_OPTIONS PC_I440FX_1_7_MACHINE_OPTIONS
>
> static QEMUMachine pc_i440fx_machine_v1_6 = {
> PC_I440FX_1_6_MACHINE_OPTIONS,
> @@ -752,6 +771,7 @@ static QEMUMachine xenfv_machine = {
>
> static void pc_machine_init(void)
> {
> + qemu_register_machine(&pc_i440fx_machine_v1_8);
> qemu_register_machine(&pc_i440fx_machine_v1_7);
> qemu_register_machine(&pc_i440fx_machine_v1_6);
> qemu_register_machine(&pc_i440fx_machine_v1_5);
> diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
> index d297000..9f3876f 100644
> --- a/hw/i386/pc_q35.c
> +++ b/hw/i386/pc_q35.c
> @@ -222,8 +222,13 @@ static void pc_q35_init(QEMUMachineInitArgs *args)
> }
> }
>
> +static void pc_compat_1_7(QEMUMachineInitArgs *args)
> +{
> +}
> +
> static void pc_compat_1_6(QEMUMachineInitArgs *args)
> {
> + pc_compat_1_7(args);
> has_pci_info = false;
> rom_file_in_ram = false;
> has_acpi_build = false;
> @@ -243,6 +248,12 @@ static void pc_compat_1_4(QEMUMachineInitArgs *args)
> x86_cpu_compat_set_features("Westmere", FEAT_1_ECX, 0,
> CPUID_EXT_PCLMULQDQ);
> }
>
> +static void pc_q35_init_1_7(QEMUMachineInitArgs *args)
> +{
> + pc_compat_1_7(args);
> + pc_q35_init(args);
> +}
> +
> static void pc_q35_init_1_6(QEMUMachineInitArgs *args)
> {
> pc_compat_1_6(args);
> @@ -266,16 +277,25 @@ static void pc_q35_init_1_4(QEMUMachineInitArgs *args)
> .desc = "Standard PC (Q35 + ICH9, 2009)", \
> .hot_add_cpu = pc_hot_add_cpu
>
> -#define PC_Q35_1_7_MACHINE_OPTIONS PC_Q35_MACHINE_OPTIONS
> +#define PC_Q35_1_8_MACHINE_OPTIONS PC_Q35_MACHINE_OPTIONS
> +
> +static QEMUMachine pc_q35_machine_v1_8 = {
> + PC_Q35_1_8_MACHINE_OPTIONS,
> + .name = "pc-q35-1.8",
> + .alias = "q35",
> + .init = pc_q35_init,
> +};
> +
> +#define PC_Q35_1_7_MACHINE_OPTIONS PC_Q35_1_8_MACHINE_OPTIONS
>
> static QEMUMachine pc_q35_machine_v1_7 = {
> PC_Q35_1_7_MACHINE_OPTIONS,
> .name = "pc-q35-1.7",
> .alias = "q35",
> - .init = pc_q35_init,
> + .init = pc_q35_init_1_7,
> };
>
> -#define PC_Q35_1_6_MACHINE_OPTIONS PC_Q35_MACHINE_OPTIONS
> +#define PC_Q35_1_6_MACHINE_OPTIONS PC_Q35_1_7_MACHINE_OPTIONS
>
> static QEMUMachine pc_q35_machine_v1_6 = {
> PC_Q35_1_6_MACHINE_OPTIONS,
> @@ -313,6 +333,7 @@ static QEMUMachine pc_q35_machine_v1_4 = {
>
> static void pc_q35_machine_init(void)
> {
> + qemu_register_machine(&pc_q35_machine_v1_8);
> qemu_register_machine(&pc_q35_machine_v1_7);
> qemu_register_machine(&pc_q35_machine_v1_6);
> qemu_register_machine(&pc_q35_machine_v1_5);
>