qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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
> 

  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).