public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Nhi Pham" <nhi@os.amperecomputing.com>
To: devel@edk2.groups.io
Cc: Nhi Pham <nhi@os.amperecomputing.com>
Subject: [edk2-platforms][PATCH 27/34] JadePkg: Add Capsule Update support
Date: Wed,  9 Dec 2020 16:25:24 +0700	[thread overview]
Message-ID: <20201209092531.30867-28-nhi@os.amperecomputing.com> (raw)
In-Reply-To: <20201209092531.30867-1-nhi@os.amperecomputing.com>

Wire up the various modules to implement signed capsule update. Also,
add JadeCapsule DSC/FDF files to tweak the capsule build for combining
both ATF binaries and UEFI image into a binary update image.

Please note that the test key for signing the capsule is simply from
EDK2 repository. In production, the product owner needs to handle and
protect the key properly. The test key is found at the following path:
BaseTools/Source/Python/Pkcs7Sign/TestRoot.cer

Per Secure Firmware Update mechanism provided by Ampere Trusted Firmware
(ATF), the update image will be authenticated in the secure world before
being written to flash device. So, the image must be signed with a
firmware update key (DBU key) and place in the Build/Jade directory by
name jade_atfedk2.img.signed. The DBU test key is available under the
Platform/Ampere/TestKeys path.
the Build/Jade directory.

Signed-off-by: Nhi Pham <nhi@os.amperecomputing.com>
---
 Platform/Ampere/JadePkg/Jade.dsc                         | 32 +++++++
 Platform/Ampere/JadePkg/JadeCapsule.dsc                  | 29 +++++++
 Platform/Ampere/JadePkg/Jade.fdf                         | 53 ++++++++++++
 Platform/Ampere/JadePkg/JadeCapsule.fdf                  | 90 ++++++++++++++++++++
 Platform/Ampere/JadePkg/TestKeys/Dbu_AmpereTest.cer.pem  | 25 ++++++
 Platform/Ampere/JadePkg/TestKeys/Dbu_AmpereTest.priv.pem | 28 ++++++
 6 files changed, 257 insertions(+)

diff --git a/Platform/Ampere/JadePkg/Jade.dsc b/Platform/Ampere/JadePkg/Jade.dsc
index 6d2079117377..036971c565e3 100755
--- a/Platform/Ampere/JadePkg/Jade.dsc
+++ b/Platform/Ampere/JadePkg/Jade.dsc
@@ -50,6 +50,16 @@ [Defines]
 #
 ################################################################################
 [LibraryClasses]
+  #
+  # Capsule Update requirements
+  #
+  BmpSupportLib|MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf
+  DisplayUpdateProgressLib|MdeModulePkg/Library/DisplayUpdateProgressLibGraphics/DisplayUpdateProgressLibGraphics.inf
+  CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf
+  EdkiiSystemCapsuleLib|SignedCapsulePkg/Library/EdkiiSystemCapsuleLib/EdkiiSystemCapsuleLib.inf
+  FmpAuthenticationLib|SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf
+  IniParsingLib|SignedCapsulePkg/Library/IniParsingLib/IniParsingLib.inf
+  PlatformFlashAccessLib|Silicon/Ampere/AmpereAltraPkg/Library/PlatformFlashAccessLib/PlatformFlashAccessLib.inf
 
   #
   # RTC Library: Common RTC
@@ -73,6 +83,9 @@ [LibraryClasses]
   #
   PcieBoardLib|Platform/Ampere/JadePkg/Library/Pcie/BoardPcie.inf
 
+[LibraryClasses.common.DXE_RUNTIME_DRIVER]
+  CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.inf
+
 ################################################################################
 #
 # Specific Platform Pcds
@@ -93,6 +106,11 @@ [PcdsFixedAtBuild.common]
   gAmpereTokenSpaceGuid.PcdSmbiosTables1MajorVersion|$(MAJOR_VER)
   gAmpereTokenSpaceGuid.PcdSmbiosTables1MinorVersion|$(MINOR_VER)
 
+  #
+  # Increasing the maximum size of capsule is to cover ARM Trusted Firmware binaries
+  #
+  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizeNonPopulateCapsule|0xE00000
+
 !if $(SECURE_BOOT_ENABLE) == TRUE
   # Override the default values from SecurityPkg to ensure images
   # from all sources are verified in secure boot
