mirror of
https://github.com/CloverHackyColor/CloverBootloader.git
synced 2024-11-29 12:35:53 +01:00
84f41b2b58
Signed-off-by: Slice <sergey.slice@gmail.com>
286 lines
5.6 KiB
C
286 lines
5.6 KiB
C
/** @file
|
|
* OemMiscLib.c
|
|
*
|
|
* Copyright (c) 2022, Ampere Computing LLC. All rights reserved.
|
|
* Copyright (c) 2021, NUVIA Inc. All rights reserved.
|
|
* Copyright (c) 2018, Hisilicon Limited. All rights reserved.
|
|
* Copyright (c) 2018, Linaro Limited. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
*
|
|
**/
|
|
|
|
#include <Uefi.h>
|
|
#include <Guid/ZeroGuid.h>
|
|
#include <Library/BaseMemoryLib.h>
|
|
#include <Library/DebugLib.h>
|
|
#include <Library/HiiLib.h>
|
|
#include <Library/OemMiscLib.h>
|
|
#include <Library/PcdLib.h>
|
|
|
|
/** Gets the CPU frequency of the specified processor.
|
|
|
|
@param ProcessorIndex Index of the processor to get the frequency for.
|
|
|
|
@return CPU frequency in Hz
|
|
**/
|
|
UINTN
|
|
EFIAPI
|
|
OemGetCpuFreq (
|
|
IN UINT8 ProcessorIndex
|
|
)
|
|
{
|
|
ASSERT (FALSE);
|
|
return 0;
|
|
}
|
|
|
|
/** Gets information about the specified processor and stores it in
|
|
the structures provided.
|
|
|
|
@param ProcessorIndex Index of the processor to get the information for.
|
|
@param ProcessorStatus Processor status.
|
|
@param ProcessorCharacteristics Processor characteritics.
|
|
@param MiscProcessorData Miscellaneous processor information.
|
|
|
|
@return TRUE on success, FALSE on failure.
|
|
**/
|
|
BOOLEAN
|
|
EFIAPI
|
|
OemGetProcessorInformation (
|
|
IN UINTN ProcessorIndex,
|
|
IN OUT PROCESSOR_STATUS_DATA *ProcessorStatus,
|
|
IN OUT PROCESSOR_CHARACTERISTIC_FLAGS *ProcessorCharacteristics,
|
|
IN OUT OEM_MISC_PROCESSOR_DATA *MiscProcessorData
|
|
)
|
|
{
|
|
ASSERT (FALSE);
|
|
return TRUE;
|
|
}
|
|
|
|
/** Gets information about the cache at the specified cache level.
|
|
|
|
@param ProcessorIndex The processor to get information for.
|
|
@param CacheLevel The cache level to get information for.
|
|
@param DataCache Whether the cache is a data cache.
|
|
@param UnifiedCache Whether the cache is a unified cache.
|
|
@param SmbiosCacheTable The SMBIOS Type7 cache information structure.
|
|
|
|
@return TRUE on success, FALSE on failure.
|
|
**/
|
|
BOOLEAN
|
|
EFIAPI
|
|
OemGetCacheInformation (
|
|
IN UINT8 ProcessorIndex,
|
|
IN UINT8 CacheLevel,
|
|
IN BOOLEAN DataCache,
|
|
IN BOOLEAN UnifiedCache,
|
|
IN OUT SMBIOS_TABLE_TYPE7 *SmbiosCacheTable
|
|
)
|
|
{
|
|
ASSERT (FALSE);
|
|
return TRUE;
|
|
}
|
|
|
|
/** Gets the maximum number of processors supported by the platform.
|
|
|
|
@return The maximum number of processors.
|
|
**/
|
|
UINT8
|
|
EFIAPI
|
|
OemGetMaxProcessors (
|
|
VOID
|
|
)
|
|
{
|
|
ASSERT (FALSE);
|
|
return 1;
|
|
}
|
|
|
|
/** Gets the type of chassis for the system.
|
|
|
|
@retval The type of the chassis.
|
|
**/
|
|
MISC_CHASSIS_TYPE
|
|
EFIAPI
|
|
OemGetChassisType (
|
|
VOID
|
|
)
|
|
{
|
|
ASSERT (FALSE);
|
|
return MiscChassisTypeUnknown;
|
|
}
|
|
|
|
/** Returns whether the specified processor is present or not.
|
|
|
|
@param ProcessIndex The processor index to check.
|
|
|
|
@return TRUE is the processor is present, FALSE otherwise.
|
|
**/
|
|
BOOLEAN
|
|
EFIAPI
|
|
OemIsProcessorPresent (
|
|
IN UINTN ProcessorIndex
|
|
)
|
|
{
|
|
ASSERT (FALSE);
|
|
return FALSE;
|
|
}
|
|
|
|
/** Updates the HII string for the specified field.
|
|
|
|
@param HiiHandle The HII handle.
|
|
@param TokenToUpdate The string to update.
|
|
@param Field The field to get information about.
|
|
**/
|
|
VOID
|
|
EFIAPI
|
|
OemUpdateSmbiosInfo (
|
|
IN EFI_HII_HANDLE HiiHandle,
|
|
IN EFI_STRING_ID TokenToUpdate,
|
|
IN OEM_MISC_SMBIOS_HII_STRING_FIELD Field
|
|
)
|
|
{
|
|
ASSERT (FALSE);
|
|
}
|
|
|
|
/** Fetches the Type 32 boot information status.
|
|
|
|
@return Boot status.
|
|
**/
|
|
MISC_BOOT_INFORMATION_STATUS_DATA_TYPE
|
|
EFIAPI
|
|
OemGetBootStatus (
|
|
VOID
|
|
)
|
|
{
|
|
ASSERT (FALSE);
|
|
return BootInformationStatusNoError;
|
|
}
|
|
|
|
/** 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;
|
|
}
|
|
|
|
/**
|
|
Fetches the system UUID.
|
|
|
|
@param[out] SystemUuid The pointer to the buffer to store the System UUID.
|
|
|
|
**/
|
|
VOID
|
|
EFIAPI
|
|
OemGetSystemUuid (
|
|
OUT GUID *SystemUuid
|
|
)
|
|
{
|
|
ASSERT (FALSE);
|
|
CopyGuid (SystemUuid, &gZeroGuid);
|
|
}
|
|
|
|
/** Fetches the BIOS release.
|
|
|
|
@return The BIOS release.
|
|
**/
|
|
UINT16
|
|
EFIAPI
|
|
OemGetBiosRelease (
|
|
VOID
|
|
)
|
|
{
|
|
ASSERT (FALSE);
|
|
return PcdGet16 (PcdSystemBiosRelease);
|
|
}
|
|
|
|
/** Fetches the embedded controller firmware release.
|
|
|
|
@return The embedded controller firmware release.
|
|
**/
|
|
UINT16
|
|
EFIAPI
|
|
OemGetEmbeddedControllerFirmwareRelease (
|
|
VOID
|
|
)
|
|
{
|
|
ASSERT (FALSE);
|
|
return PcdGet16 (PcdEmbeddedControllerFirmwareRelease);
|
|
}
|