From: "Michael S. Tsirkin" <mst@redhat.com>
To: Marcel Apfelbaum <marcel.a@redhat.com>
Cc: kevin@koconnor.net, seabios@seabios.org,
Gerd Hoffmann <kraxel@redhat.com>,
qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [SeaBIOS] [PATCH] hw/pci: reserve IO and mem for pci-2-pci bridges with no devices attached
Date: Mon, 7 Apr 2014 19:22:34 +0300 [thread overview]
Message-ID: <20140407162234.GD17277@redhat.com> (raw)
In-Reply-To: <1396880173.10570.25.camel@localhost.localdomain>
On Mon, Apr 07, 2014 at 05:16:13PM +0300, Marcel Apfelbaum wrote:
> On Mon, 2014-04-07 at 17:09 +0300, Michael S. Tsirkin wrote:
> > On Mon, Apr 07, 2014 at 04:51:54PM +0300, Marcel Apfelbaum wrote:
> [...]
> > > > > I don't think we'll need that for the SHPC bridge.
> > > >
> > > > Why not?
> > > Because "has shpc" => not an PCIe port. (as far as I know)
> > > Anyway, why have shpc capability but no I/O or mem to support it?
> ^^^
> [...]
> >
> >
> > AFAIK the spec does not list reset value for this register.
> > IIRC QEMU resets both to 0.
> Thanks, what do you think about the above ? ^^^
> While I am not against it, it seems redundant.
> It has shpc => it needs I/O or mem space.
>
> Marcel
Fair enough but it can have shpc and memory without io,
or shpc and io without memory.
> >
> >
> > > > - read back value
> > > >
> > > > value 0 means bridge does not support I/O.
> > > >
> > > >
> > > > A similar trick should work for other optional resources.
> > > >
> > > >
> > > > > For express it indeed makes sense to avoid claiming IO address space.
> > > > > I'd try to find something more automatic though, where you don't need
> > > > > some kind of "disable io for this express port" config option.
> > > >
> > > > Won't same trick as above work?
> > > >
> > > > > For express ports which can only have a single device underneath we can
> > > > > check whenever we have a device and if one is present already don't
> > > > > bother claiming extra resources for hotplug.
> > > > >
> > > > > > > + for (cap = pci_config_readb(pci->bdf, PCI_CAPABILITY_LIST); cap;
> > > > > > > + cap = pci_config_readb(pci->bdf, cap + PCI_CAP_LIST_NEXT))
> > > > > > > + if (pci_config_readb(pci->bdf, cap + PCI_CAP_LIST_ID) == cap_id)
> > > > > > > + return cap;
> > > > > >
> > > > > > I would also limit this to 256 iterations, to make sure
> > > > > > we dont' get into an infinite loop with a broken device.
> > > > >
> > > > > Good point.
> > > > >
> > > > > cheers,
> > > > > Gerd
> > > > >
> > >
> > >
>
>
next prev parent reply other threads:[~2014-04-07 16:22 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-07 10:59 [Qemu-devel] [SeaBIOS] [PATCH] hw/pci: reserve IO and mem for pci-2-pci bridges with no devices attached Marcel Apfelbaum
2014-04-07 12:01 ` Gerd Hoffmann
2014-04-07 12:11 ` Michael S. Tsirkin
2014-04-07 12:18 ` Marcel Apfelbaum
2014-04-07 12:15 ` Michael S. Tsirkin
2014-04-07 12:44 ` Gerd Hoffmann
2014-04-07 12:51 ` Marcel Apfelbaum
2014-04-07 13:34 ` Michael S. Tsirkin
2014-04-07 13:51 ` Marcel Apfelbaum
2014-04-07 13:55 ` Marcel Apfelbaum
2014-04-07 14:09 ` Michael S. Tsirkin
2014-04-07 14:16 ` Marcel Apfelbaum
2014-04-07 16:22 ` Michael S. Tsirkin [this message]
2014-04-08 6:05 ` Gerd Hoffmann
2014-04-08 8:54 ` Michael S. Tsirkin
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=20140407162234.GD17277@redhat.com \
--to=mst@redhat.com \
--cc=kevin@koconnor.net \
--cc=kraxel@redhat.com \
--cc=marcel.a@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=seabios@seabios.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.