2 SMBIOS Processor Related Functions.
4 Copyright (c) 2021, NUVIA Inc. All rights reserved.<BR>
6 SPDX-License-Identifier: BSD-2-Clause-Patent
10 #ifndef SMBIOS_PROCESSOR_H_
11 #define SMBIOS_PROCESSOR_H_
14 #include <IndustryStandard/SmBios.h>
16 /** Returns the maximum cache level implemented by the current CPU.
18 @return The maximum cache level implemented.
21 SmbiosProcessorGetMaxCacheLevel (
25 /** Returns whether or not the specified cache level has separate I/D caches.
27 @param CacheLevel The cache level (L1, L2 etc.).
29 @return TRUE if the cache level has separate I/D caches, FALSE otherwise.
32 SmbiosProcessorHasSeparateCaches (
36 /** Gets the size of the specified cache.
38 @param CacheLevel The cache level (L1, L2 etc.).
39 @param DataCache Whether the cache is a dedicated data cache.
40 @param UnifiedCache Whether the cache is a unified cache.
42 @return The cache size.
45 SmbiosProcessorGetCacheSize (
48 IN BOOLEAN UnifiedCache
51 /** Gets the associativity of the specified cache.
53 @param CacheLevel The cache level (L1, L2 etc.).
54 @param DataCache Whether the cache is a dedicated data cache.
55 @param UnifiedCache Whether the cache is a unified cache.
57 @return The cache associativity.
60 SmbiosProcessorGetCacheAssociativity (
63 IN BOOLEAN UnifiedCache
66 /** Returns a value for the Processor ID field that conforms to SMBIOS
72 SmbiosGetProcessorId (
76 /** Returns the external clock frequency.
78 @return The external CPU clock frequency.
81 SmbiosGetExternalClockFrequency (
85 /** Returns the SMBIOS ProcessorFamily field value.
87 @return The value for the ProcessorFamily field.
90 SmbiosGetProcessorFamily (
94 /** Returns the ProcessorFamily2 field value.
96 @return The value for the ProcessorFamily2 field.
99 SmbiosGetProcessorFamily2 (
103 /** Returns the SMBIOS Processor Characteristics.
105 @return Processor Characteristics bitfield.
107 PROCESSOR_CHARACTERISTIC_FLAGS
108 SmbiosGetProcessorCharacteristics (
112 #endif // SMBIOS_PROCESSOR_H_