[aarch64] JSON export DSU, CMN, CCI, CCN

This commit is contained in:
CyrIng
2025-06-07 21:00:10 +02:00
parent 4cdca0e8f1
commit 2d078106ad
5 changed files with 21 additions and 11 deletions

View File

@@ -921,6 +921,14 @@ void JsonSysInfo(RO(SHM_STRUCT) *RO(Shm))
json_key(&s, "Technology");
{
json_start_object(&s);
json_key(&s, "DSU");
json_literal(&s, "%llu", RO(Shm)->Proc.Technology.DSU);
json_key(&s, "CMN");
json_literal(&s, "%llu", RO(Shm)->Proc.Technology.CMN);
json_key(&s, "CCI");
json_literal(&s, "%llu", RO(Shm)->Proc.Technology.CCI);
json_key(&s, "CCN");
json_literal(&s, "%llu", RO(Shm)->Proc.Technology.CCN);
json_key(&s, "Hybrid");
json_literal(&s, "%llu", RO(Shm)->Proc.Features.Hybrid);
json_key(&s, "VM");

View File

@@ -14265,10 +14265,10 @@ void Layout_Footer(Layer *layer, CUINT row)
hTech0.attr[26] = hTech0.attr[27] = EN[RO(Shm)->Proc.Features.Hybrid];
/* D S U */
hTech0.attr[29] = hTech0.attr[30] = hTech0.attr[31] = \
EN[RO(Shm)->Proc.Features.DSU];
EN[RO(Shm)->Proc.Technology.DSU];
/* C M N */
hTech0.attr[33] = hTech0.attr[34] = hTech0.attr[35] = \
EN[RO(Shm)->Proc.Features.CMN];
EN[RO(Shm)->Proc.Technology.CMN];
LayerCopyAt( layer, hTech0.origin.col, hTech0.origin.row,
hTech0.length, hTech0.attr, hTech0.code );

View File

@@ -241,7 +241,11 @@ typedef struct
struct {
unsigned long long
_Unused1_ : 13-0,
DSU : 1-0,
CMN : 2-1,
CCI : 3-2,
CCN : 4-3,
_Unused1_ : 13-4,
VM : 14-13,
IOMMU : 15-14,
_Unused2_ : 20-15,

View File

@@ -682,6 +682,11 @@ void Technology_Update( RO(SHM_STRUCT) *RO(Shm),
RO(Shm)->Proc.Technology.VM = BITWISEAND_CC(BUS_LOCK,
RW(Proc)->VM,
RO(Proc)->CR_Mask) != 0;
/* If both cluster registers are implemented then DSU is present */
if (RO(Proc)->Uncore.ClusterCfg.value != 0
&& RO(Proc)->Uncore.ClusterRev.value != 0) {
RO(Shm)->Proc.Technology.DSU = 1;
}
}
void Mitigation_Stage( RO(SHM_STRUCT) *RO(Shm),
@@ -766,11 +771,6 @@ void Uncore_Update( RO(SHM_STRUCT) *RO(Shm), RO(PROC) *RO(Proc),
memcpy( RO(Shm)->Uncore.Boost,
RO(Proc)->Uncore.Boost,
(UNCORE_BOOST(SIZE)) * sizeof(COF_ST) );
/* If both cluster registers are implemented then DSU is present */
if (RO(Proc)->Uncore.ClusterCfg.value != 0
&& RO(Proc)->Uncore.ClusterRev.value != 0) {
RO(Shm)->Proc.Features.DSU = 1;
}
}
void Topology(RO(SHM_STRUCT) *RO(Shm), RO(PROC) *RO(Proc), RO(CORE) **RO(Core),

View File

@@ -1065,9 +1065,7 @@ typedef struct /* BSP features. */
OSPM_EPP : 55-54,
ACPI_CST_CAP : 56-55,
ACPI_CST : 60-56, /* 15 CState sub-packages */
DSU : 61-60,
CMN : 62-61,
_Unused2_ : 64-62;
_Unused2_ : 64-60;
};
struct
{