public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Laszlo Ersek <lersek@redhat.com>
To: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: "Leif Lindholm (Linaro address)" <leif.lindholm@linaro.org>,
	edk2-devel-01 <edk2-devel@lists.01.org>,
	Drew Jones <drjones@redhat.com>,
	qemu devel list <qemu-devel@nongnu.org>,
	Peter Maydell <peter.maydell@linaro.org>,
	Igor Mammedov <imammedo@redhat.com>,
	Andrea Bolognani <abologna@redhat.com>,
	libvirt devel <libvir-list@redhat.com>
Subject: Re: dynamic DRAM base for ArmVirtQemu
Date: Fri, 13 Oct 2017 21:40:47 +0200	[thread overview]
Message-ID: <7b84a76d-7708-7c8c-8fcf-7fe5549ed43f@redhat.com> (raw)
In-Reply-To: <CAKv+Gu820vLCvNq2X_Fha2AW59HsNfTLk--J+wTt+fFdMu7FMw@mail.gmail.com>

On 10/13/17 15:21, Ard Biesheuvel wrote:
> On 13 October 2017 at 13:51, Laszlo Ersek <lersek@redhat.com> wrote:
>> Hi Ard, Leif,
>>
>> the current physical memory map of the "virt" machine type doesn't leave
>> much room for ECAM / MMCONFIG, which limits the number of PCI Express
>> root ports and downstream ports (each port takes a separate bus number,
>> and each bus number eats up a chunk of the ECAM area). Also, each port
>> can only accommodate a single PCI Express device. In practice this
>> limits the number of (hot-pluggable) PCIe devices to approx. 16, which
>> is deemed by some "not scaleable enough". (For devices that only need to
>> be cold-plugged, they can be placed directly on the root complex, as
>> integrated devices, possibly grouping them into multifunction devices
>> even; so those don't need bus numbers.)
>>
>> In order to grow the MMCONFIG area (and for some other reasons
>> possibly), the phys memmap of "virt" should be shuffled around a bit.
>> This affects the "system" DRAM too.
>>
> 
> Is it really necessary to put the ECAM area below 4 GB? For ARM, I
> understand this would be an issue, but does the spec actually mandate
> anything like this?

No, I don't think it's inherently necessary to put ECAM under 4GB.

It's just that I approached the problem such that the firmware would be
burdened with the lion's share of the complexity, in order to keep
things "compatible" for the rest of the guest world.

(Speaking personally, I'd absolutely prefer to keep the DRAM base
untouched, at 1GB, but I was invited to take a good hard look at what
moving the DRAM base would take for the firmware, and I made an honest
effort to determine the impact. It doesn't imply that I like the result
in the least, or that I personally subscribe to the idea.)

Thanks!
Laszlo


  reply	other threads:[~2017-10-13 19:37 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-13 12:51 dynamic DRAM base for ArmVirtQemu Laszlo Ersek
2017-10-13 13:21 ` Ard Biesheuvel
2017-10-13 19:40   ` Laszlo Ersek [this message]
     [not found] ` <CAFEAcA8yvST1fKaLjauz3OV=gRTEKsuLfWvJ3NgCA_weFy2cOg@mail.gmail.com>
2017-10-13 19:50   ` Laszlo Ersek

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-list 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=7b84a76d-7708-7c8c-8fcf-7fe5549ed43f@redhat.com \
    --to=devel@edk2.groups.io \
    /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