From: Igor Mammedov <imammedo@redhat.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: pbonzini@redhat.com, afaerber@suse.de, kraxel@redhat.com,
aliguori@amazon.com, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 0/2 v2] pc: inform SeaBIOS where 64-bit PCI hole begins
Date: Wed, 30 Oct 2013 14:24:54 +0100 [thread overview]
Message-ID: <20131030142454.667f354b@nial.usersys.redhat.com> (raw)
In-Reply-To: <20131029185242.GC20848@redhat.com>
On Tue, 29 Oct 2013 20:52:42 +0200
"Michael S. Tsirkin" <mst@redhat.com> wrote:
> On Tue, Oct 29, 2013 at 04:28:25PM +0100, Igor Mammedov wrote:
> > On Tue, 29 Oct 2013 17:10:47 +0200
> > "Michael S. Tsirkin" <mst@redhat.com> wrote:
> >
> > > On Tue, Oct 29, 2013 at 01:57:33PM +0100, Igor Mammedov wrote:
> > > > * simplify PCI address space mapping into system address space,
> > > > replacing code duplication in piix/q53 PCs with a helper function
> > > >
> > > > * add fw_cfg 'etc/pcimem64-minimum-address' to allow QEMU reserve
> > > > additional address space before 64-bit PCI hole. Which will be
> > > > need for reserving memory hotplug region in highmem.
> > > > SeaBIOS counterpart: http://patchwork.ozlabs.org/patch/283623/
> > >
> > > I'd like to see if we can figure out the migration issue with
> > > memory layout.
> > It seems that there isn't migration issue here.
>
> Hmm earlier you thought there was - it's ok now?
>
> > > Because if we do, and get rid of the separate 64 bit
> > > region as a concept, exposing the start of this non-existent
> > > region in FW CFG will make very little sense IMHO.
> > Well, BIOS have to know where it could start 64-bit BARs mappings
> > and
> > telling it explicitly where, looks like a good way to do it.
>
> As far as I can tell, BIOS can start any mappings anywhere it wants to
> as long as they don't overlap anything else.
> What is has to know is what hardware is there.
lets suppose we are describing HW to Seabios (about which it doesn't really
needs to know when we move ACPI tables into QEMU)
1. we inform Seabios where memory hotplug region ends (describing new hw)
and name parameter "etc/mem-hoplug-region-end" and make appropriate change
to Seabois so it would know about memory hotlug region.
2. than in several releases we decide to add another device that would
reserve address space after memory hotplug region. That would require
another modification of Seabios to teach it about new hardware so it
could place 64-bit PCI mappings after it.
So describing a new hardware each time will only increase amount of PV
interfaces overtime, breaking old BIOSes and forcing us to maintain
compatibility layers for old versions in Seabios and QEMU.
Opposite approach in this series tries to minimize all above mentioned
problems by providing Seabios with an explicit information that it needs
to make correct 64-bit PCI BARs mappings and it won't introduce
compatibility issues with Seabios if we reserve extra space behind memory
hotlpug region in future.
>
>
> > >
> > > > v2:
> > > > * use negative priority to map PCI address space under RAM memory
> > > > regions which allows simplify code by removing pci_hole &
> > > > pci_hole64 memory region aliases
> > > >
> > > > Series depends on:
> > > > "memory: Change MemoryRegion priorities from unsigned to signed:
> > > >
> > > > Git tree for testing:
> > > > https://github.com/imammedo/qemu/commits/pcimem64-minimum-address-v2
> > > >
> > > > Igor Mammedov (1):
> > > > pc: add 'etc/pcimem64-minimum-address' fw_cfg interface to SeaBIOS
> > > >
> > > > Michael S. Tsirkin (1):
> > > > pc: map PCI address space as catchall region for not mapped addresses
> > > >
> > > > hw/i386/pc.c | 28 ++++++++++++++++------------
> > > > hw/i386/pc_piix.c | 2 --
> > > > hw/pci-host/piix.c | 27 +++++----------------------
> > > > hw/pci-host/q35.c | 28 ++++++----------------------
> > > > include/hw/i386/pc.h | 15 +++------------
> > > > include/hw/pci-host/q35.h | 2 --
> > > > 6 files changed, 30 insertions(+), 72 deletions(-)
>
next prev parent reply other threads:[~2013-10-30 13:25 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-29 12:57 [Qemu-devel] [PATCH 0/2 v2] pc: inform SeaBIOS where 64-bit PCI hole begins Igor Mammedov
2013-10-29 12:57 ` [Qemu-devel] [PATCH 1/2] pc: map PCI address space as catchall region for not mapped addresses Igor Mammedov
2013-10-29 12:57 ` [Qemu-devel] [PATCH 2/2] pc: add 'etc/pcimem64-minimum-address' fw_cfg interface to SeaBIOS Igor Mammedov
2013-10-29 15:10 ` [Qemu-devel] [PATCH 0/2 v2] pc: inform SeaBIOS where 64-bit PCI hole begins Michael S. Tsirkin
2013-10-29 15:28 ` Igor Mammedov
2013-10-29 18:52 ` Michael S. Tsirkin
2013-10-30 12:57 ` Gerd Hoffmann
2013-10-30 13:24 ` Igor Mammedov [this message]
2013-10-30 13:48 ` Michael S. Tsirkin
2013-10-30 14:33 ` Gerd Hoffmann
2013-10-30 15:38 ` Igor Mammedov
2013-11-04 12:48 ` Gerd Hoffmann
2013-11-04 14:35 ` Igor Mammedov
2013-11-04 15:18 ` Gerd Hoffmann
2013-10-30 13:29 ` Igor Mammedov
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=20131030142454.667f354b@nial.usersys.redhat.com \
--to=imammedo@redhat.com \
--cc=afaerber@suse.de \
--cc=aliguori@amazon.com \
--cc=kraxel@redhat.com \
--cc=mst@redhat.com \
--cc=pbonzini@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 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).