summaryrefslogtreecommitdiff
path: root/DynamicTablesPkg
diff options
context:
space:
mode:
authorVarshit Pandya <varshit.pandya@arm.com>2026-08-10 15:02:29 +0100
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2026-09-02 15:39:47 +0000
commit84f131e38d62f97dae6298f613d3b41a7870c9b2 (patch)
tree954cba92f20bc2a1155b3e264b8454264f2f6cf6 /DynamicTablesPkg
parenta2caa5ec925263507696c8dada6a6a06d8700b47 (diff)
downloadedk2-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.c8
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);