All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eduardo Habkost <ehabkost@redhat.com>
To: Marcel Apfelbaum <marcel@redhat.com>
Cc: qemu-devel@nongnu.org, Laszlo Ersek <lersek@redhat.com>,
	Thomas Huth <thuth@redhat.com>, Alexander Graf <agraf@suse.de>,
	Peter Maydell <peter.maydell@linaro.org>,
	Markus Armbruster <armbru@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v2 01/21] qdev: Replace cannot_instantiate_with_device_add_yet with !user_creatable
Date: Wed, 5 Apr 2017 18:25:12 -0300	[thread overview]
Message-ID: <20170405212512.GB15566@thinpad.lan.raisama.net> (raw)
In-Reply-To: <9ae31b10-0f8c-69fc-c53b-089f89beda3e@redhat.com>

Forgot to answer this part on my previous message:

On Wed, Apr 05, 2017 at 10:01:29PM +0300, Marcel Apfelbaum wrote:
[...]
> > When it was introduced, we had 54
> > cannot_instantiate_with_device_add_yet=true lines in the code.
> > Today (3 years later) this number has not shrinked: we now have
> > 57 cannot_instantiate_with_device_add_yet=true lines. I think it
> > is safe to say it is not a temporary measure, and we won't see
> > the flag go away soon.
> > 
> > Instead of a long field name that misleads people to believe it
> > is temporary, replace it a shorter and less misleading field:
> > user_creatable.
> 
> I completely agree with you. I never liked "negation" fields
> and especially the ones ending with "_yet".
> 
> I also don't understand why "user_creatable" can't be used for white-listing *Q35*.
> I do understand that on some archs we need a white-list per board,
> but I don't think x86 needs it.

It's true that q35 wouldn't break if it simply used
user_creatable after applying this series. But it will break if
one day we link code that registers a user-creatable non-x86
device inside the qemu-system-x86_64 binary (even if by
accident), or if we add a new user-creatable sysbus device for
other x86 machines (e.g. isapc, xenfv, xenpv, pc-i440fx).

Maybe those situations are unlikely, but if we introduce common
infrastructure to let machine-types define their sysbus
whitelists[1], we get the ability to define the q35 whitelist for
free.

[1] See "[RFC 0/4] Replace has_dynamic_sysbus with device type whitelist"

-- 
Eduardo

  parent reply	other threads:[~2017-04-05 21:25 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-04 20:24 [Qemu-devel] [PATCH v2 00/21] qdev/sysbus: Set user_creatable=false by default on sysbus Eduardo Habkost
2017-04-04 20:24 ` [Qemu-devel] [PATCH v2 01/21] qdev: Replace cannot_instantiate_with_device_add_yet with !user_creatable Eduardo Habkost
2017-04-05 19:01   ` Marcel Apfelbaum
2017-04-05 19:42     ` Eduardo Habkost
2017-04-06  9:31       ` Marcel Apfelbaum
2017-04-05 21:25     ` Eduardo Habkost [this message]
2017-04-05 21:30       ` Peter Maydell
2017-04-06  9:25   ` Thomas Huth
2017-04-04 20:24 ` [Qemu-devel] [PATCH v2 02/21] sysbus: Set user_creatable=false by default on TYPE_SYS_BUS_DEVICE Eduardo Habkost
2017-04-05 21:11   ` John Snow
2017-04-06  6:32   ` Juergen Gross
2017-04-04 20:24 ` [Qemu-devel] [PATCH v2 03/21] xen-backend: Remove FIXME comment about user_creatable flag Eduardo Habkost
2017-04-04 20:24 ` [Qemu-devel] [PATCH v2 04/21] iommu: Remove FIXME comment about user_creatable=true Eduardo Habkost
2017-04-06  9:34   ` Marcel Apfelbaum
2017-04-04 20:24 ` [Qemu-devel] [PATCH v2 05/21] fdc: Remove user_creatable flag from sysbus-fdc & SUNW, fdtwo Eduardo Habkost
2017-04-06  9:35   ` Thomas Huth
2017-04-04 20:24 ` [Qemu-devel] [PATCH v2 06/21] pflash_cfi01: Remove user_creatable flag Eduardo Habkost
2017-04-04 20:24 ` [Qemu-devel] [PATCH v2 07/21] kvmclock: " Eduardo Habkost
2017-04-06  9:42   ` Thomas Huth
2017-04-04 20:24 ` [Qemu-devel] [PATCH v2 08/21] ioapic: " Eduardo Habkost
2017-04-04 20:24 ` [Qemu-devel] [PATCH v2 09/21] kvmvapic: " Eduardo Habkost
2017-04-04 20:24 ` [Qemu-devel] [PATCH v2 10/21] sysbus-ahci: " Eduardo Habkost
2017-04-04 20:24 ` [Qemu-devel] [PATCH v2 11/21] allwinner-ahci: " Eduardo Habkost
2017-04-04 20:24 ` [Qemu-devel] [PATCH v2 12/21] isabus-bridge: " Eduardo Habkost
2017-04-04 20:24 ` [Qemu-devel] [PATCH v2 13/21] unimplemented-device: " Eduardo Habkost
2017-04-04 20:24 ` [Qemu-devel] [PATCH v2 14/21] fw_cfg: " Eduardo Habkost
2017-04-04 20:24 ` [Qemu-devel] [PATCH v2 15/21] esp: " Eduardo Habkost
2017-04-04 20:24 ` [Qemu-devel] [PATCH v2 16/21] generic-sdhci: " Eduardo Habkost
2017-04-04 20:24 ` [Qemu-devel] [PATCH v2 17/21] hpet: " Eduardo Habkost
2017-04-04 20:24 ` [Qemu-devel] [PATCH v2 18/21] sysbus-ohci: " Eduardo Habkost
2017-04-04 20:24 ` [Qemu-devel] [PATCH v2 19/21] virtio-mmio: " Eduardo Habkost
2017-04-04 20:24 ` [Qemu-devel] [PATCH v2 20/21] xen-sysdev: " Eduardo Habkost
2017-04-04 20:24 ` [Qemu-devel] [PATCH v2 21/21] s390-pcibus: No need to set user_creatable=false explicitly Eduardo Habkost
2017-04-05  8:55   ` Cornelia Huck
2017-04-06  9:36 ` [Qemu-devel] [PATCH v2 00/21] qdev/sysbus: Set user_creatable=false by default on sysbus Marcel Apfelbaum

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=20170405212512.GB15566@thinpad.lan.raisama.net \
    --to=ehabkost@redhat.com \
    --cc=agraf@suse.de \
    --cc=armbru@redhat.com \
    --cc=lersek@redhat.com \
    --cc=marcel@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=thuth@redhat.com \
    /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.