From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=209.132.183.28; helo=mx1.redhat.com; envelope-from=lersek@redhat.com; receiver=edk2-devel@lists.01.org Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id E3D0E21962301 for ; Fri, 7 Dec 2018 04:51:43 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 535CCC049581; Fri, 7 Dec 2018 12:51:43 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-120-214.rdu2.redhat.com [10.10.120.214]) by smtp.corp.redhat.com (Postfix) with ESMTP id EBF066154A; Fri, 7 Dec 2018 12:51:35 +0000 (UTC) To: Ard Biesheuvel , edk2-devel@lists.01.org Cc: Michael D Kinney , Liming Gao , Jian J Wang , Hao Wu , Leif Lindholm , Eric Auger , Andrew Jones , Philippe Mathieu-Daude References: <20181207112304.19765-1-ard.biesheuvel@linaro.org> <20181207112304.19765-8-ard.biesheuvel@linaro.org> From: Laszlo Ersek Message-ID: <77f9019d-8f00-ba41-7263-baf7d13be066@redhat.com> Date: Fri, 7 Dec 2018 13:51:34 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20181207112304.19765-8-ard.biesheuvel@linaro.org> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Fri, 07 Dec 2018 12:51:43 +0000 (UTC) Subject: Re: [RFC PATCH 7/7] MdePkg/ProcessorBind AARCH64: limit MAX_ALLOC_ADDRESS to 48 bits X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Dec 2018 12:51:44 -0000 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit On 12/07/18 12:23, Ard Biesheuvel wrote: > Limit MAX_ALLOC_ADDRESS to 48 bits on AArch64 so that the memory > handling routines running at boot time take care not to allocate > memory that the CPU itself cannot access due to the fact that it > runs with 4 KB pages and thus an address space that is limited to > 256 TB. > > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Ard Biesheuvel > --- > MdePkg/Include/AArch64/ProcessorBind.h | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/MdePkg/Include/AArch64/ProcessorBind.h b/MdePkg/Include/AArch64/ProcessorBind.h > index 968c18f915ae..a8c698484a1d 100644 > --- a/MdePkg/Include/AArch64/ProcessorBind.h > +++ b/MdePkg/Include/AArch64/ProcessorBind.h > @@ -142,6 +142,11 @@ typedef INT64 INTN; > /// > #define MAX_ADDRESS 0xFFFFFFFFFFFFFFFFULL > > +/// > +/// Maximum address usable at boot services time (48 bits for 4 KB pages) > +/// > +#define MAX_ALLOC_ADDRESS 0xFFFFFFFFFFFFULL > + > /// > /// Maximum legal AArch64 INTN and UINTN values. > /// > I think this patch is safer than the previous variant. If this series omits some replacements, from MAX_ADDRESS to MAX_ALLOC_ADDRESS, at various spots in the edk2 tree, we should be able to fix those up incrementally. Whereas changing MAX_ADDRESS was a heavy hammer that hit everything simultaneously. Reviewed-by: Laszlo Ersek Thanks Laszlo