*\r
**/\r
\r
-\r
#ifndef OEM_MISC_LIB_H_\r
#define OEM_MISC_LIB_H_\r
\r
#include <Uefi.h>\r
#include <IndustryStandard/SmBios.h>\r
\r
-typedef enum\r
-{\r
+typedef enum {\r
CpuCacheL1 = 1,\r
CpuCacheL2,\r
CpuCacheL3,\r
CpuCacheLevelMax\r
} OEM_MISC_CPU_CACHE_LEVEL;\r
\r
-typedef struct\r
-{\r
- UINT8 Voltage; ///< Processor voltage\r
- UINT16 CurrentSpeed; ///< Current clock speed in MHz\r
- UINT16 MaxSpeed; ///< Maximum clock speed in MHz\r
- UINT16 ExternalClock; ///< External clock speed in MHz\r
- UINT16 CoreCount; ///< Number of cores available\r
- UINT16 CoresEnabled; ///< Number of cores enabled\r
- UINT16 ThreadCount; ///< Number of threads per processor\r
+typedef struct {\r
+ UINT8 Voltage; ///< Processor voltage\r
+ UINT16 CurrentSpeed; ///< Current clock speed in MHz\r
+ UINT16 MaxSpeed; ///< Maximum clock speed in MHz\r
+ UINT16 ExternalClock; ///< External clock speed in MHz\r
+ UINT16 CoreCount; ///< Number of cores available\r
+ UINT16 CoresEnabled; ///< Number of cores enabled\r
+ UINT16 ThreadCount; ///< Number of threads per processor\r
} OEM_MISC_PROCESSOR_DATA;\r
\r
-typedef enum\r
-{\r
- ProductNameType01,\r
- SerialNumType01,\r
- UuidType01,\r
- SystemManufacturerType01,\r
- SkuNumberType01,\r
- FamilyType01,\r
- AssertTagType02,\r
- SerialNumberType02,\r
- BoardManufacturerType02,\r
- SkuNumberType02,\r
- ChassisLocationType02,\r
- AssetTagType03,\r
- SerialNumberType03,\r
- VersionType03,\r
- ChassisTypeType03,\r
- ManufacturerType03,\r
- SkuNumberType03,\r
- SmbiosHiiStringFieldMax\r
+typedef enum {\r
+ ProductNameType01,\r
+ SerialNumType01,\r
+ UuidType01,\r
+ SystemManufacturerType01,\r
+ SkuNumberType01,\r
+ FamilyType01,\r
+ AssertTagType02,\r
+ SerialNumberType02,\r
+ BoardManufacturerType02,\r
+ SkuNumberType02,\r
+ ChassisLocationType02,\r
+ AssetTagType03,\r
+ SerialNumberType03,\r
+ VersionType03,\r
+ ChassisTypeType03,\r
+ ManufacturerType03,\r
+ SkuNumberType03,\r
+ SmbiosHiiStringFieldMax\r
} OEM_MISC_SMBIOS_HII_STRING_FIELD;\r
\r
/*\r
\r
@return CPU frequency in Hz\r
**/\r
-EFIAPI\r
UINTN\r
+EFIAPI\r
OemGetCpuFreq (\r
- IN UINT8 ProcessorIndex\r
+ IN UINT8 ProcessorIndex\r
);\r
\r
/** Gets information about the specified processor and stores it in\r
\r
@return TRUE on success, FALSE on failure.\r
**/\r
-EFIAPI\r
BOOLEAN\r
+EFIAPI\r
OemGetProcessorInformation (\r
- IN UINTN ProcessorIndex,\r
- IN OUT PROCESSOR_STATUS_DATA *ProcessorStatus,\r
- IN OUT PROCESSOR_CHARACTERISTIC_FLAGS *ProcessorCharacteristics,\r
- IN OUT OEM_MISC_PROCESSOR_DATA *MiscProcessorData\r
+ IN UINTN ProcessorIndex,\r
+ IN OUT PROCESSOR_STATUS_DATA *ProcessorStatus,\r
+ IN OUT PROCESSOR_CHARACTERISTIC_FLAGS *ProcessorCharacteristics,\r
+ IN OUT OEM_MISC_PROCESSOR_DATA *MiscProcessorData\r
);\r
\r
/** Gets information about the cache at the specified cache level.\r
\r
@return TRUE on success, FALSE on failure.\r
**/\r
-EFIAPI\r
BOOLEAN\r
+EFIAPI\r
OemGetCacheInformation (\r
- IN UINT8 ProcessorIndex,\r
- IN UINT8 CacheLevel,\r
- IN BOOLEAN DataCache,\r
- IN BOOLEAN UnifiedCache,\r
- IN OUT SMBIOS_TABLE_TYPE7 *SmbiosCacheTable\r
+ IN UINT8 ProcessorIndex,\r
+ IN UINT8 CacheLevel,\r
+ IN BOOLEAN DataCache,\r
+ IN BOOLEAN UnifiedCache,\r
+ IN OUT SMBIOS_TABLE_TYPE7 *SmbiosCacheTable\r
);\r
\r
-/** Gets the maximum number of sockets supported by the platform.\r
+/** Gets the maximum number of processors supported by the platform.\r
\r
- @return The maximum number of sockets.\r
+ @return The maximum number of processors.\r
**/\r
-EFIAPI\r
UINT8\r
-OemGetProcessorMaxSockets (\r
+EFIAPI\r
+OemGetMaxProcessors (\r
VOID\r
);\r
\r
/** Gets the type of chassis for the system.\r
\r
- @param ChassisType The type of the chassis.\r
-\r
- @retval EFI_SUCCESS The chassis type was fetched successfully.\r
+ @retval The type of the chassis.\r
**/\r
+MISC_CHASSIS_TYPE\r
EFIAPI\r
-EFI_STATUS\r
OemGetChassisType (\r
- OUT UINT8 *ChassisType\r
+ VOID\r
);\r
\r
/** Returns whether the specified processor is present or not.\r
\r
@return TRUE is the processor is present, FALSE otherwise.\r
**/\r
-EFIAPI\r
BOOLEAN\r
-OemIsSocketPresent (\r
- IN UINTN ProcessorIndex\r
+EFIAPI\r
+OemIsProcessorPresent (\r
+ IN UINTN ProcessorIndex\r
);\r
\r
/** Updates the HII string for the specified field.\r
\r
- @param mHiiHandle The HII handle.\r
+ @param HiiHandle The HII handle.\r
@param TokenToUpdate The string to update.\r
- @param Offset The field to get information about.\r
+ @param Field The field to get information about.\r
**/\r
-EFIAPI\r
VOID\r
+EFIAPI\r
OemUpdateSmbiosInfo (\r
- IN EFI_HII_HANDLE HiiHandle,\r
- IN EFI_STRING_ID TokenToUpdate,\r
- IN OEM_MISC_SMBIOS_HII_STRING_FIELD Offset\r
+ IN EFI_HII_HANDLE HiiHandle,\r
+ IN EFI_STRING_ID TokenToUpdate,\r
+ IN OEM_MISC_SMBIOS_HII_STRING_FIELD Field\r
+ );\r
+\r
+/** Fetches the Type 32 boot information status.\r
+\r
+ @return Boot status.\r
+**/\r
+MISC_BOOT_INFORMATION_STATUS_DATA_TYPE\r
+EFIAPI\r
+OemGetBootStatus (\r
+ VOID\r
+ );\r
+\r
+/** Fetches the chassis status when it was last booted.\r
+\r
+ @return Chassis status.\r
+**/\r
+MISC_CHASSIS_STATE\r
+EFIAPI\r
+OemGetChassisBootupState (\r
+ VOID\r
+ );\r
+\r
+/** Fetches the chassis power supply/supplies status when last booted.\r
+\r
+ @return Chassis power supply/supplies status.\r
+**/\r
+MISC_CHASSIS_STATE\r
+EFIAPI\r
+OemGetChassisPowerSupplyState (\r
+ VOID\r
+ );\r
+\r
+/** Fetches the chassis thermal status when last booted.\r
+\r
+ @return Chassis thermal status.\r
+**/\r
+MISC_CHASSIS_STATE\r
+EFIAPI\r
+OemGetChassisThermalState (\r
+ VOID\r
+ );\r
+\r
+/** Fetches the chassis security status when last booted.\r
+\r
+ @return Chassis security status.\r
+**/\r
+MISC_CHASSIS_SECURITY_STATE\r
+EFIAPI\r
+OemGetChassisSecurityStatus (\r
+ VOID\r
+ );\r
+\r
+/** Fetches the chassis height in RMUs (Rack Mount Units).\r
+\r
+ @return The height of the chassis.\r
+**/\r
+UINT8\r
+EFIAPI\r
+OemGetChassisHeight (\r
+ VOID\r
+ );\r
+\r
+/** Fetches the number of power cords.\r
+\r
+ @return The number of power cords.\r
+**/\r
+UINT8\r
+EFIAPI\r
+OemGetChassisNumPowerCords (\r
+ VOID\r
);\r
\r
#endif // OEM_MISC_LIB_H_\r