From nobody Mon Feb 9 20:36:07 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+98418+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+98418+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1673575534; cv=none; d=zohomail.com; s=zohoarc; b=hEQ5xn2pii2fuKkDJvoAd1zlhkKoRjBx4ZvwqmrKGEwSVZVTVbogcDZ1qy4Kf/y5LL5APrfhsinQ6qhHOuo2untEPe9xBfj3VMFW2mIE1qK4xCyZnkacIVh0UpnnHT2+pRZ/bZkRi4oh+dNPT+UHOt+mgfSqwE5hURJmKSiO4Uc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673575534; 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=4pFGQtZ83NlW1n/sf8ICULvSD9hxteGwao4UPg5jQpE=; b=FrnjXdx2TF0pqWuNmmMv2A44LMtJD5A30Zk6exBdtpyacq20wdG55qcYvMiwK8P55vulnYxSb9X+ggiUkSD9K0RkwvU+COHUT+5p9128D8e/ujE+kDtOOK1u4DMo/TmLxT4hrUwtQZZWq3HfjOp5nrI15Rkab3LmtdnZ8ssSgtI= 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+98418+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1673575534692872.4713975037128; Thu, 12 Jan 2023 18:05:34 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id 293pYY1788612xb3yQGBaNJQ; Thu, 12 Jan 2023 18:05:34 -0800 X-Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web10.76124.1673575533105431433 for ; Thu, 12 Jan 2023 18:05:33 -0800 X-Received: from loongson.cn (unknown [10.2.5.185]) by gateway (Coremail) with SMTP id _____8CxPutrvMBjd14BAA--.4116S3; Fri, 13 Jan 2023 10:05:31 +0800 (CST) X-Received: from localhost.localdomain (unknown [10.2.5.185]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxnb5ZvMBjTroYAA--.49812S6; Fri, 13 Jan 2023 10:05:31 +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 V3 4/8] Platform/Loongson: Support pflash for loongarch. Date: Fri, 13 Jan 2023 10:05:08 +0800 Message-Id: <4f62c7b4e26a1a796c019e870669c989824cda8d.1673573841.git.lixianglai@loongson.cn> In-Reply-To: References: MIME-Version: 1.0 X-CM-TRANSID: AQAAf8Cxnb5ZvMBjTroYAA--.49812S6 X-CM-SenderInfo: 5ol0xt5qjotxo6or00hjvr0hdfq/ X-Coremail-Antispam: 1Uk129KBjvJXoW3Gr1fuw4kJFWkGry8GrW3ZFb_yoW3Jr4Upw 4UJanakr1kJr45ta15X34qqF1Sya4akwn8Jw4jqr18Ca4kJan5Cw15t3W5Gry7Zry7Ja40 gr409w4jgF1vvw7anT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUj1kv1TuYvTs0mT0YCTnIWj qI5I8CrVACY4xI64kE6c02F40Ex7xfYxn0WfASr-VFAUDa7-sFnT9fnUUIcSsGvfJTRUUU b0AFc2x0x2IEx4CE42xK8VAvwI8IcIk0rVWrJVCq3wA2ocxC64kIII0Yj41l84x0c7CEw4 AK67xGY2AK021l84ACjcxK6xIIjxv20xvE14v26ryj6F1UM28EF7xvwVC0I7IYx2IY6xkF 7I0E14v26r4j6F4UM28EF7xvwVC2z280aVAFwI0_Cr0_Gr1UM28EF7xvwVC2z280aVCY1x 0267AKxVW8JVW8Jr1le2I262IYc4CY6c8Ij28IcVAaY2xG8wAqjxCEc2xF0cIa020Ex4CE 44I27wAqx4xG64xvF2IEw4CE5I8CrVC2j2WlYx0E74AGY7Cv6cx26rWlOx8S6xCaFVCjc4 AY6r1j6r4UM4x0Y48IcxkI7VAKI48JMxAIw28IcxkI7VAKI48JMxAIw28IcVCjz48v1sIE Y20_WwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v26r1j6r18MI8I3I0E74 80Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_JF0_Jw1lIxkGc2Ij64vIr41lIxAIcVC0 I7IYx2IY67AKxVW8JVW5JwCI42IY6xIIjxv20xvEc7CjxVAFwI0_Gr0_Cr1lIxAIcVCF04 k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r4j6F4UMIIF0xvEx4A2jsIEc7Cj xVAFwI0_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: m5EdOa9bcyHCJTfq3ATKuxx3x1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1673575534; bh=nfaoaGk3we8EpYLFQkGIN0o/bceEUWmUeJIsMmSElbU=; h=Cc:Date:From:Reply-To:Subject:To; b=UfrDnZGs2n5N0g9xHYu403c124IB/Z8dwSIofkcAtGG48vJVmqbnUBgyCOjIukAzR5u SYXvuIh9GMMfsuk94/fXmgYPN7wbqYHVexHVWvH39MXJmFdKPCOMsk5Cx5x2MhjrQl1Ys DUTvIBu++Lpp8XQWr1u88HFss4up93ecd6M= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1673575536769100002 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 --- .../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 (#98418): https://edk2.groups.io/g/devel/message/98418 Mute This Topic: https://groups.io/mt/96238013/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-