public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-devel] [PATCH v1 0/1] Sophgo/SG2042Pkg: Disable Sstc feature
@ 2024-01-12 14:16 caiyuqing_hz
  2024-01-12 14:16 ` [edk2-devel] [PATCH v1 1/1] Sophgo/SG2042Pkg: Override Sstc extension caiyuqing_hz
  2024-01-12 14:27 ` [edk2-devel] [PATCH v1 0/1] Sophgo/SG2042Pkg: Disable Sstc feature caiyuqing379
  0 siblings, 2 replies; 4+ messages in thread
From: caiyuqing_hz @ 2024-01-12 14:16 UTC (permalink / raw)
  To: devel; +Cc: Sunil V L, USER0FISH

From: caiyuqing379 <caiyuqing_hz@outlook.com>

By default the Sstc feature is enabled and Sophgo SG2042 platform need
to set the PCD to disable the feature because Sstc is not supported.

Cc: dahogn <dahogn@hotmail.com>
Cc: meng-cz <mengcz1126@gmail.com>
Cc: USER0FISH <libing1202@outlook.com>
Cc: Sunil V L <sunilvl@ventanamicro.com>
Signed-off-by: caiyuqing379 <caiyuqing_hz@outlook.com>

caiyuqing379 (1):
  Sophgo/SG2042Pkg: Override Sstc extension

 Platform/Sophgo/SG2042_EVB_Board/SG2042.dsc | 1117 ++++++++++----------
 1 file changed, 559 insertions(+), 558 deletions(-)

--
2.34.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113766): https://edk2.groups.io/g/devel/message/113766
Mute This Topic: https://groups.io/mt/103689727/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 4+ messages in thread

* [edk2-devel] [PATCH v1 1/1] Sophgo/SG2042Pkg: Override Sstc extension
  2024-01-12 14:16 [edk2-devel] [PATCH v1 0/1] Sophgo/SG2042Pkg: Disable Sstc feature caiyuqing_hz
