[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 3/3] pc: Introduce pc-*-2.5 machine classes
From: |
Igor Mammedov |
Subject: |
Re: [Qemu-devel] [PATCH v3 3/3] pc: Introduce pc-*-2.5 machine classes |
Date: |
Mon, 14 Sep 2015 18:27:22 +0200 |
On Mon, 14 Sep 2015 11:32:45 -0300
Eduardo Habkost <address@hidden> wrote:
> Introduce pc-*-2.5 machine classes, and add HW_COMPAT_2_4/PC_COMPAT_2_4
> macros that will allow pc-*-2.4 compat properties to be added.
>
> Signed-off-by: Eduardo Habkost <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>
> ---
> Changes v1 -> v2:
> * Trivial rebase to qemu.git master
>
> Changes v2 -> v3:
> * Move broken_reserved_end=true to pc_*_2_4_machine_options()
> Reported-by: Igor Mammedov <address@hidden>
> * Improved commit message
> ---
> hw/i386/pc_piix.c | 18 +++++++++++++++---
> hw/i386/pc_q35.c | 14 ++++++++++++--
> include/hw/compat.h | 3 +++
> include/hw/i386/pc.h | 4 ++++
> 4 files changed, 34 insertions(+), 5 deletions(-)
>
> diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
> index 2d9df7c..3ffb05f 100644
> --- a/hw/i386/pc_piix.c
> +++ b/hw/i386/pc_piix.c
> @@ -464,15 +464,27 @@ static void pc_i440fx_machine_options(MachineClass *m)
> m->default_display = "std";
> }
>
> -static void pc_i440fx_2_4_machine_options(MachineClass *m)
> +static void pc_i440fx_2_5_machine_options(MachineClass *m)
> {
> - PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
> pc_i440fx_machine_options(m);
> - pcmc->broken_reserved_end = true;
> m->alias = "pc";
> m->is_default = 1;
> }
>
> +DEFINE_I440FX_MACHINE(v2_5, "pc-i440fx-2.5", NULL,
> + pc_i440fx_2_5_machine_options);
> +
> +
> +static void pc_i440fx_2_4_machine_options(MachineClass *m)
> +{
> + PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
> + pc_i440fx_2_5_machine_options(m);
> + m->alias = NULL;
> + m->is_default = 0;
> + pcmc->broken_reserved_end = true;
> + SET_MACHINE_COMPAT(m, PC_COMPAT_2_4);
> +}
> +
> DEFINE_I440FX_MACHINE(v2_4, "pc-i440fx-2.4", NULL,
> pc_i440fx_2_4_machine_options)
>
> diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
> index 966eedb..1b7d3b6 100644
> --- a/hw/i386/pc_q35.c
> +++ b/hw/i386/pc_q35.c
> @@ -370,12 +370,22 @@ static void pc_q35_machine_options(MachineClass *m)
> m->no_tco = 0;
> }
>
> +static void pc_q35_2_5_machine_options(MachineClass *m)
> +{
> + pc_q35_machine_options(m);
> + m->alias = "q35";
> +}
> +
> +DEFINE_Q35_MACHINE(v2_5, "pc-q35-2.5", NULL,
> + pc_q35_2_5_machine_options);
> +
> static void pc_q35_2_4_machine_options(MachineClass *m)
> {
> PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
> - pc_q35_machine_options(m);
> + pc_q35_2_5_machine_options(m);
> + m->alias = NULL;
> pcmc->broken_reserved_end = true;
> - m->alias = "q35";
> + SET_MACHINE_COMPAT(m, PC_COMPAT_2_4);
> }
>
> DEFINE_Q35_MACHINE(v2_4, "pc-q35-2.4", NULL,
> diff --git a/include/hw/compat.h b/include/hw/compat.h
> index 94c8097..095de5d 100644
> --- a/include/hw/compat.h
> +++ b/include/hw/compat.h
> @@ -1,6 +1,9 @@
> #ifndef HW_COMPAT_H
> #define HW_COMPAT_H
>
> +#define HW_COMPAT_2_4 \
> + /* empty */
> +
> #define HW_COMPAT_2_3 \
> {\
> .driver = "virtio-blk-pci",\
> diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
> index 3e002c9..6896328 100644
> --- a/include/hw/i386/pc.h
> +++ b/include/hw/i386/pc.h
> @@ -291,7 +291,11 @@ int e820_add_entry(uint64_t, uint64_t, uint32_t);
> int e820_get_num_entries(void);
> bool e820_get_entry(int, uint32_t, uint64_t *, uint64_t *);
>
> +#define PC_COMPAT_2_4 \
> + HW_COMPAT_2_4
> +
> #define PC_COMPAT_2_3 \
> + PC_COMPAT_2_4 \
> HW_COMPAT_2_3 \
> {\
> .driver = TYPE_X86_CPU,\