All of lore.kernel.org
 help / color / mirror / Atom feed
From: Igor Mammedov <imammedo@redhat.com>
To: Marcel Apfelbaum <marcel.a@redhat.com>
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
	"Eduardo Habkost" <ehabkost@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"Alexey Kardashevskiy" <aik@ozlabs.ru>,
	"Markus Armbruster" <armbru@redhat.com>,
	qemu-devel@nongnu.org, "Paul Mackerras" <paulus@samba.org>,
	"Anthony Liguori" <aliguori@amazon.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Andreas Färber" <afaerber@suse.de>,
	"Alexander Graf" <agraf@suse.com>
Subject: Re: [Qemu-devel] [PATCH 3/4] machine: Introduce QEMU_COMPAT_* macros
Date: Wed, 25 Jun 2014 08:20:07 +0200	[thread overview]
Message-ID: <20140625082007.79c62d59@nial.usersys.redhat.com> (raw)
In-Reply-To: <1403637650.20031.11.camel@localhost.localdomain>

On Tue, 24 Jun 2014 22:20:50 +0300
Marcel Apfelbaum <marcel.a@redhat.com> wrote:

> On Tue, 2014-06-24 at 15:02 -0300, Eduardo Habkost wrote:
> > The QEMU_COMPAT_* macros will contain compat properties that are not
> > specific to PC, and may be reused by other machine-types.
> > 
> > PC-specific properties were left on the PC_COMPAT_* macros.
> > 
> > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> > ---
> >  include/hw/boards.h  | 161 +++++++++++++++++++++++++++++++++++++++++++++++++++
> >  include/hw/i386/pc.h | 150 ++---------------------------------------------
> >  2 files changed, 166 insertions(+), 145 deletions(-)
> > 
> > diff --git a/include/hw/boards.h b/include/hw/boards.h
> > index 605a970..709b582 100644
> > --- a/include/hw/boards.h
> > +++ b/include/hw/boards.h
> > @@ -134,4 +134,165 @@ struct MachineState {
> >      const char *cpu_model;
> >  };
> >  
> > +
> > +/* Macros for compat_props corresponding to specific QEMU versions: */
> Only a suggestion: Maybe we can move all the compat props to a new header file,
> say include/hw/compat.h so we don't need to modify board.h every time we need a
> compat prop? board.h will remain cleaner this way.
these are PC specific compat props, so it should be moved into target specific
pc.h instead of global header.

