From nobody Mon Feb 9 18:45:10 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+98223+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+98223+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1673313446; cv=none; d=zohomail.com; s=zohoarc; b=LzDF9dGHxhXcF8euZCD4Op4VA1IDn4wAa2j/E2pzoemfC+3s7ngtFXuYSV3o2TnslWpmmMp+P04FGYaRPEG2ytAbshyQjAN/37j0N6Uwn+Ie2SidCUUFp0paerpJ0905Akz3almN6KzOqQuWgiVUAZ5isoTWSzfrHYDGNWxMIFU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673313446; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=Wpri5byUGO8SKPN56AdiWB8qFKeUDtTL0RTS0j7/a4k=; b=Kx0NTRD9clclE/wkCQW31PkWqyb1GndmdwFKagLa1kNNIIqp6VOh96Svtkmo1nlWgpAfn/U/b3KNRCRS7krQeMyFPuIvIiPzwW3EUai9cjIYBzSheQYADfDwT7iVah3hQbjXLr5rwWtzqGtBQ8WthGiqCdexz3PGZIXPk8H2qVs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+98223+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1673313446419220.34508555898253; Mon, 9 Jan 2023 17:17:26 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id 1GcMYY1788612xd36n5BOQAy; Mon, 09 Jan 2023 17:17:26 -0800 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web10.92219.1673313445139107369 for ; Mon, 09 Jan 2023 17:17:25 -0800 X-Received: from loongson.cn (unknown [10.2.5.185]) by gateway (Coremail) with SMTP id _____8AxrvCkvLxjFacAAA--.2325S3; Tue, 10 Jan 2023 09:17:24 +0800 (CST) X-Received: from localhost.localdomain (unknown [10.2.5.185]) by localhost.localdomain (Coremail) with SMTP id AQAAf8AxHuRxvLxjAR0XAA--.3346S9; Tue, 10 Jan 2023 09:17:23 +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-devel] [edk2-platforms][PATCH V2 7/7] Platform/Loongson: Enable zero address protection. Date: Tue, 10 Jan 2023 09:16:19 +0800 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-CM-TRANSID: AQAAf8AxHuRxvLxjAR0XAA--.3346S9 X-CM-SenderInfo: 5ol0xt5qjotxo6or00hjvr0hdfq/ X-Coremail-Antispam: 1Uk129KBjvJXoWxuryfZr1UJr18WFyUJw1kZrb_yoWrAF4Dpr 4DZas2kr1UJrWjya15J3WUWanrCr9xGr95JrsIgr17C3srX3WDW34Yvay8tr43Zry3ta40 q3y0gw4UZFnYvrJanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUj1kv1TuYvTs0mT0YCTnIWj qI5I8CrVACY4xI64kE6c02F40Ex7xfYxn0WfASr-VFAUDa7-sFnT9fnUUIcSsGvfJTRUUU bn8Fc2x0x2IEx4CE42xK8VAvwI8IcIk0rVWrJVCq3wA2ocxC64kIII0Yj41l84x0c7CEw4 AK67xGY2AK021l84ACjcxK6xIIjxv20xvE14v26F1j6w1UM28EF7xvwVC0I7IYx2IY6xkF 7I0E14v26F4j6r4UJwA2z4x0Y4vEx4A2jsIE14v26F4j6r4UJwA2z4x0Y4vEx4A2jsIEc7 CjxVAFwI0_Gr0_Gr1UM2AIxVAIcxkEcVAq07x20xvEncxIr21l57IF6xkI12xvs2x26I8E 6xACxx1l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6x8ErcxFaVAv8VWrMcvjeVCFs4IE7x kEbVWUJVW8JwACjcxG0xvY0x0EwIxGrwCF04k20xvY0x0EwIxGrwCF04k20xvE74AGY7Cv 6cx26rWl4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUJVWUGwC20s026x 8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r126r1DMIIYrxkI7VAKI48JMIIF0xvE 2Ix0cI8IcVAFwI0_Xr0_Ar1lIxAIcVC0I7IYx2IY6xkF7I0E14v26r4j6F4UMIIF0xvE42 xK8VAvwI8IcIk0rVWUJVWUCwCI42IY6I8E87Iv67AKxVW8JVWxJwCI42IY6I8E87Iv6xkF 7I0E14v26r4j6r4UJbIYCTnIWIevJa73UjIFyTuYvj4RC_MaUUUUU Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,lixianglai@loongson.cn X-Gm-Message-State: 8GDZJ3xSrLZ9dlIiRX2tcp9kx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1673313446; bh=8sMdQV7AQR0vupgjicvWXXS0WXYymyHCyOBc18jq0pw=; h=Cc:Date:From:Reply-To:Subject:To; b=df4FjRzWFLYHoBNdOs9kQYYV5sFM/hdjw44IUIzyaPxnLypZPOI0T8QeVoJIIgw58WU EZuaD+ouNM/q1wKuPXDg+wl++v9aiGVM+0fE0DhjbsakZcZ0cdp9l+wmE3b3jgvkcfkmB GtCpzUBToYB5nxmZGJUU7CFUoiVDd5jhkIE= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1673313447734100010 Content-Type: text/plain; charset="utf-8" Set the 0 page property to unreadable, non-writable, non-executable 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/Library/MmuLib/MmuBaseLibPei.inf | 2 ++ .../Loongson/LoongArchQemuPkg/Library/MmuLib/MmuLibCore.c | 8 +++++++- .../LoongArchQemuPkg/Library/MmuLib/MmuLibCorePei.c | 5 +++++ Platform/Loongson/LoongArchQemuPkg/Loongson.dsc | 2 ++ 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/MmuBaseLibPe= i.inf b/Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/MmuBaseLibPei.inf index 12848eecfe..d7ab37eea4 100644 --- a/Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/MmuBaseLibPei.inf +++ b/Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/MmuBaseLibPei.inf @@ -28,6 +28,7 @@ MdePkg/MdePkg.dec Platform/Loongson/LoongArchQemuPkg/Loongson.dec OvmfPkg/OvmfPkg.dec + MdeModulePkg/MdeModulePkg.dec =20 [PCD] gLoongArchQemuPkgTokenSpaceGuid.PcdSwapPageDir @@ -38,6 +39,7 @@ gLoongArchQemuPkgTokenSpaceGuid.PcdFlashSecFvSize gLoongArchQemuPkgTokenSpaceGuid.PcdFlashSecFvBase gLoongArchQemuPkgTokenSpaceGuid.PcdRamSize + gEfiMdeModulePkgTokenSpaceGuid.PcdNullPointerDetectionPropertyMask =20 [LibraryClasses] MemoryAllocationLib diff --git a/Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/MmuLibCore.c= b/Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/MmuLibCore.c index dac38c63f2..a45bcbdb6d 100644 --- a/Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/MmuLibCore.c +++ b/Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/MmuLibCore.c @@ -735,10 +735,16 @@ EfiAttributeToLoongArchAttribute ( } =20 // Write protection attributes - if ((EfiAttributes & EFI_MEMORY_RO) !=3D 0) { + if (((EfiAttributes & EFI_MEMORY_RO) !=3D 0) || + ((EfiAttributes & EFI_MEMORY_WP) !=3D 0)) + { LoongArchAttributes &=3D ~PAGE_DIRTY; } =20 + if (EfiAttributes & EFI_MEMORY_RP) { + LoongArchAttributes |=3D PAGE_NO_READ; + } + //eXecute protection attribute if ((EfiAttributes & EFI_MEMORY_XP) !=3D 0) { LoongArchAttributes |=3D PAGE_NO_EXEC; diff --git a/Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/MmuLibCorePe= i.c b/Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/MmuLibCorePei.c index 32a7fc0beb..a21233e796 100644 --- a/Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/MmuLibCorePei.c +++ b/Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/MmuLibCorePei.c @@ -21,6 +21,7 @@ #include #include "MmuLibCore.h" #include +#include =20 /** Return the Virtual Memory Map of your platform @@ -170,6 +171,10 @@ ConfigureMmu (VOID) MemoryTable++; } =20 + if (PcdGet8 (PcdNullPointerDetectionPropertyMask) & BIT0) { + LoongArchSetMemoryAttributes (0, EFI_PAGE_SIZE, EFI_MEMORY_RP | EFI_ME= MORY_XP | EFI_MEMORY_WP); + } + TlbReEntry =3D AllocatePages (1); if (TlbReEntry =3D=3D NULL) { goto FreeTranslationTable; diff --git a/Platform/Loongson/LoongArchQemuPkg/Loongson.dsc b/Platform/Loo= ngson/LoongArchQemuPkg/Loongson.dsc index 05913db144..13145cf051 100644 --- a/Platform/Loongson/LoongArchQemuPkg/Loongson.dsc +++ b/Platform/Loongson/LoongArchQemuPkg/Loongson.dsc @@ -365,6 +365,8 @@ gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize | 0= x40000 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize | 0= x40000 =20 + gEfiMdeModulePkgTokenSpaceGuid.PcdNullPointerDetectionPropertyMask | 1 + ##########################################################################= ###### # # Pcd Dynamic Section - list of all EDK II PCD Entries defined by this Pla= tform --=20 2.31.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#98223): https://edk2.groups.io/g/devel/message/98223 Mute This Topic: https://groups.io/mt/96168259/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-