From: "Michael S. Tsirkin" <mst@redhat.com>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>,
kevin@koconnor.net, seabios@seabios.org, qemu-devel@nongnu.org,
pbonzini@redhat.com
Subject: Re: [Qemu-devel] [PATCH v2] map 64-bit PCI BARs at location provided by emulator
Date: Mon, 14 Oct 2013 17:00:47 +0300 [thread overview]
Message-ID: <20131014140047.GA5106@redhat.com> (raw)
In-Reply-To: <1381755885.30262.58.camel@nilsson.home.kraxel.org>
On Mon, Oct 14, 2013 at 03:04:45PM +0200, Gerd Hoffmann wrote:
> Hi,
>
> > >
> > > To me it makes more sense to just go the direct route and say "please
> > > put the 64bit bars at this location" rather than indirect "we might want
> > > hotplug $thatmuch memory" and then expect the bios to leave that much
> > > room.
> >
> > Only if the newfeature address is not under bios control. I know that
> > bios is simplistic so all it cares about ATM is pci window, but can't
> > shake the impression that we are better off telling the guest what's
> > going on rather than what it should do.
> >
> > In particular the issue that was discussed (what to do
> > if pci start is set by host to below ram end)
> > will simply go away if we pass in an incremental
> > value: there will be no invalid configurations.
>
> The "what is going on" might need updates in both qemu and seabios if
> something new goes on. For example qemu getting support non-contignous
> memory. The "leave that much address space free above memory" suddenly
> is ambiguous as there are two (or more) memory blocks above 4g. "please
> place 64bit pci bars there" continues to work just fine.
Yes but at the cost of overspecifying it.
I think it's down to the name: it's called pcimem64-start
but it can actually be less than 4G and we need to worry what to
do then. Also, 64 doesn't really mean >4G.
So how about "reserve-memory-over-4g"?
bios then does 1ull << 32 + reserve-memory-over-4g
to figure out how much to skip.
> > > > It's not unthinkable.
> > > > Multiple ECAM regions (for multi-root systems) can make holes in the address space.
> > >
> > > Sounds pretty theoretic ...
> >
> > What? Multiple PCI roots?
>
> That we'll need pass multiple pci windows because of that. I expect
> we'll need seabios support for the new multi-root hardware anyway, and
> seabios will probably be aware of the hardware constrains then ...
>
> Also as far I know nobody is working on such a chipset.
>
> I simply wouldn't worry about that today. Designing a interface when
> you don't know the exact needs for the it has a high chance to go wrong.
Well you were the one that asked about that :)
> > > > Also, we just ignore everything above the ioapic, but that's
> > > > not a must, we could maybe use address space above ioapic.
> > >
> > > Any reason why we should that?
> > >
> >
> > 32 bit address space is contrained, using it is preferable for
> > 32 bit guests ...
>
> This wouldn't help in the cases I've seen in practice. We have no
> problems at all to fit in mmio pci bars, even lots of them, they are
> small enough. We can run out of address space if we have pci devices
> with larger chunks of memory on them, such as qxl or ivshmem. And these
> memory bars are too big to fit into any of the small holes above the
> ioapic.
>
> cheers,
> Gerd
>
next prev parent reply other threads:[~2013-10-14 13:58 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-13 12:13 [Qemu-devel] [PATCH v2] map 64-bit PCI BARs at location provided by emulator Igor Mammedov
2013-10-13 12:31 ` Michael S. Tsirkin
2013-10-13 15:11 ` Igor Mammedov
2013-10-13 15:59 ` Michael S. Tsirkin
2013-10-13 16:23 ` Igor Mammedov
2013-10-13 16:46 ` Michael S. Tsirkin
2013-10-13 17:33 ` Igor Mammedov
2013-10-13 18:19 ` [Qemu-devel] [SeaBIOS] " Igor Mammedov
2013-10-13 19:53 ` Kevin O'Connor
2013-10-14 8:01 ` Gerd Hoffmann
2013-10-13 20:28 ` [Qemu-devel] " Michael S. Tsirkin
2013-10-14 10:27 ` Igor Mammedov
2013-10-14 11:00 ` Michael S. Tsirkin
2013-10-14 12:16 ` Gerd Hoffmann
2013-10-14 12:38 ` Michael S. Tsirkin
2013-10-14 13:04 ` Gerd Hoffmann
2013-10-14 14:00 ` Michael S. Tsirkin [this message]
2013-10-14 16:15 ` Igor Mammedov
2013-10-14 16:37 ` Michael S. Tsirkin
2013-10-15 8:01 ` Gerd Hoffmann
2013-10-15 9:05 ` Igor Mammedov
2013-10-15 9:14 ` [Qemu-devel] [SeaBIOS] " Gerd Hoffmann
2013-10-15 12:36 ` Igor Mammedov
2013-10-15 9:16 ` [Qemu-devel] " Michael S. Tsirkin
2013-10-15 9:24 ` Gerd Hoffmann
2013-10-15 9:53 ` Igor Mammedov
2013-10-15 9:47 ` Igor Mammedov
2013-10-15 9:08 ` Michael S. Tsirkin
2013-10-14 12:28 ` Igor Mammedov
2013-10-13 15:15 ` Kevin O'Connor
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=20131014140047.GA5106@redhat.com \
--to=mst@redhat.com \
--cc=imammedo@redhat.com \
--cc=kevin@koconnor.net \
--cc=kraxel@redhat.com \
--cc=pbonzini@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).