From: Eduardo Habkost <ehabkost@redhat.com>
To: Sebastian Bauer <mail@sebastianbauer.info>
Cc: Gerd Hoffmann <kraxel@redhat.com>,
qemu-devel@nongnu.org, Paolo Bonzini <pbonzini@redhat.com>,
Alexander Graf <agraf@suse.de>,
Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
Aleksandar Markovic <aleksandar.markovic@mips.com>,
Aurelien Jarno <aurelien@aurel32.net>,
"Michael S. Tsirkin" <mst@redhat.com>,
David Gibson <david@gibson.dropbear.id.au>,
BALATON Zoltan <balaton@eik.bme.hu>,
qemu-ppc@nongnu.org, Richard Henderson <rth@twiddle.net>
Subject: Re: [Qemu-devel] [PATCH] vga: make stdvga the global default
Date: Thu, 5 Jul 2018 10:12:11 -0300 [thread overview]
Message-ID: <20180705131211.GJ7451@localhost.localdomain> (raw)
In-Reply-To: <e60e8b1220bd00040b5ae08f93095e28@sebastianbauer.info>
On Thu, Jul 05, 2018 at 05:43:45AM +0200, Sebastian Bauer wrote:
> Am 2018-07-04 23:04, schrieb Eduardo Habkost:
> > On Wed, Jul 04, 2018 at 05:52:06PM -0300, Eduardo Habkost wrote:
> > > On Wed, Jul 04, 2018 at 10:21:19PM +0200, Sebastian Bauer wrote:
> > > > Am 2018-07-04 20:53, schrieb Eduardo Habkost:
> > > > > > mc->kvm_type = spapr_kvm_type;
> > > > > > machine_class_allow_dynamic_sysbus_dev(mc,
> > > > > > TYPE_SPAPR_PCI_HOST_BRIDGE);
> > > > > > mc->pci_allow_0_address = true;
> > > > > > diff --git a/vl.c b/vl.c
> > > > > > index 16b913f9d5..e60bf2d6cd 100644
> > > > > > --- a/vl.c
> > > > > > +++ b/vl.c
> > > > > > @@ -4475,10 +4475,10 @@ int main(int argc, char **argv, char **envp)
> > > > > > if (default_vga) {
> > > > > > if (machine_class->default_display) {
> > > > > > vga_model = machine_class->default_display;
> > > > > > - } else if (vga_interface_available(VGA_CIRRUS)) {
> > > > > > - vga_model = "cirrus";
> > > > > > } else if (vga_interface_available(VGA_STD)) {
> > > > > > vga_model = "std";
> > > > > > + } else if (vga_interface_available(VGA_CIRRUS)) {
> > > > > > + vga_model = "cirrus";
> > > > >
> > > > > If we don't make the machines above have default_display=NULL, we
> > > > > won't need this hunk, right? In either case, I suggest doing
> > > > > this change on a separate patch.
> > > >
> > > > An alternative would be to define the default always to VGA_STD if the
> > > > machine does not override it. This is from the observation that the majority
> > > > would chose std. Obviously, having default values always has pro and cons. I
> > > > would not consider it harmful here.
> > >
> > > That would be my preference: not having any machine with
> > > default_display==NULL. I just don't want to make this a
> > > requirement for fixing the current bug.
> > >
> > > >
> > > > Is there any configuration that includes VGA_CIRRUS but not VGA_STD?
> > >
> > > Not sure, I'll check.
> >
> > I couldn't find any:
>
> Thanks for checking! In that case, the VGA_CIRRUS branch in the above hunk
> will never be executed (for any current config) after the proposed patch. So
> that branch could be eliminated.
I'd prefer to eliminate both vga_interface_available() checks.
>
> I also checked the code, default values are used also for other fields in
> that struct (e.g., default_cpus). If default values are considered fragile,
> they must be changed as well in the middle term. However, given a solid
> documentation (which is currently missing for these fields) I still think
> that default values are acceptable.
>
> Note that there seems also be the possibility to set != NULL default values
> in the machine_class_init() function.
I don't mind if the default value is defined at
machine_class_init() or main(). What bothers me is a default
value that depends on vga_interface_available(), because it can
be easily broken by a build config change (as demonstrated by the
bug fixed by this patch).
--
Eduardo
next prev parent reply other threads:[~2018-07-05 13:12 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-04 11:28 [Qemu-devel] [PATCH] vga: make stdvga the global default Gerd Hoffmann
2018-07-04 18:34 ` Sebastian Bauer
2018-07-04 18:53 ` Eduardo Habkost
2018-07-04 20:21 ` Sebastian Bauer
2018-07-04 20:52 ` Eduardo Habkost
2018-07-04 21:04 ` Eduardo Habkost
2018-07-05 3:43 ` Sebastian Bauer
2018-07-05 13:12 ` Eduardo Habkost [this message]
2018-07-05 16:24 ` [Qemu-devel] [Qemu-ppc] " Mark Cave-Ayland
2018-07-05 16:31 ` Eduardo Habkost
2018-07-06 7:14 ` Gerd Hoffmann
2018-07-06 7:54 ` Mark Cave-Ayland
2018-07-05 6:31 ` [Qemu-devel] " Gerd Hoffmann
2018-07-05 6:30 ` Gerd Hoffmann
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=20180705131211.GJ7451@localhost.localdomain \
--to=ehabkost@redhat.com \
--cc=agraf@suse.de \
--cc=aleksandar.markovic@mips.com \
--cc=aurelien@aurel32.net \
--cc=balaton@eik.bme.hu \
--cc=david@gibson.dropbear.id.au \
--cc=kraxel@redhat.com \
--cc=mail@sebastianbauer.info \
--cc=marcel.apfelbaum@gmail.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=rth@twiddle.net \
/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.