@@ -114,6 +132,11 @@ [PcdsDynamicDefault.common.DEFAULT]
   gAmpereTokenSpaceGuid.PcdSmbiosTables1SystemSerialNumber|"0123-4567-89AB-CDEF"
   gAmpereTokenSpaceGuid.PcdSmbiosTables1SystemSkuNumber|"01234567"
 
+[PcdsDynamicExDefault.common.DEFAULT]
+  gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareImageDescriptor|{0x0}|VOID*|0x100
+  gEfiMdeModulePkgTokenSpaceGuid.PcdSystemFmpCapsuleImageTypeIdGuid|{0x31, 0xca, 0x8b, 0xf0, 0x2e, 0x54, 0xea, 0x4c, 0x8b, 0x48, 0x8e, 0x54, 0xf9, 0x42, 0x25, 0x94}
+  gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareFileGuid|{0xed, 0x06, 0x1c, 0x43, 0xe2, 0x4f, 0x8f, 0x43, 0x98, 0xa3, 0xa9, 0xb1, 0xfd, 0x92, 0x30, 0x19}
+
 [PcdsPatchableInModule]
   #
   # Console Resolution (HD mode)
@@ -154,6 +177,15 @@ [Components.common]
   Platform/Ampere/JadePkg/Drivers/SmbiosCpuDxe/SmbiosCpuDxe.inf
   Platform/Ampere/JadePkg/Drivers/SmbiosMemInfoDxe/SmbiosMemInfoDxe.inf
 
+  #
+  # Firmware Capsule Update
+  #
+  Platform/Ampere/JadePkg/Capsule/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf
+  MdeModulePkg/Universal/EsrtDxe/EsrtDxe.inf
+  SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareReportDxe.inf
+  SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareUpdateDxe.inf
+  MdeModulePkg/Application/CapsuleApp/CapsuleApp.inf
+
   #
   # HII
   #
diff --git a/Platform/Ampere/JadePkg/JadeCapsule.dsc b/Platform/Ampere/JadePkg/JadeCapsule.dsc
new file mode 100755
index 000000000000..933c4cf5144b
--- /dev/null
+++ b/Platform/Ampere/JadePkg/JadeCapsule.dsc
@@ -0,0 +1,29 @@
+## @file
+#
+# Copyright (c) 2020, Ampere Computing LLC. All rights reserved.<BR>
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+################################################################################
+#
+# Defines Section - statements that will be processed to create a Makefile.
+#
+################################################################################
+[Defines]
+  PLATFORM_NAME                  = Jade
+  PLATFORM_GUID                  = 34C87B13-434A-4767-88FB-2D0CD2AED46F
+  PLATFORM_VERSION               = 0.1
+  DSC_SPECIFICATION              = 0x0001001B
+  OUTPUT_DIRECTORY               = Build/Jade
+  SUPPORTED_ARCHITECTURES        = AARCH64
+  BUILD_TARGETS                  = DEBUG|RELEASE
+  SKUID_IDENTIFIER               = DEFAULT
+  FLASH_DEFINITION               = Platform/Ampere/JadePkg/JadeCapsule.fdf
+
+  #
+  # Defines for default states.  These can be changed on the command line.
+  # -D FLAG=VALUE
+  #
+  DEFINE UEFI_ATF_IMAGE          = Build/Jade/jade_atfedk2.img.signed
diff --git a/Platform/Ampere/JadePkg/Jade.fdf b/Platform/Ampere/JadePkg/Jade.fdf
index 2cf2678e1d76..636376ac9cb1 100755
--- a/Platform/Ampere/JadePkg/Jade.fdf
+++ b/Platform/Ampere/JadePkg/Jade.fdf
@@ -188,6 +188,8 @@ [FV.FV_PEI]
 
   INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
 
+  INF RuleOverride = FMP_IMAGE_DESC Platform/Ampere/JadePkg/Capsule/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf
+
 [FV.FvMain]
 BlockSize          = 0x40000
 NumBlocks          = 0x18
@@ -370,6 +372,17 @@ [FV.FvMain]
   INF Platform/Ampere/JadePkg/Drivers/SmbiosCpuDxe/SmbiosCpuDxe.inf
   INF Platform/Ampere/JadePkg/Drivers/SmbiosMemInfoDxe/SmbiosMemInfoDxe.inf
 
