mirror of https://github.com/acidanthera/audk.git
ArmPkg: Allow platforms to supply more data for SMBIOS Type3 record
Add OemMiscLib calls to allow platforms to provide the following information about the chassis: o Bootup state o Power supply/supplies state o Thermal state o Security state o Chassis height (in RMU) o Number of power cords Signed-off-by: Rebecca Cran <rebecca@nuviainc.com> Reviewed-by: Leif Lindholm <leif@nuviainc.com>
This commit is contained in:
parent
8d2012035d
commit
bf2b99990e
|
@ -162,4 +162,64 @@ OemUpdateSmbiosInfo (
|
|||
IN OEM_MISC_SMBIOS_HII_STRING_FIELD Field
|
||||
);
|
||||
|
||||
/** Fetches the chassis status when it was last booted.
|
||||
|
||||
@return Chassis status.
|
||||
**/
|
||||
MISC_CHASSIS_STATE
|
||||
EFIAPI
|
||||
OemGetChassisBootupState (
|
||||
VOID
|
||||
);
|
||||
|
||||
/** Fetches the chassis power supply/supplies status when last booted.
|
||||
|
||||
@return Chassis power supply/supplies status.
|
||||
**/
|
||||
MISC_CHASSIS_STATE
|
||||
EFIAPI
|
||||
OemGetChassisPowerSupplyState (
|
||||
VOID
|
||||
);
|
||||
|
||||
/** Fetches the chassis thermal status when last booted.
|
||||
|
||||
@return Chassis thermal status.
|
||||
**/
|
||||
MISC_CHASSIS_STATE
|
||||
EFIAPI
|
||||
OemGetChassisThermalState (
|
||||
VOID
|
||||
);
|
||||
|
||||
/** Fetches the chassis security status when last booted.
|
||||
|
||||
@return Chassis security status.
|
||||
**/
|
||||
MISC_CHASSIS_SECURITY_STATE
|
||||
EFIAPI
|
||||
OemGetChassisSecurityStatus (
|
||||
VOID
|
||||
);
|
||||
|
||||
/** Fetches the chassis height in RMUs (Rack Mount Units).
|
||||
|
||||
@return The height of the chassis.
|
||||
**/
|
||||
UINT8
|
||||
EFIAPI
|
||||
OemGetChassisHeight (
|
||||
VOID
|
||||
);
|
||||
|
||||
/** Fetches the number of power cords.
|
||||
|
||||
@return The number of power cords.
|
||||
**/
|
||||
UINT8
|
||||
EFIAPI
|
||||
OemGetChassisNumPowerCords (
|
||||
VOID
|
||||
);
|
||||
|
||||
#endif // OEM_MISC_LIB_H_
|
||||
|
|
|
@ -139,3 +139,87 @@ OemUpdateSmbiosInfo (
|
|||
{
|
||||
ASSERT (FALSE);
|
||||
}
|
||||
|
||||
/** Fetches the chassis status when it was last booted.
|
||||
|
||||
@return Chassis status.
|
||||
**/
|
||||
MISC_CHASSIS_STATE
|
||||
EFIAPI
|
||||
OemGetChassisBootupState (
|
||||
VOID
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return ChassisStateSafe;
|
||||
}
|
||||
|
||||
/** Fetches the chassis power supply/supplies status when last booted.
|
||||
|
||||
@return Chassis power supply/supplies status.
|
||||
**/
|
||||
MISC_CHASSIS_STATE
|
||||
EFIAPI
|
||||
OemGetChassisPowerSupplyState (
|
||||
VOID
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return ChassisStateSafe;
|
||||
}
|
||||
|
||||
/** Fetches the chassis thermal status when last booted.
|
||||
|
||||
@return Chassis thermal status.
|
||||
**/
|
||||
MISC_CHASSIS_STATE
|
||||
EFIAPI
|
||||
OemGetChassisThermalState (
|
||||
VOID
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return ChassisStateSafe;
|
||||
}
|
||||
|
||||
/** Fetches the chassis security status when last booted.
|
||||
|
||||
@return Chassis security status.
|
||||
**/
|
||||
MISC_CHASSIS_SECURITY_STATE
|
||||
EFIAPI
|
||||
OemGetChassisSecurityStatus (
|
||||
VOID
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return ChassisSecurityStatusNone;
|
||||
}
|
||||
|
||||
/** Fetches the chassis height in RMUs (Rack Mount Units).
|
||||
|
||||
@return The height of the chassis.
|
||||
**/
|
||||
UINT8
|
||||
EFIAPI
|
||||
OemGetChassisHeight (
|
||||
VOID
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return 1U;
|
||||
}
|
||||
|
||||
/** Fetches the number of power cords.
|
||||
|
||||
@return The number of power cords.
|
||||
**/
|
||||
UINT8
|
||||
EFIAPI
|
||||
OemGetChassisNumPowerCords (
|
||||
VOID
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return 1;
|
||||
}
|
||||
|
|
|
@ -162,6 +162,14 @@ SMBIOS_MISC_TABLE_FUNCTION(MiscChassisManufacturer)
|
|||
UnicodeStrToAsciiStrS (AssertTag, StrStart, AssertTagStrLen + 1);
|
||||
StrStart += AssertTagStrLen + 1;
|
||||
UnicodeStrToAsciiStrS (ChassisSkuNumber, StrStart, ChaNumStrLen + 1);
|
||||
|
||||
SmbiosRecord->BootupState = OemGetChassisBootupState ();
|
||||
SmbiosRecord->PowerSupplyState = OemGetChassisPowerSupplyState ();
|
||||
SmbiosRecord->ThermalState = OemGetChassisThermalState ();
|
||||
SmbiosRecord->SecurityStatus = OemGetChassisSecurityStatus ();
|
||||
SmbiosRecord->Height = OemGetChassisHeight ();
|
||||
SmbiosRecord->NumberofPowerCords = OemGetChassisNumPowerCords ();
|
||||
|
||||
//
|
||||
// Now we have got the full smbios record, call smbios protocol to add this record.
|
||||
//
|
||||
|
|
Loading…
Reference in New Issue