diff options
| author | Varshit Pandya <varshit.pandya@arm.com> | 2026-08-10 15:02:29 +0100 |
|---|---|---|
| committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2026-09-02 15:39:47 +0000 |
| commit | 84f131e38d62f97dae6298f613d3b41a7870c9b2 (patch) | |
| tree | 954cba92f20bc2a1155b3e264b8454264f2f6cf6 /DynamicTablesPkg | |
| parent | a2caa5ec925263507696c8dada6a6a06d8700b47 (diff) | |
| download | edk2-84f131e38d62f97dae6298f613d3b41a7870c9b2.tar.gz edk2-84f131e38d62f97dae6298f613d3b41a7870c9b2.zip | |
DynamicTablesPkg: Preserve cache associativity when aggregating
The SMBIOS Type 7 generator unconditionally reports associativity as
Other when aggregating caches at the same level, even when all caches
have identical associativity.
Preserve the existing associativity when the incoming cache matches it,
and report Other only when the associativities differ.
Signed-off-by: Varshit Pandya <varshit.pandya@arm.com>
Diffstat (limited to 'DynamicTablesPkg')
| -rw-r--r-- | DynamicTablesPkg/Library/Smbios/SmbiosType7Lib/SmbiosType7Generator.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/DynamicTablesPkg/Library/Smbios/SmbiosType7Lib/SmbiosType7Generator.c b/DynamicTablesPkg/Library/Smbios/SmbiosType7Lib/SmbiosType7Generator.c index b6d4183a2b..a0ab0ba09b 100644 --- a/DynamicTablesPkg/Library/Smbios/SmbiosType7Lib/SmbiosType7Generator.c +++ b/DynamicTablesPkg/Library/Smbios/SmbiosType7Lib/SmbiosType7Generator.c @@ -641,7 +641,13 @@ BuildSmbiosType7TableEx ( SmbiosRecord->SystemCacheType = CacheTypeOther;
}
- SmbiosRecord->Associativity = CacheAssociativityOther;
+ // Preserve the associativity when all caches being aggregated have
+ // the same associativity.
+ if (SmbiosRecord->Associativity !=
+ GetCacheAssociativity (CacheNode->Associativity))
+ {
+ SmbiosRecord->Associativity = CacheAssociativityOther;
+ }
} else {
// No previously seen cache at this level, create new table entry
Status = StringTableInitialize (&StrTable, SMBIOS_TYPE7_MAX_STRINGS);
|