+  #
+  # Firmware Capsule Update
+  #
+  INF  MdeModulePkg/Universal/EsrtDxe/EsrtDxe.inf
+  INF  SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareReportDxe.inf
+
+  FILE FREEFORM = PCD(gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiPkcs7TestPublicKeyFileGuid) {
+      SECTION RAW = BaseTools/Source/Python/Pkcs7Sign/TestRoot.cer
+      SECTION UI = "Pkcs7TestRoot"
+      }
+
   #
   # HII
   #
@@ -378,4 +391,44 @@ [FV.FvMain]
   INF Silicon/Ampere/AmpereAltraPkg/Drivers/CpuConfigDxe/CpuConfigDxe.inf
   INF Silicon/Ampere/AmpereAltraPkg/Drivers/AcpiConfigDxe/AcpiConfigDxe.inf
 
+[FV.SystemFirmwareDescriptor]
+FvAlignment        = 8
+ERASE_POLARITY     = 1
+MEMORY_MAPPED      = TRUE
+STICKY_WRITE       = TRUE
+LOCK_CAP           = TRUE
+LOCK_STATUS        = TRUE
+WRITE_DISABLED_CAP = TRUE
+WRITE_ENABLED_CAP  = TRUE
+WRITE_STATUS       = TRUE
+WRITE_LOCK_CAP     = TRUE
+WRITE_LOCK_STATUS  = TRUE
+READ_DISABLED_CAP  = TRUE
+READ_ENABLED_CAP   = TRUE
+READ_STATUS        = TRUE
+READ_LOCK_CAP      = TRUE
+READ_LOCK_STATUS   = TRUE
+
+  INF RuleOverride = FMP_IMAGE_DESC Platform/Ampere/JadePkg/Capsule/SystemFirmwareDescriptor/SystemFirmwareDescriptor.inf
+
+[FV.CapsuleDispatchFv]
+FvAlignment        = 8
+ERASE_POLARITY     = 1
+MEMORY_MAPPED      = TRUE
+STICKY_WRITE       = TRUE
+LOCK_CAP           = TRUE
+LOCK_STATUS        = TRUE
+WRITE_DISABLED_CAP = TRUE
+WRITE_ENABLED_CAP  = TRUE
+WRITE_STATUS       = TRUE
+WRITE_LOCK_CAP     = TRUE
+WRITE_LOCK_STATUS  = TRUE
+READ_DISABLED_CAP  = TRUE
+READ_ENABLED_CAP   = TRUE
+READ_STATUS        = TRUE
+READ_LOCK_CAP      = TRUE
+READ_LOCK_STATUS   = TRUE
+
+  INF  SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareUpdateDxe.inf
+
 !include Platform/Ampere/FvRules.fdf.inc
