From: Laszlo Ersek <lersek@redhat.com>
To: Ard Biesheuvel <ard.biesheuvel@linaro.org>, edk2-devel@lists.01.org
Cc: Leif Lindholm <leif.lindholm@linaro.org>,
Eric Auger <eric.auger@redhat.com>,
Andrew Jones <drjones@redhat.com>,
Philippe Mathieu-Daude <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: Wed, 28 Nov 2018 19:41:08 +0100 [thread overview]
Message-ID: <8ad971d4-c8d8-2f6e-0d60-c61e4ed362d7@redhat.com> (raw)
In-Reply-To: <20181128143357.991-6-ard.biesheuvel@linaro.org>
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. :)
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.
(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.)
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 :)
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-28 18: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 [this message]
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
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=8ad971d4-c8d8-2f6e-0d60-c61e4ed362d7@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