| /** @file | |
| SMBIOS Processor Related Functions. | |
| Copyright (c) 2021, NUVIA Inc. All rights reserved.<BR> | |
| SPDX-License-Identifier: BSD-2-Clause-Patent | |
| **/ | |
| #pragma once | |
| #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 | |
| ); |