@ 2024-01-12 14:16 ` caiyuqing_hz
  2024-01-12 14:27   ` caiyuqing379
  2024-01-12 14:27 ` [edk2-devel] [PATCH v1 0/1] Sophgo/SG2042Pkg: Disable Sstc feature caiyuqing379
  1 sibling, 1 reply; 4+ messages in thread
From: caiyuqing_hz @ 2024-01-12 14:16 UTC (permalink / raw)
  To: devel; +Cc: Sunil V L, USER0FISH

From: caiyuqing379 <caiyuqing_hz@outlook.com>

Override Sstc extension and use SBI calls itself by default for RISC-V
Sophgo SG2042 platform.

Cc: dahogn <dahogn@hotmail.com>
Cc: meng-cz <mengcz1126@gmail.com>
Cc: USER0FISH <libing1202@outlook.com>
Cc: Sunil V L <sunilvl@ventanamicro.com>
Signed-off-by: caiyuqing379 <caiyuqing_hz@outlook.com>
---
 Platform/Sophgo/SG2042_EVB_Board/SG2042.dsc | 1117 ++++++++++----------
 1 file changed, 559 insertions(+), 558 deletions(-)

diff --git a/Platform/Sophgo/SG2042_EVB_Board/SG2042.dsc b/Platform/Sophgo/SG2042_EVB_Board/SG2042.dsc
index 3bbaeca16970..230885a61d14 100644
--- a/Platform/Sophgo/SG2042_EVB_Board/SG2042.dsc
+++ b/Platform/Sophgo/SG2042_EVB_Board/SG2042.dsc
@@ -1,558 +1,559 @@
-## @file
-#  RISC-V EFI on Sophgo SG2042 EVB RISC-V platform
-#
-#  Copyright (c) 2023, Academy of Intelligent Innovation, Shandong Universiy, China.P.R. 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                  = SG2042_EVB
-  PLATFORM_GUID                  = 8014637B-6999-4110-9762-464BE11E935F
-  PLATFORM_VERSION               = 0.1
-  DSC_SPECIFICATION              = 0x0001001c
-  OUTPUT_DIRECTORY               = Build/$(PLATFORM_NAME)
-  SUPPORTED_ARCHITECTURES        = RISCV64
-  BUILD_TARGETS                  = DEBUG|RELEASE|NOOPT
-  SKUID_IDENTIFIER               = DEFAULT
-  FLASH_DEFINITION               = Platform/Sophgo/SG2042_EVB_Board/SG2042.fdf
-
-  #
-  # Enable below options may cause build error or may not work on
-  # the initial version of RISC-V package
-  # Defines for default states.  These can be changed on the command line.
-  # -D FLAG=VALUE
-  #
-  DEFINE SECURE_BOOT_ENABLE      = FALSE
-  DEFINE DEBUG_ON_SERIAL_PORT    = TRUE
-
-  #
-  # Network definition
-  #
-  DEFINE NETWORK_SNP_ENABLE       = FALSE
-  DEFINE NETWORK_IP6_ENABLE       = FALSE
-  DEFINE NETWORK_TLS_ENABLE       = FALSE
-  DEFINE NETWORK_HTTP_BOOT_ENABLE = FALSE
-  DEFINE NETWORK_ISCSI_ENABLE     = FALSE
-
-[BuildOptions]
-  GCC:RELEASE_*_*_CC_FLAGS       = -DMDEPKG_NDEBUG
-!ifdef $(SOURCE_DEBUG_ENABLE)
-  GCC:*_*_RISCV64_GENFW_FLAGS    = --keepexceptiontable
-!endif
-
-################################################################################
-#
-# SKU Identification section - list of all SKU IDs supported by this Platform.
-#
-################################################################################
-[SkuIds]
-  0|DEFAULT
-
-################################################################################
-#
-# Library Class section - list of all Library Classes needed by this Platform.
-#
-################################################################################
-
-!include MdePkg/MdeLibs.dsc.inc
-
-[LibraryClasses]
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
-  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
-  SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
-  CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
-  PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
-  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
-  CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
-  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
-  UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
-  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
-  CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
-  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
-  DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
-  PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
-  PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
-  PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
-  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
-  OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
-  SerialPortLib|MdePkg/Library/BaseSerialPortLibRiscVSbiLib/BaseSerialPortLibRiscVSbiLibRam.inf
-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
-  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
-  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
-  UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
-  DevicePathLib|MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibDevicePathProtocol.inf
-  FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
-  SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
-  UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
-  CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
-  SortLib|MdeModulePkg/Library/BaseSortLib/BaseSortLib.inf
-  ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
-  UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
-  FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
-  VariableFlashInfoLib|MdeModulePkg/Library/BaseVariableFlashInfoLib/BaseVariableFlashInfoLib.inf
-  VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf
-  ImagePropertiesRecordLib|MdeModulePkg/Library/ImagePropertiesRecordLib/ImagePropertiesRecordLib.inf
-
-!ifdef $(SOURCE_DEBUG_ENABLE)
-  PeCoffExtraActionLib|SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf
-  DebugCommunicationLib|SourceLevelDebugPkg/Library/DebugCommunicationLibSerialPort/DebugCommunicationLibSerialPort.inf
-!else
-  PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
-  DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
-!endif
-
-  DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
-
-!if $(SECURE_BOOT_ENABLE) == TRUE
-  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
-  OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
-  TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf
-  AuthVariableLib|SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf
-  SecureBootVariableLib|SecurityPkg/Library/SecureBootVariableLib/SecureBootVariableLib.inf
-  SecureBootVariableProvisionLib|SecurityPkg/Library/SecureBootVariableProvisionLib/SecureBootVariableProvisionLib.inf
-  PlatformPKProtectionLib|SecurityPkg/Library/PlatformPKProtectionLibVarPolicy/PlatformPKProtectionLibVarPolicy.inf
-!else
-  TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
-  AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
-!endif
-  VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
-
-!if $(HTTP_BOOT_ENABLE) == TRUE
-  HttpLib|MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf
-!endif
-
-  # ACPI not supported yet.
-  # S3BootScriptLib|MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf
-  SmbusLib|MdePkg/Library/BaseSmbusLibNull/BaseSmbusLibNull.inf
-  OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
-
-[LibraryClasses.common]
-!if $(SECURE_BOOT_ENABLE) == TRUE
-  BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
-!endif
-
-  # RISC-V Architectural Libraries
-  RiscVSbiLib|MdePkg/Library/BaseRiscVSbiLib/BaseRiscVSbiLib.inf
-  RiscVMmuLib|UefiCpuPkg/Library/BaseRiscVMmuLib/BaseRiscVMmuLib.inf
-  CpuExceptionHandlerLib|UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/BaseRiscV64CpuExceptionHandlerLib.inf
-
-  TimerLib|UefiCpuPkg/Library/BaseRiscV64CpuTimerLib/BaseRiscV64CpuTimerLib.inf
-  TimeBaseLib|EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.inf
-  RealTimeClockLib|EmbeddedPkg//Library/VirtualRealTimeClockLib/VirtualRealTimeClockLib.inf
-
-  # Flattened Device Tree (FDT) access library
-  FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
-
-[LibraryClasses.common.SEC]
-!ifdef $(DEBUG_ON_SERIAL_PORT)
-  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
-!else
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-!endif
-
-  ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
-  ExtractGuidedSectionLib|MdePkg/Library/BaseExtractGuidedSectionLib/BaseExtractGuidedSectionLib.inf
-  PlatformSecLib|UefiCpuPkg/Library/PlatformSecLibNull/PlatformSecLibNull.inf
-  HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf
-  PrePiHobListPointerLib|OvmfPkg/RiscVVirt/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf
-  MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf
-
-!ifdef $(SOURCE_DEBUG_ENABLE)
-  DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf
-!endif
-
-[LibraryClasses.common.DXE_CORE]
-  HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
-  DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
-  MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
-  ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
-!ifdef $(DEBUG_ON_SERIAL_PORT)
-  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
-!else
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-!endif
-  ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
-!ifdef $(SOURCE_DEBUG_ENABLE)
-  DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
-!endif
-
-[LibraryClasses.common.DXE_RUNTIME_DRIVER]
-  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-  ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf
-  ResetSystemLib|OvmfPkg/RiscVVirt/Library/ResetSystemLib/BaseResetSystemLib.inf
-  UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
-!ifdef $(DEBUG_ON_SERIAL_PORT)
-  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
-!else
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-!endif
-!if $(SECURE_BOOT_ENABLE) == TRUE
-  BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
-!endif
-  UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
-  VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLibRuntimeDxe.inf
-
-[LibraryClasses.common.UEFI_DRIVER]
-  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-  ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
-!ifdef $(DEBUG_ON_SERIAL_PORT)
-  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
-!else
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-!endif
-  UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
-  VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLib.inf
-
-[LibraryClasses.common.DXE_DRIVER]
-  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-  ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
-  UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
-!ifdef $(DEBUG_ON_SERIAL_PORT)
-  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
-!else
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-!endif
-!ifdef $(SOURCE_DEBUG_ENABLE)
-  DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
-!endif
-  UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
-  PlatformBootManagerLib|Platform/RISC-V/PlatformPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
-  PlatformMemoryTestLib|Platform/RISC-V/PlatformPkg/Library/PlatformMemoryTestLibNull/PlatformMemoryTestLibNull.inf
-  PlatformUpdateProgressLib|Platform/RISC-V/PlatformPkg/Library/PlatformUpdateProgressLibNull/PlatformUpdateProgressLibNull.inf
-
-[LibraryClasses.common.UEFI_APPLICATION]
-  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-!ifdef $(DEBUG_ON_SERIAL_PORT)
-  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
-!else
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-!endif
-  ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
-
-################################################################################
-#
-# Pcd Section - list of all EDK II PCD Entries defined by this Platform.
-#
-################################################################################
-[PcdsFeatureFlag]
-  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress|FALSE
-  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
-  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE
-
-[PcdsFixedAtBuild]
-  gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|FALSE
-  gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|TRUE
-  gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1
-  gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
-  gEfiMdePkgTokenSpaceGuid.PcdMaximumGuidedExtractHandler|0x10
-  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000
-  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize|0x8000
-  gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0xe000
-
-  gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0
-
-  gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
-  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
-!ifdef $(SOURCE_DEBUG_ENABLE)
-  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
-!else
-  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F
-!endif
-
-!ifdef $(SOURCE_DEBUG_ENABLE)
-  gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2
-!endif
-
-!if $(SECURE_BOOT_ENABLE) == TRUE
-  # override the default values from SecurityPkg to ensure images from all sources are verified in secure boot
-  gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x04
-  gEfiSecurityPkgTokenSpaceGuid.PcdFixedMediaImageVerificationPolicy|0x04
-  gEfiSecurityPkgTokenSpaceGuid.PcdRemovableMediaImageVerificationPolicy|0x04
-!endif
-
-  #
-  # F2 for UI APP
-  #
-  gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }
-
-  #
-  # Optional feature to help prevent EFI memory map fragments
-  # Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob
-  # Values are in EFI Pages (4K). DXE Core will make sure that
-  # at least this much of each type of memory can be allocated
-  # from a single memory range. This way you only end up with
-  # maximum of two fragments for each type in the memory map
-  # (the memory used, and the free memory that was prereserved
-  # but not used).
-  #
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0
-!if $(SECURE_BOOT_ENABLE) == TRUE
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|600
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|400
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|1500
-!else
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|300
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|150
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|1000
-!endif
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|6000
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|20
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0
-
-  #
-  # Enable strict image permissions for all images. (This applies
-  # only to images that were built with >= 4 KB section alignment.)
-  #
-  gEfiMdeModulePkgTokenSpaceGuid.PcdImageProtectionPolicy|0x3
-
-  #
-  # Enable NX memory protection for all non-code regions, including OEM and OS
-  # reserved ones, with the exception of LoaderData regions, of which OS loaders
-  # (i.e., GRUB) may assume that its contents are executable.
-  #
-  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy|0xC000000000007FD5
-
-  #
-  # Control the maximum SATP mode that MMU allowed to use.
-  # 0 - Bare mode.
-  # 8 - 39bit mode.
-  # 9 - 48bit mode.
-  # 10 - 57bit mode.
-  #
-  gUefiCpuPkgTokenSpaceGuid.PcdCpuRiscVMmuMaxSatpMode|0
-
-################################################################################
-#
-# Pcd Dynamic Section - list of all EDK II PCD Entries defined by this Platform
-#
-################################################################################
-
-[PcdsDynamicDefault]
-  gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
-  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
-  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0
-  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0
-  gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|FALSE
-  gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|800
-  gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600
-
-  gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0x0001
-
-  # Set video resolution for text setup.
-  gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|640
-  gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|480
-
-  gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0208
-  gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0
-
-[PcdsDynamicHii]
-  gUefiOvmfPkgTokenSpaceGuid.PcdForceNoAcpi|L"ForceNoAcpi"|gOvmfVariableGuid|0x0|TRUE|NV,BS
-
-################################################################################
-#
-# Components Section - list of all EDK II Modules needed by this Platform.
-#
-################################################################################
-[Components]
-
-  #
-  # SEC Phase modules
-  #
-  Silicon/Sophgo/SG2042Pkg/Sec/SecMain.inf  {
-    <LibraryClasses>
-      ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
-      LzmaDecompressLib|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
-      PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
-      HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf
-      PrePiHobListPointerLib|OvmfPkg/RiscVVirt/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf
-      MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf
-  }
-
-  #
-  # DXE Phase modules
-  #
-  MdeModulePkg/Core/Dxe/DxeMain.inf {
-    <LibraryClasses>
-      NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
-      DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-  }
-
-  MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
-  MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
-  MdeModulePkg/Universal/PCD/Dxe/Pcd.inf  {
-   <LibraryClasses>
-      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  }
-
-  ArmVirtPkg/CloudHvPlatformHasAcpiDtDxe/CloudHvHasAcpiDtDxe.inf
-  EmbeddedPkg/Drivers/FdtClientDxe/FdtClientDxe.inf {
-    <LibraryClasses>
-      DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-  }
-  OvmfPkg/Fdt/HighMemDxe/HighMemDxe.inf
-
-  MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
-
-!if $(SECURE_BOOT_ENABLE) == TRUE
-  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf {
-    <LibraryClasses>
-      NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
-  }
-!else
-  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
-!endif
-
-  UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
-  MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf {
-    <LibraryClasses>
-      PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
-  }
-  MdeModulePkg/Universal/Metronome/Metronome.inf
-  MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
-  MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf {
-    <LibraryClasses>
-      ResetSystemLib|MdeModulePkg/Library/BaseResetSystemLibNull/BaseResetSystemLibNull.inf
-  }
-  EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
-
-  #
-  # RISC-V Platform module
-  #
-  Platform/SiFive/U5SeriesPkg/Universal/Dxe/RamFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf {
-    <LibraryClasses>
-      SerialPortLib|Silicon/Hisilicon/Library/Dw8250SerialPortLib/Dw8250SerialPortLib.inf
-  }
-  Silicon/Sophgo/SG2042Pkg/Drivers/MmcDxe/MmcDxe.inf
-  Silicon/Sophgo/SG2042Pkg/Drivers/SdHostDxe/SdHostDxe.inf
-
-  #
-  # RISC-V Core module
-  #
-  UefiCpuPkg/CpuTimerDxeRiscV64/CpuTimerDxeRiscV64.inf
-  UefiCpuPkg/CpuDxeRiscV64/CpuDxeRiscV64.inf
-  MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
-
-  MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
-  MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
-    <LibraryClasses>
-      NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
-      VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf
-  }
-  MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
-  MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
-  MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
-  MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
-  MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
-
-  # No graphic console supported yet.
-  #  MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf {
-  #    <LibraryClasses>
-  #      PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
-  #  }
-  MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
-  MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf {
-    <LibraryClasses>
-      DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-  }
-  MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
-  MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
-  MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
-  MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
-  MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
-  MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
-  MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
-  MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
-  MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
-  MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
-  MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
-
-  #
-  # SMBIOS Support
-  #
-  MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
-  Silicon/Sophgo/SG2042Pkg/Drivers/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
-
-  #
-  # Network Support
-  #
-  !include NetworkPkg/Network.dsc.inc
-
-  #
-  # Usb Support
-  #
-  MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
-  MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
-  MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
-  MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
-  MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
-  MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
-
-  #
-  # FAT filesystem + GPT/MBR partitioning + UDF filesystem
-  #
-  FatPkg/EnhancedFatDxe/Fat.inf
-  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
-
-  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {
-    <PcdsFixedAtBuild>
-      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
-    <LibraryClasses>
-      ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
-      SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
-  }
-
-  ShellPkg/Application/Shell/Shell.inf {
-    <LibraryClasses>
-      ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
-      NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
-      NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
-      NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
-      NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
-      NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
-      NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
-      NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
-      HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
-      FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
-      SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
-      PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
-      BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
-
-    <PcdsFixedAtBuild>
-      gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF
-      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
-      gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000
-  }
-
-!if $(SECURE_BOOT_ENABLE) == TRUE
-  SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
-!endif
-
-  MdeModulePkg/Application/UiApp/UiApp.inf {
-    <LibraryClasses>
-      NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
-      NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
-  }
+## @file
+#  RISC-V EFI on Sophgo SG2042 EVB RISC-V platform
+#
+#  Copyright (c) 2023, Academy of Intelligent Innovation, Shandong Universiy, China.P.R. 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                  = SG2042_EVB
+  PLATFORM_GUID                  = 8014637B-6999-4110-9762-464BE11E935F
+  PLATFORM_VERSION               = 0.1
+  DSC_SPECIFICATION              = 0x0001001c
+  OUTPUT_DIRECTORY               = Build/$(PLATFORM_NAME)
+  SUPPORTED_ARCHITECTURES        = RISCV64
+  BUILD_TARGETS                  = DEBUG|RELEASE|NOOPT
+  SKUID_IDENTIFIER               = DEFAULT
+  FLASH_DEFINITION               = Platform/Sophgo/SG2042_EVB_Board/SG2042.fdf
+
+  #
+  # Enable below options may cause build error or may not work on
+  # the initial version of RISC-V package
+  # Defines for default states.  These can be changed on the command line.
+  # -D FLAG=VALUE
+  #
+  DEFINE SECURE_BOOT_ENABLE      = FALSE
+  DEFINE DEBUG_ON_SERIAL_PORT    = TRUE
+
+  #
+  # Network definition
+  #
+  DEFINE NETWORK_SNP_ENABLE       = FALSE
+  DEFINE NETWORK_IP6_ENABLE       = FALSE
+  DEFINE NETWORK_TLS_ENABLE       = FALSE
+  DEFINE NETWORK_HTTP_BOOT_ENABLE = FALSE
+  DEFINE NETWORK_ISCSI_ENABLE     = FALSE
+
+[BuildOptions]
+  GCC:RELEASE_*_*_CC_FLAGS       = -DMDEPKG_NDEBUG
+!ifdef $(SOURCE_DEBUG_ENABLE)
+  GCC:*_*_RISCV64_GENFW_FLAGS    = --keepexceptiontable
+!endif
+
+################################################################################
+#
+# SKU Identification section - list of all SKU IDs supported by this Platform.
+#
+################################################################################
+[SkuIds]
+  0|DEFAULT
+
+################################################################################
+#
+# Library Class section - list of all Library Classes needed by this Platform.
+#
+################################################################################
+
+!include MdePkg/MdeLibs.dsc.inc
+
+[LibraryClasses]
+  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
+  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
+  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
+  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
+  SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
+  SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
+  CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
+  PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
+  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
+  CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
+  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
+  UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
+  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
+  CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
+  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
+  DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
+  PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
+  PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
+  PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
+  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
+  OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
+  SerialPortLib|MdePkg/Library/BaseSerialPortLibRiscVSbiLib/BaseSerialPortLibRiscVSbiLibRam.inf
+  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
+  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
+  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
+  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
+  UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
+  DevicePathLib|MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibDevicePathProtocol.inf
+  FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
+  SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
+  UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
+  CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
+  SortLib|MdeModulePkg/Library/BaseSortLib/BaseSortLib.inf
+  ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
+  UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
+  FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
+  VariableFlashInfoLib|MdeModulePkg/Library/BaseVariableFlashInfoLib/BaseVariableFlashInfoLib.inf
+  VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf
+  ImagePropertiesRecordLib|MdeModulePkg/Library/ImagePropertiesRecordLib/ImagePropertiesRecordLib.inf
+
+!ifdef $(SOURCE_DEBUG_ENABLE)
+  PeCoffExtraActionLib|SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf
+  DebugCommunicationLib|SourceLevelDebugPkg/Library/DebugCommunicationLibSerialPort/DebugCommunicationLibSerialPort.inf
+!else
+  PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
+  DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
+!endif
+
+  DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
+
+!if $(SECURE_BOOT_ENABLE) == TRUE
+  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
+  OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
+  TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf
+  AuthVariableLib|SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf
+  SecureBootVariableLib|SecurityPkg/Library/SecureBootVariableLib/SecureBootVariableLib.inf
+  SecureBootVariableProvisionLib|SecurityPkg/Library/SecureBootVariableProvisionLib/SecureBootVariableProvisionLib.inf
+  PlatformPKProtectionLib|SecurityPkg/Library/PlatformPKProtectionLibVarPolicy/PlatformPKProtectionLibVarPolicy.inf
+!else
+  TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
+  AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
+!endif
+  VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
+
+!if $(HTTP_BOOT_ENABLE) == TRUE
+  HttpLib|MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf
+!endif
+
+  # ACPI not supported yet.
+  # S3BootScriptLib|MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf
+  SmbusLib|MdePkg/Library/BaseSmbusLibNull/BaseSmbusLibNull.inf
+  OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
+
+[LibraryClasses.common]
+!if $(SECURE_BOOT_ENABLE) == TRUE
+  BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
+!endif
+
+  # RISC-V Architectural Libraries
+  RiscVSbiLib|MdePkg/Library/BaseRiscVSbiLib/BaseRiscVSbiLib.inf
+  RiscVMmuLib|UefiCpuPkg/Library/BaseRiscVMmuLib/BaseRiscVMmuLib.inf
+  CpuExceptionHandlerLib|UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/BaseRiscV64CpuExceptionHandlerLib.inf
+
+  TimerLib|UefiCpuPkg/Library/BaseRiscV64CpuTimerLib/BaseRiscV64CpuTimerLib.inf
+  TimeBaseLib|EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.inf
+  RealTimeClockLib|EmbeddedPkg//Library/VirtualRealTimeClockLib/VirtualRealTimeClockLib.inf
+
+  # Flattened Device Tree (FDT) access library
+  FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
+
+[LibraryClasses.common.SEC]
+!ifdef $(DEBUG_ON_SERIAL_PORT)
+  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
+!else
+  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
+!endif
+
+  ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
+  ExtractGuidedSectionLib|MdePkg/Library/BaseExtractGuidedSectionLib/BaseExtractGuidedSectionLib.inf
+  PlatformSecLib|UefiCpuPkg/Library/PlatformSecLibNull/PlatformSecLibNull.inf
+  HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf
+  PrePiHobListPointerLib|OvmfPkg/RiscVVirt/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf
+  MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf
+
+!ifdef $(SOURCE_DEBUG_ENABLE)
+  DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf
+!endif
+
+[LibraryClasses.common.DXE_CORE]
+  HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
+  DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
+  MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
+  ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
+!ifdef $(DEBUG_ON_SERIAL_PORT)
+  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
+!else
+  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
+!endif
+  ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
+!ifdef $(SOURCE_DEBUG_ENABLE)
+  DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
+!endif
+
+[LibraryClasses.common.DXE_RUNTIME_DRIVER]
+  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
+  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
+  DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
+  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
+  ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf
+  ResetSystemLib|OvmfPkg/RiscVVirt/Library/ResetSystemLib/BaseResetSystemLib.inf
+  UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
+!ifdef $(DEBUG_ON_SERIAL_PORT)
+  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
+!else
+  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
+!endif
+!if $(SECURE_BOOT_ENABLE) == TRUE
+  BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
+!endif
+  UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
+  VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLibRuntimeDxe.inf
+
+[LibraryClasses.common.UEFI_DRIVER]
+  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
+  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
+  DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
+  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
+  ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
+!ifdef $(DEBUG_ON_SERIAL_PORT)
+  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
+!else
+  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
+!endif
+  UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
+  VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLib.inf
+
+[LibraryClasses.common.DXE_DRIVER]
+  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
+  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
+  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
+  ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
+  UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
+!ifdef $(DEBUG_ON_SERIAL_PORT)
+  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
+!else
+  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
+!endif
+!ifdef $(SOURCE_DEBUG_ENABLE)
+  DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
+!endif
+  UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
+  PlatformBootManagerLib|Platform/RISC-V/PlatformPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
+  PlatformMemoryTestLib|Platform/RISC-V/PlatformPkg/Library/PlatformMemoryTestLibNull/PlatformMemoryTestLibNull.inf
+  PlatformUpdateProgressLib|Platform/RISC-V/PlatformPkg/Library/PlatformUpdateProgressLibNull/PlatformUpdateProgressLibNull.inf
+
+[LibraryClasses.common.UEFI_APPLICATION]
+  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
+  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
+  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
+!ifdef $(DEBUG_ON_SERIAL_PORT)
+  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
+!else
+  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
+!endif
+  ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
+
+################################################################################
+#
+# Pcd Section - list of all EDK II PCD Entries defined by this Platform.
+#
+################################################################################
+[PcdsFeatureFlag]
+  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress|FALSE
+  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
+  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE
+
+[PcdsFixedAtBuild]
+  gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|FALSE
+  gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|TRUE
+  gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1
+  gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
+  gEfiMdePkgTokenSpaceGuid.PcdRiscVFeatureOverride|0xFFFFFFFFFFFFFFFC
+  gEfiMdePkgTokenSpaceGuid.PcdMaximumGuidedExtractHandler|0x10
+  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000
+  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize|0x8000
+  gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0xe000
+
+  gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0
+
+  gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
+  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
+!ifdef $(SOURCE_DEBUG_ENABLE)
+  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
+!else
+  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F
+!endif
+
+!ifdef $(SOURCE_DEBUG_ENABLE)
+  gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2
+!endif
+
+!if $(SECURE_BOOT_ENABLE) == TRUE
+  # override the default values from SecurityPkg to ensure images from all sources are verified in secure boot
+  gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x04
+  gEfiSecurityPkgTokenSpaceGuid.PcdFixedMediaImageVerificationPolicy|0x04
+  gEfiSecurityPkgTokenSpaceGuid.PcdRemovableMediaImageVerificationPolicy|0x04
+!endif
+
+  #
+  # F2 for UI APP
+  #
+  gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }
+
+  #
+  # Optional feature to help prevent EFI memory map fragments
+  # Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob
+  # Values are in EFI Pages (4K). DXE Core will make sure that
+  # at least this much of each type of memory can be allocated
+  # from a single memory range. This way you only end up with
+  # maximum of two fragments for each type in the memory map
+  # (the memory used, and the free memory that was prereserved
+  # but not used).
+  #
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0
+!if $(SECURE_BOOT_ENABLE) == TRUE
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|600
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|400
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|1500
+!else
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|300
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|150
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|1000
+!endif
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|6000
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|20
+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0
+
+  #
+  # Enable strict image permissions for all images. (This applies
+  # only to images that were built with >= 4 KB section alignment.)
+  #
+  gEfiMdeModulePkgTokenSpaceGuid.PcdImageProtectionPolicy|0x3
+
+  #
+  # Enable NX memory protection for all non-code regions, including OEM and OS
+  # reserved ones, with the exception of LoaderData regions, of which OS loaders
+  # (i.e., GRUB) may assume that its contents are executable.
+  #
+  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy|0xC000000000007FD5
+
+  #
+  # Control the maximum SATP mode that MMU allowed to use.
+  # 0 - Bare mode.
+  # 8 - 39bit mode.
+  # 9 - 48bit mode.
+  # 10 - 57bit mode.
+  #
+  gUefiCpuPkgTokenSpaceGuid.PcdCpuRiscVMmuMaxSatpMode|0
+
+################################################################################
+#
+# Pcd Dynamic Section - list of all EDK II PCD Entries defined by this Platform
+#
+################################################################################
+
+[PcdsDynamicDefault]
+  gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
+  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
+  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0
+  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0
+  gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|FALSE
+  gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|800
+  gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600
+
+  gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0x0001
+
+  # Set video resolution for text setup.
+  gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|640
+  gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|480
+
+  gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0208
+  gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0
+
+[PcdsDynamicHii]
+  gUefiOvmfPkgTokenSpaceGuid.PcdForceNoAcpi|L"ForceNoAcpi"|gOvmfVariableGuid|0x0|TRUE|NV,BS
+
+################################################################################
+#
+# Components Section - list of all EDK II Modules needed by this Platform.
+#
+################################################################################
+[Components]
+
+  #
+  # SEC Phase modules
+  #
+  Silicon/Sophgo/SG2042Pkg/Sec/SecMain.inf  {
+    <LibraryClasses>
+      ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
+      LzmaDecompressLib|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
+      PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
+      HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf
+      PrePiHobListPointerLib|OvmfPkg/RiscVVirt/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf
+      MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf
+  }
+
+  #
+  # DXE Phase modules
+  #
+  MdeModulePkg/Core/Dxe/DxeMain.inf {
+    <LibraryClasses>
+      NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
+      DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
+  }
+
+  MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
+  MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
+  MdeModulePkg/Universal/PCD/Dxe/Pcd.inf  {
+   <LibraryClasses>
+      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
+  }
+
+  ArmVirtPkg/CloudHvPlatformHasAcpiDtDxe/CloudHvHasAcpiDtDxe.inf
+  EmbeddedPkg/Drivers/FdtClientDxe/FdtClientDxe.inf {
+    <LibraryClasses>
+      DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
+  }
+  OvmfPkg/Fdt/HighMemDxe/HighMemDxe.inf
+
+  MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
+
+!if $(SECURE_BOOT_ENABLE) == TRUE
+  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf {
+    <LibraryClasses>
+      NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
+  }
+!else
+  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
+!endif
+
+  UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
+  MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf {
+    <LibraryClasses>
+      PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
+  }
+  MdeModulePkg/Universal/Metronome/Metronome.inf
+  MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
+  MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf {
+    <LibraryClasses>
+      ResetSystemLib|MdeModulePkg/Library/BaseResetSystemLibNull/BaseResetSystemLibNull.inf
+  }
+  EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
+
+  #
+  # RISC-V Platform module
+  #
+  Platform/SiFive/U5SeriesPkg/Universal/Dxe/RamFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf {
+    <LibraryClasses>
+      SerialPortLib|Silicon/Hisilicon/Library/Dw8250SerialPortLib/Dw8250SerialPortLib.inf
+  }
+  Silicon/Sophgo/SG2042Pkg/Drivers/MmcDxe/MmcDxe.inf
+  Silicon/Sophgo/SG2042Pkg/Drivers/SdHostDxe/SdHostDxe.inf
+
+  #
+  # RISC-V Core module
+  #
+  UefiCpuPkg/CpuTimerDxeRiscV64/CpuTimerDxeRiscV64.inf
+  UefiCpuPkg/CpuDxeRiscV64/CpuDxeRiscV64.inf
+  MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
+
+  MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
+  MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
+    <LibraryClasses>
+      NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
+      VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf
+  }
+  MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
+  MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
+  MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
+  MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
+  MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
+
+  # No graphic console supported yet.
+  #  MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf {
+  #    <LibraryClasses>
+  #      PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
+  #  }
+  MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
+  MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf {
+    <LibraryClasses>
+      DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
+      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
+  }
+  MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
+  MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
+  MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
+  MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
+  MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
+  MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
+  MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
+  MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
+  MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
+  MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
+  MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
+
+  #
+  # SMBIOS Support
+  #
+  MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
+  Silicon/Sophgo/SG2042Pkg/Drivers/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
+
+  #
+  # Network Support
+  #
+  !include NetworkPkg/Network.dsc.inc
+
+  #
+  # Usb Support
+  #
+  MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
+  MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
+  MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
+  MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
+  MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
+  MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
+
+  #
+  # FAT filesystem + GPT/MBR partitioning + UDF filesystem
+  #
+  FatPkg/EnhancedFatDxe/Fat.inf
+  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
+
+  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {
+    <PcdsFixedAtBuild>
+      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
+    <LibraryClasses>
+      ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
+      SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
+  }
+
+  ShellPkg/Application/Shell/Shell.inf {
+    <LibraryClasses>
+      ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
+      NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
+      NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
+      NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
+      NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
+      NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
+      NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
+      NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
+      HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
+      FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
+      SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
+      PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
+      BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
+
+    <PcdsFixedAtBuild>
+      gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF
+      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
+      gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000
+  }
+
+!if $(SECURE_BOOT_ENABLE) == TRUE
+  SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
+!endif
+
+  MdeModulePkg/Application/UiApp/UiApp.inf {
+    <LibraryClasses>
+      NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
+      NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
+  }
-- 
2.34.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113767): https://edk2.groups.io/g/devel/message/113767
Mute This Topic: https://groups.io/mt/103689728/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [edk2-devel] [PATCH v1 0/1] Sophgo/SG2042Pkg: Disable Sstc feature
  2024-01-12 14:16 [edk2-devel] [PATCH v1 0/1] Sophgo/SG2042Pkg: Disable Sstc feature caiyuqing_hz
  2024-01-12 14:16 ` [edk2-devel] [PATCH v1 1/1] Sophgo/SG2042Pkg: Override Sstc extension caiyuqing_hz