diff --git a/Platform/Ampere/JadePkg/JadeCapsule.fdf b/Platform/Ampere/JadePkg/JadeCapsule.fdf
new file mode 100755
index 000000000000..28872d5751b8
--- /dev/null
+++ b/Platform/Ampere/JadePkg/JadeCapsule.fdf
@@ -0,0 +1,90 @@
+## @file
+#
+# Copyright (c) 2020, Ampere Computing LLC. All rights reserved.<BR>
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+################################################################################
+#
+# FD Section
+# The [FD] Section is made up of the definition statements and a
+# description of what goes into  the Flash Device Image.  Each FD section
+# defines one flash "device" image.  A flash device image may be one of
+# the following: Removable media bootable image (like a boot floppy
+# image,) an Option ROM image (that would be "flashed" into an add-in
+# card,) a System "Flash"  image (that would be burned into a system's
+# flash) or an Update ("Capsule") image that will be used to update and
+# existing system flash.
+#
+################################################################################
+
+[FD.JADE_FIRMWARE_CAPSULE]
+BaseAddress   = 0x00000000  # The base address of the Firmware in NOR Flash.
+Size          = 0x00D10000  # The size in bytes of the FLASH Device
+ErasePolarity = 1
+
+0x00000000|0x00010000
+FILE = $(WORKSPACE)/$(OUTPUT_DIRECTORY)/$(TARGET)_$(TOOL_CHAIN_TAG)/FV/SYSTEMFIRMWAREDESCRIPTOR.Fv
+
+0x00010000|0x00D00000
+FILE = $(UEFI_ATF_IMAGE)
+
+################################################################################
+#
+# FV Section
+#
+# [FV] section is used to define what components or modules are placed within a flash
+# device file.  This section also defines order the components and modules are positioned
+# within the image.  The [FV] section consists of define statements, set statements and
+# module statements.
+#
+################################################################################
+
+[FV.SystemFirmwareUpdateCargo]
+FvAlignment        = 16
+ERASE_POLARITY     = 1
+MEMORY_MAPPED      = TRUE
+STICKY_WRITE       = TRUE
+LOCK_CAP           = TRUE
+LOCK_STATUS        = TRUE
+WRITE_DISABLED_CAP = TRUE
+WRITE_ENABLED_CAP  = TRUE
+WRITE_STATUS       = TRUE
+WRITE_LOCK_CAP     = TRUE
+WRITE_LOCK_STATUS  = TRUE
+READ_DISABLED_CAP  = TRUE
+READ_ENABLED_CAP   = TRUE
+READ_STATUS        = TRUE
+READ_LOCK_CAP      = TRUE
+READ_LOCK_STATUS   = TRUE
+
+FILE RAW = 431C06ED-4FE2-438F-98A3-A9B1FD923019 { # PcdEdkiiSystemFirmwareFileGuid
+    FD = JADE_FIRMWARE_CAPSULE
+  }
+
+FILE RAW = ce57b167-b0e4-41e8-a897-5f4feb781d40 { # gEdkiiSystemFmpCapsuleDriverFvFileGuid
+    $(WORKSPACE)/$(OUTPUT_DIRECTORY)/$(TARGET)_$(TOOL_CHAIN_TAG)/FV/CAPSULEDISPATCHFV.Fv
+  }
+
+FILE RAW = 812136D3-4D3A-433A-9418-29BB9BF78F6E { # gEdkiiSystemFmpCapsuleConfigFileGuid
+    Platform/Ampere/JadePkg/Capsule/SystemFirmwareUpdateConfig/SystemFirmwareUpdateConfig.ini
+  }
+
+[FmpPayload.FmpPayloadSystemFirmwarePkcs7]
+IMAGE_HEADER_INIT_VERSION = 0x02
+IMAGE_TYPE_ID             = f08bca31-542e-4cea-8b48-8e54f9422594 # PcdSystemFmpCapsuleImageTypeIdGuid
+IMAGE_INDEX               = 0x1
+HARDWARE_INSTANCE         = 0x0
+MONOTONIC_COUNT           = 0x1
+CERTIFICATE_GUID          = 4AAFD29D-68DF-49EE-8AA9-347D375665A7 # PKCS7
+
+FV = SystemFirmwareUpdateCargo
+
+[Capsule.JadeFirmwareUpdateCapsuleFmpPkcs7]
+CAPSULE_GUID                = 6dcbd5ed-e82d-4c44-bda1-7194199ad92a # gEfiFmpCapsuleGuid
+CAPSULE_HEADER_SIZE         = 0x20
+CAPSULE_HEADER_INIT_VERSION = 0x1
+
+FMP_PAYLOAD = FmpPayloadSystemFirmwarePkcs7
diff --git a/Platform/Ampere/JadePkg/TestKeys/Dbu_AmpereTest.cer.pem b/Platform/Ampere/JadePkg/TestKeys/Dbu_AmpereTest.cer.pem
new file mode 100755
index 000000000000..af13a6de307c
--- /dev/null
+++ b/Platform/Ampere/JadePkg/TestKeys/Dbu_AmpereTest.cer.pem
@@ -0,0 +1,25 @@
+-----BEGIN CERTIFICATE-----
+MIIEHzCCAwegAwIBAgIJANC2pw7xG4tpMA0GCSqGSIb3DQEBCwUAMIGlMQswCQYD
+VQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEUMBIGA1UEBwwLU2FudGEgQ2xh
+cmExGzAZBgNVBAoMEkFwcGxpZWQgTWljcm8gQ29ycDEWMBQGA1UECwwNU29mdHdh
+cmUgRGVwdDEVMBMGA1UEAwwMQVBNIFNvZnR3YXJlMR8wHQYJKoZIhvcNAQkBFhB0
+dG5ndXllbkBhcG0uY29tMB4XDTE3MTAxMDIxNDgyNloXDTE3MTEwOTIxNDgyNlow
+gaUxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRQwEgYDVQQHDAtT
+YW50YSBDbGFyYTEbMBkGA1UECgwSQXBwbGllZCBNaWNybyBDb3JwMRYwFAYDVQQL
+DA1Tb2Z0d2FyZSBEZXB0MRUwEwYDVQQDDAxBUE0gU29mdHdhcmUxHzAdBgkqhkiG
+9w0BCQEWEHR0bmd1eWVuQGFwbS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
+ggEKAoIBAQDFRhbF5xAtFPHfzyPOMAJP3IAvV9Z9Wm7EpkS2+RzBXui8IyeXoLhp
+jj+cd5oXkRRCXBxrTt72J2Unr7hPyZT9gPSNb+Zfaf5J3tEbAbjUAa8ziCddbKFc
+H7uCICih0rQvH06UFbZoxOS58Wd/orZWlwbyeTWwxRervHApre5ywSJYqsmtGETu
+v7Bzm1Vu+CXFrrcBTfEq40Z9P88TSo0nY1zA28aG7H4cG2JwPTsB9KzxSa5prycI
+Xvp+lzXuOz+PDwgHdRtS48je6jEFrDfjNHH0drlBgm2/9CB3tBoQ1MatA9+FdiRu
+mdyMlLjfuSNF1e1Y//dTKsj78BSYNpOFAgMBAAGjUDBOMB0GA1UdDgQWBBSUgaqU
+W7QR+GznJh68YTtaqlfg6zAfBgNVHSMEGDAWgBSUgaqUW7QR+GznJh68YTtaqlfg
+6zAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBLUKPnipzWpOY0RZVZ
+9UV9aTnU+iF3sQRUB9YRfGQY1yRA7l8HZc/FGFUF2Lhhz89jGd8NRiP09boNlBDD
+YwppO4TdU82zvazCd6X/tI6r3v14CDIjh3yQ1et88VyqDQ7bM88kEdRH2zTbmHKg
+kTGLSowt06EWBv02WdLhTde2pnjKwU7K8CLdBLlw1ZsQPoFcWxprO1bOtj/pmfQS
+OSxKt7D6Pv0szcLzP4XX1YaLcxYHhZ0/bBWeFVzUY/KNEAL/NWakPDJxSmulZHzg
+aFKGfsmiYdVVBJUFfEIm3l/HLgfjAtJQcHZeLJ9TFVl0yiNfiG4fYPxBxxC4gSgS
+OxGb
+-----END CERTIFICATE-----
diff --git a/Platform/Ampere/JadePkg/TestKeys/Dbu_AmpereTest.priv.pem b/Platform/Ampere/JadePkg/TestKeys/Dbu_AmpereTest.priv.pem
new file mode 100755
index 000000000000..1c67bcd9d75c
--- /dev/null
+++ b/Platform/Ampere/JadePkg/TestKeys/Dbu_AmpereTest.priv.pem
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDFRhbF5xAtFPHf
+zyPOMAJP3IAvV9Z9Wm7EpkS2+RzBXui8IyeXoLhpjj+cd5oXkRRCXBxrTt72J2Un
+r7hPyZT9gPSNb+Zfaf5J3tEbAbjUAa8ziCddbKFcH7uCICih0rQvH06UFbZoxOS5
+8Wd/orZWlwbyeTWwxRervHApre5ywSJYqsmtGETuv7Bzm1Vu+CXFrrcBTfEq40Z9
+P88TSo0nY1zA28aG7H4cG2JwPTsB9KzxSa5prycIXvp+lzXuOz+PDwgHdRtS48je
+6jEFrDfjNHH0drlBgm2/9CB3tBoQ1MatA9+FdiRumdyMlLjfuSNF1e1Y//dTKsj7
+8BSYNpOFAgMBAAECggEBALOx2XKhvFFkX8Kfm5zojGKUl0sItv9uTbHhRnxpRHE7
+88HUP+9VXkYAZh8vrvRCmfKsltKEgII2dmUFIl3DYGzed2UShgVptlExnsX79pFf
+i2jkX/8wwXb6DMJGatyk4q591QT9FjAvEa3yoHVaEL+lSJW8JVUE4z/zITRGFAsA
+GqZ6DaGDuOXbtDXn3gtVg39VkaX7YbuZZBoQsjeQx/2+2/Pcg4/SjwCpPRcWYSwd
+2AFp4eM7ZEQh/85i85VfRXu1064X6h/jQn9B6OprqlIAvgwKWkyNGM7nPjBDJvVJ
+q/IrMWrhLTcJMynbdE6BBtHsokzEkdAfHLk4hJgZVqECgYEA50I+3D/56JFcOH6Y
+ATnmgmAUrc7TYy4kJdIwIJNCk2zeo4B1wgTeZRoUg6+Qt3Sy2jNlhoylXeFKOasQ
+j9IAh9SkzkcG0HLqVHqVVa5DJDkG0ZInt+HwaIpvVtLqtI036q4tIzlP2zRi3use
+z0LGRN7Aan4aOFMFfS6HbXM5q/kCgYEA2mEOjHtjfJ57kqzNNeRssn4P3/Q6s+aC
+1/mSnr1KM7RW8VtcieHKll4VTkGWYXdQTwMP9sQUOK1EDb6ICLxrl6JrooC89N+Z
+hfIzR0tVARkFxC344sSaAPAZX5UuFvaIZPyS8F2vreCxvSSFnraiY29rKBUZYACv
+s89XgBrwzu0CgYBuIFzg89JljvtUp+xpARKlWW3fixOdMnbiT+K9UIMuw3SOdfkd
+6MWjbbUBNNT8mCUnxbv+Q/Hn8AYxyiW752x7Qqcs2CQFlgPDMRD2WWL91+5IVIp3
+ha+/iNUWiqBcVLehGUrDcGJ3582BjIQCfTD/0Pfefqir09VUVJkHZQy8uQKBgEN7
+kp9e0dOEtfMRayioOd6+jfFK64kERpKvENv06qUnqWZUMTh6ibwFvte79NiRokOI
+UrqSxRzujgUhR7BLaYQmMNS6q6mQH0UBH098u/vm251QB4Ur89suVujulJuL+4IZ
+et7EVLGKqeIlExWEopHPsHFmc7zy+Vi7TfLMYHXRAoGBAK/Ccp2sFanC16XEXzFT
+vwae/XjBYGzvCy+PihwF0DgxuYxg46cLjflO8Q27JbM1H0VJpT7KDQtspvH9G38v
+bWmRbngWjCX9FmIzEc3eFJzutLQZxu8I51gHRzwIzwkD7gYBCVsWqahnf5bK/LRO
+5MLVdsdNuor2VKVw3IBYEQnQ
+-----END PRIVATE KEY-----
-- 
2.17.1


  parent reply	other threads:[~2020-12-09  9:24 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-09  9:24 [edk2-platforms][PATCH 00/34] Add new Ampere Mt. Jade platform Nhi Pham
2020-12-09  9:24 ` [edk2-platforms][PATCH 01/34] Initial support for Ampere Altra and " Nhi Pham
2021-01-07 23:57   ` [edk2-devel] " Leif Lindholm
2021-01-15  4:59     ` Vu Nguyen
2020-12-09  9:24 ` [edk2-platforms][PATCH 02/34] Platform/Ampere: Implement FailSafe library Nhi Pham
2020-12-09  9:25 ` [edk2-platforms][PATCH 03/34] Platform/Ampere: Add FailSafe and WDT support Nhi Pham
2020-12-09  9:25 ` [edk2-platforms][PATCH 04/34] AmpereAltraPkg: Implement GpioLib and I2cLib modules Nhi Pham
2020-12-09  9:25 ` [edk2-platforms][PATCH 05/34] JadePkg: Implement RealTimeClockLib for PCF85063 Nhi Pham
2020-12-09  9:25 ` [edk2-platforms][PATCH 06/34] Platform/Ampere: Add AcpiPccLib to support ACPI PCCT Table Nhi Pham
2020-12-09  9:25 ` [edk2-platforms][PATCH 07/34] Platform/Ampere: Add AcpiHelperLib to update ACPI DSDT table Nhi Pham
2020-12-09  9:25 ` [edk2-platforms][PATCH 08/34] JadePkg: Initial support for static ACPI tables Nhi Pham
2020-12-09  9:25 ` [edk2-platforms][PATCH 09/34] JadePkg: Install some ACPI tables at runtime Nhi Pham
2020-12-09  9:25 ` [edk2-platforms][PATCH 10/34] Silicon/Ampere: Support Non Volatile storage for Variable service Nhi Pham
2020-12-09  9:25 ` [edk2-platforms][PATCH 11/34] Silicon/Ampere: Support PlatformManagerUiLib Nhi Pham
2020-12-09  9:25 ` [edk2-platforms][PATCH 12/34] AmpereAltraPkg: Add PcieCore Library Nhi Pham
2020-12-09  9:25 ` [edk2-platforms][PATCH 13/34] AmpereAltraPkg: Add PciHostBridge driver Nhi Pham
2020-12-09  9:25 ` [edk2-platforms][PATCH 14/34] JadePkg: Add implementation for PcieBoardLib Nhi Pham
2020-12-09  9:25 ` [edk2-platforms][PATCH 15/34] JadePkg: Enable PCIe support Nhi Pham
2020-12-09  9:25 ` [edk2-platforms][PATCH 16/34] JadePkg: Add ASpeed GOP driver Nhi Pham
2020-12-09  9:25 ` [edk2-platforms][PATCH 17/34] Silicon/Ampere: Add Random Number Generator Support Nhi Pham
2020-12-09  9:25 ` [edk2-platforms][PATCH 18/34] Silicon/Ampere: Fixup runtime memory attribute Nhi Pham
2020-12-09  9:25 ` [edk2-platforms][PATCH 19/34] JadePkg: Add SMBIOS tables support Nhi Pham
2020-12-09  9:25 ` [edk2-platforms][PATCH 20/34] AmpereAltraPkg: Add DebugInfoPei module Nhi Pham
2020-12-09  9:25 ` [edk2-platforms][PATCH 21/34] Silicon/Ampere: Add platform info screen Nhi Pham
2020-12-09  9:25 ` [edk2-platforms][PATCH 22/34] Silicon/Ampere: Add Memory " Nhi Pham
2020-12-09  9:25 ` [edk2-platforms][PATCH 23/34] AmpereAltraPkg: Add CPU Configuration for SubNUMA Nhi Pham
2020-12-09  9:25 ` [edk2-platforms][PATCH 24/34] AmpereAltraPkg: Add ACPI configuration screen Nhi Pham
2020-12-09  9:25 ` [edk2-platforms][PATCH 25/34] AmpereAltraPkg: Implement PlatformFlashAccessLib instance Nhi Pham
2020-12-09  9:25 ` [edk2-platforms][PATCH 26/34] JadePkg: Add implementation for UEFI Capsule Update Nhi Pham
2020-12-09  9:25 ` Nhi Pham [this message]
2020-12-09  9:25 ` [edk2-platforms][PATCH 28/34] Silicon/Ampere: Implement PlatformBootManagerLib for LinuxBoot Nhi Pham
2020-12-09  9:25 ` [edk2-platforms][PATCH 29/34] Platform/Ampere: Add LinuxBoot image Nhi Pham
2020-12-10 12:40   ` [edk2-devel] " Leif Lindholm
2020-12-11  2:38     ` Nhi Pham
2020-12-11 11:15       ` Leif Lindholm
2020-12-09  9:25 ` [edk2-platforms][PATCH 30/34] JadePkg: Support LinuxBoot DSC/FDF build for Jade platform Nhi Pham
2020-12-09  9:25 ` [edk2-platforms][PATCH 31/34] AmpereAltraPkg: Add BootProgress support Nhi Pham
2020-12-09  9:25 ` [edk2-platforms][PATCH 32/34] JadePkg: Add ACPI/APEI tables Nhi Pham
2020-12-09  9:25 ` [edk2-platforms][PATCH 33/34] Platform/Ampere: Add AcpiApeiLib Nhi Pham
2020-12-09  9:25 ` [edk2-platforms][PATCH 34/34] AmpereAltraPkg, JadePkg: Add RAS setting screen Nhi Pham

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201209092531.30867-28-nhi@os.amperecomputing.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox