X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdePkg%2FInclude%2FIndustryStandard%2FSal.h;h=cdc547a4e620f230135b2a40c351cd400018987e;hp=18225ba7b83bad88d98b1c7f0b16adc6535576c4;hb=e1da91ad12f5320363cdb895a387107c5552c892;hpb=4135253bde4f1bb0004844f3ab1112882c76072e diff --git a/MdePkg/Include/IndustryStandard/Sal.h b/MdePkg/Include/IndustryStandard/Sal.h index 18225ba7b8..cdc547a4e6 100644 --- a/MdePkg/Include/IndustryStandard/Sal.h +++ b/MdePkg/Include/IndustryStandard/Sal.h @@ -19,7 +19,7 @@ /// /// SAL return status type /// -typedef UINTN EFI_SAL_STATUS; +typedef INTN EFI_SAL_STATUS; /// /// Call completed without error. @@ -87,13 +87,13 @@ typedef struct { /** Prototype of SAL procedures. - @param Arg0 Functional identifier. + @param FunctionId Functional identifier. The upper 32 bits are ignored and only the lower 32 bits are used. The following functional identifiers are defined: - 0x01XXXXXX – Architected SAL functional group. - 0x02XXXXXX to 0x03XXXXXX – OEM SAL functional group. Each OEM is + 0x01XXXXXX - Architected SAL functional group. + 0x02XXXXXX to 0x03XXXXXX - OEM SAL functional group. Each OEM is allowed to use the entire range in the 0x02XXXXXX to 0x03XXXXXX range. - 0x04XXXXXX to 0xFFFFFFFF – Reserved. + 0x04XXXXXX to 0xFFFFFFFF - Reserved. @param Arg1 The first parameter of the architected/OEM specific SAL functions. @param Arg2 The second parameter of the architected/OEM specific SAL functions. @param Arg3 The third parameter passed to the ESAL function based @@ -111,15 +111,15 @@ typedef struct { **/ typedef SAL_RETURN_REGS -(EFIAPI *SAL_PROC) ( +(EFIAPI *SAL_PROC)( IN UINT64 FunctionId, + IN UINT64 Arg1, IN UINT64 Arg2, IN UINT64 Arg3, IN UINT64 Arg4, IN UINT64 Arg5, IN UINT64 Arg6, - IN UINT64 Arg7, - IN UINT64 Arg8 + IN UINT64 Arg7 ); // @@ -303,7 +303,7 @@ typedef struct { // Parameter and return value of EFI_SAL_UPDATE_PAL // // Return parameter provides additional information on the -// failure when the status field contains a value of –3, +// failure when the status field contains a value of -3, // returned in r9. // #define EFI_SAL_UPDATE_BAD_PAL_VERSION ((UINT64) -1) @@ -324,6 +324,7 @@ typedef struct { UINT8 Type; UINT8 Reserved[5]; UINT64 FwVendorId; + UINT8 Reserved2[40]; } SAL_UPDATE_PAL_DATA_BLOCK; /// /// Data structure pointed by parameter param_buf. @@ -344,8 +345,8 @@ typedef struct _SAL_UPDATE_PAL_INFO_BLOCK { #pragma pack(1) typedef struct { /// - /// The ASCII string representation of “SST_”, which confirms the presence of the table. - /// + /// The ASCII string representation of "SST_" which confirms the presence of the table. + /// UINT32 Signature; /// /// The length of the entire table in bytes, starting from offset zero and including the @@ -392,7 +393,6 @@ typedef struct { /// UINT8 Reserved2[8]; } SAL_SYSTEM_TABLE_HEADER; -#pragma pack() #define EFI_SAL_ST_HEADER_SIGNATURE "SST_" #define EFI_SAL_REVISION 0x0320 @@ -416,9 +416,8 @@ typedef struct { #define EFI_SAL_ST_PTC_SIZE 16 #define EFI_SAL_ST_AP_WAKEUP_SIZE 16 -#pragma pack(1) /// -/// Format Entrypoint Descriptor Entry +/// Format of Entrypoint Descriptor Entry /// typedef struct { UINT8 Type; ///< Type here should be 0 @@ -429,16 +428,15 @@ typedef struct { UINT64 Reserved2[2]; } SAL_ST_ENTRY_POINT_DESCRIPTOR; -#pragma pack(1) /// -/// Format Platform Features Descriptor Entry +/// Format of Platform Features Descriptor Entry /// typedef struct { UINT8 Type; ///< Type here should be 2 UINT8 PlatformFeatures; UINT8 Reserved[14]; } SAL_ST_PLATFORM_FEATURES; -#pragma pack() + // // Value of Platform Feature List // @@ -446,7 +444,6 @@ typedef struct { #define SAL_PLAT_FEAT_PLAT_IPI_HINT 0x02 #define SAL_PLAT_FEAT_PROC_IPI_HINT 0x04 -#pragma pack(1) /// /// Format of Translation Register Descriptor Entry /// @@ -459,14 +456,13 @@ typedef struct { UINT64 EncodedPageSize; UINT64 Reserved1; } SAL_ST_TR_DECRIPTOR; -#pragma pack() + // // Type of Translation Register // #define EFI_SAL_ST_TR_USAGE_INSTRUCTION 00 #define EFI_SAL_ST_TR_USAGE_DATA 01 -#pragma pack(1) /// /// Definition of Coherence Domain Information /// @@ -474,9 +470,7 @@ typedef struct { UINT64 NumberOfProcessors; UINT64 LocalIDRegister; } SAL_COHERENCE_DOMAIN_INFO; -#pragma pack() - -#pragma pack(1) + /// /// Format of Purge Translation Cache Coherence Domain Entry /// @@ -486,9 +480,7 @@ typedef struct { UINT32 NumberOfDomains; SAL_COHERENCE_DOMAIN_INFO *DomainInformation; } SAL_ST_CACHE_COHERENCE_DECRIPTOR; -#pragma pack() -#pragma pack(1) /// /// Format of Application Processor Wake-Up Descriptor Entry /// @@ -498,7 +490,6 @@ typedef struct { UINT8 Reserved[6]; UINT64 ExternalInterruptVector; } SAL_ST_AP_WAKEUP_DECRIPTOR; -#pragma pack() /// /// Format of Firmware Interface Table (FIT) Entry @@ -739,10 +730,14 @@ typedef struct { #define PCI_BUS_OEM_ID_VALID_BIT_MASK 0x200 #define PCI_BUS_OEM_DATA_STRUCT_VALID_BIT_MASK 0x400 +/// +/// Designated PCI Bus identifier +/// typedef struct { UINT8 BusNumber; UINT8 SegmentNumber; } PCI_BUS_ID; + /// /// Definition of Platform PCI Bus Error Info Record ///