VirtualBox

Ignore:
Timestamp:
Mar 31, 2025 11:31:09 AM (2 weeks ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
168237
Message:

Devices/EFI/FirmwareNew: Merge edk2-stable202502 from the vendor branch and make it build for the important platforms, 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/MdePkg/MdePkg.dec

    r105670 r108794  
    1212# Copyright (C) 2023 Advanced Micro Devices, Inc. All rights reserved.<BR>
    1313# Copyright (c) 2023, Ampere Computing LLC. All rights reserved.<BR>
     14# Copyright (c) Microsoft Corporation.<BR>
    1415#
    1516# SPDX-License-Identifier: BSD-2-Clause-Patent
     
    304305  TraceHubDebugSysTLib|Include/Library/TraceHubDebugSysTLib.h
    305306
     307  ##  @libraryclass  Provides a hook called when a stack cookie check fails.
     308  #
     309  StackCheckFailureHookLib|Include/Library/StackCheckFailureHookLib.h
     310
     311  ##  @libraryclass  Provides stack cookie checking functionality
     312  #
     313  StackCheckLib|Include/Library/StackCheckLib.h
     314
    306315[LibraryClasses.IA32, LibraryClasses.X64, LibraryClasses.AARCH64]
    307316  ##  @libraryclass  Provides services to generate random number.
     
    336345  TdxLib|Include/Library/TdxLib.h
    337346
     347[LibraryClasses.X64]
     348  ##  @libraryclass  Defines a set of interfaces for the MM core entrypoint. The ARM/AARCH64 version lives in ArmPkg
     349  #
     350  StandaloneMmCoreEntryPoint|Include/Library/StandaloneMmCoreEntryPoint.h
     351
    338352[LibraryClasses.RISCV64]
    339353  ##  @libraryclass  Provides function to make ecalls to SBI
    340354  BaseRiscVSbiLib|Include/Library/BaseRiscVSbiLib.h
     355
     356[LibraryClasses.ARM, LibraryClasses.AARCH64]
     357  ##  @libraryclass  Provides an interface to Arm registers.
     358  #
     359  ArmLib|Include/Library/ArmLib.h
    341360
    342361[Guids]
     
    621640  gEfiCertSha512Guid             = { 0x93e0fae,  0xa6c4, 0x4f50, {0x9f, 0x1b, 0xd4, 0x1e, 0x2b, 0x89, 0xc1, 0x9a }}
    622641  gEfiCertPkcs7Guid              = { 0x4aafd29d, 0x68df, 0x49ee, {0x8a, 0xa9, 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7 }}
     642  gEfiCertSm3Guid                = { 0x57347f87, 0x7a9b, 0x403a, {0xb9, 0x3c, 0xdc, 0x4a, 0xfb, 0x7a, 0x0e, 0xbc }}
    623643
    624644  ## Include/Protocol/Hash.h
     
    636656  gEfiCertX509Sha384Guid         = { 0x7076876e, 0x80c2, 0x4ee6, {0xaa, 0xd2, 0x28, 0xb3, 0x49, 0xa6, 0x86, 0x5b }}
    637657  gEfiCertX509Sha512Guid         = { 0x446dbf63, 0x2502, 0x4cda, {0xbc, 0xfa, 0x24, 0x65, 0xd2, 0xb0, 0xfe, 0x9d }}
     658  gEfiCertX509Sm3Guid            = { 0x60d807e5, 0x10b4, 0x49a9, {0x93, 0x31, 0xe4, 0x04, 0x37, 0x88, 0x8d, 0x37 }}
    638659
    639660  ## Include/Protocol/Rng.h
     
    694715  gEfiBootManagerPolicyNetworkGuid    = { 0xD04159DC, 0xE15F, 0x11E3, { 0xB2, 0x61, 0xB8, 0xE8, 0x56, 0x2C, 0xBA, 0xFA }}
    695716  gEfiBootManagerPolicyConnectAllGuid = { 0x113B2126, 0xFC8A, 0x11E3, { 0xBD, 0x6C, 0xB8, 0xE8, 0x56, 0x2C, 0xBA, 0xFA }}
     717  gEfiBootManagerPolicyStorageGuid    = { 0xCD68FE79, 0xD3CB, 0x436E, { 0xA8, 0x50, 0xF4, 0x43, 0xC8, 0x8C, 0xFB, 0x49 }}
    696718
    697719  ## Include/Protocol/DevicePath.h
     
    747769  gEfiDeviceSignatureDatabaseGuid  = { 0xb9c2b4f4, 0xbf5f, 0x462d, {0x8a, 0xdf, 0xc5, 0xc7, 0xa, 0xc3, 0x5d, 0xad }}
    748770
     771  ## Include/Guid/ConformanceProfiles.h
     772  gEfiConfProfilesTableGuid        = { 0x36122546, 0xf7e7, 0x4c8f, { 0xbd, 0x9b, 0xeb, 0x85, 0x25, 0xb5, 0x0c, 0x0b }}
     773  gEfiConfProfilesUefiSpecGuid     = { 0x523c91af, 0xa195, 0x4382, { 0x81, 0x8d, 0x29, 0x5f, 0xe4, 0x00, 0x64, 0x65 }}
     774
     775  # GUIDs defined in EBBR
     776  #
     777  ## Include/Guid/ConformanceProfiles.h
     778  gEfiConfProfilesEbbrSpec21Guid     = { 0xcce33c35, 0x74ac, 0x4087, { 0xbc, 0xe7, 0x8b, 0x29, 0xb0, 0x2e, 0xeb, 0x27 }}
     779  gEfiConfProfilesEbbrSpec22Guid     = { 0x9073eed4, 0xe50d, 0x11ee, { 0xb8, 0xb0, 0x8b, 0x68, 0xda, 0x62, 0xfc, 0x80 }}
     780
    749781  #
    750782  # GUID defined in PI1.0
     
    10641096  gEfiPeiDelayedDispatchPpiGuid  = { 0x869c711d, 0x649c, 0x44fe, { 0x8b, 0x9e, 0x2c, 0xbb, 0x29, 0x11, 0xc3, 0xe6 }}
    10651097
     1098  ## Include/Ppi/Rng.h
     1099  gEfiRngPpiGuid                 = { 0xeaed0a7e, 0x1a70, 0x4c2b, { 0x85, 0x58, 0x37, 0x17, 0x74, 0x56, 0xd8, 0x06 }}
     1100
    10661101[Protocols]
    10671102  ## Include/Protocol/MemoryAccept.h
     
    13701405  ## Include/Protocol/MmCommunication.h
    13711406  gEfiMmCommunicationProtocolGuid  = { 0xc68ed8e2, 0x9dc6, 0x4cbd, { 0x9d, 0x94, 0xdb, 0x65, 0xac, 0xc5, 0xc3, 0x32 }}
     1407
     1408  ## This protocol is a MM protocol published by a standalone MM Foundation code if MM Foundation is loaded in PEI phase.
     1409  ## This protocol should be installed immediately after DXE IPL installs EFI_PEI_END_OF_PEI_PHASE_PPI
     1410  gEfiMmEndOfPeiProtocol           = { 0xf33e1bf3, 0x980b, 0x4bfb, { 0xa2, 0x9a, 0xb2, 0x9c, 0x86, 0x45, 0x37, 0x32 }}
    13721411
    13731412  #
     
    22002239  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueDxeDriverEnd|0x3040003|UINT32|0x30001014
    22012240
    2202   ## This flag is used to control build time optimization based on debug print level.
    2203   #  Its default value is 0xFFFFFFFF to expose all debug print level.
     2241  ## This flag is used to control fixed-at-build optimization of DEBUG_PRINT macros.<BR><BR>
     2242  #  The default value is 0xFFFFFFFF, meaning that DEBUG_PRINT (...) always evaluates
     2243  #  the macro arguments and always invokes DebugPrint (...). If you want to optimize
     2244  #  messages, you might set this to a more restrictive value like 0x80000002 (optimize-out
     2245  #  everything except errors and warnings).<BR><BR>
     2246  #  This flag is consumed by DebugLib's DebugPrintLevelEnabled (Level) function. The
     2247  #  DEBUG_PRINT (Level, Format, ...) macro in DebugLib.h calls DebugPrintLevelEnabled (Level)
     2248  #  to filter the output, and most implementations of DebugPrintLevelEnabled (Level) simply
     2249  #  return (Level & PcdFixedDebugPrintErrorLevel) != 0.<BR><BR>
    22042250  #  BIT0  - Initialization message.<BR>
    22052251  #  BIT1  - Warning message.<BR>
     
    22412287  gEfiMdePkgTokenSpaceGuid.PcdSpeculationBarrierType|0x01|UINT8|0x30001018
    22422288
     2289  ## This PCD specifies the interrupt vector for stack cookie check failures
     2290  gEfiMdePkgTokenSpaceGuid.PcdStackCookieExceptionVector|0x42|UINT8|0x30001019
     2291
     2292  ## Enforces the use of Secure UEFI spec defined RNG algorithms.
     2293  # TRUE  - Enforce the use of Secure UEFI spec defined RNG algorithms.
     2294  # FALSE - Do not enforce and depend on the default implementation of RNG algorithm from the provider.
     2295  # @Prompt Enforce the use of Secure UEFI spec defined RNG algorithms.
     2296  gEfiMdePkgTokenSpaceGuid.PcdEnforceSecureRngAlgorithms|TRUE|BOOLEAN|0x1000000D
     2297
    22432298[PcdsFixedAtBuild,PcdsPatchableInModule]
    22442299  ## Indicates the maximum length of unicode string used in the following
     
    22762331
    22772332  ## The mask is used to control DebugLib behavior.<BR><BR>
    2278   #  BIT0 - Enable Debug Assert.<BR>
    2279   #  BIT1 - Enable Debug Print.<BR>
    2280   #  BIT2 - Enable Debug Code.<BR>
    2281   #  BIT3 - Enable Clear Memory.<BR>
    2282   #  BIT4 - Enable BreakPoint as ASSERT.<BR>
    2283   #  BIT5 - Enable DeadLoop as ASSERT.<BR>
     2333  #  Note that if the MDEPKG_NDEBUG macro is defined, the ASSERT***, CR, and DEBUG macros will be
     2334  #  no-ops regardless of this value.<BR>
     2335  #  Note that MDEPKG_NDEBUG does not affect DEBUG_PRINT.<BR><BR>
     2336  #  BIT0 - ASSERT_ENABLED: Enable the ASSERT*** and CR macros.<BR>
     2337  #  BIT1 - PRINT_ENABLED: Enable the DEBUG macro (does not affect the DEBUG_PRINT macro).<BR>
     2338  #  BIT2 - CODE_ENABLED: Enable the DEBUG_CODE_BEGIN macro.<BR>
     2339  #  BIT3 - CLEAR_MEMORY_ENABLED: Enable the DEBUG_CLEAR_MEMORY macro.<BR>
     2340  #  BIT4 - ASSERT_BREAKPOINT_ENABLED: Enable BreakPoint for failed ASSERT.<BR>
     2341  #  BIT5 - ASSERT_DEADLOOP_ENABLED: Enable DeadLoop for failed ASSERT.<BR>
    22842342  # @Prompt Debug Property.
    22852343  # @Expression  0x80000002 | (gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask & 0xC0) == 0
    22862344  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0|UINT8|0x00000005
    22872345
    2288   ## This flag is used to control the print out Debug message.<BR><BR>
     2346  ## This flag is used to filter the output of the DEBUG_PRINT macro and DebugPrint functions.<BR><BR>
     2347  #  The default value is 0x80000000, meaning that DebugPrint returns immediately for anything
     2348  #  except errors. You might set this to a value like 0x80000002 to also enable warnings.<BR><BR>
     2349  #  This flag is consumed by the BaseDebugPrintErrorLevelLib implementation of
     2350  #  GetDebugPrintErrorLevel (). DebugLib's DebugPrint (Level, ...) functions return immediately if
     2351  #  (GetDebugPrintErrorLevel() & Level) == 0. Other implementations of DebugPrintErrorLevelLib
     2352  #  may provide different definitions of GetDebugPrintErrorLevel  ().<BR><BR>
     2353  #  Note that the DEBUG_PRINT macro also uses PcdFixedDebugPrintErrorLevel to determine whether
     2354  #  or not it calls the DebugPrint function, so your message level needs to be enabled in both
     2355  #  PcdFixedDebugPrintErrorLevel and PcdDebugPrintErrorLevel settings for the DEBUG_PRINT macro
     2356  #  to work.<BR><BR>
    22892357  #  BIT0  - Initialization message.<BR>
    22902358  #  BIT1  - Warning message.<BR>
     
    24022470  gEfiMdePkgTokenSpaceGuid.PcdIpmiSsifResponseRetryIntervalMicrosecond|60000|UINT32|0x00000036
    24032471
     2472  ## This is requester's Software IDs for IPMI Serial.
     2473  #  This byte is 20h when the BMC is the requester (section 14.4.3).
     2474  # @Prompt IPMI Serial requester Software ID
     2475  gEfiMdePkgTokenSpaceGuid.PcdIpmiSerialRequesterAddress|0x20|UINT8|0x00000050
     2476
     2477  ## This is responder's Software IDs for IPMI Serial.
     2478  #  This byte is 20h when the BMC is the responder (section 14.4.3).
     2479  # @Prompt IPMI Serial responder Software ID
     2480  gEfiMdePkgTokenSpaceGuid.PcdIpmiSerialResponderAddress|0x20|UINT8|0x00000051
     2481
     2482  ## This is requester's LUN for IPMI Serial.
     2483  # @Prompt IPMI Serial requester LUN
     2484  gEfiMdePkgTokenSpaceGuid.PcdIpmiSerialRequesterLun|0x0|UINT8|0x00000052
     2485
     2486  ## This is responder's LUN for IPMI Serial.
     2487  # @Prompt IPMI Serial responder LUN
     2488  gEfiMdePkgTokenSpaceGuid.PcdIpmiSerialResponderLun|0x0|UINT8|0x00000053
     2489
     2490  ## This is the maximum number of IPMI Serial request retries.
     2491  #  The IPMB specification specified min value is 5 (section 4).
     2492  # @Prompt Number of IPMI Serial request retries.
     2493  gEfiMdePkgTokenSpaceGuid.PcdIpmiSerialRequestRetryCount|5|UINT8|0x00000054
     2494
     2495  ## This is the required interval for each IPMI request retry.
     2496  #  The IPMB specification specified min value is 60ms (section 4).
     2497  # @Prompt Time-out for a request, internal
     2498  gEfiMdePkgTokenSpaceGuid.PcdIpmiSerialRequestRetryInterval|60000|UINT32|0x00000055
     2499
    24042500[PcdsFixedAtBuild.AARCH64, PcdsPatchableInModule.AARCH64]
    24052501  ## GUID identifying the Rng algorithm implemented by CPU instruction.
     
    24152511  # previous stage has feature enabled and user wants to disable it.
    24162512  # BIT 2 = Page-Based Memory Types (Pbmt). This bit is relevant only if
     2513  # previous stage has feature enabled and user wants to disable it.
     2514  # BIT 3 = Zkr extension.This bit is relevant only if
    24172515  # previous stage has feature enabled and user wants to disable it.
    24182516  #
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