@ 2024-01-12 14:27 ` caiyuqing379
  1 sibling, 0 replies; 4+ messages in thread
From: caiyuqing379 @ 2024-01-12 14:27 UTC (permalink / raw)
  To: devel; +Cc: Sunil V L, USER0FISH

[-- Attachment #1: Type: text/plain, Size: 1239 bytes --]

Hi, everyone
Sorry, there is a problem with the formatting of this series of patches and it can't be retracted, please ignore this series and the correct series will be sent again later.
Thanks!
Yuqing Cai














At 2024-01-12 22:16:23, caiyuqing_hz@163.com wrote:
>From: caiyuqing379 <caiyuqing_hz@outlook.com>
>
>By default the Sstc feature is enabled and Sophgo SG2042 platform need
>to set the PCD to disable the feature because Sstc is not supported.
>
>Cc: dahogn <dahogn@hotmail.com>
>Cc: meng-cz <mengcz1126@gmail.com>
>Cc: USER0FISH <libing1202@outlook.com>
>Cc: Sunil V L <sunilvl@ventanamicro.com>
>Signed-off-by: caiyuqing379 <caiyuqing_hz@outlook.com>
>
>caiyuqing379 (1):
>  Sophgo/SG2042Pkg: Override Sstc extension
>
> Platform/Sophgo/SG2042_EVB_Board/SG2042.dsc | 1117 ++++++++++----------
> 1 file changed, 559 insertions(+), 558 deletions(-)
>
>--
>2.34.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113768): https://edk2.groups.io/g/devel/message/113768
Mute This Topic: https://groups.io/mt/103689727/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



[-- Attachment #2: Type: text/html, Size: 2343 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [edk2-devel] [PATCH v1 1/1] Sophgo/SG2042Pkg: Override Sstc extension
  2024-01-12 14:16 ` [edk2-devel] [PATCH v1 1/1] Sophgo/SG2042Pkg: Override Sstc extension caiyuqing_hz
