All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Alex Williamson <alex.williamson@redhat.com>
Cc: Bandan Das <bsd@redhat.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 1/2 v2] pci: change default value of rom_bar to 2
Date: Mon, 24 Feb 2014 02:31:14 +0200	[thread overview]
Message-ID: <20140224003114.GA7747@redhat.com> (raw)
In-Reply-To: <1393165087.9111.98.camel@ul30vt.home>

On Sun, Feb 23, 2014 at 07:18:07AM -0700, Alex Williamson wrote:
> On Sun, 2014-02-23 at 08:32 +0200, Michael S. Tsirkin wrote:
> > On Sat, Feb 22, 2014 at 04:28:26PM -0700, Alex Williamson wrote:
> > > On Thu, 2014-02-20 at 10:12 +0200, Michael S. Tsirkin wrote:
> > > > On Wed, Feb 19, 2014 at 03:20:54PM -0500, Bandan Das wrote:
> > > > > The following patch depends on the value of rom_bar to
> > > > > determine rom blacklist behavior. Existing code shouldn't
> > > > > be affected by changing the default value of rom_bar since
> > > > > all relevant decisions only rely on whether rom_bar is zero
> > > > > or non-zero.
> > > > > 
> > > > > Signed-off-by: Bandan Das <bsd@redhat.com>
> > > > > ---
> > > > >  hw/pci/pci.c | 7 ++++++-
> > > > >  1 file changed, 6 insertions(+), 1 deletion(-)
> > > > > 
> > > > > diff --git a/hw/pci/pci.c b/hw/pci/pci.c
> > > > > index 4e0701d..12c3e27 100644
> > > > > --- a/hw/pci/pci.c
> > > > > +++ b/hw/pci/pci.c
> > > > > @@ -53,7 +53,12 @@ static void pci_bus_finalize(Object *obj);
> > > > >  static Property pci_props[] = {
> > > > >      DEFINE_PROP_PCI_DEVFN("addr", PCIDevice, devfn, -1),
> > > > >      DEFINE_PROP_STRING("romfile", PCIDevice, romfile),
> > > > > -    DEFINE_PROP_UINT32("rombar",  PCIDevice, rom_bar, 1),
> > > > > +    /*
> > > > > +     * 0 = disable
> > > > > +     * 1 = user requested on, force loading even if rom blacklisted
> > > > > +     * 2 = enabled but disables loading of blacklisted roms (default)
> > > > > +     */
> > > > > +    DEFINE_PROP_UINT32("rombar",  PCIDevice, rom_bar, 2),
> > > > 
> > > > How do users figure out this interface?
> > > > Read code?
> > > > Could we add a bit property rombarforce=on/off instead?
> > > > Seems better.
> > > > 
> > > > Maybe we should teach bool type visitors
> > > > about 0 and 1 being legal values
> > > > (call out to int visitor, then check value 0 or 1),
> > > > then rombar can be changed to bit property too.
> > > > 
> > > > Also, this will need QMP support right?
> > > > IIUC rombar is not exposed in QMP ATM.
> > > 
> > > rombarforce seems very redundant for a user interface; rombar=1 "expose
> > > the ROM BAR of the device", rombarforce=1 "yes, really expose the ROM
> > > BAR of the device".
> > 
> > Not really.
> > In this design, rombarforce=yes means "expose ROM BAR of the device",
> > rombar should not be exposed to users - it's a compatibility property
> > used for cross-version migration.
> > 
> > > Even if force implies rombar,
> > > I don't think that's
> > > very easy to code in libvirt.
> > 
> > Libvirt doesn't touch rombar AFAIK.
> 
> It does
> 
> http://libvirt.org/formatdomain.html#elementsNICSROM
> 
> <rom bar='off'>


Got it, thanks. So if you think the right thing
to do for users it to interpret rom=on as
meaning "force" then just do that.
Use some new hidden field for machine compatibility.


> > >  I think we really just want to detect
> > > unspecified versus specified, which probably means setting the default
> > > value to something the user can't, or at least wouldn't, specify.
> > > Thanks,
> > > 
> > > Alex
> > 
> > OK but I should be able to query value of each variable and figure
> > out what it means.
> > 
> > We can build a tri-state property type if desired:
> > force on/force off/auto.
> > Just let's not code up random magic values.
> > 0 and 1 for on/off is ugly enough.
> > 
> > 
> > > > 
> > > > >      DEFINE_PROP_BIT("multifunction", PCIDevice, cap_present,
> > > > >                      QEMU_PCI_CAP_MULTIFUNCTION_BITNR, false),
> > > > >      DEFINE_PROP_BIT("command_serr_enable", PCIDevice, cap_present,
> > > > > -- 
> > > > > 1.8.3.1
> > > 
> > > 
> 
> 

  reply	other threads:[~2014-02-24  0:26 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-19 20:20 [Qemu-devel] [PATCH 0/2 v2] vfio: blacklist loading of unstable roms Bandan Das
2014-02-19 20:20 ` [Qemu-devel] [PATCH 1/2 v2] pci: change default value of rom_bar to 2 Bandan Das
2014-02-19 20:36   ` Alex Williamson
2014-02-19 20:43     ` Bandan Das
2014-02-20  8:13     ` Michael S. Tsirkin
2014-02-20  8:12   ` Michael S. Tsirkin
2014-02-20 17:22     ` Bandan Das
2014-02-22 23:28     ` Alex Williamson
2014-02-23  6:32       ` Michael S. Tsirkin
2014-02-23 14:18         ` Alex Williamson
2014-02-24  0:31           ` Michael S. Tsirkin [this message]
2014-02-24  1:32             ` Bandan Das
2014-02-24  2:56               ` Alex Williamson
2014-02-19 20:20 ` [Qemu-devel] [PATCH 2/2 v2] vfio: blacklist loading of unstable roms Bandan Das
2014-02-19 20:58   ` Alex Williamson
2014-02-20 17:27     ` Bandan Das

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=20140224003114.GA7747@redhat.com \
    --to=mst@redhat.com \
    --cc=alex.williamson@redhat.com \
    --cc=bsd@redhat.com \
    --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.