From nobody Tue May 21 16:10:52 2024 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+98426+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+98426+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1673579882; cv=none; d=zohomail.com; s=zohoarc; b=GBf+ssmL6omnDntzC8gyyQrRohNOvlRnHi3bovO0MuG+QHUwkWOzonsac4POXfL/JpEkxo7gFnGvgsdb3tebv8HaM5FcCuPdMbdNi1swWtSNq8NVGv4ciEXBwXXxy4HiDBQrHBiB8T2YmJRzbG67Hes3fD7L4xsFDuuthchTu8k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673579882; 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=wPQhbZUs6g59QMIA510vkO4pQUe48CNlYmC5Hp278Fo=; b=XOWLfmi81iX+9sLsQ/pCqqJ0Sdcz3Hp4JgXkOaKGOoRDYIQNJEoABg4JQlhZ6+6EolwzH9Qwrn/goVXBsPb9iZPZgCvaRqgZmWFPHI+xsMGUpaZeZSiSUaYx6N0qqCBNdnYDuC9ecmRLGVlpcCUXcst9GrfPqvM+nxlq1Tuehg0= 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+98426+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1673579882670607.1503366897978; Thu, 12 Jan 2023 19:18:02 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id WQ1HYY1788612xbr0vSUXbkc; Thu, 12 Jan 2023 19:18:02 -0800 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web10.77627.1673579880211313273 for ; Thu, 12 Jan 2023 19:18:00 -0800 X-Received: from loongson.cn (unknown [10.2.5.185]) by gateway (Coremail) with SMTP id _____8Ax3epnzcBjEmABAA--.4372S3; Fri, 13 Jan 2023 11:17:59 +0800 (CST) X-Received: from localhost.localdomain (unknown [10.2.5.185]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Axvr5VzcBjisEYAA--.49868S3; Fri, 13 Jan 2023 11:17:58 +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 V4 1/8] Platform/Loongson: Add bootmode support. Date: Fri, 13 Jan 2023 11:17:31 +0800 Message-Id: <832a78c6db30cbe5e7b008e803fe41c337e3b91e.1673579388.git.lixianglai@loongson.cn> In-Reply-To: References: MIME-Version: 1.0 X-CM-TRANSID: AQAAf8Axvr5VzcBjisEYAA--.49868S3 X-CM-SenderInfo: 5ol0xt5qjotxo6or00hjvr0hdfq/ X-Coremail-Antispam: 1Uk129KBjvJXoW7Kr4fJFWUJr4fAFWfCF45ZFb_yoW8Jw18pF 1Duan7tr1rGryqvw15Aa48Gr4jvr90krWDJrsxAw13uasxXw1DXw1qvF40yr17Aa45ta48 tFyIkw15uanrZFJanT9S1TB71UUUUUDqnTZGkaVYY2UrUUUUj1kv1TuYvTs0mT0YCTnIWj qI5I8CrVACY4xI64kE6c02F40Ex7xfYxn0WfASr-VFAUDa7-sFnT9fnUUIcSsGvfJTRUUU bnxFc2x0x2IEx4CE42xK8VAvwI8IcIk0rVWrJVCq3wA2ocxC64kIII0Yj41l84x0c7CEw4 AK67xGY2AK021l84ACjcxK6xIIjxv20xvE14v26r1I6r4UM28EF7xvwVC0I7IYx2IY6xkF 7I0E14v26r1j6r4UM28EF7xvwVC2z280aVAFwI0_Gr1j6F4UJwA2z4x0Y4vEx4A2jsIEc7 CjxVAFwI0_Gr1j6F4UJwAS0I0E0xvYzxvE52x082IY62kv0487Mc804VCY07AIYIkI8VC2 zVCFFI0UMc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VCjz48v1sIEY20_WwAm72CE4IkC6x 0Yz7v_Jr0_Gr1lF7xvr2IYc2Ij64vIr41l42xK82IYc2Ij64vIr41l42xK82IY6x8ErcxF aVAv8VWrMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxV Cjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUAVWUtwCIc40Y0x0EwIxGrwCI42IY 6xIIjxv20xvE14v26r1I6r4UMIIF0xvE2Ix0cI8IcVCY1x0267AKxVWUJVW8JwCI42IY6x AIw20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Gr0_Cr1lIxAIcVC2z280aVCY 1x0267AKxVW8JVW8JrUvcSsGvfC2KfnxnUUI43ZEXa7xRE6wZ7UUUUU== 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: 6B3U7vVcDpQmaC53vmFuc8EPx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1673579882; bh=CRUIR3JcnR0ISRTqSRA/fyFHTAy8365gdHLqvwfrfbQ=; h=Cc:Date:From:Reply-To:Subject:To; b=ue/XCUaaFXeKy8vOebj5gQdrBBI87L+hG/Armbf9vm+6VuKRtQlFGzrx+4SM5FHqIHk VNPnRclAz+zK+hGH23rna7Hoqv+54BpnoQlGkjkyCosAf9pB7wYZRrWpHbtomfVYRC/CW 9pTNZH9MYWaBhSDuofWiTaAEUWRgPH6h+C4= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1673579883403100001 Content-Type: text/plain; charset="utf-8" Add bootmode support in PEI phase. Cc: Ard Biesheuvel Cc: Bibo Mao Cc: Chao Li Cc: Leif Lindholm Cc: Liming Gao Cc: Michael D Kinney Signed-off-by: xianglai li Reviewed-by: Chao Li --- Platform/Loongson/LoongArchQemuPkg/PlatformPei/Platform.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Platform/Loongson/LoongArchQemuPkg/PlatformPei/Platform.c b/Pl= atform/Loongson/LoongArchQemuPkg/PlatformPei/Platform.c index 32b6518f8f..84bb8e8a6d 100644 --- a/Platform/Loongson/LoongArchQemuPkg/PlatformPei/Platform.c +++ b/Platform/Loongson/LoongArchQemuPkg/PlatformPei/Platform.c @@ -53,6 +53,8 @@ CONST EFI_PEI_PPI_DESCRIPTOR mPpiListBootMode =3D { NULL }; =20 +STATIC EFI_BOOT_MODE mBootMode =3D BOOT_WITH_FULL_CONFIGURATION; + /** Create Reserved type memory range hand off block. =20 @@ -417,6 +419,9 @@ InitializePlatform ( =20 DEBUG ((DEBUG_INFO, "Platform PEIM Loaded\n")); =20 + Status =3D PeiServicesSetBootMode (mBootMode); + ASSERT_EFI_ERROR (Status); + Status =3D PeiServicesInstallPpi (&mPpiListBootMode); ASSERT_EFI_ERROR (Status); =20 --=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 (#98426): https://edk2.groups.io/g/devel/message/98426 Mute This Topic: https://groups.io/mt/96239124/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- From nobody Tue May 21 16:10:52 2024 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+98427+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+98427+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1673579891; cv=none; d=zohomail.com; s=zohoarc; b=RTTAU6WgtUWDLNobyAZwaU4Hyh5LIVNlbl0dBrVGq24Pnr4lyrnYErvvmEAude8r0Fo6XXCxAqay70HDpnJ0B9ouAgtrv+F0Qaw6dzZyEa8V1f9lkYIvYGQYXkqWA4KDshve8uMZfYNdZD+ilbdPcZnfOv/1j9SeQy5eLFLjHf8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673579891; 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=+pUqWU8ooovXCKVSdTbVHRwNX+ssulpPWBX0AgMjPyA=; b=CdF3LqcftnlY564gcDCG5hr3yrBdPFmnIWgjFn7W8FzOgdSTBaiLLdTk2Cb5teMt85N3tRfwa9JCV8FBhXmzfFeiT5gG1tkXpdEU0dPff/cMWj4ifuO5/fd18kPq2uycp1skR9CQo2sigAQvO9TUkwUiocdkrL0roMeYB1HMd5E= 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+98427+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1673579891341174.86849081871048; Thu, 12 Jan 2023 19:18:11 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id fQTEYY1788612xkhDT2PtaHC; Thu, 12 Jan 2023 19:18:10 -0800 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web10.77629.1673579889953473168 for ; Thu, 12 Jan 2023 19:18:10 -0800 X-Received: from loongson.cn (unknown [10.2.5.185]) by gateway (Coremail) with SMTP id _____8AxmOlwzcBjGmABAA--.493S3; Fri, 13 Jan 2023 11:18:08 +0800 (CST) X-Received: from localhost.localdomain (unknown [10.2.5.185]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Axvr5VzcBjisEYAA--.49868S4; Fri, 13 Jan 2023 11:18:08 +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 V4 2/8] Platform/Loongson: Add nvme device driver for loongarch. Date: Fri, 13 Jan 2023 11:17:32 +0800 Message-Id: <524f5febaf2094d892d03077a141af8b5a696172.1673579388.git.lixianglai@loongson.cn> In-Reply-To: References: MIME-Version: 1.0 X-CM-TRANSID: AQAAf8Axvr5VzcBjisEYAA--.49868S4 X-CM-SenderInfo: 5ol0xt5qjotxo6or00hjvr0hdfq/ X-Coremail-Antispam: 1Uk129KBjvJXoW7KFyfuw1DXr47Wr1fCryUJrb_yoW8Ar48pF 13Z3WxKr1UJF4qkw4rJa4UWF4qyryrKrykJF4Yvw1S9F97J3Z8Z345GF4Fyw12yry2qas7 J340gw4Uua1DXFJanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUj1kv1TuYvTs0mT0YCTnIWj qI5I8CrVACY4xI64kE6c02F40Ex7xfYxn0WfASr-VFAUDa7-sFnT9fnUUIcSsGvfJTRUUU bnkFc2x0x2IEx4CE42xK8VAvwI8IcIk0rVWrJVCq3wA2ocxC64kIII0Yj41l84x0c7CEw4 AK67xGY2AK021l84ACjcxK6xIIjxv20xvE14v26r4j6ryUM28EF7xvwVC0I7IYx2IY6xkF 7I0E14v26r4j6F4UM28EF7xvwVC2z280aVAFwI0_Gr1j6F4UJwA2z4x0Y4vEx4A2jsIEc7 CjxVAFwI0_Gr1j6F4UJwAS0I0E0xvYzxvE52x082IY62kv0487Mc804VCY07AIYIkI8VC2 zVCFFI0UMc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VCjz48v1sIEY20_WwAm72CE4IkC6x 0Yz7v_Jr0_Gr1lF7xvr2IYc2Ij64vIr41l42xK82IYc2Ij64vIr41l42xK82IY6x8ErcxF aVAv8VWrMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxV Cjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUAVWUtwCIc40Y0x0EwIxGrwCI42IY 6xIIjxv20xvE14v26r4j6ryUMIIF0xvE2Ix0cI8IcVCY1x0267AKxVW8JVWxJwCI42IY6x AIw20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Cr0_Gr1UMIIF0xvEx4A2jsIE c7CjxVAFwI0_Gr0_Gr1UYxBIdaVFxhVjvjDU0xZFpf9x0zRVWlkUUUUU= 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: qyfGg7EPNatB8LOHL0jbwlWXx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1673579890; bh=wYK8RbyEsQdZXj4kcXDP4yhRT+gGD21FCiuT38rc8LE=; h=Cc:Date:From:Reply-To:Subject:To; b=OVIWb1VJg22uTNWuovRgTKCD+vdUxsZhKDOhtmX7VbODw7RuA4HTeTIP/+suqDclHp5 rcf/Ms4RlMoqg2o8ky5/ovBkFmpm3NICGfYrrpgc/AhNMyPMi9SSRns6bQ+/stMd3oyxY 92/QJ5TpXuO3SZrmpWSZII5TW77PAokwAIc= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1673579893441100002 Content-Type: text/plain; charset="utf-8" Add nvme device driver support loongarch qemu virt machine. Cc: Ard Biesheuvel Cc: Bibo Mao Cc: Chao Li Cc: Leif Lindholm Cc: Liming Gao Cc: Michael D Kinney Signed-off-by: xianglai li Reviewed-by: Chao Li --- Platform/Loongson/LoongArchQemuPkg/Loongson.dsc | 5 +++++ Platform/Loongson/LoongArchQemuPkg/Loongson.fdf | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/Platform/Loongson/LoongArchQemuPkg/Loongson.dsc b/Platform/Loo= ngson/LoongArchQemuPkg/Loongson.dsc index 2d63f7d168..a9b5c8c514 100644 --- a/Platform/Loongson/LoongArchQemuPkg/Loongson.dsc +++ b/Platform/Loongson/LoongArchQemuPkg/Loongson.dsc @@ -550,6 +550,11 @@ MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf =20 + # + # NVME Driver + # + MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf + # # SMBIOS Support # diff --git a/Platform/Loongson/LoongArchQemuPkg/Loongson.fdf b/Platform/Loo= ngson/LoongArchQemuPkg/Loongson.fdf index 784f255910..ee89097344 100644 --- a/Platform/Loongson/LoongArchQemuPkg/Loongson.fdf +++ b/Platform/Loongson/LoongArchQemuPkg/Loongson.fdf @@ -180,6 +180,11 @@ INF OvmfPkg/SataControllerDxe/SataControllerDxe.inf INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf =20 +# +# NVME +# +INF MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf + # # Usb Support # --=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 (#98427): https://edk2.groups.io/g/devel/message/98427 Mute This Topic: https://groups.io/mt/96239125/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- From nobody Tue May 21 16:10:52 2024 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+98428+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+98428+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1673579898; cv=none; d=zohomail.com; s=zohoarc; b=bXkU3gNZTSGj/pS3mkPrGLeAX0Y+wsB/8XdoxagIHGkwurafRL3k2HBt/b1EPwogp7cLmbDElCak9FnRLEFfhNTabg/j8ddiH6D7z82dTeqewf4ghzrHzMRtdBj7/vRZQKFyFs80ugfWOuvbwMi91YoFAQq1GesI1XGG5u4hlV0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673579898; 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=x8cqV7f8VaHxtACZdUs1cnILknNNQoiZez8z0KnrqE4=; b=A5ziSMXaXh0T3GxbZP1YgAEAon+U1cHP/ASyHPdGgnMsXf48C9MpJksVJJ7zOL0zRtrZn0Ml9LcwpcDZCBc6Fxj8BEXx6EQmARxDnbL44nLqsQoism8K4xSGfP/jfe8gSMiGe8BwYqEN0NbGWGt+Y405dt9ctTF53Uhm/+mY/sU= 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+98428+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1673579898075699.11618160082; Thu, 12 Jan 2023 19:18:18 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id Nt8QYY1788612xyWRUOu7FM5; Thu, 12 Jan 2023 19:18:17 -0800 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web10.77635.1673579896405031656 for ; Thu, 12 Jan 2023 19:18:17 -0800 X-Received: from loongson.cn (unknown [10.2.5.185]) by gateway (Coremail) with SMTP id _____8CxPut3zcBjI2ABAA--.4139S3; Fri, 13 Jan 2023 11:18:15 +0800 (CST) X-Received: from localhost.localdomain (unknown [10.2.5.185]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Axvr5VzcBjisEYAA--.49868S5; Fri, 13 Jan 2023 11:18:14 +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 V4 3/8] Platform/Loongson: Add pflash driver. Date: Fri, 13 Jan 2023 11:17:33 +0800 Message-Id: <1d99a25fdce36a0fe1dd51405d004f3392a3b43d.1673579388.git.lixianglai@loongson.cn> In-Reply-To: References: MIME-Version: 1.0 X-CM-TRANSID: AQAAf8Axvr5VzcBjisEYAA--.49868S5 X-CM-SenderInfo: 5ol0xt5qjotxo6or00hjvr0hdfq/ X-Coremail-Antispam: 1Uk129KBjvJXoW3Gr1ftr15Zr4kWF43Zw45Awb_yoWxXw1xpa 1UXFWkKwsrXFW3twsxA3WUXr43AFW3C39xJ39FqF1DC3ZrKFnIkw1jvr1rXFsrXryUXr1j qw409ayDW3WDXw7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUj1kv1TuYvTs0mT0YCTnIWj qI5I8CrVACY4xI64kE6c02F40Ex7xfYxn0WfASr-VFAUDa7-sFnT9fnUUIcSsGvfJTRUUU bnkFc2x0x2IEx4CE42xK8VAvwI8IcIk0rVWrJVCq3wA2ocxC64kIII0Yj41l84x0c7CEw4 AK67xGY2AK021l84ACjcxK6xIIjxv20xvE14v26r4j6ryUM28EF7xvwVC0I7IYx2IY6xkF 7I0E14v26r4j6F4UM28EF7xvwVC2z280aVAFwI0_Gr1j6F4UJwA2z4x0Y4vEx4A2jsIEc7 CjxVAFwI0_Gr1j6F4UJwAS0I0E0xvYzxvE52x082IY62kv0487Mc804VCY07AIYIkI8VC2 zVCFFI0UMc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VCjz48v1sIEY20_WwAm72CE4IkC6x 0Yz7v_Jr0_Gr1lF7xvr2IYc2Ij64vIr41l42xK82IYc2Ij64vIr41l42xK82IY6x8ErcxF aVAv8VWrMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxV Cjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUAVWUtwCIc40Y0x0EwIxGrwCI42IY 6xIIjxv20xvE14v26r4j6ryUMIIF0xvE2Ix0cI8IcVCY1x0267AKxVW8JVWxJwCI42IY6x AIw20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Cr0_Gr1UMIIF0xvEx4A2jsIE c7CjxVAFwI0_Gr0_Gr1UYxBIdaVFxhVjvjDU0xZFpf9x0zRVWlkUUUUU= 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: BrYOkUIHYcKAmtrjLqjh2MjVx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1673579897; bh=6zE/05w/I0cNd6IrZ2ZdgjYvQtl7377+Z37HkI3rTuI=; h=Cc:Date:From:Reply-To:Subject:To; b=YKqL09RhGGN+hn0zrqxtQVRgplKOKar7kEN+uGakEEeFEMlNgySaKHx4CC6+gVBPisk PRCGHpWrqmcNaaEzfl8PSBH6z1e0ZDmeLhRUvwgP+JCSGly0kfT7Ty8aDo2e8EeGat0Pv 8HFBHMjFj7juiGXFAQAhvQ7hhQv3IvC0M9U= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1673579899528100002 Content-Type: text/plain; charset="utf-8" Add pflash driver for loongarch. Cc: Ard Biesheuvel Cc: Bibo Mao Cc: Chao Li Cc: Leif Lindholm Cc: Liming Gao Cc: Michael D Kinney Signed-off-by: xianglai li Reviewed-by: Chao Li --- .../Library/NorFlashQemuLib/NorFlashQemuLib.c | 141 ++++++++++++++++++ .../NorFlashQemuLib/NorFlashQemuLib.inf | 43 ++++++ 2 files changed, 184 insertions(+) create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/NorFlashQemu= Lib/NorFlashQemuLib.c create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/NorFlashQemu= Lib/NorFlashQemuLib.inf diff --git a/Platform/Loongson/LoongArchQemuPkg/Library/NorFlashQemuLib/Nor= FlashQemuLib.c b/Platform/Loongson/LoongArchQemuPkg/Library/NorFlashQemuLib= /NorFlashQemuLib.c new file mode 100644 index 0000000000..2e0bf3cef0 --- /dev/null +++ b/Platform/Loongson/LoongArchQemuPkg/Library/NorFlashQemuLib/NorFlashQe= muLib.c @@ -0,0 +1,141 @@ +/** @file + + Copyright (c) 2023 Loongson Technology Corporation Limited. All rights r= eserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + + +#include +#include +#include +#include + +#include + +#define QEMU_NOR_BLOCK_SIZE SIZE_128KB + +EFI_STATUS +VirtNorFlashPlatformInitialization ( + VOID + ) +{ + return EFI_SUCCESS; +} + +STATIC VIRT_NOR_FLASH_DESCRIPTION mNorFlashDevices; + +EFI_STATUS +VirtNorFlashPlatformGetDevices ( + OUT VIRT_NOR_FLASH_DESCRIPTION **NorFlashDescriptions, + OUT UINT32 *Count + ) +{ + FDT_CLIENT_PROTOCOL *FdtClient; + INT32 Node; + EFI_STATUS Status; + EFI_STATUS FindNodeStatus; + CONST UINT32 *Reg; + UINT32 PropSize; + UINT64 Base; + UINT64 Size; + + Status =3D gBS->LocateProtocol ( + &gFdtClientProtocolGuid, + NULL, + (VOID **)&FdtClient + ); + ASSERT_EFI_ERROR (Status); + + FindNodeStatus =3D FdtClient->FindCompatibleNode ( + FdtClient, + "cfi-flash", + &Node + ); + ASSERT_EFI_ERROR (FindNodeStatus); + + Status =3D FdtClient->GetNodeProperty ( + FdtClient, + Node, + "reg", + (CONST VOID **)&Reg, + &PropSize + ); + if (EFI_ERROR (Status)) { + DEBUG (( + DEBUG_ERROR, + "%a: GetNodeProperty () failed (Status =3D=3D %r)\n", + __FUNCTION__, + Status + )); + return Status; + } + + ASSERT ((PropSize % (4 * sizeof (UINT32))) =3D=3D 0); + + if (PropSize < (4 * sizeof (UINT32))) { + DEBUG (( + DEBUG_ERROR, + "%a: reg node size(%d) is too small \n", + __FUNCTION__, + PropSize + )); + return EFI_NOT_FOUND; + } + + Base =3D SwapBytes64 (ReadUnaligned64 ((VOID *)&Reg[0])); + Size =3D SwapBytes64 (ReadUnaligned64 ((VOID *)&Reg[2])); + + mNorFlashDevices.DeviceBaseAddress =3D (UINTN)Base; + mNorFlashDevices.RegionBaseAddress =3D (UINTN)Base; + mNorFlashDevices.Size =3D (UINTN)Size; + mNorFlashDevices.BlockSize =3D QEMU_NOR_BLOCK_SIZE; + + Status =3D PcdSet32S (PcdFlashNvStorageVariableBase, Base); + ASSERT_EFI_ERROR (Status); + + /* + * Base is the value of PcdFlashNvStorageVariableBase, + * PcdFlashNvStorageFtwWorkingBase can be got by + * PcdFlashNvStorageVariableBase + PcdFlashNvStorageVariableSize + */ + Base +=3D PcdGet32 (PcdFlashNvStorageVariableSize); + Status =3D PcdSet32S (PcdFlashNvStorageFtwWorkingBase, Base); + ASSERT_EFI_ERROR (Status); + + /* + * Now,Base is the value of PcdFlashNvStorageFtwWorkingBase, + * PcdFlashNvStorageFtwSpareBase can be got by + * PcdFlashNvStorageFtwWorkingBase + PcdFlashNvStorageFtwWorkingSize. + */ + Base +=3D PcdGet32 (PcdFlashNvStorageFtwWorkingSize); + Status =3D PcdSet32S (PcdFlashNvStorageFtwSpareBase, Base); + ASSERT_EFI_ERROR (Status); + + // + // UEFI takes ownership of the NOR flash, and exposes its functionality + // through the UEFI Runtime Services GetVariable, SetVariable, etc. This + // means we need to disable it in the device tree to prevent the OS from + // attaching its device driver as well. + // Note that this also hides other flash banks, but the only other flash + // bank we expect to encounter is the one that carries the UEFI executab= le + // code, which is not intended to be guest updatable, and is usually bac= ked + // in a readonly manner by QEMU anyway. + // + Status =3D FdtClient->SetNodeProperty ( + FdtClient, + Node, + "status", + "disabled", + sizeof ("disabled") + ); + if (EFI_ERROR (Status)) { + DEBUG ((DEBUG_WARN, "Failed to set NOR flash status to 'disabled'\n")); + } + + *NorFlashDescriptions =3D &mNorFlashDevices; + *Count =3D 1; + + return EFI_SUCCESS; +} diff --git a/Platform/Loongson/LoongArchQemuPkg/Library/NorFlashQemuLib/Nor= FlashQemuLib.inf b/Platform/Loongson/LoongArchQemuPkg/Library/NorFlashQemuL= ib/NorFlashQemuLib.inf new file mode 100644 index 0000000000..da05ca0898 --- /dev/null +++ b/Platform/Loongson/LoongArchQemuPkg/Library/NorFlashQemuLib/NorFlashQe= muLib.inf @@ -0,0 +1,43 @@ +## @file +# +# Copyright (c) 2023 Loongson Technology Corporation Limited. All rights = reserved.
+# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +[Defines] + INF_VERSION =3D 0x00010005 + BASE_NAME =3D NorFlashQemuLib + FILE_GUID =3D 339B7829-4C5F-4EFC-B2DD-5050E530DECE + MODULE_TYPE =3D DXE_DRIVER + VERSION_STRING =3D 1.0 + LIBRARY_CLASS =3D VirtNorFlashPlatformLib + +[Sources.common] + NorFlashQemuLib.c + +[Packages] + MdePkg/MdePkg.dec + EmbeddedPkg/EmbeddedPkg.dec + OvmfPkg/OvmfPkg.dec + MdeModulePkg/MdeModulePkg.dec + +[LibraryClasses] + BaseLib + DebugLib + UefiBootServicesTableLib + +[Protocols] + gFdtClientProtocolGuid ## CONSUMES + +[Depex] + gFdtClientProtocolGuid + +[Pcd] +gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize +gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize +gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize +gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase +gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase +gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase --=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 (#98428): https://edk2.groups.io/g/devel/message/98428 Mute This Topic: https://groups.io/mt/96239129/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- From nobody Tue May 21 16:10:52 2024 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+98429+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+98429+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1673579899; cv=none; d=zohomail.com; s=zohoarc; b=ZTWgDdB+nfMVhuvd6fScDZUIT6YQI3XXr4r/AdJE++chTblyWotMj90Pm6iAJIfdAgw/2wXkZqYt5Jjtn91I4fD7E0vfTlYwEDyd/oFDj4n9KVb55uOVtkw9z+L5AJrFj1BekqYZknj9mgj6Kt3rna3svO/zDxppqw2LvrIQaEU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673579899; 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=XsCxwLj4HRSxU21ynyQ+jYiK9EMKS8nPD+SMB5fV2U4=; b=SAU6nAFTFGcJtQZaJYDrE3N99L6vVN280oIkJOz9ugSBqiD4+vMKrZI9lMgk6xZuvV5kRpeeCgcDO3VbmVEl1aDLcdXJ/G19e8QO2/WpOH2ROWJF18GAlc57OeBkbP7dOrfGn6Zjd79hr8DVrLyGeRcGwgYXYodJ1o7oKnih3xQ= 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+98429+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1673579899542946.0172058710025; Thu, 12 Jan 2023 19:18:19 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id GUFDYY1788612xjbzb6o4waL; Thu, 12 Jan 2023 19:18:19 -0800 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web11.77604.1673579898027342385 for ; Thu, 12 Jan 2023 19:18:18 -0800 X-Received: from loongson.cn (unknown [10.2.5.185]) by gateway (Coremail) with SMTP id _____8Cx_ep4zcBjKGABAA--.4223S3; Fri, 13 Jan 2023 11:18:16 +0800 (CST) X-Received: from localhost.localdomain (unknown [10.2.5.185]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Axvr5VzcBjisEYAA--.49868S6; Fri, 13 Jan 2023 11:18:16 +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 V4 4/8] Platform/Loongson: Support pflash for loongarch. Date: Fri, 13 Jan 2023 11:17:34 +0800 Message-Id: <764effc0397a27ece4f1ce378b830cee32352919.1673579388.git.lixianglai@loongson.cn> In-Reply-To: References: MIME-Version: 1.0 X-CM-TRANSID: AQAAf8Axvr5VzcBjisEYAA--.49868S6 X-CM-SenderInfo: 5ol0xt5qjotxo6or00hjvr0hdfq/ X-Coremail-Antispam: 1Uk129KBjvJXoW3Gr1fuw4kJFWkGry8GrW3ZFb_yoW3Jr4Upw 4UJanakr1kJr45ta15X34qqF1Sya4akwn8Jw4jqr18Ca4kJan5Cw15t3W5Gry7Zry7Ja40 gr409w4jgF1vvw7anT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUj1kv1TuYvTs0mT0YCTnIWj qI5I8CrVACY4xI64kE6c02F40Ex7xfYxn0WfASr-VFAUDa7-sFnT9fnUUIcSsGvfJTRUUU bnkFc2x0x2IEx4CE42xK8VAvwI8IcIk0rVWrJVCq3wA2ocxC64kIII0Yj41l84x0c7CEw4 AK67xGY2AK021l84ACjcxK6xIIjxv20xvE14v26ryj6F1UM28EF7xvwVC0I7IYx2IY6xkF 7I0E14v26r4j6F4UM28EF7xvwVC2z280aVAFwI0_Gr1j6F4UJwA2z4x0Y4vEx4A2jsIEc7 CjxVAFwI0_Gr1j6F4UJwAS0I0E0xvYzxvE52x082IY62kv0487Mc804VCY07AIYIkI8VC2 zVCFFI0UMc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VCjz48v1sIEY20_WwAm72CE4IkC6x 0Yz7v_Jr0_Gr1lF7xvr2IYc2Ij64vIr41l42xK82IYc2Ij64vIr41l42xK82IY6x8ErcxF aVAv8VWrMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxV Cjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUAVWUtwCIc40Y0x0EwIxGrwCI42IY 6xIIjxv20xvE14v26ryj6F1UMIIF0xvE2Ix0cI8IcVCY1x0267AKxVW8JVWxJwCI42IY6x AIw20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Cr0_Gr1UMIIF0xvEx4A2jsIE c7CjxVAFwI0_Gr0_Gr1UYxBIdaVFxhVjvjDU0xZFpf9x0zRVWlkUUUUU= 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: p3bYMDsNRLH26ByHQ50OhJ0px1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1673579899; bh=XNkd82hyXPJEDXoDtElFPkxCPHwGwaaGdmCQ+C0H/jg=; h=Cc:Date:From:Reply-To:Subject:To; b=pSbsl5q+235zf+Ie6sYuPj3JrSD+C1UchtVoY5K1iDUxUXVpVhDlVuwulXBoct9/ZgY p2T+bmAWTkIRHkJ1wj67lqHA33tMgbNxV0K0Pzm4UHillZnocALZ4R06xzq2KWoxqUtK2 Yo8VyhJlQSvwzT1Rw85T/KE1Dn3ilwqKOLs= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1673579901516100006 Content-Type: text/plain; charset="utf-8" Support pflash for loongarch. Cc: Ard Biesheuvel Cc: Bibo Mao Cc: Chao Li Cc: Leif Lindholm Cc: Liming Gao Cc: Michael D Kinney Signed-off-by: xianglai li Reviewed-by: Chao Li --- .../Loongson/LoongArchQemuPkg/Loongson.dsc | 15 ++--- .../Loongson/LoongArchQemuPkg/Loongson.fdf | 3 +- .../LoongArchQemuPkg/VarStore.fdf.inc | 67 +++++++++++++++++++ 3 files changed, 76 insertions(+), 9 deletions(-) create mode 100644 Platform/Loongson/LoongArchQemuPkg/VarStore.fdf.inc diff --git a/Platform/Loongson/LoongArchQemuPkg/Loongson.dsc b/Platform/Loo= ngson/LoongArchQemuPkg/Loongson.dsc index a9b5c8c514..05913db144 100644 --- a/Platform/Loongson/LoongArchQemuPkg/Loongson.dsc +++ b/Platform/Loongson/LoongArchQemuPkg/Loongson.dsc @@ -175,6 +175,7 @@ DebugLib | MdePkg/Library/BaseDebugLibSerialPort= /BaseDebugLibSerialPort.inf PeiServicesLib | MdePkg/Library/PeiServicesLib/PeiServ= icesLib.inf VariableFlashInfoLib | MdeModulePkg/Library/BaseVariableFlas= hInfoLib/BaseVariableFlashInfoLib.inf + VirtNorFlashPlatformLib | Platform/Loongson/LoongArchQemuPkg/Li= brary/NorFlashQemuLib/NorFlashQemuLib.inf =20 [LibraryClasses.common.SEC] PcdLib | MdePkg/Library/BasePcdLibNull/BasePcd= LibNull.inf @@ -360,9 +361,9 @@ # !include NetworkPkg/NetworkPcds.dsc.inc =20 - gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize | 0= x10000 - gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize | 0= x20000 - gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize | 0= x10000 + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize | 0= x40000 + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize | 0= x40000 + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize | 0= x40000 =20 ##########################################################################= ###### # @@ -373,6 +374,7 @@ gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase | 0 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64 | 0 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64 | 0 + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase | 0 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase | 0 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64 | 0 gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved | 0 @@ -471,15 +473,12 @@ # # Variable # - - OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.inf { - - PlatformFvbLib|OvmfPkg/Library/EmuVariableFvbLib/EmuVariableFvbLib.i= nf - } + OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.inf MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf { NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf + NULL|EmbeddedPkg/Library/NvVarStoreFormattedLib/NvVarStoreFormattedL= ib.inf BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf } =20 diff --git a/Platform/Loongson/LoongArchQemuPkg/Loongson.fdf b/Platform/Loo= ngson/LoongArchQemuPkg/Loongson.fdf index ee89097344..675d86094c 100644 --- a/Platform/Loongson/LoongArchQemuPkg/Loongson.fdf +++ b/Platform/Loongson/LoongArchQemuPkg/Loongson.fdf @@ -30,6 +30,7 @@ $(DXEFV_OFFSET)|$(DXEFV_SIZE) gLoongArchQemuPkgTokenSpaceGuid.PcdFlashDxeFvBase|gLoongArchQemuPkgTokenSp= aceGuid.PcdFlashDxeFvSize FV =3D FVMAIN_COMPACT =20 +!include VarStore.fdf.inc ##########################################################################= ########################### [FV.SECFV] FvNameGuid =3D 587d4265-5e71-41da-9c35-4258551f1e22 @@ -135,7 +136,7 @@ INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRu= ntimeDxe.inf # # Variable # -INF OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.inf +INF OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.inf INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf # diff --git a/Platform/Loongson/LoongArchQemuPkg/VarStore.fdf.inc b/Platform= /Loongson/LoongArchQemuPkg/VarStore.fdf.inc new file mode 100644 index 0000000000..83ce3d8008 --- /dev/null +++ b/Platform/Loongson/LoongArchQemuPkg/VarStore.fdf.inc @@ -0,0 +1,67 @@ +## @file +# +# Copyright (c) 2023 Loongson Technology Corporation Limited. All rights = reserved.
+# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +[FD.QEMU_VARS] +BaseAddress =3D 0x0 +Size =3D 0x1000000 +ErasePolarity =3D 1 +BlockSize =3D 0x20000 +NumBlocks =3D 128 + +0x00000000|0x00040000 +#NV_VARIABLE_STORE +DATA =3D { + ## This is the EFI_FIRMWARE_VOLUME_HEADER + # ZeroVector [] + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + # FileSystemGuid: gEfiSystemNvDataFvGuid =3D + # { 0xFFF12B8D, 0x7696, 0x4C8B, + # { 0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50 }} + 0x8D, 0x2B, 0xF1, 0xFF, 0x96, 0x76, 0x8B, 0x4C, + 0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50, + # FvLength: 0xC0000 + 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, + # Signature "_FVH" # Attributes + 0x5f, 0x46, 0x56, 0x48, 0xff, 0xfe, 0x04, 0x00, + # HeaderLength # CheckSum # ExtHeaderOffset #Reserved #Revision + 0x48, 0x00, 0x28, 0x09, 0x00, 0x00, 0x00, 0x02, + # Blockmap[0]: 0x3 Blocks * 0x40000 Bytes / Block + 0x3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, + # Blockmap[1]: End + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + ## This is the VARIABLE_STORE_HEADER + # It is compatible with SECURE_BOOT_ENABLE =3D=3D FALSE as well. + # Signature: gEfiAuthenticatedVariableGuid =3D + # { 0xaaf32c78, 0x947b, 0x439a, + # { 0xa1, 0x80, 0x2e, 0x14, 0x4e, 0xc3, 0x77, 0x92 }} + 0x78, 0x2c, 0xf3, 0xaa, 0x7b, 0x94, 0x9a, 0x43, + 0xa1, 0x80, 0x2e, 0x14, 0x4e, 0xc3, 0x77, 0x92, + # Size: 0x40000 (gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariabl= eSize) - + # 0x48 (size of EFI_FIRMWARE_VOLUME_HEADER) =3D 0x3ffb8 + # This can speed up the Variable Dispatch a bit. + 0xB8, 0xFF, 0x03, 0x00, + # FORMATTED: 0x5A #HEALTHY: 0xFE #Reserved: UINT16 #Reserved1: UINT32 + 0x5A, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +} + +0x00040000|0x00040000 +#NV_FTW_WORKING +DATA =3D { + # EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER->Signature =3D gEdkiiWorkingBl= ockSignatureGuid =3D + # { 0x9e58292b, 0x7c68, 0x497d, { 0xa0, 0xce, 0x65, 0x0, 0xfd, 0x9f, 0= x1b, 0x95 }} + 0x2b, 0x29, 0x58, 0x9e, 0x68, 0x7c, 0x7d, 0x49, + 0xa0, 0xce, 0x65, 0x0, 0xfd, 0x9f, 0x1b, 0x95, + # Crc:UINT32 #WorkingBlockValid:1, WorkingBlockInvalid:1, Res= erved + 0x5b, 0xe7, 0xc6, 0x86, 0xFE, 0xFF, 0xFF, 0xFF, + # WriteQueueSize: UINT64 + 0xE0, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00 +} + +0x00080000|0x00040000 +#NV_FTW_SPARE --=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 (#98429): https://edk2.groups.io/g/devel/message/98429 Mute This Topic: https://groups.io/mt/96239131/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- From nobody Tue May 21 16:10:52 2024 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+98430+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+98430+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1673579901; cv=none; d=zohomail.com; s=zohoarc; b=oBZeo1Ol5VrhQHtcpjNr8VYkelYVhoUcmSve6ekqmtuiS75iZ7wJbA6eicf5h9ZGSgYwgy7f7kn8u5x92jJQiIXp9Ni5GXn0g5HgX+1azWkEPVb7FXMtF6qUS2N1ky/oDT6zWOKLhn7E1CwYtaF2tJV5zvqeSY1lxUcPSTNv8Zk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673579901; 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=lyXgXiYAAHU5FBs95V8auSx9xw6oIAz0yHG2mqz5cmA=; b=R3W8ih5ZfGVHohj8xe5nnen4zQTZZnMpH7125SM2QLkA3N6415ck352J0pM/388ZeegCejXiREVgwWnpnDAxhJK/IlGXp0rhMX1FtOh7WKkXdRd9DtHQ7gHfBkGh0uVI0r8UqiyQg+svRWpE9oYb3wgQ29HzoqkpgA8fo4Pw2NI= 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+98430+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 16735799015382.366777961730236; Thu, 12 Jan 2023 19:18:21 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id KcEgYY1788612xjGTYBY7ZkV; Thu, 12 Jan 2023 19:18:21 -0800 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web11.77606.1673579899988334653 for ; Thu, 12 Jan 2023 19:18:20 -0800 X-Received: from loongson.cn (unknown [10.2.5.185]) by gateway (Coremail) with SMTP id _____8AxX+t6zcBjMGABAA--.4283S3; Fri, 13 Jan 2023 11:18:18 +0800 (CST) X-Received: from localhost.localdomain (unknown [10.2.5.185]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Axvr5VzcBjisEYAA--.49868S7; Fri, 13 Jan 2023 11:18:18 +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 V4 5/8] Platform/Loongson: Modify the page table entry access priority. Date: Fri, 13 Jan 2023 11:17:35 +0800 Message-Id: <9e8c2a43f453ea5586cee148191f969f9065f1a9.1673579388.git.lixianglai@loongson.cn> In-Reply-To: References: MIME-Version: 1.0 X-CM-TRANSID: AQAAf8Axvr5VzcBjisEYAA--.49868S7 X-CM-SenderInfo: 5ol0xt5qjotxo6or00hjvr0hdfq/ X-Coremail-Antispam: 1Uk129KBjvJXoW7KFyfuw1DXr47Wr1fZrWUJwb_yoW8Jw17pr 9rZa92kr4UJrWvya1UJ3WqgFZ5Cr9xWr1kGFsxKr1xu3sxXw1kW34jvr4Iyr42yFyFya4F q3y8Kw4UAFZ5ZrJanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUj1kv1TuYvTs0mT0YCTnIWj qI5I8CrVACY4xI64kE6c02F40Ex7xfYxn0WfASr-VFAUDa7-sFnT9fnUUIcSsGvfJTRUUU bnkFc2x0x2IEx4CE42xK8VAvwI8IcIk0rVWrJVCq3wA2ocxC64kIII0Yj41l84x0c7CEw4 AK67xGY2AK021l84ACjcxK6xIIjxv20xvE14v26ryj6F1UM28EF7xvwVC0I7IYx2IY6xkF 7I0E14v26r4j6F4UM28EF7xvwVC2z280aVAFwI0_Gr1j6F4UJwA2z4x0Y4vEx4A2jsIEc7 CjxVAFwI0_Gr1j6F4UJwAS0I0E0xvYzxvE52x082IY62kv0487Mc804VCY07AIYIkI8VC2 zVCFFI0UMc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VCjz48v1sIEY20_WwAm72CE4IkC6x 0Yz7v_Jr0_Gr1lF7xvr2IYc2Ij64vIr41l42xK82IYc2Ij64vIr41l42xK82IY6x8ErcxF aVAv8VWrMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxV Cjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUAVWUtwCIc40Y0x0EwIxGrwCI42IY 6xIIjxv20xvE14v26ryj6F1UMIIF0xvE2Ix0cI8IcVCY1x0267AKxVW8JVWxJwCI42IY6x AIw20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Cr0_Gr1UMIIF0xvEx4A2jsIE c7CjxVAFwI0_Gr0_Gr1UYxBIdaVFxhVjvjDU0xZFpf9x0zRVWlkUUUUU= 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: F9iSRhrFCimaVWMh5eLZlC3ox1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1673579901; bh=IJYaCu9edVdQYabfdjn/MoRVySZCdwxXm75lZje3NTM=; h=Cc:Date:From:Reply-To:Subject:To; b=AuW4wdePN61VKCDQNBCHnXE5k6C579mmCjwHGe0xnFj3+XkBPgpe3iEggbn/2In/16F aqyljPbMv/9w7/mmHQzhZGdluKHlOvmETx57bhOg6bpuaFydYQAO6/frsO4eFYt91muyu 0sVNH2bWskS9XOmUG4Z7GxnxKCq+x6PCRNc= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1673579903498100009 Content-Type: text/plain; charset="utf-8" Modify the page table entry access priority When the Page table properties are set. Cc: Ard Biesheuvel Cc: Bibo Mao Cc: Chao Li Cc: Leif Lindholm Cc: Liming Gao Cc: Michael D Kinney Signed-off-by: xianglai li Reviewed-by: Chao Li --- Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/MmuLibCore.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/MmuLibCore.c= b/Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/MmuLibCore.c index b932e3d568..9e2bd3344a 100644 --- a/Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/MmuLibCore.c +++ b/Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/MmuLibCore.c @@ -671,7 +671,7 @@ EfiAttributeToLoongArchAttribute ( IN UINTN EfiAttributes ) { - UINTN LoongArchAttributes =3D PAGE_VALID | PAGE_DIRTY | CACHE_CC | PAGE= _USER | PAGE_GLOBAL; + UINTN LoongArchAttributes =3D PAGE_VALID | PAGE_DIRTY | PLV_KERNEL | PA= GE_GLOBAL; switch (EfiAttributes & EFI_MEMORY_CACHETYPE_MASK) { case EFI_MEMORY_UC: LoongArchAttributes |=3D CACHE_SUC; --=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 (#98430): https://edk2.groups.io/g/devel/message/98430 Mute This Topic: https://groups.io/mt/96239132/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- From nobody Tue May 21 16:10:52 2024 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+98431+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+98431+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1673579904; cv=none; d=zohomail.com; s=zohoarc; b=ExOHsZufe5mhf+BG2opMaMPFTOBK7NKlKMocX6RNRSNXhhKsOUrlU3HqdpbutJWlnnVHdDdSC/Y4/zFM7wkyMPE5O7jBZPiUl9VvdGOgz9vAZZ4upcuAQ6QMFXLpcr5fRxXV5YBdoqypdDBETYkxAXdHp1i5oGgLMBI4BwkgIFw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673579904; 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=5oXPWYVsXigEsxeFhFaqAoC5opIe9xFNx87sBcc1S9M=; b=gu5QOAonYCeAzaptuABGOdRyV+1MXwROjYa1g25ohDiqpbAc76Lc81mgYGNlAQ6Y1ZrZh6zO8cumwpOMD3LQ3qx4jm+4s8gFevuxCcwJPL4tmE09uMoiCn3I0+Qwcf77S9VofPMSBmM1NG+NkoO0uLSFDMEScCh1mAlQnPi6epU= 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+98431+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1673579904985571.6739462334081; Thu, 12 Jan 2023 19:18:24 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id oXt6YY1788612x8qElMFqfgu; Thu, 12 Jan 2023 19:18:24 -0800 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web11.77608.1673579903750024326 for ; Thu, 12 Jan 2023 19:18:24 -0800 X-Received: from loongson.cn (unknown [10.2.5.185]) by gateway (Coremail) with SMTP id _____8CxPut+zcBjNmABAA--.4141S3; Fri, 13 Jan 2023 11:18:22 +0800 (CST) X-Received: from localhost.localdomain (unknown [10.2.5.185]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Axvr5VzcBjisEYAA--.49868S8; Fri, 13 Jan 2023 11:18:21 +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 V4 6/8] Platform/Loongson: Optimize page table entry null determination. Date: Fri, 13 Jan 2023 11:17:36 +0800 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-CM-TRANSID: AQAAf8Axvr5VzcBjisEYAA--.49868S8 X-CM-SenderInfo: 5ol0xt5qjotxo6or00hjvr0hdfq/ X-Coremail-Antispam: 1Uk129KBjvdXoW7GFyDGF15tryDur4fKw4UArb_yoWDAFc_Ja 4ayan7Jr10qrnFg34jvr48u34xXw1kJw4UC3ZrJFyaqa45tw1FgF9rur9xXF9IvF4qvr4a grWvkr93Aw4agjkaLaAFLSUrUUUUjb8apTn2vfkv8UJUUUU8wcxFpf9Il3svdxBIdaVrn0 xqx4xG64xvF2IEw4CE5I8CrVC2j2Jv73VFW2AGmfu7bjvjm3AaLaJ3UjIYCTnIWjp_UUU5 -7CY07I20VC2zVCF04k26cxKx2IYs7xG6rWj6s0DM28lY4IEw2IIxxk0rwA2F7IY1VAKz4 vEj48ve4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Xr0_Ar1l84ACjcxK6xIIjxv20xvEc7Cj xVAFwI0_Gr0_Cr1l84ACjcxK6I8E87Iv67AKxVW8Jr0_Cr1UM28EF7xvwVC2z280aVCY1x 0267AKxVW8Jr0_Cr1UM2AIxVAIcxkEcVAq07x20xvEncxIr21l57IF6xkI12xvs2x26I8E 6xACxx1l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6x8ErcxFaVAv8VWrMcvjeVCFs4IE7x kEbVWUJVW8JwACjcxG0xvY0x0EwIxGrwCF04k20xvY0x0EwIxGrwCF04k20xvE74AGY7Cv 6cx26rWl4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUJVWUGwC20s026x 8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r126r1DMIIYrxkI7VAKI48JMIIF0xvE 2Ix0cI8IcVAFwI0_Xr0_Ar1lIxAIcVC0I7IYx2IY6xkF7I0E14v26r4j6F4UMIIF0xvE42 xK8VAvwI8IcIk0rVWUJVWUCwCI42IY6I8E87Iv67AKxVWxJVW8Jr1lIxAIcVC2z280aVCY 1x0267AKxVW8JVW8JrUvcSsGvfC2KfnxnUUI43ZEXa7xRE6wZ7UUUUU== 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: 9QsPst18Lv4OxAXDXGNkeHvIx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1673579904; bh=wD7cYfhFer+SbyjLfkT1GddlyCyTMh4f9ubVTiV/PMw=; h=Cc:Date:From:Reply-To:Subject:To; b=p7DRWhsxqnpclNVVSpbDgrODUx0rLnADmGH8SMZz2a6uHPLVg9+iKk1RzP41+geHurP 6ngL6OHm84q47uzLH0Bo27MG1852tqOsbPqJeFLZnyJyVCHmmE68kwsGURTkSh55Qj7pI q/z2qeLY1AyhGIh9BRhEjscamJ5KPg9ymRY= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1673579905488100013 Content-Type: text/plain; charset="utf-8" Modify the null judgment condition of page table entries. Cc: Ard Biesheuvel Cc: Bibo Mao Cc: Chao Li Cc: Leif Lindholm Cc: Liming Gao Cc: Michael D Kinney Signed-off-by: xianglai li Reviewed-by: Chao Li --- Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/page.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/page.h b/Pla= tform/Loongson/LoongArchQemuPkg/Library/MmuLib/page.h index 6ab07e7900..84c7c13919 100644 --- a/Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/page.h +++ b/Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/page.h @@ -275,6 +275,6 @@ pte_none ( IN PTE pte ) { - return (!(PTE_VAL(pte) & (~PAGE_GLOBAL))); + return (!(PTE_VAL(pte) & (~PAGE_VALID))); } #endif // PAGE_H_ --=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 (#98431): https://edk2.groups.io/g/devel/message/98431 Mute This Topic: https://groups.io/mt/96239133/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- From nobody Tue May 21 16:10:52 2024 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+98432+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+98432+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1673579907; cv=none; d=zohomail.com; s=zohoarc; b=P61NewbnEM9AK4cbzJ3nYJ8RWfoTgkErH+hGVG9BwNBMfKeD62owEgOD0ANdnNkPAU+1IV4cok46baZOdaLiLohy3ts5zLPPm+DgOtQTI52XHX5ZOpWkNMGH6tj43HzyxO8bEALrfjfrXEDLNMNKlUfOVpkA19BIH8/GofUfF1c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673579907; 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=Uge5leZ2XDiO+sVgq/r9D8UtBsQNPy8QS8lK10Xgvzw=; b=St7yLWgudV7Fa5hfli8IPmv0kdm9J3xe23adCkG6nMgwv0EO1rG+lkXHv9Td9gg37n1C7V+Ye67OJQ/6I45gOgJLfk+Wgb6EF9o0t/uqYlnjon5kiCJjtoDLpAu3cf77UdGI2VVleEDj2FSpHRgk8u4nvaPOI+KCO/unaOI/6so= 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+98432+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1673579907632531.3199706452701; Thu, 12 Jan 2023 19:18:27 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id 9ds4YY1788612xnr0h8jLqFl; Thu, 12 Jan 2023 19:18:26 -0800 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web10.77637.1673579905161148000 for ; Thu, 12 Jan 2023 19:18:26 -0800 X-Received: from loongson.cn (unknown [10.2.5.185]) by gateway (Coremail) with SMTP id _____8CxjfB_zcBjPWABAA--.4798S3; Fri, 13 Jan 2023 11:18:23 +0800 (CST) X-Received: from localhost.localdomain (unknown [10.2.5.185]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Axvr5VzcBjisEYAA--.49868S9; Fri, 13 Jan 2023 11:18: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 V4 7/8] Platform/Loongson: Optimize the huge page and page entry conversion. Date: Fri, 13 Jan 2023 11:17:37 +0800 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-CM-TRANSID: AQAAf8Axvr5VzcBjisEYAA--.49868S9 X-CM-SenderInfo: 5ol0xt5qjotxo6or00hjvr0hdfq/ X-Coremail-Antispam: 1Uk129KBjvJXoW3Gr1ftr1UZF17GFyUCF15urg_yoWxJFy5pr 9xCayxK3yUtrZrXFWkXwsI9r4DCr98Wa48Jr42yw1Fy3s8Xwn3uryqkr10qr47JFyfta1U Xay3tw47CFZ5X37anT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUj1kv1TuYvTs0mT0YCTnIWj qI5I8CrVACY4xI64kE6c02F40Ex7xfYxn0WfASr-VFAUDa7-sFnT9fnUUIcSsGvfJTRUUU bnkFc2x0x2IEx4CE42xK8VAvwI8IcIk0rVWrJVCq3wA2ocxC64kIII0Yj41l84x0c7CEw4 AK67xGY2AK021l84ACjcxK6xIIjxv20xvE14v26ryj6F1UM28EF7xvwVC0I7IYx2IY6xkF 7I0E14v26r4j6F4UM28EF7xvwVC2z280aVAFwI0_Gr1j6F4UJwA2z4x0Y4vEx4A2jsIEc7 CjxVAFwI0_Gr1j6F4UJwAS0I0E0xvYzxvE52x082IY62kv0487Mc804VCY07AIYIkI8VC2 zVCFFI0UMc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VCjz48v1sIEY20_WwAm72CE4IkC6x 0Yz7v_Jr0_Gr1lF7xvr2IYc2Ij64vIr41l42xK82IYc2Ij64vIr41l42xK82IY6x8ErcxF aVAv8VWrMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxV Cjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUAVWUtwCIc40Y0x0EwIxGrwCI42IY 6xIIjxv20xvE14v26ryj6F1UMIIF0xvE2Ix0cI8IcVCY1x0267AKxVW8JVWxJwCI42IY6x AIw20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Cr0_Gr1UMIIF0xvEx4A2jsIE c7CjxVAFwI0_Gr0_Gr1UYxBIdaVFxhVjvjDU0xZFpf9x0zRVWlkUUUUU= 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: QDhSazDVh5cskGUt4PJTC4kxx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1673579906; bh=cUyEMsLLgBx4trLuq2BTtsd3GnZqktkxJlCwjO6UD6c=; h=Cc:Date:From:Reply-To:Subject:To; b=w+UMiDJIJaFrAQ7V/6XrpbXXIDWHL1QaYzyz1sW4lkGFpyFJfiXXsMOzO67RTqXDdTe HvehVt87tkMok3rm5szDGryQoLZJSKjlwIlGLG17DUGzfOlYr12ee783hC4b7Go4lKLTB BvH133ES0av6kxxSUvNx0nE2BgdtIgB5tu0= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1673579909557100019 Content-Type: text/plain; charset="utf-8" Optimize the process of converting huge pages to page table entries. Cc: Ard Biesheuvel Cc: Bibo Mao Cc: Chao Li Cc: Leif Lindholm Cc: Liming Gao Cc: Michael D Kinney Signed-off-by: xianglai li Reviewed-by: Chao Li --- .../Library/MmuLib/MmuLibCore.c | 109 +++++++++++++----- .../LoongArchQemuPkg/Library/MmuLib/page.h | 3 + 2 files changed, 82 insertions(+), 30 deletions(-) diff --git a/Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/MmuLibCore.c= b/Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/MmuLibCore.c index 9e2bd3344a..dac38c63f2 100644 --- a/Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/MmuLibCore.c +++ b/Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/MmuLibCore.c @@ -449,6 +449,29 @@ GetPteAddress ( return PteOffset (Pmd, Address); } =20 +/** + Gets the Attributes of Huge Page. + + @param Pmd A pointer to the page middle directory. + + @retval Value of Attributes. +**/ +UINTN +GetHugePageAttributes ( + IN PMD *Pmd + ) +{ + UINTN Attributes; + UINTN GlobalFlag; + UINTN HugeVal =3D PMD_VAL(*Pmd); + + Attributes =3D HugeVal & (~HUGEP_PAGE_MASK); + GlobalFlag =3D ((Attributes & (1 << PAGE_HGLOBAL_SHIFT)) >> PAGE_HGLOBAL= _SHIFT) << PAGE_GLOBAL_SHIFT; + Attributes &=3D ~(1 << PAGE_HGLOBAL_SHIFT); + Attributes |=3D GlobalFlag; + return Attributes; +} + /** Establishes a page table entry based on the specified memory region. =20 @@ -477,13 +500,13 @@ MemoryMapPteRange ( return EFI_OUT_OF_RESOURCES; } =20 + DEBUG ((DEBUG_VERBOSE, + "%a %d Address %p End %p Attributes %llx\n", + __func__, __LINE__, Address, End, Attributes)); + do { UpDate =3D FALSE; PteVal =3D MAKE_PTE (Address, Attributes); - DEBUG ((DEBUG_VERBOSE, - "%a %d Address %p PGD_INDEX %p PUD_INDEX %p PMD_INDEX %p PTE_IND= EX %p MAKE_PTE %p\n", - __func__, __LINE__, Address, PGD_INDEX (Address), PUD_INDEX (Addres= s), PMD_INDEX (Address), - PTE_INDEX (Address), PteVal)); =20 if ((!pte_none (*Pte)) && (PTE_VAL(*Pte) !=3D PTE_VAL(PteVal))) @@ -500,6 +523,55 @@ MemoryMapPteRange ( return EFI_SUCCESS; } =20 +/** + Convert Huge Page to Page. + + @param Pmd A pointer to the page middle directory. + @param Address The memory space start address. + @param End The end address of the memory space. + @param Attributes Memory space Attributes. + + @retval EFI_SUCCESS The page table entry was created successfully. + @retval EFI_OUT_OF_RESOURCES Page table entry establishment failed due= to resource exhaustion. +**/ +EFI_STATUS +ConvertHugePageToPage ( + IN PMD *Pmd, + IN UINTN Address, + IN UINTN End, + IN UINTN Attributes + ) +{ + UINTN OldAttributes; + UINTN HugePageEnd; + UINTN HugePageStart; + EFI_STATUS Status; + + if ((pmd_none (*Pmd)) || + (!IS_HUGE_PAGE (Pmd->PmdVal))) + { + Status |=3D MemoryMapPteRange (Pmd, Address, End, Attributes); + } else { + OldAttributes =3D GetHugePageAttributes(Pmd); + SetPmd (Pmd, (PTE *)PcdGet64 (PcdInvalidPte)); + HugePageStart =3D Address & PMD_MASK; + HugePageEnd =3D HugePageStart + HUGE_PAGE_SIZE; + ASSERT (HugePageEnd >=3D End); + + if (Address > HugePageStart) { + Status |=3D MemoryMapPteRange (Pmd, HugePageStart, Address, OldAttri= butes); + } + + Status |=3D MemoryMapPteRange (Pmd, Address, End, Attributes); + + if (End < HugePageEnd) { + Status |=3D MemoryMapPteRange (Pmd, End, HugePageEnd, OldAttributes); + } + } + + return Status; +} + /** Establishes a page middle directory based on the specified memory region. =20 @@ -520,10 +592,7 @@ MemoryMapPmdRange ( ) { PMD *Pmd; - PTE *Pte; UINTN Next; - UINTN AddressStart_HugePage; - UINTN AddressEnd_HugePage; =20 Pmd =3D PmdAllocGet (Pud, Address); if (!Pmd) { @@ -534,7 +603,7 @@ MemoryMapPmdRange ( Next =3D PMD_ADDRESS_END (Address, End); if (((Address & (~PMD_MASK)) =3D=3D 0) && ((Next & (~PMD_MASK)) =3D=3D 0) && - (pmd_none (*Pmd))) + (pmd_none (*Pmd) || IS_HUGE_PAGE (Pmd->PmdVal))) { DEBUG ((DEBUG_VERBOSE, "%a %d Address %p PGD_INDEX %p PUD_INDEX %p PMD_INDEX %p MAKE_= HUGE_PTE %p\n", @@ -543,28 +612,7 @@ MemoryMapPmdRange ( =20 SetPmd (Pmd, (PTE *)MAKE_HUGE_PTE (Address, Attributes)); } else { - if ((pmd_none (*Pmd)) || - ((!pmd_none (*Pmd)) && - (!IS_HUGE_PAGE (Pmd->PmdVal)))) - { - if (MemoryMapPteRange (Pmd, Address, Next, Attributes)) { - return EFI_OUT_OF_RESOURCES; - } - } else { - SetPmd (Pmd, (PTE *)PcdGet64 (PcdInvalidPte)); - AddressStart_HugePage =3D Address & PMD_MASK; - AddressEnd_HugePage =3D AddressStart_HugePage + HUGE_PAGE_SIZE; - if (MemoryMapPteRange (Pmd, AddressStart_HugePage, AddressEnd_Hug= ePage, Attributes)) { - return EFI_OUT_OF_RESOURCES; - } - Pte =3D GetPteAddress (AddressStart_HugePage); - if (Pte =3D=3D NULL) { - continue ; - } - if (AddressEnd_HugePage > End) { - Next =3D End; - } - } + ConvertHugePageToPage (Pmd, Address, Next, Attributes); } } while (Pmd++, Address =3D Next, Address !=3D End); =20 @@ -788,6 +836,7 @@ LoongArchSetMemoryAttributes ( Attributes =3D EfiAttributeToLoongArchAttribute (Attributes); DEBUG ((DEBUG_VERBOSE, "%a %d %p %p %p.\n", __func__, __LINE__, BaseAddr= ess , Length, Attributes)); MemoryMapPageRange (BaseAddress, BaseAddress + Length, Attributes); + DEBUG ((DEBUG_VERBOSE, "%a %d end.\n", __func__, __LINE__)); =20 return EFI_SUCCESS; } diff --git a/Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/page.h b/Pla= tform/Loongson/LoongArchQemuPkg/Library/MmuLib/page.h index 84c7c13919..927aeb018d 100644 --- a/Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/page.h +++ b/Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/page.h @@ -42,6 +42,9 @@ #define PFN_MASK (~(((UINTN)(1) << (EFI_PAGE_SH= IFT)) - 1) & \ (((UINTN)(1) << (PAGE_PFN_END= _SHIFT)) - 1)) =20 +#define HUGEP_PAGE_MASK (~(((UINTN)(1) << (PMD_SHIFT))= - 1) & \ + (((UINTN)(1) << (PAGE_PFN_END= _SHIFT)) - 1)) + typedef struct { UINTN PgdVal; } PGD; typedef struct { UINTN PudVal; } PUD; typedef struct { UINTN PmdVal; } PMD; --=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 (#98432): https://edk2.groups.io/g/devel/message/98432 Mute This Topic: https://groups.io/mt/96239134/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- From nobody Tue May 21 16:10:52 2024 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+98433+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+98433+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1673579908; cv=none; d=zohomail.com; s=zohoarc; b=l2GetRHjeo95Yd1nihLibeb236hzY8IvDzkMtOlmOjUDjsT/7dhq/Zuk5iPvCUrLIaWYQrAprT8hjf/+obop1uiM7plMGUABYjC2bFg9/6n6o05PshN43G+YQCPAhJQqm38dV9YwpdqFybBL0C4ArXeNqc1XO0cV46yRYIhrbkk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673579908; 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=k+PtJJbeS/BQiddxKxKNzPAwcaju2s9rQlqeLgfYRXw=; b=i7QWmkhyMI7hNXimH5Xqwrn1R7S8/dWvMuB7/X0HtAIFpN9FickmFhE9UGXgIrABP6/ROle98gxQ5rKhpQ4L8usWOZoFU4EDzlBoGJh909zDXQenO2CePq9GKYI8MSkuURNHcLNQGJBqQg5PmTC/n71yDj5uurInOhmVvpskB6Y= 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+98433+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1673579908916505.9723773800256; Thu, 12 Jan 2023 19:18:28 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id ZGZeYY1788612xl9JkBMivka; Thu, 12 Jan 2023 19:18:28 -0800 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web11.77609.1673579907379790307 for ; Thu, 12 Jan 2023 19:18:28 -0800 X-Received: from loongson.cn (unknown [10.2.5.185]) by gateway (Coremail) with SMTP id _____8BxLuuCzcBjRWABAA--.4311S3; Fri, 13 Jan 2023 11:18:26 +0800 (CST) X-Received: from localhost.localdomain (unknown [10.2.5.185]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Axvr5VzcBjisEYAA--.49868S10; Fri, 13 Jan 2023 11:18:26 +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 V4 8/8] Platform/Loongson: Enable zero address protection. Date: Fri, 13 Jan 2023 11:17:38 +0800 Message-Id: <081f0ac9e3e10898db9f200d435152eb00bd0e75.1673579388.git.lixianglai@loongson.cn> In-Reply-To: References: MIME-Version: 1.0 X-CM-TRANSID: AQAAf8Axvr5VzcBjisEYAA--.49868S10 X-CM-SenderInfo: 5ol0xt5qjotxo6or00hjvr0hdfq/ X-Coremail-Antispam: 1Uk129KBjvJXoWxuryfZr1UJr18WFyUJw1kZrb_yoWrAF4Dpr 4DZas2kr1UJrWjya15J3WUWanrCr9xGr95JrsIgr17C3srX3WDW34Yvay8tr43Zry3ta40 q3y0gw4UZFnYvrJanT9S1TB71UUUUUDqnTZGkaVYY2UrUUUUj1kv1TuYvTs0mT0YCTnIWj qI5I8CrVACY4xI64kE6c02F40Ex7xfYxn0WfASr-VFAUDa7-sFnT9fnUUIcSsGvfJTRUUU bnkFc2x0x2IEx4CE42xK8VAvwI8IcIk0rVWrJVCq3wA2ocxC64kIII0Yj41l84x0c7CEw4 AK67xGY2AK021l84ACjcxK6xIIjxv20xvE14v26F1j6w1UM28EF7xvwVC0I7IYx2IY6xkF 7I0E14v26r4j6F4UM28EF7xvwVC2z280aVAFwI0_Gr1j6F4UJwA2z4x0Y4vEx4A2jsIEc7 CjxVAFwI0_Gr1j6F4UJwAS0I0E0xvYzxvE52x082IY62kv0487Mc804VCY07AIYIkI8VC2 zVCFFI0UMc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VCjz48v1sIEY20_WwAm72CE4IkC6x 0Yz7v_Jr0_Gr1lF7xvr2IYc2Ij64vIr41l42xK82IYc2Ij64vIr41l42xK82IY6x8ErcxF aVAv8VWrMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxV Cjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUAVWUtwCIc40Y0x0EwIxGrwCI42IY 6xIIjxv20xvE14v26F1j6w1UMIIF0xvE2Ix0cI8IcVCY1x0267AKxVW8JVWxJwCI42IY6x AIw20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Cr0_Gr1UMIIF0xvEx4A2jsIE c7CjxVAFwI0_Gr0_Gr1UYxBIdaVFxhVjvjDU0xZFpf9x0zRVWlkUUUUU= 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: IhMjKYdO5zuhe7EjmSXj8xw0x1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1673579908; bh=PG11znOwL+y+HmZrnmXynyIsOuXJ6BQC5G8G1fq13jo=; h=Cc:Date:From:Reply-To:Subject:To; b=Lc8hMdXhwvwR8V/92KS0Uhsm8yKPCBUkzZVXjlhEEpG1LW08Wa6yT3k7EHGzGHNWRaU kbAqVRNFJlA0LpGN5IP3N1yhLdADWYO6EHc2DRsZbpB2Ue2KvegOfywE9Udnh0/8GS6Br FeXXX2PfUQhmHVrhpO88Ji50BTKCtSM0IzM= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1673579909571100021 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 Reviewed-by: Chao 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 (#98433): https://edk2.groups.io/g/devel/message/98433 Mute This Topic: https://groups.io/mt/96239135/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-