@ 2024-01-12 14:27   ` caiyuqing379
  0 siblings, 0 replies; 4+ messages in thread
From: caiyuqing379 @ 2024-01-12 14:27 UTC (permalink / raw)
  To: devel; +Cc: Sunil V L, USER0FISH

[-- Attachment #1: Type: text/plain, Size: 54712 bytes --]

Hi, everyone
Sorry, there is a problem with the formatting of this series of patches and it can't be retracted, please ignore this series and the correct series will be sent again later.
Thanks!
Yuqing Cai














At 2024-01-12 22:16:24, caiyuqing_hz@163.com wrote:
>From: caiyuqing379 <caiyuqing_hz@outlook.com>
>
>Override Sstc extension and use SBI calls itself by default for RISC-V
>Sophgo SG2042 platform.
>
>Cc: dahogn <dahogn@hotmail.com>
>Cc: meng-cz <mengcz1126@gmail.com>
>Cc: USER0FISH <libing1202@outlook.com>
>Cc: Sunil V L <sunilvl@ventanamicro.com>
>Signed-off-by: caiyuqing379 <caiyuqing_hz@outlook.com>
>---
> Platform/Sophgo/SG2042_EVB_Board/SG2042.dsc | 1117 ++++++++++----------
> 1 file changed, 559 insertions(+), 558 deletions(-)
>
>diff --git a/Platform/Sophgo/SG2042_EVB_Board/SG2042.dsc b/Platform/Sophgo/SG2042_EVB_Board/SG2042.dsc
>index 3bbaeca16970..230885a61d14 100644
>--- a/Platform/Sophgo/SG2042_EVB_Board/SG2042.dsc
>+++ b/Platform/Sophgo/SG2042_EVB_Board/SG2042.dsc
>@@ -1,558 +1,559 @@
>-## @file
>-#  RISC-V EFI on Sophgo SG2042 EVB RISC-V platform
>-#
>-#  Copyright (c) 2023, Academy of Intelligent Innovation, Shandong Universiy, China.P.R. 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                  = SG2042_EVB
>-  PLATFORM_GUID                  = 8014637B-6999-4110-9762-464BE11E935F
>-  PLATFORM_VERSION               = 0.1
>-  DSC_SPECIFICATION              = 0x0001001c
>-  OUTPUT_DIRECTORY               = Build/$(PLATFORM_NAME)
>-  SUPPORTED_ARCHITECTURES        = RISCV64
>-  BUILD_TARGETS                  = DEBUG|RELEASE|NOOPT
>-  SKUID_IDENTIFIER               = DEFAULT
>-  FLASH_DEFINITION               = Platform/Sophgo/SG2042_EVB_Board/SG2042.fdf
>-
>-  #
>-  # Enable below options may cause build error or may not work on
>-  # the initial version of RISC-V package
>-  # Defines for default states.  These can be changed on the command line.
>-  # -D FLAG=VALUE
>-  #
>-  DEFINE SECURE_BOOT_ENABLE      = FALSE
>-  DEFINE DEBUG_ON_SERIAL_PORT    = TRUE
>-
>-  #
>-  # Network definition
>-  #
>-  DEFINE NETWORK_SNP_ENABLE       = FALSE
>-  DEFINE NETWORK_IP6_ENABLE       = FALSE
>-  DEFINE NETWORK_TLS_ENABLE       = FALSE
>-  DEFINE NETWORK_HTTP_BOOT_ENABLE = FALSE
>-  DEFINE NETWORK_ISCSI_ENABLE     = FALSE
>-
>-[BuildOptions]
>-  GCC:RELEASE_*_*_CC_FLAGS       = -DMDEPKG_NDEBUG
>-!ifdef $(SOURCE_DEBUG_ENABLE)
>-  GCC:*_*_RISCV64_GENFW_FLAGS    = --keepexceptiontable
>-!endif
>-
>-################################################################################
>-#
>-# SKU Identification section - list of all SKU IDs supported by this Platform.
>-#
>-################################################################################
>-[SkuIds]
>-  0|DEFAULT
>-
>-################################################################################
>-#
>-# Library Class section - list of all Library Classes needed by this Platform.
>-#
>-################################################################################
>-
>-!include MdePkg/MdeLibs.dsc.inc
>-
>-[LibraryClasses]
>-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
>-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
>-  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
>-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
>-  SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
>-  SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
>-  CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
>-  PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
>-  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
>-  CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
>-  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
>-  UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
>-  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
>-  CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
>-  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
>-  DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
>-  PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
>-  PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
>-  PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
>-  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
>-  OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
>-  SerialPortLib|MdePkg/Library/BaseSerialPortLibRiscVSbiLib/BaseSerialPortLibRiscVSbiLibRam.inf
>-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
>-  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
>-  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
>-  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
>-  UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
>-  DevicePathLib|MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibDevicePathProtocol.inf
>-  FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
>-  SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
>-  UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
>-  CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
>-  SortLib|MdeModulePkg/Library/BaseSortLib/BaseSortLib.inf
>-  ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
>-  UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
>-  FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
>-  VariableFlashInfoLib|MdeModulePkg/Library/BaseVariableFlashInfoLib/BaseVariableFlashInfoLib.inf
>-  VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf
>-  ImagePropertiesRecordLib|MdeModulePkg/Library/ImagePropertiesRecordLib/ImagePropertiesRecordLib.inf
>-
>-!ifdef $(SOURCE_DEBUG_ENABLE)
>-  PeCoffExtraActionLib|SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf
>-  DebugCommunicationLib|SourceLevelDebugPkg/Library/DebugCommunicationLibSerialPort/DebugCommunicationLibSerialPort.inf
>-!else
>-  PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
>-  DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
>-!endif
>-
>-  DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
>-
>-!if $(SECURE_BOOT_ENABLE) == TRUE
>-  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
>-  OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
>-  TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf
>-  AuthVariableLib|SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf
>-  SecureBootVariableLib|SecurityPkg/Library/SecureBootVariableLib/SecureBootVariableLib.inf
>-  SecureBootVariableProvisionLib|SecurityPkg/Library/SecureBootVariableProvisionLib/SecureBootVariableProvisionLib.inf
>-  PlatformPKProtectionLib|SecurityPkg/Library/PlatformPKProtectionLibVarPolicy/PlatformPKProtectionLibVarPolicy.inf
>-!else
>-  TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
>-  AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
>-!endif
>-  VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
>-
>-!if $(HTTP_BOOT_ENABLE) == TRUE
>-  HttpLib|MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf
>-!endif
>-
>-  # ACPI not supported yet.
>-  # S3BootScriptLib|MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf
>-  SmbusLib|MdePkg/Library/BaseSmbusLibNull/BaseSmbusLibNull.inf
>-  OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
>-
>-[LibraryClasses.common]
>-!if $(SECURE_BOOT_ENABLE) == TRUE
>-  BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
>-!endif
>-
>-  # RISC-V Architectural Libraries
>-  RiscVSbiLib|MdePkg/Library/BaseRiscVSbiLib/BaseRiscVSbiLib.inf
>-  RiscVMmuLib|UefiCpuPkg/Library/BaseRiscVMmuLib/BaseRiscVMmuLib.inf
>-  CpuExceptionHandlerLib|UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/BaseRiscV64CpuExceptionHandlerLib.inf
>-
>-  TimerLib|UefiCpuPkg/Library/BaseRiscV64CpuTimerLib/BaseRiscV64CpuTimerLib.inf
>-  TimeBaseLib|EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.inf
>-  RealTimeClockLib|EmbeddedPkg//Library/VirtualRealTimeClockLib/VirtualRealTimeClockLib.inf
>-
>-  # Flattened Device Tree (FDT) access library
>-  FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
>-
>-[LibraryClasses.common.SEC]
>-!ifdef $(DEBUG_ON_SERIAL_PORT)
>-  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
>-!else
>-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
>-!endif
>-
>-  ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
>-  ExtractGuidedSectionLib|MdePkg/Library/BaseExtractGuidedSectionLib/BaseExtractGuidedSectionLib.inf
>-  PlatformSecLib|UefiCpuPkg/Library/PlatformSecLibNull/PlatformSecLibNull.inf
>-  HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf
>-  PrePiHobListPointerLib|OvmfPkg/RiscVVirt/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf
>-  MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf
>-
>-!ifdef $(SOURCE_DEBUG_ENABLE)
>-  DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf
>-!endif
>-
>-[LibraryClasses.common.DXE_CORE]
>-  HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
>-  DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
>-  MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
>-  ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
>-!ifdef $(DEBUG_ON_SERIAL_PORT)
>-  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
>-!else
>-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
>-!endif
>-  ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
>-!ifdef $(SOURCE_DEBUG_ENABLE)
>-  DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
>-!endif
>-
>-[LibraryClasses.common.DXE_RUNTIME_DRIVER]
>-  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
>-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
>-  DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
>-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
>-  ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf
>-  ResetSystemLib|OvmfPkg/RiscVVirt/Library/ResetSystemLib/BaseResetSystemLib.inf
>-  UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
>-!ifdef $(DEBUG_ON_SERIAL_PORT)
>-  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
>-!else
>-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
>-!endif
>-!if $(SECURE_BOOT_ENABLE) == TRUE
>-  BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
>-!endif
>-  UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
>-  VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLibRuntimeDxe.inf
>-
>-[LibraryClasses.common.UEFI_DRIVER]
>-  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
>-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
>-  DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
>-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
>-  ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
>-!ifdef $(DEBUG_ON_SERIAL_PORT)
>-  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
>-!else
>-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
>-!endif
>-  UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
>-  VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLib.inf
>-
>-[LibraryClasses.common.DXE_DRIVER]
>-  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
>-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
>-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
>-  ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
>-  UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
>-!ifdef $(DEBUG_ON_SERIAL_PORT)
>-  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
>-!else
>-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
>-!endif
>-!ifdef $(SOURCE_DEBUG_ENABLE)
>-  DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
>-!endif
>-  UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
>-  PlatformBootManagerLib|Platform/RISC-V/PlatformPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
>-  PlatformMemoryTestLib|Platform/RISC-V/PlatformPkg/Library/PlatformMemoryTestLibNull/PlatformMemoryTestLibNull.inf
>-  PlatformUpdateProgressLib|Platform/RISC-V/PlatformPkg/Library/PlatformUpdateProgressLibNull/PlatformUpdateProgressLibNull.inf
>-
>-[LibraryClasses.common.UEFI_APPLICATION]
>-  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
>-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
>-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
>-!ifdef $(DEBUG_ON_SERIAL_PORT)
>-  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
>-!else
>-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
>-!endif
>-  ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
>-
>-################################################################################
>-#
>-# Pcd Section - list of all EDK II PCD Entries defined by this Platform.
>-#
>-################################################################################
>-[PcdsFeatureFlag]
>-  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress|FALSE
>-  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
>-  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE
>-
>-[PcdsFixedAtBuild]
>-  gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|FALSE
>-  gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|TRUE
>-  gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1
>-  gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
>-  gEfiMdePkgTokenSpaceGuid.PcdMaximumGuidedExtractHandler|0x10
>-  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000
>-  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize|0x8000
>-  gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0xe000
>-
>-  gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0
>-
>-  gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
>-  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
>-!ifdef $(SOURCE_DEBUG_ENABLE)
>-  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
>-!else
>-  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F
>-!endif
>-
>-!ifdef $(SOURCE_DEBUG_ENABLE)
>-  gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2
>-!endif
>-
>-!if $(SECURE_BOOT_ENABLE) == TRUE
>-  # override the default values from SecurityPkg to ensure images from all sources are verified in secure boot
>-  gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x04
>-  gEfiSecurityPkgTokenSpaceGuid.PcdFixedMediaImageVerificationPolicy|0x04
>-  gEfiSecurityPkgTokenSpaceGuid.PcdRemovableMediaImageVerificationPolicy|0x04
>-!endif
>-
>-  #
>-  # F2 for UI APP
>-  #
>-  gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }
>-
>-  #
>-  # Optional feature to help prevent EFI memory map fragments
>-  # Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob
>-  # Values are in EFI Pages (4K). DXE Core will make sure that
>-  # at least this much of each type of memory can be allocated
>-  # from a single memory range. This way you only end up with
>-  # maximum of two fragments for each type in the memory map
>-  # (the memory used, and the free memory that was prereserved
>-  # but not used).
>-  #
>-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0
>-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0
>-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0
>-!if $(SECURE_BOOT_ENABLE) == TRUE
>-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|600
>-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|400
>-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|1500
>-!else
>-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|300
>-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|150
>-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|1000
>-!endif
>-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|6000
>-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|20
>-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0
>-
>-  #
>-  # Enable strict image permissions for all images. (This applies
>-  # only to images that were built with >= 4 KB section alignment.)
>-  #
>-  gEfiMdeModulePkgTokenSpaceGuid.PcdImageProtectionPolicy|0x3
>-
>-  #
>-  # Enable NX memory protection for all non-code regions, including OEM and OS
>-  # reserved ones, with the exception of LoaderData regions, of which OS loaders
>-  # (i.e., GRUB) may assume that its contents are executable.
>-  #
>-  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy|0xC000000000007FD5
>-
>-  #
>-  # Control the maximum SATP mode that MMU allowed to use.
>-  # 0 - Bare mode.
>-  # 8 - 39bit mode.
>-  # 9 - 48bit mode.
>-  # 10 - 57bit mode.
>-  #
>-  gUefiCpuPkgTokenSpaceGuid.PcdCpuRiscVMmuMaxSatpMode|0
>-
>-################################################################################
>-#
>-# Pcd Dynamic Section - list of all EDK II PCD Entries defined by this Platform
>-#
>-################################################################################
>-
>-[PcdsDynamicDefault]
>-  gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
>-  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
>-  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0
>-  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0
>-  gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|FALSE
>-  gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|800
>-  gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600
>-
>-  gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0x0001
>-
>-  # Set video resolution for text setup.
>-  gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|640
>-  gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|480
>-
>-  gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0208
>-  gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0
>-
>-[PcdsDynamicHii]
>-  gUefiOvmfPkgTokenSpaceGuid.PcdForceNoAcpi|L"ForceNoAcpi"|gOvmfVariableGuid|0x0|TRUE|NV,BS
>-
>-################################################################################
>-#
>-# Components Section - list of all EDK II Modules needed by this Platform.
>-#
>-################################################################################
>-[Components]
>-
>-  #
>-  # SEC Phase modules
>-  #
>-  Silicon/Sophgo/SG2042Pkg/Sec/SecMain.inf  {
>-    <LibraryClasses>
>-      ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
>-      LzmaDecompressLib|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
>-      PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
>-      HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf
>-      PrePiHobListPointerLib|OvmfPkg/RiscVVirt/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf
>-      MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf
>-  }
>-
>-  #
>-  # DXE Phase modules
>-  #
>-  MdeModulePkg/Core/Dxe/DxeMain.inf {
>-    <LibraryClasses>
>-      NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
>-      DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
>-  }
>-
>-  MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
>-  MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
>-  MdeModulePkg/Universal/PCD/Dxe/Pcd.inf  {
>-   <LibraryClasses>
>-      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
>-  }
>-
>-  ArmVirtPkg/CloudHvPlatformHasAcpiDtDxe/CloudHvHasAcpiDtDxe.inf
>-  EmbeddedPkg/Drivers/FdtClientDxe/FdtClientDxe.inf {
>-    <LibraryClasses>
>-      DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
>-  }
>-  OvmfPkg/Fdt/HighMemDxe/HighMemDxe.inf
>-
>-  MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
>-
>-!if $(SECURE_BOOT_ENABLE) == TRUE
>-  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf {
>-    <LibraryClasses>
>-      NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
>-  }
>-!else
>-  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
>-!endif
>-
>-  UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
>-  MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf {
>-    <LibraryClasses>
>-      PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
>-  }
>-  MdeModulePkg/Universal/Metronome/Metronome.inf
>-  MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
>-  MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf {
>-    <LibraryClasses>
>-      ResetSystemLib|MdeModulePkg/Library/BaseResetSystemLibNull/BaseResetSystemLibNull.inf
>-  }
>-  EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
>-
>-  #
>-  # RISC-V Platform module
>-  #
>-  Platform/SiFive/U5SeriesPkg/Universal/Dxe/RamFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf {
>-    <LibraryClasses>
>-      SerialPortLib|Silicon/Hisilicon/Library/Dw8250SerialPortLib/Dw8250SerialPortLib.inf
>-  }
>-  Silicon/Sophgo/SG2042Pkg/Drivers/MmcDxe/MmcDxe.inf
>-  Silicon/Sophgo/SG2042Pkg/Drivers/SdHostDxe/SdHostDxe.inf
>-
>-  #
>-  # RISC-V Core module
>-  #
>-  UefiCpuPkg/CpuTimerDxeRiscV64/CpuTimerDxeRiscV64.inf
>-  UefiCpuPkg/CpuDxeRiscV64/CpuDxeRiscV64.inf
>-  MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
>-
>-  MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
>-  MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
>-    <LibraryClasses>
>-      NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
>-      VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf
>-  }
>-  MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
>-  MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
>-  MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
>-  MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
>-  MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
>-
>-  # No graphic console supported yet.
>-  #  MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf {
>-  #    <LibraryClasses>
>-  #      PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
>-  #  }
>-  MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
>-  MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf {
>-    <LibraryClasses>
>-      DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
>-      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
>-  }
>-  MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
>-  MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
>-  MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
>-  MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
>-  MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
>-  MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
>-  MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
>-  MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
>-  MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
>-  MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
>-  MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
>-
>-  #
>-  # SMBIOS Support
>-  #
>-  MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
>-  Silicon/Sophgo/SG2042Pkg/Drivers/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
>-
>-  #
>-  # Network Support
>-  #
>-  !include NetworkPkg/Network.dsc.inc
>-
>-  #
>-  # Usb Support
>-  #
>-  MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
>-  MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
>-  MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
>-  MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
>-  MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
>-  MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
>-
>-  #
>-  # FAT filesystem + GPT/MBR partitioning + UDF filesystem
>-  #
>-  FatPkg/EnhancedFatDxe/Fat.inf
>-  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
>-
>-  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {
>-    <PcdsFixedAtBuild>
>-      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
>-    <LibraryClasses>
>-      ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
>-      SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
>-  }
>-
>-  ShellPkg/Application/Shell/Shell.inf {
>-    <LibraryClasses>
>-      ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
>-      NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
>-      NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
>-      NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
>-      NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
>-      NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
>-      NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
>-      NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
>-      HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
>-      FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
>-      SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
>-      PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
>-      BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
>-
>-    <PcdsFixedAtBuild>
>-      gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF
>-      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
>-      gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000
>-  }
>-
>-!if $(SECURE_BOOT_ENABLE) == TRUE
>-  SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
>-!endif
>-
>-  MdeModulePkg/Application/UiApp/UiApp.inf {
>-    <LibraryClasses>
>-      NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
>-      NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
>-  }
>+## @file
>+#  RISC-V EFI on Sophgo SG2042 EVB RISC-V platform
>+#
>+#  Copyright (c) 2023, Academy of Intelligent Innovation, Shandong Universiy, China.P.R. 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                  = SG2042_EVB
>+  PLATFORM_GUID                  = 8014637B-6999-4110-9762-464BE11E935F
>+  PLATFORM_VERSION               = 0.1
>+  DSC_SPECIFICATION              = 0x0001001c
>+  OUTPUT_DIRECTORY               = Build/$(PLATFORM_NAME)
>+  SUPPORTED_ARCHITECTURES        = RISCV64
>+  BUILD_TARGETS                  = DEBUG|RELEASE|NOOPT
>+  SKUID_IDENTIFIER               = DEFAULT
>+  FLASH_DEFINITION               = Platform/Sophgo/SG2042_EVB_Board/SG2042.fdf
>+
>+  #
>+  # Enable below options may cause build error or may not work on
>+  # the initial version of RISC-V package
>+  # Defines for default states.  These can be changed on the command line.
>+  # -D FLAG=VALUE
>+  #
>+  DEFINE SECURE_BOOT_ENABLE      = FALSE
>+  DEFINE DEBUG_ON_SERIAL_PORT    = TRUE
>+
>+  #
>+  # Network definition
>+  #
>+  DEFINE NETWORK_SNP_ENABLE       = FALSE
>+  DEFINE NETWORK_IP6_ENABLE       = FALSE
>+  DEFINE NETWORK_TLS_ENABLE       = FALSE
>+  DEFINE NETWORK_HTTP_BOOT_ENABLE = FALSE
>+  DEFINE NETWORK_ISCSI_ENABLE     = FALSE
>+
>+[BuildOptions]
>+  GCC:RELEASE_*_*_CC_FLAGS       = -DMDEPKG_NDEBUG
>+!ifdef $(SOURCE_DEBUG_ENABLE)
>+  GCC:*_*_RISCV64_GENFW_FLAGS    = --keepexceptiontable
>+!endif
>+
>+################################################################################
>+#
>+# SKU Identification section - list of all SKU IDs supported by this Platform.
>+#
>+################################################################################
>+[SkuIds]
>+  0|DEFAULT
>+
>+################################################################################
>+#
>+# Library Class section - list of all Library Classes needed by this Platform.
>+#
>+################################################################################
>+
>+!include MdePkg/MdeLibs.dsc.inc
>+
>+[LibraryClasses]
>+  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
>+  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
>+  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
>+  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
>+  SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
>+  SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
>+  CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
>+  PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
>+  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
>+  CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
>+  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
>+  UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
>+  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
>+  CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
>+  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
>+  DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
>+  PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
>+  PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
>+  PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
>+  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
>+  OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
>+  SerialPortLib|MdePkg/Library/BaseSerialPortLibRiscVSbiLib/BaseSerialPortLibRiscVSbiLibRam.inf
>+  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
>+  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
>+  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
>+  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
>+  UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
>+  DevicePathLib|MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibDevicePathProtocol.inf
>+  FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
>+  SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
>+  UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
>+  CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
>+  SortLib|MdeModulePkg/Library/BaseSortLib/BaseSortLib.inf
>+  ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
>+  UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
>+  FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
>+  VariableFlashInfoLib|MdeModulePkg/Library/BaseVariableFlashInfoLib/BaseVariableFlashInfoLib.inf
>+  VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf
>+  ImagePropertiesRecordLib|MdeModulePkg/Library/ImagePropertiesRecordLib/ImagePropertiesRecordLib.inf
>+
>+!ifdef $(SOURCE_DEBUG_ENABLE)
>+  PeCoffExtraActionLib|SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf
>+  DebugCommunicationLib|SourceLevelDebugPkg/Library/DebugCommunicationLibSerialPort/DebugCommunicationLibSerialPort.inf
>+!else
>+  PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
>+  DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
>+!endif
>+
>+  DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
>+
>+!if $(SECURE_BOOT_ENABLE) == TRUE
>+  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
>+  OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
>+  TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf
>+  AuthVariableLib|SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf
>+  SecureBootVariableLib|SecurityPkg/Library/SecureBootVariableLib/SecureBootVariableLib.inf
>+  SecureBootVariableProvisionLib|SecurityPkg/Library/SecureBootVariableProvisionLib/SecureBootVariableProvisionLib.inf
>+  PlatformPKProtectionLib|SecurityPkg/Library/PlatformPKProtectionLibVarPolicy/PlatformPKProtectionLibVarPolicy.inf
>+!else
>+  TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
>+  AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
>+!endif
>+  VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
>+
>+!if $(HTTP_BOOT_ENABLE) == TRUE
>+  HttpLib|MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf
>+!endif
>+
>+  # ACPI not supported yet.
>+  # S3BootScriptLib|MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf
>+  SmbusLib|MdePkg/Library/BaseSmbusLibNull/BaseSmbusLibNull.inf
>+  OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
>+
>+[LibraryClasses.common]
>+!if $(SECURE_BOOT_ENABLE) == TRUE
>+  BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
>+!endif
>+
>+  # RISC-V Architectural Libraries
>+  RiscVSbiLib|MdePkg/Library/BaseRiscVSbiLib/BaseRiscVSbiLib.inf
>+  RiscVMmuLib|UefiCpuPkg/Library/BaseRiscVMmuLib/BaseRiscVMmuLib.inf
>+  CpuExceptionHandlerLib|UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/BaseRiscV64CpuExceptionHandlerLib.inf
>+
>+  TimerLib|UefiCpuPkg/Library/BaseRiscV64CpuTimerLib/BaseRiscV64CpuTimerLib.inf
>+  TimeBaseLib|EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.inf
>+  RealTimeClockLib|EmbeddedPkg//Library/VirtualRealTimeClockLib/VirtualRealTimeClockLib.inf
>+
>+  # Flattened Device Tree (FDT) access library
>+  FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
>+
>+[LibraryClasses.common.SEC]
>+!ifdef $(DEBUG_ON_SERIAL_PORT)
>+  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
>+!else
>+  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
>+!endif
>+
>+  ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
>+  ExtractGuidedSectionLib|MdePkg/Library/BaseExtractGuidedSectionLib/BaseExtractGuidedSectionLib.inf
>+  PlatformSecLib|UefiCpuPkg/Library/PlatformSecLibNull/PlatformSecLibNull.inf
>+  HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf
>+  PrePiHobListPointerLib|OvmfPkg/RiscVVirt/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf
>+  MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf
>+
>+!ifdef $(SOURCE_DEBUG_ENABLE)
>+  DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf
>+!endif
>+
>+[LibraryClasses.common.DXE_CORE]
>+  HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
>+  DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
>+  MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
>+  ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
>+!ifdef $(DEBUG_ON_SERIAL_PORT)
>+  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
>+!else
>+  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
>+!endif
>+  ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
>+!ifdef $(SOURCE_DEBUG_ENABLE)
>+  DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
>+!endif
>+
>+[LibraryClasses.common.DXE_RUNTIME_DRIVER]
>+  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
>+  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
>+  DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
>+  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
>+  ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf
>+  ResetSystemLib|OvmfPkg/RiscVVirt/Library/ResetSystemLib/BaseResetSystemLib.inf
>+  UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
>+!ifdef $(DEBUG_ON_SERIAL_PORT)
>+  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
>+!else
>+  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
>+!endif
>+!if $(SECURE_BOOT_ENABLE) == TRUE
>+  BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
>+!endif
>+  UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
>+  VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLibRuntimeDxe.inf
>+
>+[LibraryClasses.common.UEFI_DRIVER]
>+  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
>+  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
>+  DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
>+  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
>+  ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
>+!ifdef $(DEBUG_ON_SERIAL_PORT)
>+  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
>+!else
>+  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
>+!endif
>+  UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
>+  VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLib.inf
>+
>+[LibraryClasses.common.DXE_DRIVER]
>+  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
>+  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
>+  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
>+  ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
>+  UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
>+!ifdef $(DEBUG_ON_SERIAL_PORT)
>+  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
>+!else
>+  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
>+!endif
>+!ifdef $(SOURCE_DEBUG_ENABLE)
>+  DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
>+!endif
>+  UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
>+  PlatformBootManagerLib|Platform/RISC-V/PlatformPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
>+  PlatformMemoryTestLib|Platform/RISC-V/PlatformPkg/Library/PlatformMemoryTestLibNull/PlatformMemoryTestLibNull.inf
>+  PlatformUpdateProgressLib|Platform/RISC-V/PlatformPkg/Library/PlatformUpdateProgressLibNull/PlatformUpdateProgressLibNull.inf
>+
>+[LibraryClasses.common.UEFI_APPLICATION]
>+  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
>+  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
>+  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
>+!ifdef $(DEBUG_ON_SERIAL_PORT)
>+  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
>+!else
>+  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
>+!endif
>+  ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
>+
>+################################################################################
>+#
>+# Pcd Section - list of all EDK II PCD Entries defined by this Platform.
>+#
>+################################################################################
>+[PcdsFeatureFlag]
>+  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress|FALSE
>+  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
>+  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE
>+
>+[PcdsFixedAtBuild]
>+  gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|FALSE
>+  gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|TRUE
>+  gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1
>+  gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
>+  gEfiMdePkgTokenSpaceGuid.PcdRiscVFeatureOverride|0xFFFFFFFFFFFFFFFC
>+  gEfiMdePkgTokenSpaceGuid.PcdMaximumGuidedExtractHandler|0x10
>+  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000
>+  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize|0x8000
>+  gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0xe000
>+
>+  gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0
>+
>+  gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
>+  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
>+!ifdef $(SOURCE_DEBUG_ENABLE)
>+  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
>+!else
>+  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F
>+!endif
>+
>+!ifdef $(SOURCE_DEBUG_ENABLE)
>+  gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2
>+!endif
>+
>+!if $(SECURE_BOOT_ENABLE) == TRUE
>+  # override the default values from SecurityPkg to ensure images from all sources are verified in secure boot
>+  gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x04
>+  gEfiSecurityPkgTokenSpaceGuid.PcdFixedMediaImageVerificationPolicy|0x04
>+  gEfiSecurityPkgTokenSpaceGuid.PcdRemovableMediaImageVerificationPolicy|0x04
>+!endif
>+
>+  #
>+  # F2 for UI APP
>+  #
>+  gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }
>+
>+  #
>+  # Optional feature to help prevent EFI memory map fragments
>+  # Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob
>+  # Values are in EFI Pages (4K). DXE Core will make sure that
>+  # at least this much of each type of memory can be allocated
>+  # from a single memory range. This way you only end up with
>+  # maximum of two fragments for each type in the memory map
>+  # (the memory used, and the free memory that was prereserved
>+  # but not used).
>+  #
>+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0
>+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0
>+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0
>+!if $(SECURE_BOOT_ENABLE) == TRUE
>+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|600
>+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|400
>+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|1500
>+!else
>+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|300
>+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|150
>+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|1000
>+!endif
>+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|6000
>+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|20
>+  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0
>+
>+  #
>+  # Enable strict image permissions for all images. (This applies
>+  # only to images that were built with >= 4 KB section alignment.)
>+  #
>+  gEfiMdeModulePkgTokenSpaceGuid.PcdImageProtectionPolicy|0x3
>+
>+  #
>+  # Enable NX memory protection for all non-code regions, including OEM and OS
>+  # reserved ones, with the exception of LoaderData regions, of which OS loaders
>+  # (i.e., GRUB) may assume that its contents are executable.
>+  #
>+  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy|0xC000000000007FD5
>+
>+  #
>+  # Control the maximum SATP mode that MMU allowed to use.
>+  # 0 - Bare mode.
>+  # 8 - 39bit mode.
>+  # 9 - 48bit mode.
>+  # 10 - 57bit mode.
>+  #
>+  gUefiCpuPkgTokenSpaceGuid.PcdCpuRiscVMmuMaxSatpMode|0
>+
>+################################################################################
>+#
>+# Pcd Dynamic Section - list of all EDK II PCD Entries defined by this Platform
>+#
>+################################################################################
>+
>+[PcdsDynamicDefault]
>+  gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
>+  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
>+  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0
>+  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0
>+  gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|FALSE
>+  gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|800
>+  gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600
>+
>+  gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0x0001
>+
>+  # Set video resolution for text setup.
>+  gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|640
>+  gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|480
>+
>+  gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0208
>+  gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0
>+
>+[PcdsDynamicHii]
>+  gUefiOvmfPkgTokenSpaceGuid.PcdForceNoAcpi|L"ForceNoAcpi"|gOvmfVariableGuid|0x0|TRUE|NV,BS
>+
>+################################################################################
>+#
>+# Components Section - list of all EDK II Modules needed by this Platform.
>+#
>+################################################################################
>+[Components]
>+
>+  #
>+  # SEC Phase modules
>+  #
>+  Silicon/Sophgo/SG2042Pkg/Sec/SecMain.inf  {
>+    <LibraryClasses>
>+      ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
>+      LzmaDecompressLib|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
>+      PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
>+      HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf
>+      PrePiHobListPointerLib|OvmfPkg/RiscVVirt/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf
>+      MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf
>+  }
>+
>+  #
>+  # DXE Phase modules
>+  #
>+  MdeModulePkg/Core/Dxe/DxeMain.inf {
>+    <LibraryClasses>
>+      NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
>+      DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
>+  }
>+
>+  MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
>+  MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
>+  MdeModulePkg/Universal/PCD/Dxe/Pcd.inf  {
>+   <LibraryClasses>
>+      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
>+  }
>+
>+  ArmVirtPkg/CloudHvPlatformHasAcpiDtDxe/CloudHvHasAcpiDtDxe.inf
>+  EmbeddedPkg/Drivers/FdtClientDxe/FdtClientDxe.inf {
>+    <LibraryClasses>
>+      DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
>+  }
>+  OvmfPkg/Fdt/HighMemDxe/HighMemDxe.inf
>+
>+  MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
>+
>+!if $(SECURE_BOOT_ENABLE) == TRUE
>+  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf {
>+    <LibraryClasses>
>+      NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
>+  }
>+!else
>+  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
>+!endif
>+
>+  UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
>+  MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf {
>+    <LibraryClasses>
>+      PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
>+  }
>+  MdeModulePkg/Universal/Metronome/Metronome.inf
>+  MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
>+  MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf {
>+    <LibraryClasses>
>+      ResetSystemLib|MdeModulePkg/Library/BaseResetSystemLibNull/BaseResetSystemLibNull.inf
>+  }
>+  EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
>+
>+  #
>+  # RISC-V Platform module
>+  #
>+  Platform/SiFive/U5SeriesPkg/Universal/Dxe/RamFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf {
>+    <LibraryClasses>
>+      SerialPortLib|Silicon/Hisilicon/Library/Dw8250SerialPortLib/Dw8250SerialPortLib.inf
>+  }
>+  Silicon/Sophgo/SG2042Pkg/Drivers/MmcDxe/MmcDxe.inf
>+  Silicon/Sophgo/SG2042Pkg/Drivers/SdHostDxe/SdHostDxe.inf
>+
>+  #
>+  # RISC-V Core module
>+  #
>+  UefiCpuPkg/CpuTimerDxeRiscV64/CpuTimerDxeRiscV64.inf
>+  UefiCpuPkg/CpuDxeRiscV64/CpuDxeRiscV64.inf
>+  MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
>+
>+  MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
>+  MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
>+    <LibraryClasses>
>+      NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
>+      VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf
>+  }
>+  MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
>+  MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
>+  MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
>+  MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
>+  MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
>+
>+  # No graphic console supported yet.
>+  #  MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf {
>+  #    <LibraryClasses>
>+  #      PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
>+  #  }
>+  MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
>+  MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf {
>+    <LibraryClasses>
>+      DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
>+      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
>+  }
>+  MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
>+  MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
>+  MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
>+  MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
>+  MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
>+  MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
>+  MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
>+  MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
>+  MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
>+  MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
>+  MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
>+
>+  #
>+  # SMBIOS Support
>+  #
>+  MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
>+  Silicon/Sophgo/SG2042Pkg/Drivers/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
>+
>+  #
>+  # Network Support
>+  #
>+  !include NetworkPkg/Network.dsc.inc
>+
>+  #
>+  # Usb Support
>+  #
>+  MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
>+  MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
>+  MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
>+  MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
>+  MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
>+  MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
>+
>+  #
>+  # FAT filesystem + GPT/MBR partitioning + UDF filesystem
>+  #
>+  FatPkg/EnhancedFatDxe/Fat.inf
>+  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
>+
>+  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {
>+    <PcdsFixedAtBuild>
>+      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
>+    <LibraryClasses>
>+      ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
>+      SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
>+  }
>+
>+  ShellPkg/Application/Shell/Shell.inf {
>+    <LibraryClasses>
>+      ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
>+      NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
>+      NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
>+      NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
>+      NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
>+      NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
>+      NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
>+      NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
>+      HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
>+      FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
>+      SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
>+      PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
>+      BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
>+
>+    <PcdsFixedAtBuild>
>+      gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF
>+      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
>+      gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000
>+  }
>+
>+!if $(SECURE_BOOT_ENABLE) == TRUE
>+  SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
>+!endif
>+
>+  MdeModulePkg/Application/UiApp/UiApp.inf {
>+    <LibraryClasses>
>+      NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
>+      NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
>+  }
>-- 
>2.34.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113769): https://edk2.groups.io/g/devel/message/113769
Mute This Topic: https://groups.io/mt/103689728/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



[-- Attachment #2: Type: text/html, Size: 59391 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-01-12 19:16 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-12 14:16 [edk2-devel] [PATCH v1 0/1] Sophgo/SG2042Pkg: Disable Sstc feature caiyuqing_hz
2024-01-12 14:16 ` [edk2-devel] [PATCH v1 1/1] Sophgo/SG2042Pkg: Override Sstc extension caiyuqing_hz
2024-01-12 14:27   ` caiyuqing379
2024-01-12 14:27 ` [edk2-devel] [PATCH v1 0/1] Sophgo/SG2042Pkg: Disable Sstc feature caiyuqing379

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox