ArmPkg: Add Universal/Smbios/ProcessorSubClassDxe
ProcessorSubClassDxe provides SMBIOS CPU information using generic methods combined with calls into OemMiscLib. Signed-off-by: Rebecca Cran <rebecca@nuviainc.com> Reviewed-by: Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com>
This commit is contained in:
committed by
mergify[bot]
parent
0e51d7e445
commit
2ba6ecef39
102
ArmPkg/Universal/Smbios/ProcessorSubClassDxe/SmbiosProcessor.h
Normal file
102
ArmPkg/Universal/Smbios/ProcessorSubClassDxe/SmbiosProcessor.h
Normal file
@@ -0,0 +1,102 @@
|
||||
/** @file
|
||||
SMBIOS Processor Related Functions.
|
||||
|
||||
Copyright (c) 2021, NUVIA Inc. All rights reserved.<BR>
|
||||
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef SMBIOS_PROCESSOR_H_
|
||||
#define SMBIOS_PROCESSOR_H_
|
||||
|
||||
#include <Uefi.h>
|
||||
#include <IndustryStandard/SmBios.h>
|
||||
|
||||
/** Returns the maximum cache level implemented by the current CPU.
|
||||
|
||||
@return The maximum cache level implemented.
|
||||
**/
|
||||
UINT8
|
||||
SmbiosProcessorGetMaxCacheLevel (
|
||||
VOID
|
||||
);
|
||||
|
||||
/** Returns whether or not the specified cache level has separate I/D caches.
|
||||
|
||||
@param CacheLevel The cache level (L1, L2 etc.).
|
||||
|
||||
@return TRUE if the cache level has separate I/D caches, FALSE otherwise.
|
||||
**/
|
||||
BOOLEAN
|
||||
SmbiosProcessorHasSeparateCaches (
|
||||
UINT8 CacheLevel
|
||||
);
|
||||
|
||||
/** Gets the size of the specified cache.
|
||||
|
||||
@param CacheLevel The cache level (L1, L2 etc.).
|
||||
@param DataCache Whether the cache is a dedicated data cache.
|
||||
@param UnifiedCache Whether the cache is a unified cache.
|
||||
|
||||
@return The cache size.
|
||||
**/
|
||||
UINT64
|
||||
SmbiosProcessorGetCacheSize (
|
||||
IN UINT8 CacheLevel,
|
||||
IN BOOLEAN DataCache,
|
||||
IN BOOLEAN UnifiedCache
|
||||
);
|
||||
|
||||
/** Gets the associativity of the specified cache.
|
||||
|
||||
@param CacheLevel The cache level (L1, L2 etc.).
|
||||
@param DataCache Whether the cache is a dedicated data cache.
|
||||
@param UnifiedCache Whether the cache is a unified cache.
|
||||
|
||||
@return The cache associativity.
|
||||
**/
|
||||
UINT32
|
||||
SmbiosProcessorGetCacheAssociativity (
|
||||
IN UINT8 CacheLevel,
|
||||
IN BOOLEAN DataCache,
|
||||
IN BOOLEAN UnifiedCache
|
||||
);
|
||||
|
||||
/** Returns a value for the Processor ID field that conforms to SMBIOS
|
||||
requirements.
|
||||
|
||||
@return Processor ID.
|
||||
**/
|
||||
UINT64
|
||||
SmbiosGetProcessorId (VOID);
|
||||
|
||||
/** Returns the external clock frequency.
|
||||
|
||||
@return The external CPU clock frequency.
|
||||
**/
|
||||
UINTN
|
||||
SmbiosGetExternalClockFrequency (VOID);
|
||||
|
||||
/** Returns the SMBIOS ProcessorFamily field value.
|
||||
|
||||
@return The value for the ProcessorFamily field.
|
||||
**/
|
||||
UINT8
|
||||
SmbiosGetProcessorFamily (VOID);
|
||||
|
||||
/** Returns the ProcessorFamily2 field value.
|
||||
|
||||
@return The value for the ProcessorFamily2 field.
|
||||
**/
|
||||
UINT16
|
||||
SmbiosGetProcessorFamily2 (VOID);
|
||||
|
||||
/** Returns the SMBIOS Processor Characteristics.
|
||||
|
||||
@return Processor Characteristics bitfield.
|
||||
**/
|
||||
PROCESSOR_CHARACTERISTIC_FLAGS
|
||||
SmbiosGetProcessorCharacteristics (VOID);
|
||||
|
||||
#endif // SMBIOS_PROCESSOR_H_
|
Reference in New Issue
Block a user