> Thanks,
> Marcel
> 
> > +
> > +#define QEMU_COMPAT_2_0 \
> > +    {\
> > +        .driver   = "virtio-scsi-pci",\
> > +        .property = "any_layout",\
> > +        .value    = "off",\
> > +    },\
> > +    {\
> > +        .driver   = "apic",\
> > +        .property = "version",\
> > +        .value    = stringify(0x11),\
> > +    },\
> > +    {\
> > +        .driver   = "nec-usb-xhci",\
> > +        .property = "superspeed-ports-first",\
> > +        .value    = "off",\
> > +    },\
> > +    {\
> > +        .driver   = "pci-serial",\
> > +        .property = "prog_if",\
> > +        .value    = stringify(0),\
> > +    },\
> > +    {\
> > +        .driver   = "pci-serial-2x",\
> > +        .property = "prof_if",\
> > +        .value    = stringify(0),\
> > +    },\
> > +    {\
> > +        .driver   = "pci-serial-4x",\
> > +        .property = "prog_if",\
> > +        .value    = stringify(0),\
> > +    },\
> > +    {\
> > +        .driver   = "virtio-net-pci",\
> > +        .property = "guest_announce",\
> > +        .value    = "off",\
> > +    }
> > +
> > +#define QEMU_COMPAT_1_7 \
> > +    {\
> > +        .driver   = TYPE_USB_DEVICE,\
> > +        .property = "msos-desc",\
> > +        .value    = "no",\
> > +    }
> > +
> > +#define QEMU_COMPAT_1_6 \
> > +    {\
> > +        .driver   = "e1000",\
> > +        .property = "mitigation",\
> > +        .value    = "off",\
> > +    },{\
> > +        .driver   = "qemu64-" TYPE_X86_CPU,\
> > +        .property = "model",\
> > +        .value    = stringify(2),\
> > +    },{\
> > +        .driver   = "qemu32-" TYPE_X86_CPU,\
> > +        .property = "model",\
> > +        .value    = stringify(3),\
> > +    }
> > +
> > +#define QEMU_COMPAT_1_5 \
> > +    {\
> > +        .driver   = "Conroe-" TYPE_X86_CPU,\
> > +        .property = "model",\
> > +        .value    = stringify(2),\
> > +    },{\
> > +        .driver   = "Conroe-" TYPE_X86_CPU,\
> > +        .property = "level",\
> > +        .value    = stringify(2),\
> > +    },{\
> > +        .driver   = "Penryn-" TYPE_X86_CPU,\
> > +        .property = "model",\
> > +        .value    = stringify(2),\
> > +    },{\
> > +        .driver   = "Penryn-" TYPE_X86_CPU,\
> > +        .property = "level",\
> > +        .value    = stringify(2),\
> > +    },{\
> > +        .driver   = "Nehalem-" TYPE_X86_CPU,\
> > +        .property = "model",\
> > +        .value    = stringify(2),\
> > +    },{\
> > +        .driver   = "Nehalem-" TYPE_X86_CPU,\
> > +        .property = "level",\
> > +        .value    = stringify(2),\
> > +    },{\
> > +        .driver   = "virtio-net-pci",\
> > +        .property = "any_layout",\
> > +        .value    = "off",\
> > +    },{\
> > +        .driver = TYPE_X86_CPU,\
> > +        .property = "pmu",\
> > +        .value = "on",\
> > +    }
> > +
> > +#define QEMU_COMPAT_1_4 \
> > +    {\
> > +        .driver   = "scsi-hd",\
> > +        .property = "discard_granularity",\
> > +        .value    = stringify(0),\
> > +    },{\
> > +        .driver   = "scsi-cd",\
> > +        .property = "discard_granularity",\
> > +        .value    = stringify(0),\
> > +    },{\
> > +        .driver   = "scsi-disk",\
> > +        .property = "discard_granularity",\
> > +        .value    = stringify(0),\
> > +    },{\
> > +        .driver   = "ide-hd",\
> > +        .property = "discard_granularity",\
> > +        .value    = stringify(0),\
> > +    },{\
> > +        .driver   = "ide-cd",\
> > +        .property = "discard_granularity",\
> > +        .value    = stringify(0),\
> > +    },{\
> > +        .driver   = "ide-drive",\
> > +        .property = "discard_granularity",\
> > +        .value    = stringify(0),\
> > +    },{\
> > +        .driver   = "virtio-blk-pci",\
> > +        .property = "discard_granularity",\
> > +        .value    = stringify(0),\
> > +    },{\
> > +        .driver   = "virtio-serial-pci",\
> > +        .property = "vectors",\
> > +        /* DEV_NVECTORS_UNSPECIFIED as a uint32_t string */\
> > +        .value    = stringify(0xFFFFFFFF),\
> > +    },{ \
> > +        .driver   = "virtio-net-pci", \
> > +        .property = "ctrl_guest_offloads", \
> > +        .value    = "off", \
> > +    },{\
> > +        .driver   = "e1000",\
> > +        .property = "romfile",\
> > +        .value    = "pxe-e1000.rom",\
> > +    },{\
> > +        .driver   = "ne2k_pci",\
> > +        .property = "romfile",\
> > +        .value    = "pxe-ne2k_pci.rom",\
> > +    },{\
> > +        .driver   = "pcnet",\
> > +        .property = "romfile",\
> > +        .value    = "pxe-pcnet.rom",\
> > +    },{\
> > +        .driver   = "rtl8139",\
> > +        .property = "romfile",\
> > +        .value    = "pxe-rtl8139.rom",\
> > +    },{\
> > +        .driver   = "virtio-net-pci",\
> > +        .property = "romfile",\
> > +        .value    = "pxe-virtio.rom",\
> > +    },{\
> > +        .driver   = "486-" TYPE_X86_CPU,\
> > +        .property = "model",\
> > +        .value    = stringify(0),\
> > +    }
> > +
> >  #endif
> > diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
> > index d988b80..631afe7 100644
> > --- a/include/hw/i386/pc.h
> > +++ b/include/hw/i386/pc.h
> > @@ -295,52 +295,15 @@ int e820_get_num_entries(void);
> >  bool e820_get_entry(int, uint32_t, uint64_t *, uint64_t *);
> >  
> >  #define PC_COMPAT_2_0 \
> > +        QEMU_COMPAT_2_0,\
> >          {\
> > -            .driver   = "virtio-scsi-pci",\
> > -            .property = "any_layout",\
> > -            .value    = "off",\
> > -        },{\
> >              .driver   = "PIIX4_PM",\
> >              .property = "memory-hotplug-support",\
> >              .value    = "off",\
> > -        },\
> > -        {\
> > -            .driver   = "apic",\
> > -            .property = "version",\
> > -            .value    = stringify(0x11),\
> > -        },\
> > -        {\
> > -            .driver   = "nec-usb-xhci",\
> > -            .property = "superspeed-ports-first",\
> > -            .value    = "off",\
> > -        },\
> > -        {\
> > -            .driver   = "pci-serial",\
> > -            .property = "prog_if",\
> > -            .value    = stringify(0),\
> > -        },\
> > -        {\
> > -            .driver   = "pci-serial-2x",\
> > -            .property = "prof_if",\
> > -            .value    = stringify(0),\
> > -        },\
> > -        {\
> > -            .driver   = "pci-serial-4x",\
> > -            .property = "prog_if",\
> > -            .value    = stringify(0),\
> > -        },\
> > -        {\
> > -            .driver   = "virtio-net-pci",\
> > -            .property = "guest_announce",\
> > -            .value    = "off",\
> >          }
> >  
> >  #define PC_COMPAT_1_7 \
> > -        {\
> > -            .driver   = TYPE_USB_DEVICE,\
> > -            .property = "msos-desc",\
> > -            .value    = "no",\
> > -        },\
> > +        QEMU_COMPAT_1_7,\
> >          {\
> >              .driver   = "PIIX4_PM",\
> >              .property = "acpi-pci-hotplug-with-bridge-support",\
> > @@ -348,19 +311,8 @@ bool e820_get_entry(int, uint32_t, uint64_t *, uint64_t *);
> >          }
> >  
> >  #define PC_COMPAT_1_6 \
> > +        QEMU_COMPAT_1_6,\
> >          {\
> > -            .driver   = "e1000",\
> > -            .property = "mitigation",\
> > -            .value    = "off",\
> > -        },{\
> > -            .driver   = "qemu64-" TYPE_X86_CPU,\
> > -            .property = "model",\
> > -            .value    = stringify(2),\
> > -        },{\
> > -            .driver   = "qemu32-" TYPE_X86_CPU,\
> > -            .property = "model",\
> > -            .value    = stringify(3),\
> > -        },{\
> >              .driver   = "i440FX-pcihost",\
> >              .property = "short_root_bus",\
> >              .value    = stringify(1),\
> > @@ -371,39 +323,8 @@ bool e820_get_entry(int, uint32_t, uint64_t *, uint64_t *);
> >          }
> >  
> >  #define PC_COMPAT_1_5 \
> > +        QEMU_COMPAT_1_7,\
> >          {\
> > -            .driver   = "Conroe-" TYPE_X86_CPU,\
> > -            .property = "model",\
> > -            .value    = stringify(2),\
> > -        },{\
> > -            .driver   = "Conroe-" TYPE_X86_CPU,\
> > -            .property = "level",\
> > -            .value    = stringify(2),\
> > -        },{\
> > -            .driver   = "Penryn-" TYPE_X86_CPU,\
> > -            .property = "model",\
> > -            .value    = stringify(2),\
> > -        },{\
> > -            .driver   = "Penryn-" TYPE_X86_CPU,\
> > -            .property = "level",\
> > -            .value    = stringify(2),\
> > -        },{\
> > -            .driver   = "Nehalem-" TYPE_X86_CPU,\
> > -            .property = "model",\
> > -            .value    = stringify(2),\
> > -        },{\
> > -            .driver   = "Nehalem-" TYPE_X86_CPU,\
> > -            .property = "level",\
> > -            .value    = stringify(2),\
> > -        },{\
> > -            .driver   = "virtio-net-pci",\
> > -            .property = "any_layout",\
> > -            .value    = "off",\
> > -        },{\
> > -            .driver = TYPE_X86_CPU,\
> > -            .property = "pmu",\
> > -            .value = "on",\
> > -        },{\
> >              .driver   = "i440FX-pcihost",\
> >              .property = "short_root_bus",\
> >              .value    = stringify(0),\
> > @@ -414,68 +335,7 @@ bool e820_get_entry(int, uint32_t, uint64_t *, uint64_t *);
> >          }
> >  
> >  #define PC_COMPAT_1_4 \
> > -        {\
> > -            .driver   = "scsi-hd",\
> > -            .property = "discard_granularity",\
> > -            .value    = stringify(0),\
> > -	},{\
> > -            .driver   = "scsi-cd",\
> > -            .property = "discard_granularity",\
> > -            .value    = stringify(0),\
> > -	},{\
> > -            .driver   = "scsi-disk",\
> > -            .property = "discard_granularity",\
> > -            .value    = stringify(0),\
> > -	},{\
> > -            .driver   = "ide-hd",\
> > -            .property = "discard_granularity",\
> > -            .value    = stringify(0),\
> > -	},{\
> > -            .driver   = "ide-cd",\
> > -            .property = "discard_granularity",\
> > -            .value    = stringify(0),\
> > -	},{\
> > -            .driver   = "ide-drive",\
> > -            .property = "discard_granularity",\
> > -            .value    = stringify(0),\
> > -        },{\
> > -            .driver   = "virtio-blk-pci",\
> > -            .property = "discard_granularity",\
> > -            .value    = stringify(0),\
> > -	},{\
> > -            .driver   = "virtio-serial-pci",\
> > -            .property = "vectors",\
> > -            /* DEV_NVECTORS_UNSPECIFIED as a uint32_t string */\
> > -            .value    = stringify(0xFFFFFFFF),\
> > -        },{ \
> > -            .driver   = "virtio-net-pci", \
> > -            .property = "ctrl_guest_offloads", \
> > -            .value    = "off", \
> > -        },{\
> > -            .driver   = "e1000",\
> > -            .property = "romfile",\
> > -            .value    = "pxe-e1000.rom",\
> > -        },{\
> > -            .driver   = "ne2k_pci",\
> > -            .property = "romfile",\
> > -            .value    = "pxe-ne2k_pci.rom",\
> > -        },{\
> > -            .driver   = "pcnet",\
> > -            .property = "romfile",\
> > -            .value    = "pxe-pcnet.rom",\
> > -        },{\
> > -            .driver   = "rtl8139",\
> > -            .property = "romfile",\
> > -            .value    = "pxe-rtl8139.rom",\
> > -        },{\
> > -            .driver   = "virtio-net-pci",\
> > -            .property = "romfile",\
> > -            .value    = "pxe-virtio.rom",\
> > -        },{\
> > -            .driver   = "486-" TYPE_X86_CPU,\
> > -            .property = "model",\
> > -            .value    = stringify(0),\
> > -        }
> > +    QEMU_COMPAT_1_4
> >  
> >  #define PC_COMMON_MACHINE_OPTIONS \
> >      .default_boot_order = "cad"
> 
> 
> 

  reply	other threads:[~2014-06-25  6:20 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-24 18:02 [Qemu-devel] [PATCH 0/4] Introduce common QEMU_COMPAT_* macros Eduardo Habkost
2014-06-24 18:02 ` [Qemu-devel] [PATCH 1/4] q35: Move q35-specific compat macros to pc_q35.c Eduardo Habkost
2014-06-24 19:23   ` Marcel Apfelbaum
2014-06-24 18:02 ` [Qemu-devel] [PATCH 2/4] pc: Eliminate nesting of common PC_COMPAT_* macros Eduardo Habkost
2014-06-25  5:13   ` Michael S. Tsirkin
2014-06-24 18:02 ` [Qemu-devel] [PATCH 3/4] machine: Introduce QEMU_COMPAT_* macros Eduardo Habkost
2014-06-24 19:20   ` Marcel Apfelbaum
2014-06-25  6:20     ` Igor Mammedov [this message]
2014-06-24 20:58   ` BALATON Zoltan
2014-06-24 23:01     ` Eduardo Habkost
2014-06-25  5:20   ` Michael S. Tsirkin
2014-06-25  6:46     ` Marcel Apfelbaum
2014-06-25  7:18       ` Michael S. Tsirkin
2014-06-25  7:20         ` Marcel Apfelbaum
2014-06-24 18:02 ` [Qemu-devel] [PATCH 4/4] [RFC] Eliminate PC-specific compat_props Eduardo Habkost
2014-06-24 19:51   ` Marcel Apfelbaum
2014-06-24 19:59     ` Eduardo Habkost
2014-06-25  4:55   ` Michael S. Tsirkin
2014-06-25 13:25     ` Eduardo Habkost
2014-06-25 14:12       ` Michael S. Tsirkin
2014-06-25  2:39 ` [Qemu-devel] [PATCH 0/4] Introduce common QEMU_COMPAT_* macros Alexey Kardashevskiy
2014-06-25  5:22   ` Michael S. Tsirkin
2014-06-25  4:57 ` Michael S. Tsirkin
2014-06-25  7:34 ` Michael S. Tsirkin
2014-06-25 13:50   ` Eduardo Habkost

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140625082007.79c62d59@nial.usersys.redhat.com \
    --to=imammedo@redhat.com \
    --cc=afaerber@suse.de \
    --cc=agraf@suse.com \
    --cc=aik@ozlabs.ru \
    --cc=aliguori@amazon.com \
    --cc=armbru@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=marcel.a@redhat.com \
    --cc=mst@redhat.com \
    --cc=paulus@samba.org \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.