From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail.loongson.cn (mail.loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web11.28600.1685618378006069842 for ; Thu, 01 Jun 2023 04:19:38 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: loongson.cn, ip: 114.242.206.163, mailfrom: lixianglai@loongson.cn) Received: from loongson.cn (unknown [10.2.5.185]) by gateway (Coremail) with SMTP id _____8BxfOvHfnhk5kMDAA--.3995S3; Thu, 01 Jun 2023 19:19:35 +0800 (CST) Received: from localhost.localdomain (unknown [10.2.5.185]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Bxab3GfnhkliOEAA--.16318S2; Thu, 01 Jun 2023 19:19:34 +0800 (CST) From: "xianglai" To: devel@edk2.groups.io Cc: Ard Biesheuvel , Bibo Mao , Chao Li , Leif Lindholm , Liming Gao , Michael D Kinney Subject: [edk2-platforms] Platform/Loongson: Pre-allocate 0-4K memory during the Pei phase Date: Thu, 1 Jun 2023 19:19:32 +0800 Message-Id: X-Mailer: git-send-email 2.39.1 MIME-Version: 1.0 X-CM-TRANSID: AQAAf8Bxab3GfnhkliOEAA--.16318S2 X-CM-SenderInfo: 5ol0xt5qjotxo6or00hjvr0hdfq/ X-Coremail-Antispam: 1Uk129KBjvJXoW7WFyDGw4rtr45tw48ury5XFb_yoW8uw4Upr yUu3Z7try5Gryqvws5A3WDWa1qyryFkrykJrs8Zw13u3sxX3Z8u34vvF48Ary7A345ta4I qrW09w15uF1Du3DanT9S1TB71UUUUUDqnTZGkaVYY2UrUUUUj1kv1TuYvTs0mT0YCTnIWj qI5I8CrVACY4xI64kE6c02F40Ex7xfYxn0WfASr-VFAUDa7-sFnT9fnUUIcSsGvfJTRUUU b0AFc2x0x2IEx4CE42xK8VAvwI8IcIk0rVWrJVCq3wA2ocxC64kIII0Yj41l84x0c7CEw4 AK67xGY2AK021l84ACjcxK6xIIjxv20xvE14v26r1j6r1xM28EF7xvwVC0I7IYx2IY6xkF 7I0E14v26r1j6r4UM28EF7xvwVC2z280aVAFwI0_Gr1j6F4UJwA2z4x0Y4vEx4A2jsIEc7 CjxVAFwI0_Cr1j6rxdM2AIxVAIcxkEcVAq07x20xvEncxIr21l57IF6xkI12xvs2x26I8E 6xACxx1l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6x8ErcxFaVAv8VWrMcvjeVCFs4IE7x kEbVWUJVW8JwACjcxG0xvY0x0EwIxGrwCF04k20xvY0x0EwIxGrwCF04k20xvE74AGY7Cv 6cx26rWl4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUJVWUGwC20s026x 8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r126r1DMIIYrxkI7VAKI48JMIIF0xvE 2Ix0cI8IcVAFwI0_Jr0_JF4lIxAIcVC0I7IYx2IY6xkF7I0E14v26r1j6r4UMIIF0xvE42 xK8VAvwI8IcIk0rVWUJVWUCwCI42IY6I8E87Iv67AKxVWUJVW8JwCI42IY6I8E87Iv6xkF 7I0E14v26r1j6r4UYxBIdaVFxhVjvjDU0xZFpf9x0zRVWlkUUUUU= Content-Transfer-Encoding: 8bit When 0 address protection is enabled, 0-4k memory needs to be preallocated to prevent UEFI applications from allocating use, such as grub. Cc: Ard Biesheuvel Cc: Bibo Mao Cc: Chao Li Cc: Leif Lindholm Cc: Liming Gao Cc: Michael D Kinney Signed-off-by: xianglai li --- .../LoongArchQemuPkg/PlatformPei/MemDetect.c | 13 +++++++++++++ .../LoongArchQemuPkg/PlatformPei/PlatformPei.inf | 1 + 2 files changed, 14 insertions(+) diff --git a/Platform/Loongson/LoongArchQemuPkg/PlatformPei/MemDetect.c b/Platform/Loongson/LoongArchQemuPkg/PlatformPei/MemDetect.c index fad4cff8d8..7e6a4a3aa9 100644 --- a/Platform/Loongson/LoongArchQemuPkg/PlatformPei/MemDetect.c +++ b/Platform/Loongson/LoongArchQemuPkg/PlatformPei/MemDetect.c @@ -101,4 +101,17 @@ InitializeRamRegions ( AddMemoryRangeHob ( pEntry->BaseAddr, pEntry->BaseAddr + pEntry->Length); } + + // + //When 0 address protection is enabled, + //0-4k memory needs to be preallocated to prevent UEFI applications from allocating use, + //such as grub + // + if (PcdGet8 (PcdNullPointerDetectionPropertyMask) & BIT0) { + BuildMemoryAllocationHob ( + 0, + EFI_PAGE_SIZE, + EfiBootServicesData + ); + } } diff --git a/Platform/Loongson/LoongArchQemuPkg/PlatformPei/PlatformPei.inf b/Platform/Loongson/LoongArchQemuPkg/PlatformPei/PlatformPei.inf index 268efac585..6cc3513b63 100644 --- a/Platform/Loongson/LoongArchQemuPkg/PlatformPei/PlatformPei.inf +++ b/Platform/Loongson/LoongArchQemuPkg/PlatformPei/PlatformPei.inf @@ -59,6 +59,7 @@ gLoongArchQemuPkgTokenSpaceGuid.PcdDeviceTreeBase gLoongArchQemuPkgTokenSpaceGuid.PcdDeviceTreePadding gLoongArchQemuPkgTokenSpaceGuid.PcdRtcBaseAddress + gEfiMdeModulePkgTokenSpaceGuid.PcdNullPointerDetectionPropertyMask [FixedPcd] gLoongArchQemuPkgTokenSpaceGuid.PcdFlashDxeFvBase -- 2.39.1