From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
To: Laszlo Ersek <lersek@redhat.com>
Cc: "edk2-devel@lists.01.org" <edk2-devel@lists.01.org>,
"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 05/16] MdePkg/ProcessorBind.h AARCH64: limit MAX_ADDRESS to 48 bits
Date: Thu, 29 Nov 2018 11:40:49 +0100 [thread overview]
Message-ID: <CAKv+Gu_gbwNX3j9ortrh7ccW5KneDVfoqk_kF6uKefVFj1eQYw@mail.gmail.com> (raw)
In-Reply-To: <8ad971d4-c8d8-2f6e-0d60-c61e4ed362d7@redhat.com>
On Wed, 28 Nov 2018 at 19:41, Laszlo Ersek <lersek@redhat.com> wrote:
>
> On 11/28/18 15:33, Ard Biesheuvel wrote:
> > AArch64 supports the use of more than 48 bits for physical and/or
> > virtual addressing, but only if the page size is set to 64 KB,
> > which is not supported by UEFI. So redefine MAX_ADDRESS to cover
> > only 48 address bits.
> >
> > Contributed-under: TianoCore Contribution Agreement 1.1
> > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> > Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
> > ---
> > MdePkg/Include/AArch64/ProcessorBind.h | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/MdePkg/Include/AArch64/ProcessorBind.h b/MdePkg/Include/AArch64/ProcessorBind.h
> > index 968c18f915ae..dad75df1c579 100644
> > --- a/MdePkg/Include/AArch64/ProcessorBind.h
> > +++ b/MdePkg/Include/AArch64/ProcessorBind.h
> > @@ -138,9 +138,9 @@ typedef INT64 INTN;
> > #define MAX_2_BITS 0xC000000000000000ULL
> >
> > ///
> > -/// Maximum legal AARCH64 address
> > +/// Maximum legal AARCH64 address (48 bits for 4 KB page size)
> > ///
> > -#define MAX_ADDRESS 0xFFFFFFFFFFFFFFFFULL
> > +#define MAX_ADDRESS 0xFFFFFFFFFFFFULL
> >
> > ///
> > /// Maximum legal AArch64 INTN and UINTN values.
> >
>
> Hmmm.
>
> I bit the bullet and grepped the tree for MAX_ADDRESS.
>
> The amount of hits is staggering. I can't audit all of them.
>
> Generally, MAX_ADDRESS seems to be used in checks that prevent address
> wrap-around. In that regard, this change looks valid.
>
> I can't guarantee this change won't regress anything though. In the
> previous posting of this patch, I asked Liming some questions (IIRC):
>
> http://mid.mail-archive.com/6f1209fb-bb89-a70f-ba0e-3ebf2e12e459@redhat.com
>
> It would be nice to see answers. :)
>
Yep
> In addition:
>
> (a) in "BaseTools/Source/C/Include/AArch64/ProcessorBind.h", we have
> another instance of the macro definition. I suspect it should be kept in
> sync.
>
Indeed.
> (b) in "BaseTools/Source/C/Common/CommonLib.h", we have:
>
> #define MAX_UINTN MAX_ADDRESS
>
> which I think relies on (a), and hence it will be amusingly wrong after
> we synchronize (a) with MdePkg.
>
> (BTW, (b) is exactly the kind of assumption that scares me about this
> patch.)
>
That doesn't make any sense at all. What does 'native' mean in the
context of BaseTools anyway?
> We're not much past the last stable tag (edk2-stable201811), so let's
> hope there's going to be enough time to catch any regressions.
>
> With (a) and (b) investigated / fixed up, I'd be willing to A-b this.
> Cautiously :)
>
Thanks
> Anyway, this is for MdePkg, so my review is not required. (I certainly
> do not intend to *oppose* this patch.)
>
> Thanks
> Laszlo
next prev parent reply other threads:[~2018-11-29 10:41 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 [this message]
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
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+Gu_gbwNX3j9ortrh7ccW5KneDVfoqk_kF6uKefVFj1eQYw@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