VirtualBox

Ignore:
Timestamp:
Aug 12, 2020 4:09:12 PM (5 years ago)
Author:
vboxsync
Message:

Devices/EFI: Merge edk-stable202005 and make it build, 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/DynamicTablesPkg/Include/ArmNameSpaceObjects.h

    r80721 r85718  
    2222*/
    2323typedef enum ArmObjectID {
    24   EArmObjReserved,                    ///<  0 - Reserved
    25   EArmObjBootArchInfo,                ///<  1 - Boot Architecture Info
    26   EArmObjCpuInfo,                     ///<  2 - CPU Info
    27   EArmObjPowerManagementProfileInfo,  ///<  3 - Power Management Profile Info
    28   EArmObjGicCInfo,                    ///<  4 - GIC CPU Interface Info
    29   EArmObjGicDInfo,                    ///<  5 - GIC Distributor Info
    30   EArmObjGicMsiFrameInfo,             ///<  6 - GIC MSI Frame Info
    31   EArmObjGicRedistributorInfo,        ///<  7 - GIC Redistributor Info
    32   EArmObjGicItsInfo,                  ///<  8 - GIC ITS Info
    33   EArmObjSerialConsolePortInfo,       ///<  9 - Serial Console Port Info
    34   EArmObjSerialDebugPortInfo,         ///< 10 - Serial Debug Port Info
    35   EArmObjGenericTimerInfo,            ///< 11 - Generic Timer Info
    36   EArmObjPlatformGTBlockInfo,         ///< 12 - Platform GT Block Info
    37   EArmObjGTBlockTimerFrameInfo,       ///< 13 - Generic Timer Block Frame Info
    38   EArmObjPlatformGenericWatchdogInfo, ///< 14 - Platform Generic Watchdog
    39   EArmObjPciConfigSpaceInfo,          ///< 15 - PCI Configuration Space Info
    40   EArmObjHypervisorVendorIdentity,    ///< 16 - Hypervisor Vendor Id
    41   EArmObjFixedFeatureFlags,           ///< 17 - Fixed feature flags for FADT
    42   EArmObjItsGroup,                    ///< 18 - ITS Group
    43   EArmObjNamedComponent,              ///< 19 - Named Component
    44   EArmObjRootComplex,                 ///< 20 - Root Complex
    45   EArmObjSmmuV1SmmuV2,                ///< 21 - SMMUv1 or SMMUv2
    46   EArmObjSmmuV3,                      ///< 22 - SMMUv3
    47   EArmObjPmcg,                        ///< 23 - PMCG
    48   EArmObjGicItsIdentifierArray,       ///< 24 - GIC ITS Identifier Array
    49   EArmObjIdMappingArray,              ///< 25 - ID Mapping Array
    50   EArmObjSmmuInterruptArray,          ///< 26 - SMMU Interrupt Array
    51   EArmObjProcHierarchyInfo,           ///< 27 - Processor Hierarchy Info
    52   EArmObjCacheInfo,                   ///< 28 - Cache Info
    53   EArmObjProcNodeIdInfo,              ///< 29 - Processor Hierarchy Node ID Info
    54   EArmObjCmRef,                       ///< 30 - CM Object Reference
     24  EArmObjReserved,                     ///<  0 - Reserved
     25  EArmObjBootArchInfo,                 ///<  1 - Boot Architecture Info
     26  EArmObjCpuInfo,                      ///<  2 - CPU Info
     27  EArmObjPowerManagementProfileInfo,   ///<  3 - Power Management Profile Info
     28  EArmObjGicCInfo,                     ///<  4 - GIC CPU Interface Info
     29  EArmObjGicDInfo,                     ///<  5 - GIC Distributor Info
     30  EArmObjGicMsiFrameInfo,              ///<  6 - GIC MSI Frame Info
     31  EArmObjGicRedistributorInfo,         ///<  7 - GIC Redistributor Info
     32  EArmObjGicItsInfo,                   ///<  8 - GIC ITS Info
     33  EArmObjSerialConsolePortInfo,        ///<  9 - Serial Console Port Info
     34  EArmObjSerialDebugPortInfo,          ///< 10 - Serial Debug Port Info
     35  EArmObjGenericTimerInfo,             ///< 11 - Generic Timer Info
     36  EArmObjPlatformGTBlockInfo,          ///< 12 - Platform GT Block Info
     37  EArmObjGTBlockTimerFrameInfo,        ///< 13 - Generic Timer Block Frame Info
     38  EArmObjPlatformGenericWatchdogInfo,  ///< 14 - Platform Generic Watchdog
     39  EArmObjPciConfigSpaceInfo,           ///< 15 - PCI Configuration Space Info
     40  EArmObjHypervisorVendorIdentity,     ///< 16 - Hypervisor Vendor Id
     41  EArmObjFixedFeatureFlags,            ///< 17 - Fixed feature flags for FADT
     42  EArmObjItsGroup,                     ///< 18 - ITS Group
     43  EArmObjNamedComponent,               ///< 19 - Named Component
     44  EArmObjRootComplex,                  ///< 20 - Root Complex
     45  EArmObjSmmuV1SmmuV2,                 ///< 21 - SMMUv1 or SMMUv2
     46  EArmObjSmmuV3,                       ///< 22 - SMMUv3
     47  EArmObjPmcg,                         ///< 23 - PMCG
     48  EArmObjGicItsIdentifierArray,        ///< 24 - GIC ITS Identifier Array
     49  EArmObjIdMappingArray,               ///< 25 - ID Mapping Array
     50  EArmObjSmmuInterruptArray,           ///< 26 - SMMU Interrupt Array
     51  EArmObjProcHierarchyInfo,            ///< 27 - Processor Hierarchy Info
     52  EArmObjCacheInfo,                    ///< 28 - Cache Info
     53  EArmObjProcNodeIdInfo,               ///< 29 - Processor Node ID Info
     54  EArmObjCmRef,                        ///< 30 - CM Object Reference
     55  EArmObjMemoryAffinityInfo,           ///< 31 - Memory Affinity Info
     56  EArmObjDeviceHandleAcpi,             ///< 32 - Device Handle Acpi
     57  EArmObjDeviceHandlePci,              ///< 33 - Device Handle Pci
     58  EArmObjGenericInitiatorAffinityInfo, ///< 34 - Generic Initiator Affinity
    5559  EArmObjMax
    5660} EARM_OBJECT_ID;
     
    6569      described in the ACPI Table Specification.
    6670  */
    67   UINT32  BootArchFlags;
     71  UINT16  BootArchFlags;
    6872} CM_ARM_BOOT_ARCH_INFO;
    69 
    70 typedef struct CmArmCpuInfo {
    71   // Reserved for use when SMBIOS tables are implemented
    72 } CM_ARM_CPU_INFO;
    7373
    7474/** A structure that describes the
     
    167167  */
    168168  UINT16  SpeOverflowInterrupt;
     169
     170  /** The proximity domain to which the logical processor belongs.
     171      This field is used to populate the GICC affinity structure
     172      in the SRAT table.
     173  */
     174  UINT32  ProximityDomain;
     175
     176  /** The clock domain to which the logical processor belongs.
     177      This field is used to populate the GICC affinity structure
     178      in the SRAT table.
     179  */
     180  UINT32  ClockDomain;
     181
     182  /** The GICC Affinity flags field as described by the GICC Affinity structure
     183      in the SRAT table.
     184  */
     185  UINT32  AffinityFlags;
    169186} CM_ARM_GICC_INFO;
    170187
     
    242259  /// The physical address for the Interrupt Translation Service
    243260  UINT64  PhysicalBaseAddress;
     261
     262  /** The proximity domain to which the logical processor belongs.
     263      This field is used to populate the GIC ITS affinity structure
     264      in the SRAT table.
     265  */
     266  UINT32  ProximityDomain;
    244267} CM_ARM_GIC_ITS_INFO;
    245268
     
    730753} CM_ARM_OBJ_REF;
    731754
     755/** A structure that describes the Memory Affinity Structure (Type 1) in SRAT
     756
     757    ID: EArmObjMemoryAffinityInfo
     758*/
     759typedef struct CmArmMemoryAffinityInfo {
     760  /// The proximity domain to which the "range of memory" belongs.
     761  UINT32            ProximityDomain;
     762
     763  /// Base Address
     764  UINT64            BaseAddress;
     765
     766  /// Length
     767  UINT64            Length;
     768
     769  /// Flags
     770  UINT32            Flags;
     771} CM_ARM_MEMORY_AFFINITY_INFO;
     772
     773/** A structure that describes the ACPI Device Handle (Type 0) in the
     774    Generic Initiator Affinity structure in SRAT
     775
     776    ID: EArmObjDeviceHandleAcpi
     777*/
     778typedef struct CmArmDeviceHandleAcpi {
     779  /// Hardware ID
     780  UINT64  Hid;
     781
     782  /// Unique Id
     783  UINT32  Uid;
     784} CM_ARM_DEVICE_HANDLE_ACPI;
     785
     786/** A structure that describes the PCI Device Handle (Type 1) in the
     787    Generic Initiator Affinity structure in SRAT
     788
     789    ID: EArmObjDeviceHandlePci
     790*/
     791typedef struct CmArmDeviceHandlePci {
     792  /// PCI Segment Number
     793  UINT16  SegmentNumber;
     794
     795  /// PCI Bus Number - Max 256 busses (Bits 15:8 of BDF)
     796  UINT8  BusNumber;
     797
     798  /// PCI Device Mumber - Max 32 devices (Bits 7:3 of BDF)
     799  UINT8   DeviceNumber;
     800
     801  /// PCI Function Number - Max 8 functions (Bits 2:0 of BDF)
     802  UINT8   FunctionNumber;
     803} CM_ARM_DEVICE_HANDLE_PCI;
     804
     805/** A structure that describes the Generic Initiator Affinity structure in SRAT
     806
     807    ID: EArmObjGenericInitiatorAffinityInfo
     808*/
     809typedef struct CmArmGenericInitiatorAffinityInfo {
     810  /// The proximity domain to which the generic initiator belongs.
     811  UINT32            ProximityDomain;
     812
     813  /// Flags
     814  UINT32            Flags;
     815
     816  /// Device Handle Type
     817  UINT8             DeviceHandleType;
     818
     819  /// Reference Token for the Device Handle
     820  CM_OBJECT_TOKEN   DeviceHandleToken;
     821} CM_ARM_GENERIC_INITIATOR_AFFINITY_INFO;
     822
    732823#pragma pack()
    733824
Note: See TracChangeset for help on using the changeset viewer.

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