VirtualBox

Ignore:
Timestamp:
Aug 14, 2024 1:16:30 PM (8 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
164367
Message:

Devices/EFI/FirmwareNew: Merge edk2-stable-202405 and make it build on aarch64, bugref:4643

Location:
trunk/src/VBox/Devices/EFI/FirmwareNew
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/EFI/FirmwareNew

  • trunk/src/VBox/Devices/EFI/FirmwareNew/UefiPayloadPkg/UefiPayloadPkg.dsc

    r101291 r105670  
    2323  BUILD_TARGETS                       = DEBUG|RELEASE|NOOPT
    2424  SKUID_IDENTIFIER                    = DEFAULT
    25   OUTPUT_DIRECTORY                    = Build/UefiPayloadPkgX64
     25  OUTPUT_DIRECTORY                    = Build/UefiPayloadPkg$(BUILD_ARCH)
    2626  FLASH_DEFINITION                    = UefiPayloadPkg/UefiPayloadPkg.fdf
    2727  PCD_DYNAMIC_AS_DYNAMICEX            = TRUE
     
    3131  DEFINE RAM_DISK_ENABLE              = FALSE
    3232  DEFINE SIO_BUS_ENABLE               = FALSE
    33   DEFINE UNIVERSAL_PAYLOAD            = FALSE
    3433  DEFINE SECURITY_STUB_ENABLE         = TRUE
    3534  DEFINE SMM_SUPPORT                  = FALSE
     
    3938  DEFINE SD_ENABLE                    = TRUE
    4039  DEFINE PS2_MOUSE_ENABLE             = TRUE
    41   DEFINE CRYPTO_PROTOCOL_SUPPORT      = FALSE
    4240  DEFINE SD_MMC_TIMEOUT               = 1000000
    4341  DEFINE USE_CBMEM_FOR_CONSOLE        = FALSE
     
    4543  DEFINE NVME_ENABLE                  = TRUE
    4644  DEFINE CAPSULE_SUPPORT              = FALSE
     45
     46  #
     47  # Crypto Support
     48  #
     49  DEFINE CRYPTO_PROTOCOL_SUPPORT        = FALSE
     50  DEFINE CRYPTO_DRIVER_EXTERNAL_SUPPORT = FALSE
     51
     52  #
     53  # Setup Universal Payload
     54  #
     55  # ELF: Build UniversalPayload file as UniversalPayload.elf
     56  # FIT: Build UniversalPayload file as UniversalPayload.fit
     57  #
     58  DEFINE UNIVERSAL_PAYLOAD            = FALSE
     59  DEFINE UNIVERSAL_PAYLOAD_FORMAT     = ELF
    4760
    4861  #
     
    132145  # Note: for emulation platform such as QEMU, this may not work and should set it as FALSE
    133146  DEFINE CPU_TIMER_LIB_ENABLE  = TRUE
     147
     148  #
     149  # HPET:  UEFI Payload will use HPET timer
     150  # LAPIC: UEFI Payload will use local APIC timer
     151  #
     152  DEFINE TIMER_SUPPORT      = HPET
    134153
    135154  DEFINE MULTIPLE_DEBUG_PORT_SUPPORT = FALSE
     
    241260  CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
    242261  FrameBufferBltLib|MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf
    243 
    244   #
    245   # CPU
    246   #
    247   MtrrLib|UefiCpuPkg/Library/MtrrLib/MtrrLib.inf
    248   LocalApicLib|UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf
    249   MicrocodeLib|UefiCpuPkg/Library/MicrocodeLib/MicrocodeLib.inf
    250   CpuPageTableLib|UefiCpuPkg/Library/CpuPageTableLib/CpuPageTableLib.inf
    251 
    252   #
    253   # Platform
    254   #
    255 !if $(CPU_TIMER_LIB_ENABLE) == TRUE && $(UNIVERSAL_PAYLOAD) == TRUE
    256   TimerLib|UefiCpuPkg/Library/CpuTimerLib/BaseCpuTimerLib.inf
    257 !else
    258   TimerLib|UefiPayloadPkg/Library/AcpiTimerLib/AcpiTimerLib.inf
    259 !endif
    260262  ResetSystemLib|UefiPayloadPkg/Library/ResetSystemLib/ResetSystemLib.inf
    261263!if $(USE_CBMEM_FOR_CONSOLE) == TRUE
     
    278280  DebugPrintErrorLevelLib|UefiPayloadPkg/Library/DebugPrintErrorLevelLibHob/DebugPrintErrorLevelLibHob.inf
    279281  PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
     282  ImagePropertiesRecordLib|MdeModulePkg/Library/ImagePropertiesRecordLib/ImagePropertiesRecordLib.inf
    280283!if $(SOURCE_DEBUG_ENABLE) == TRUE
    281284  PeCoffExtraActionLib|SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf
     
    311314  VariableFlashInfoLib|MdeModulePkg/Library/BaseVariableFlashInfoLib/BaseVariableFlashInfoLib.inf
    312315  CcExitLib|UefiCpuPkg/Library/CcExitLibNull/CcExitLibNull.inf
     316  AmdSvsmLib|UefiCpuPkg/Library/AmdSvsmLibNull/AmdSvsmLibNull.inf
    313317  ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
     318  FdtLib|MdePkg/Library/BaseFdtLib/BaseFdtLib.inf
     319  SmmRelocationLib|UefiCpuPkg/Library/SmmRelocationLib/SmmRelocationLib.inf
    314320
    315321[LibraryClasses.common]
     
    318324  BmpSupportLib|MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf
    319325!endif
     326
     327[LibraryClasses.X64]
     328  #
     329  # CPU
     330  #
     331  MtrrLib|UefiCpuPkg/Library/MtrrLib/MtrrLib.inf
     332  LocalApicLib|UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf
     333  MicrocodeLib|UefiCpuPkg/Library/MicrocodeLib/MicrocodeLib.inf
     334  IoApicLib|PcAtChipsetPkg/Library/BaseIoApicLib/BaseIoApicLib.inf
     335!if $(CPU_TIMER_LIB_ENABLE) == TRUE && $(UNIVERSAL_PAYLOAD) == TRUE
     336  TimerLib|UefiCpuPkg/Library/CpuTimerLib/BaseCpuTimerLib.inf
     337!else
     338  TimerLib|UefiPayloadPkg/Library/AcpiTimerLib/AcpiTimerLib.inf
     339!endif
     340  CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
     341  CpuPageTableLib|UefiCpuPkg/Library/CpuPageTableLib/CpuPageTableLib.inf
    320342
    321343[LibraryClasses.common.SEC]
     
    335357  ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
    336358  ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
     359
     360[LibraryClasses.X64.DXE_CORE]
    337361!if $(SOURCE_DEBUG_ENABLE)
    338362  DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
     
    348372  ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
    349373  ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
     374
     375[LibraryClasses.X64.DXE_DRIVER]
     376  CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
     377  MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf
    350378!if $(SOURCE_DEBUG_ENABLE)
    351379  DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
     
    374402!endif
    375403
    376 [LibraryClasses.common.SMM_CORE]
     404[LibraryClasses.X64.SMM_CORE]
    377405!if $(SMM_SUPPORT) == TRUE
    378406  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
     
    388416!endif
    389417
    390 [LibraryClasses.common.DXE_SMM_DRIVER]
     418[LibraryClasses.X64.DXE_SMM_DRIVER]
    391419!if $(SMM_SUPPORT) == TRUE
    392420  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
     
    418446################################################################################
    419447[PcdsFeatureFlag]
    420   gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|TRUE
    421448  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
    422449  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE
     
    425452  gEfiMdeModulePkgTokenSpaceGuid.PcdHiiOsRuntimeSupport|FALSE
    426453  gEfiMdeModulePkgTokenSpaceGuid.PcdPciDegradeResourceForOptionRom|FALSE
     454
     455[PcdsFeatureFlag.X64]
     456  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|TRUE
    427457  gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmEnableBspElection|FALSE
    428458
     
    460490
    461491!if $(CRYPTO_PROTOCOL_SUPPORT) == TRUE
     492!if $(CRYPTO_DRIVER_EXTERNAL_SUPPORT) == FALSE
    462493  gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.HmacSha256.Family                        | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
    463494  gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Md5.Family                               | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
     
    481512  gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.TlsGet.Family                            | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
    482513!endif
     514!endif
    483515
    484516[PcdsPatchableInModule.X64]
     
    601633  [Components.IA32]
    602634  !if $(UNIVERSAL_PAYLOAD) == TRUE
    603     UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf
     635    !if $(UNIVERSAL_PAYLOAD_FORMAT) == "ELF"
     636      UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf
     637    !elseif $(UNIVERSAL_PAYLOAD_FORMAT) == "FIT"
     638      UefiPayloadPkg/UefiPayloadEntry/FitUniversalPayloadEntry.inf
     639    !else
     640      UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf
     641    !endif
    604642  !else
    605643    UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf
     
    608646  [Components.X64]
    609647  !if $(UNIVERSAL_PAYLOAD) == TRUE
    610     UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf
     648    !if $(UNIVERSAL_PAYLOAD_FORMAT) == "ELF"
     649      UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf
     650    !elseif $(UNIVERSAL_PAYLOAD_FORMAT) == "FIT"
     651      UefiPayloadPkg/UefiPayloadEntry/FitUniversalPayloadEntry.inf
     652    !else
     653      UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf
     654    !endif
    611655  !else
    612656    UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf
     
    656700
    657701
     702!if $(TIMER_SUPPORT) == "HPET"
    658703  PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf
     704!elseif $(TIMER_SUPPORT) == "LAPIC"
     705  OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf {
     706    <LibraryClasses>
     707      NestedInterruptTplLib|OvmfPkg/Library/NestedInterruptTplLib/NestedInterruptTplLib.inf
     708  }
     709!else
     710  !error "Invalid TIMER_SUPPORT"
     711!endif
     712
    659713  MdeModulePkg/Universal/Metronome/Metronome.inf
    660714  MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
     
    824878  #
    825879!if $(CRYPTO_PROTOCOL_SUPPORT) == TRUE
     880!if $(CRYPTO_DRIVER_EXTERNAL_SUPPORT) == FALSE
    826881  CryptoPkg/Driver/CryptoDxe.inf {
    827882    <LibraryClasses>
     
    829884      TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf
    830885  }
     886!endif
    831887!endif
    832888
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette