public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
To: "edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Cc: "Laszlo Ersek" <lersek@redhat.com>,
	"Leif Lindholm" <leif.lindholm@linaro.org>,
	"Auger Eric" <eric.auger@redhat.com>,
	"Andrew Jones" <drjones@redhat.com>,
	"Philippe Mathieu-Daudé" <philmd@redhat.com>,
	"Julien Grall" <julien.grall@linaro.org>
Subject: Re: [PATCH v3 00/16] [Arm|ArmVirt|MdePkg|Embedded]Pkg: lift 40-bit IPA space limit
Date: Fri, 30 Nov 2018 22:45:27 +0100	[thread overview]
Message-ID: <CAKv+Gu95zZej7uEiD3MjHMpoT2feF9FCbxXJs0-Hci52K+u52Q@mail.gmail.com> (raw)
In-Reply-To: <CAKv+Gu-qUZW5b7e6Lnn-LDb6x-mhAQec9Wz4Wyvtn_G=5YsdWA@mail.gmail.com>

On Thu, 29 Nov 2018 at 18:59, Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:
>
> On Wed, 28 Nov 2018 at 15:34, Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:
> >
> > This v3 subsumes and/or supersedes
> >
> > [PATCH v2 00/13] ArmPkg, ArmVirtPkg: lift 40-bit IPA space limit
> > [PATCH] MdePkg/ProcessorBind.h AARCH64: limit MAX_ADDRESS to 48 bits
> > [PATCH v2 0/2] ArmVirtPkg: remove high peripheral space mapping
> >
> > The ArmVirtQemu targets currently limit the size of the IPA space to
> > 40 bits because that is all what KVM supports. However, this is about
> > to change, and so we need to update the code if we want to ensure that
> > our UEFI firmware builds can keep running on systems that set values
> > other than 40 (which could be > 40 or < 40)
> >
> > This series refactors how we handle the maximum size of the physical
> > address space supported by the CPU in relation with the size of UEFI's
> > 1:1 mapping and the size of the GCD memory space map, taking the following
> > observations into account:
> > - the range of the linear mapping can be tied to whatever the CPU supports
> >   (as long as it doesn't exceed what the architecture permits for 4k pages)
> >   since we mostly already use the maximum of 4 levels anyway, and there is
> >   no memory cost involved beyond that
> > - there is usually no point in mapping the entire address space, which does
> >   involve a memory cost
> > - the GCD memory space may be required to cover more than what UEFI can
> >   address itself, since it is the based for the UEFI memory map that is
> >   provided to the OS
> >
> > Patches #1 and #2 remove some unused code to avoid having to fix it.
> >
> > Patches #3 and #4 update ArmVirtQemu and ArmVirtQemuKernel to drop the high
> > peripheral space mapping, and map whatever may reside there explicitly
> > (currently only the ECAM space in practice, but the MMIO view of the PCI
> > I/O space is mapped explicitly as well)
> >
> > Patch #5 was sent out before individually, and sets MAX_ADDRESS to the
> > maximum value AArch64 can map in UEFI which runs with 4k pages.
> >
> > Patch #6 adds a helper to ArmLib to read the number of supported address
> > bits and take this into account in the page table code (#8), which allows
> > PcdPrePiCpuMemorySize to assume a value that exceeds the capabilities of
> > the CPU.
> >
> > Patch #7 is mostly a cleanup patch, to switch to the new helper added in
> > patch #6. No functional changes intended.
> >
> > Patches #9 to #12 modify building of the CPU hob (and thus the size of the
> > GCD memory space) based on the CPU capabilities rather than the value of
> > PcdPrePiCpuMemorySize, which is dropped in the last patch.
> >
> > Pacthes #13 and #14 remove some needless references to PcdPrePiCpuMemorySize
> >
> > Patch #15 drops the overrides of PcdPrePiCpuMemorySize from all ArmVirtPkg
> > platforms.
> >
> > Cc: Laszlo Ersek <lersek@redhat.com>
> > Cc: Leif Lindholm <leif.lindholm@linaro.org>
> > Cc: Eric Auger <eric.auger@redhat.com>
> > Cc: Andrew Jones <drjones@redhat.com>
> > Cc: Philippe Mathieu-Daude <philmd@redhat.com>
> > Cc: Julien Grall <julien.grall@linaro.org>
> >
> > Ard Biesheuvel (16):
> >   EmbeddedPkg/TemplateSec: remove unused module
> >   EmbeddedPkg/PrePiHobLib: drop CreateHobList() from library
> >   ArmVirtPkg/FdtPciHostBridgeLib: map ECAM and I/O spaces in GCD memory
> >     map
> >   ArmVirtPkg/QemuVirtMemInfoLib: remove 1:1 mapping of top of PA range
> >   MdePkg/ProcessorBind.h AARCH64: limit MAX_ADDRESS to 48 bits
> >   ArmPkg/ArmLib: add support for reading the max physical address space
> >     size
> >   ArmVirtPkg/XenVirtMemInfoLib: refactor reading of the PA space size
> >   ArmPkg/ArmMmuLib: take the CPU supported maximum PA space into account
> >   ArmPkg/CpuPei: base GCD memory space size on CPU's PA range
> >   ArmPlatformPkg/PrePi: base GCD memory space size on CPU's PA range
> >   ArmVirtPkg/PrePi: base GCD memory space size on CPU's PA range
> >   BeagleBoardPkg/PrePi: base GCD memory space size on CPU's PA range
> >   ArmPlatformPkg/PlatformPei: drop unused PCD references
> >   EmbeddedPkg/PrePiLib: drop unused PCD reference
> >   ArmVirtPkg: drop PcdPrePiCpuMemorySize assignments from all platforms
> >   EmbeddedPkg/EmbeddedPkg.dec: drop PcdPrePiCpuMemorySize declarations
> >
>
> Thanks all for the reviews.
>
> Patches #1 .. #15 pushed as e979ea74aa14..55342094fb86
>
> Patch #16 needs to wait until edk2-platforms is brought up to date
> with the removal of PcdPrePiCpuMemorySize

Patch #16 now merged as 55342094fb86..bcf2a9db1f8e


      reply	other threads:[~2018-11-30 21:45 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-28 14:33 [PATCH v3 00/16] [Arm|ArmVirt|MdePkg|Embedded]Pkg: lift 40-bit IPA space limit Ard Biesheuvel
2018-11-28 14:33 ` [PATCH v3 01/16] EmbeddedPkg/TemplateSec: remove unused module Ard Biesheuvel
2018-11-28 17:55   ` Laszlo Ersek
2018-11-29 15:39   ` Leif Lindholm
2018-11-28 14:33 ` [PATCH v3 02/16] EmbeddedPkg/PrePiHobLib: drop CreateHobList() from library Ard Biesheuvel
2018-11-28 17:58   ` Laszlo Ersek
2018-11-29 15:40   ` Leif Lindholm
2018-11-28 14:33 ` [PATCH v3 03/16] ArmVirtPkg/FdtPciHostBridgeLib: map ECAM and I/O spaces in GCD memory map Ard Biesheuvel
2018-11-28 18:00   ` Laszlo Ersek
2018-11-28 14:33 ` [PATCH v3 04/16] ArmVirtPkg/QemuVirtMemInfoLib: remove 1:1 mapping of top of PA range Ard Biesheuvel
2018-11-28 15:06   ` Philippe Mathieu-Daudé
2018-11-28 18:05   ` Laszlo Ersek
2018-11-28 14:33 ` [PATCH v3 05/16] MdePkg/ProcessorBind.h AARCH64: limit MAX_ADDRESS to 48 bits Ard Biesheuvel
2018-11-28 18:41   ` Laszlo Ersek
2018-11-29 10:40     ` Ard Biesheuvel
2018-11-29 11:34       ` Laszlo Ersek
2018-11-29 15:19         ` Gao, Liming
2018-11-28 14:33 ` [PATCH v3 06/16] ArmPkg/ArmLib: add support for reading the max physical address space size Ard Biesheuvel
2018-11-28 14:41   ` Philippe Mathieu-Daudé
2018-11-28 18:44   ` Laszlo Ersek
2018-11-29 15:42   ` Leif Lindholm
2018-11-28 14:33 ` [PATCH v3 07/16] ArmVirtPkg/XenVirtMemInfoLib: refactor reading of the PA " Ard Biesheuvel
2018-11-28 14:44   ` Philippe Mathieu-Daudé
2018-11-28 18:47   ` Laszlo Ersek
2018-11-28 14:33 ` [PATCH v3 08/16] ArmPkg/ArmMmuLib: take the CPU supported maximum PA space into account Ard Biesheuvel
2018-11-28 14:46   ` Philippe Mathieu-Daudé
2018-11-28 19:26   ` Laszlo Ersek
2018-11-29 15:43   ` Leif Lindholm
2018-11-28 14:33 ` [PATCH v3 09/16] ArmPkg/CpuPei: base GCD memory space size on CPU's PA range Ard Biesheuvel
2018-11-28 15:01   ` Philippe Mathieu-Daudé
2018-11-28 19:51   ` Laszlo Ersek
2018-11-29 15:43   ` Leif Lindholm
2018-11-28 14:33 ` [PATCH v3 10/16] ArmPlatformPkg/PrePi: " Ard Biesheuvel
2018-11-28 15:01   ` Philippe Mathieu-Daudé
2018-11-28 19:53   ` Laszlo Ersek
2018-11-29 15:44   ` Leif Lindholm
2018-11-28 14:33 ` [PATCH v3 11/16] ArmVirtPkg/PrePi: " Ard Biesheuvel
2018-11-28 15:02   ` Philippe Mathieu-Daudé
2018-11-28 19:52   ` Laszlo Ersek
2018-11-28 14:33 ` [PATCH v3 12/16] BeagleBoardPkg/PrePi: " Ard Biesheuvel
2018-11-28 15:02   ` Philippe Mathieu-Daudé
2018-11-28 19:53   ` Laszlo Ersek
2018-11-29 15:44   ` Leif Lindholm
2018-11-28 14:33 ` [PATCH v3 13/16] ArmPlatformPkg/PlatformPei: drop unused PCD references Ard Biesheuvel
2018-11-28 19:54   ` Laszlo Ersek
2018-11-29 15:45   ` Leif Lindholm
2018-11-28 14:33 ` [PATCH v3 14/16] EmbeddedPkg/PrePiLib: drop unused PCD reference Ard Biesheuvel
2018-11-28 19:55   ` Laszlo Ersek
2018-11-29 15:46   ` Leif Lindholm
2018-11-28 14:33 ` [PATCH v3 15/16] ArmVirtPkg: drop PcdPrePiCpuMemorySize assignments from all platforms Ard Biesheuvel
2018-11-28 19:56   ` Laszlo Ersek
2018-11-28 14:33 ` [PATCH v3 16/16] EmbeddedPkg/EmbeddedPkg.dec: drop PcdPrePiCpuMemorySize declarations Ard Biesheuvel
2018-11-28 19:57   ` Laszlo Ersek
2018-11-29 15:46   ` Leif Lindholm
2018-11-29 17:59 ` [PATCH v3 00/16] [Arm|ArmVirt|MdePkg|Embedded]Pkg: lift 40-bit IPA space limit Ard Biesheuvel
2018-11-30 21:45   ` Ard Biesheuvel [this message]

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=CAKv+Gu95zZej7uEiD3MjHMpoT2feF9FCbxXJs0-Hci52K+u52Q@mail.gmail.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