|
@@ -238,23 +238,23 @@ static uint8_t cpuid2_cache_descriptor(CPUCacheInfo *cache)
|
|
|
0 /* Invalid value */)
|
|
|
|
|
|
static uint32_t max_thread_ids_for_cache(X86CPUTopoInfo *topo_info,
|
|
|
- enum CPUTopoLevel share_level)
|
|
|
+ enum CpuTopologyLevel share_level)
|
|
|
{
|
|
|
uint32_t num_ids = 0;
|
|
|
|
|
|
switch (share_level) {
|
|
|
- case CPU_TOPO_LEVEL_CORE:
|
|
|
+ case CPU_TOPOLOGY_LEVEL_CORE:
|
|
|
num_ids = 1 << apicid_core_offset(topo_info);
|
|
|
break;
|
|
|
- case CPU_TOPO_LEVEL_DIE:
|
|
|
+ case CPU_TOPOLOGY_LEVEL_DIE:
|
|
|
num_ids = 1 << apicid_die_offset(topo_info);
|
|
|
break;
|
|
|
- case CPU_TOPO_LEVEL_PACKAGE:
|
|
|
+ case CPU_TOPOLOGY_LEVEL_SOCKET:
|
|
|
num_ids = 1 << apicid_pkg_offset(topo_info);
|
|
|
break;
|
|
|
default:
|
|
|
/*
|
|
|
- * Currently there is no use case for SMT and MODULE, so use
|
|
|
+ * Currently there is no use case for THREAD and MODULE, so use
|
|
|
* assert directly to facilitate debugging.
|
|
|
*/
|
|
|
g_assert_not_reached();
|
|
@@ -303,19 +303,19 @@ static void encode_cache_cpuid4(CPUCacheInfo *cache,
|
|
|
}
|
|
|
|
|
|
static uint32_t num_threads_by_topo_level(X86CPUTopoInfo *topo_info,
|
|
|
- enum CPUTopoLevel topo_level)
|
|
|
+ enum CpuTopologyLevel topo_level)
|
|
|
{
|
|
|
switch (topo_level) {
|
|
|
- case CPU_TOPO_LEVEL_SMT:
|
|
|
+ case CPU_TOPOLOGY_LEVEL_THREAD:
|
|
|
return 1;
|
|
|
- case CPU_TOPO_LEVEL_CORE:
|
|
|
+ case CPU_TOPOLOGY_LEVEL_CORE:
|
|
|
return topo_info->threads_per_core;
|
|
|
- case CPU_TOPO_LEVEL_MODULE:
|
|
|
+ case CPU_TOPOLOGY_LEVEL_MODULE:
|
|
|
return topo_info->threads_per_core * topo_info->cores_per_module;
|
|
|
- case CPU_TOPO_LEVEL_DIE:
|
|
|
+ case CPU_TOPOLOGY_LEVEL_DIE:
|
|
|
return topo_info->threads_per_core * topo_info->cores_per_module *
|
|
|
topo_info->modules_per_die;
|
|
|
- case CPU_TOPO_LEVEL_PACKAGE:
|
|
|
+ case CPU_TOPOLOGY_LEVEL_SOCKET:
|
|
|
return topo_info->threads_per_core * topo_info->cores_per_module *
|
|
|
topo_info->modules_per_die * topo_info->dies_per_pkg;
|
|
|
default:
|
|
@@ -325,18 +325,18 @@ static uint32_t num_threads_by_topo_level(X86CPUTopoInfo *topo_info,
|
|
|
}
|
|
|
|
|
|
static uint32_t apicid_offset_by_topo_level(X86CPUTopoInfo *topo_info,
|
|
|
- enum CPUTopoLevel topo_level)
|
|
|
+ enum CpuTopologyLevel topo_level)
|
|
|
{
|
|
|
switch (topo_level) {
|
|
|
- case CPU_TOPO_LEVEL_SMT:
|
|
|
+ case CPU_TOPOLOGY_LEVEL_THREAD:
|
|
|
return 0;
|
|
|
- case CPU_TOPO_LEVEL_CORE:
|
|
|
+ case CPU_TOPOLOGY_LEVEL_CORE:
|
|
|
return apicid_core_offset(topo_info);
|
|
|
- case CPU_TOPO_LEVEL_MODULE:
|
|
|
+ case CPU_TOPOLOGY_LEVEL_MODULE:
|
|
|
return apicid_module_offset(topo_info);
|
|
|
- case CPU_TOPO_LEVEL_DIE:
|
|
|
+ case CPU_TOPOLOGY_LEVEL_DIE:
|
|
|
return apicid_die_offset(topo_info);
|
|
|
- case CPU_TOPO_LEVEL_PACKAGE:
|
|
|
+ case CPU_TOPOLOGY_LEVEL_SOCKET:
|
|
|
return apicid_pkg_offset(topo_info);
|
|
|
default:
|
|
|
g_assert_not_reached();
|
|
@@ -344,18 +344,18 @@ static uint32_t apicid_offset_by_topo_level(X86CPUTopoInfo *topo_info,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-static uint32_t cpuid1f_topo_type(enum CPUTopoLevel topo_level)
|
|
|
+static uint32_t cpuid1f_topo_type(enum CpuTopologyLevel topo_level)
|
|
|
{
|
|
|
switch (topo_level) {
|
|
|
- case CPU_TOPO_LEVEL_INVALID:
|
|
|
+ case CPU_TOPOLOGY_LEVEL_INVALID:
|
|
|
return CPUID_1F_ECX_TOPO_LEVEL_INVALID;
|
|
|
- case CPU_TOPO_LEVEL_SMT:
|
|
|
+ case CPU_TOPOLOGY_LEVEL_THREAD:
|
|
|
return CPUID_1F_ECX_TOPO_LEVEL_SMT;
|
|
|
- case CPU_TOPO_LEVEL_CORE:
|
|
|
+ case CPU_TOPOLOGY_LEVEL_CORE:
|
|
|
return CPUID_1F_ECX_TOPO_LEVEL_CORE;
|
|
|
- case CPU_TOPO_LEVEL_MODULE:
|
|
|
+ case CPU_TOPOLOGY_LEVEL_MODULE:
|
|
|
return CPUID_1F_ECX_TOPO_LEVEL_MODULE;
|
|
|
- case CPU_TOPO_LEVEL_DIE:
|
|
|
+ case CPU_TOPOLOGY_LEVEL_DIE:
|
|
|
return CPUID_1F_ECX_TOPO_LEVEL_DIE;
|
|
|
default:
|
|
|
/* Other types are not supported in QEMU. */
|
|
@@ -373,17 +373,17 @@ static void encode_topo_cpuid1f(CPUX86State *env, uint32_t count,
|
|
|
unsigned long level, base_level, next_level;
|
|
|
uint32_t num_threads_next_level, offset_next_level;
|
|
|
|
|
|
- assert(count <= CPU_TOPO_LEVEL_PACKAGE);
|
|
|
+ assert(count <= CPU_TOPOLOGY_LEVEL_SOCKET);
|
|
|
|
|
|
/*
|
|
|
* Find the No.(count + 1) topology level in avail_cpu_topo bitmap.
|
|
|
- * The search starts from bit 0 (CPU_TOPO_LEVEL_SMT).
|
|
|
+ * The search starts from bit 0 (CPU_TOPOLOGY_LEVEL_THREAD).
|
|
|
*/
|
|
|
- level = CPU_TOPO_LEVEL_SMT;
|
|
|
+ level = CPU_TOPOLOGY_LEVEL_THREAD;
|
|
|
base_level = level;
|
|
|
for (int i = 0; i <= count; i++) {
|
|
|
level = find_next_bit(env->avail_cpu_topo,
|
|
|
- CPU_TOPO_LEVEL_PACKAGE,
|
|
|
+ CPU_TOPOLOGY_LEVEL_SOCKET,
|
|
|
base_level);
|
|
|
|
|
|
/*
|
|
@@ -391,20 +391,20 @@ static void encode_topo_cpuid1f(CPUX86State *env, uint32_t count,
|
|
|
* and it just encodes the invalid level (all fields are 0)
|
|
|
* into the last subleaf of 0x1f.
|
|
|
*/
|
|
|
- if (level == CPU_TOPO_LEVEL_PACKAGE) {
|
|
|
- level = CPU_TOPO_LEVEL_INVALID;
|
|
|
+ if (level == CPU_TOPOLOGY_LEVEL_SOCKET) {
|
|
|
+ level = CPU_TOPOLOGY_LEVEL_INVALID;
|
|
|
break;
|
|
|
}
|
|
|
/* Search the next level. */
|
|
|
base_level = level + 1;
|
|
|
}
|
|
|
|
|
|
- if (level == CPU_TOPO_LEVEL_INVALID) {
|
|
|
+ if (level == CPU_TOPOLOGY_LEVEL_INVALID) {
|
|
|
num_threads_next_level = 0;
|
|
|
offset_next_level = 0;
|
|
|
} else {
|
|
|
next_level = find_next_bit(env->avail_cpu_topo,
|
|
|
- CPU_TOPO_LEVEL_PACKAGE,
|
|
|
+ CPU_TOPOLOGY_LEVEL_SOCKET,
|
|
|
level + 1);
|
|
|
num_threads_next_level = num_threads_by_topo_level(topo_info,
|
|
|
next_level);
|
|
@@ -580,7 +580,7 @@ static CPUCacheInfo legacy_l1d_cache = {
|
|
|
.sets = 64,
|
|
|
.partitions = 1,
|
|
|
.no_invd_sharing = true,
|
|
|
- .share_level = CPU_TOPO_LEVEL_CORE,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_CORE,
|
|
|
};
|
|
|
|
|
|
/*FIXME: CPUID leaf 0x80000005 is inconsistent with leaves 2 & 4 */
|
|
@@ -595,7 +595,7 @@ static CPUCacheInfo legacy_l1d_cache_amd = {
|
|
|
.partitions = 1,
|
|
|
.lines_per_tag = 1,
|
|
|
.no_invd_sharing = true,
|
|
|
- .share_level = CPU_TOPO_LEVEL_CORE,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_CORE,
|
|
|
};
|
|
|
|
|
|
/* L1 instruction cache: */
|
|
@@ -609,7 +609,7 @@ static CPUCacheInfo legacy_l1i_cache = {
|
|
|
.sets = 64,
|
|
|
.partitions = 1,
|
|
|
.no_invd_sharing = true,
|
|
|
- .share_level = CPU_TOPO_LEVEL_CORE,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_CORE,
|
|
|
};
|
|
|
|
|
|
/*FIXME: CPUID leaf 0x80000005 is inconsistent with leaves 2 & 4 */
|
|
@@ -624,7 +624,7 @@ static CPUCacheInfo legacy_l1i_cache_amd = {
|
|
|
.partitions = 1,
|
|
|
.lines_per_tag = 1,
|
|
|
.no_invd_sharing = true,
|
|
|
- .share_level = CPU_TOPO_LEVEL_CORE,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_CORE,
|
|
|
};
|
|
|
|
|
|
/* Level 2 unified cache: */
|
|
@@ -638,7 +638,7 @@ static CPUCacheInfo legacy_l2_cache = {
|
|
|
.sets = 4096,
|
|
|
.partitions = 1,
|
|
|
.no_invd_sharing = true,
|
|
|
- .share_level = CPU_TOPO_LEVEL_CORE,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_CORE,
|
|
|
};
|
|
|
|
|
|
/*FIXME: CPUID leaf 2 descriptor is inconsistent with CPUID leaf 4 */
|
|
@@ -648,7 +648,7 @@ static CPUCacheInfo legacy_l2_cache_cpuid2 = {
|
|
|
.size = 2 * MiB,
|
|
|
.line_size = 64,
|
|
|
.associativity = 8,
|
|
|
- .share_level = CPU_TOPO_LEVEL_INVALID,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_INVALID,
|
|
|
};
|
|
|
|
|
|
|
|
@@ -662,7 +662,7 @@ static CPUCacheInfo legacy_l2_cache_amd = {
|
|
|
.associativity = 16,
|
|
|
.sets = 512,
|
|
|
.partitions = 1,
|
|
|
- .share_level = CPU_TOPO_LEVEL_CORE,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_CORE,
|
|
|
};
|
|
|
|
|
|
/* Level 3 unified cache: */
|
|
@@ -678,7 +678,7 @@ static CPUCacheInfo legacy_l3_cache = {
|
|
|
.self_init = true,
|
|
|
.inclusive = true,
|
|
|
.complex_indexing = true,
|
|
|
- .share_level = CPU_TOPO_LEVEL_DIE,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_DIE,
|
|
|
};
|
|
|
|
|
|
/* TLB definitions: */
|
|
@@ -2085,7 +2085,7 @@ static const CPUCaches epyc_cache_info = {
|
|
|
.lines_per_tag = 1,
|
|
|
.self_init = 1,
|
|
|
.no_invd_sharing = true,
|
|
|
- .share_level = CPU_TOPO_LEVEL_CORE,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_CORE,
|
|
|
},
|
|
|
.l1i_cache = &(CPUCacheInfo) {
|
|
|
.type = INSTRUCTION_CACHE,
|
|
@@ -2098,7 +2098,7 @@ static const CPUCaches epyc_cache_info = {
|
|
|
.lines_per_tag = 1,
|
|
|
.self_init = 1,
|
|
|
.no_invd_sharing = true,
|
|
|
- .share_level = CPU_TOPO_LEVEL_CORE,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_CORE,
|
|
|
},
|
|
|
.l2_cache = &(CPUCacheInfo) {
|
|
|
.type = UNIFIED_CACHE,
|
|
@@ -2109,7 +2109,7 @@ static const CPUCaches epyc_cache_info = {
|
|
|
.partitions = 1,
|
|
|
.sets = 1024,
|
|
|
.lines_per_tag = 1,
|
|
|
- .share_level = CPU_TOPO_LEVEL_CORE,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_CORE,
|
|
|
},
|
|
|
.l3_cache = &(CPUCacheInfo) {
|
|
|
.type = UNIFIED_CACHE,
|
|
@@ -2123,7 +2123,7 @@ static const CPUCaches epyc_cache_info = {
|
|
|
.self_init = true,
|
|
|
.inclusive = true,
|
|
|
.complex_indexing = true,
|
|
|
- .share_level = CPU_TOPO_LEVEL_DIE,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_DIE,
|
|
|
},
|
|
|
};
|
|
|
|
|
@@ -2139,7 +2139,7 @@ static CPUCaches epyc_v4_cache_info = {
|
|
|
.lines_per_tag = 1,
|
|
|
.self_init = 1,
|
|
|
.no_invd_sharing = true,
|
|
|
- .share_level = CPU_TOPO_LEVEL_CORE,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_CORE,
|
|
|
},
|
|
|
.l1i_cache = &(CPUCacheInfo) {
|
|
|
.type = INSTRUCTION_CACHE,
|
|
@@ -2152,7 +2152,7 @@ static CPUCaches epyc_v4_cache_info = {
|
|
|
.lines_per_tag = 1,
|
|
|
.self_init = 1,
|
|
|
.no_invd_sharing = true,
|
|
|
- .share_level = CPU_TOPO_LEVEL_CORE,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_CORE,
|
|
|
},
|
|
|
.l2_cache = &(CPUCacheInfo) {
|
|
|
.type = UNIFIED_CACHE,
|
|
@@ -2163,7 +2163,7 @@ static CPUCaches epyc_v4_cache_info = {
|
|
|
.partitions = 1,
|
|
|
.sets = 1024,
|
|
|
.lines_per_tag = 1,
|
|
|
- .share_level = CPU_TOPO_LEVEL_CORE,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_CORE,
|
|
|
},
|
|
|
.l3_cache = &(CPUCacheInfo) {
|
|
|
.type = UNIFIED_CACHE,
|
|
@@ -2177,7 +2177,7 @@ static CPUCaches epyc_v4_cache_info = {
|
|
|
.self_init = true,
|
|
|
.inclusive = true,
|
|
|
.complex_indexing = false,
|
|
|
- .share_level = CPU_TOPO_LEVEL_DIE,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_DIE,
|
|
|
},
|
|
|
};
|
|
|
|
|
@@ -2193,7 +2193,7 @@ static const CPUCaches epyc_rome_cache_info = {
|
|
|
.lines_per_tag = 1,
|
|
|
.self_init = 1,
|
|
|
.no_invd_sharing = true,
|
|
|
- .share_level = CPU_TOPO_LEVEL_CORE,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_CORE,
|
|
|
},
|
|
|
.l1i_cache = &(CPUCacheInfo) {
|
|
|
.type = INSTRUCTION_CACHE,
|
|
@@ -2206,7 +2206,7 @@ static const CPUCaches epyc_rome_cache_info = {
|
|
|
.lines_per_tag = 1,
|
|
|
.self_init = 1,
|
|
|
.no_invd_sharing = true,
|
|
|
- .share_level = CPU_TOPO_LEVEL_CORE,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_CORE,
|
|
|
},
|
|
|
.l2_cache = &(CPUCacheInfo) {
|
|
|
.type = UNIFIED_CACHE,
|
|
@@ -2217,7 +2217,7 @@ static const CPUCaches epyc_rome_cache_info = {
|
|
|
.partitions = 1,
|
|
|
.sets = 1024,
|
|
|
.lines_per_tag = 1,
|
|
|
- .share_level = CPU_TOPO_LEVEL_CORE,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_CORE,
|
|
|
},
|
|
|
.l3_cache = &(CPUCacheInfo) {
|
|
|
.type = UNIFIED_CACHE,
|
|
@@ -2231,7 +2231,7 @@ static const CPUCaches epyc_rome_cache_info = {
|
|
|
.self_init = true,
|
|
|
.inclusive = true,
|
|
|
.complex_indexing = true,
|
|
|
- .share_level = CPU_TOPO_LEVEL_DIE,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_DIE,
|
|
|
},
|
|
|
};
|
|
|
|
|
@@ -2247,7 +2247,7 @@ static const CPUCaches epyc_rome_v3_cache_info = {
|
|
|
.lines_per_tag = 1,
|
|
|
.self_init = 1,
|
|
|
.no_invd_sharing = true,
|
|
|
- .share_level = CPU_TOPO_LEVEL_CORE,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_CORE,
|
|
|
},
|
|
|
.l1i_cache = &(CPUCacheInfo) {
|
|
|
.type = INSTRUCTION_CACHE,
|
|
@@ -2260,7 +2260,7 @@ static const CPUCaches epyc_rome_v3_cache_info = {
|
|
|
.lines_per_tag = 1,
|
|
|
.self_init = 1,
|
|
|
.no_invd_sharing = true,
|
|
|
- .share_level = CPU_TOPO_LEVEL_CORE,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_CORE,
|
|
|
},
|
|
|
.l2_cache = &(CPUCacheInfo) {
|
|
|
.type = UNIFIED_CACHE,
|
|
@@ -2271,7 +2271,7 @@ static const CPUCaches epyc_rome_v3_cache_info = {
|
|
|
.partitions = 1,
|
|
|
.sets = 1024,
|
|
|
.lines_per_tag = 1,
|
|
|
- .share_level = CPU_TOPO_LEVEL_CORE,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_CORE,
|
|
|
},
|
|
|
.l3_cache = &(CPUCacheInfo) {
|
|
|
.type = UNIFIED_CACHE,
|
|
@@ -2285,7 +2285,7 @@ static const CPUCaches epyc_rome_v3_cache_info = {
|
|
|
.self_init = true,
|
|
|
.inclusive = true,
|
|
|
.complex_indexing = false,
|
|
|
- .share_level = CPU_TOPO_LEVEL_DIE,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_DIE,
|
|
|
},
|
|
|
};
|
|
|
|
|
@@ -2301,7 +2301,7 @@ static const CPUCaches epyc_milan_cache_info = {
|
|
|
.lines_per_tag = 1,
|
|
|
.self_init = 1,
|
|
|
.no_invd_sharing = true,
|
|
|
- .share_level = CPU_TOPO_LEVEL_CORE,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_CORE,
|
|
|
},
|
|
|
.l1i_cache = &(CPUCacheInfo) {
|
|
|
.type = INSTRUCTION_CACHE,
|
|
@@ -2314,7 +2314,7 @@ static const CPUCaches epyc_milan_cache_info = {
|
|
|
.lines_per_tag = 1,
|
|
|
.self_init = 1,
|
|
|
.no_invd_sharing = true,
|
|
|
- .share_level = CPU_TOPO_LEVEL_CORE,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_CORE,
|
|
|
},
|
|
|
.l2_cache = &(CPUCacheInfo) {
|
|
|
.type = UNIFIED_CACHE,
|
|
@@ -2325,7 +2325,7 @@ static const CPUCaches epyc_milan_cache_info = {
|
|
|
.partitions = 1,
|
|
|
.sets = 1024,
|
|
|
.lines_per_tag = 1,
|
|
|
- .share_level = CPU_TOPO_LEVEL_CORE,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_CORE,
|
|
|
},
|
|
|
.l3_cache = &(CPUCacheInfo) {
|
|
|
.type = UNIFIED_CACHE,
|
|
@@ -2339,7 +2339,7 @@ static const CPUCaches epyc_milan_cache_info = {
|
|
|
.self_init = true,
|
|
|
.inclusive = true,
|
|
|
.complex_indexing = true,
|
|
|
- .share_level = CPU_TOPO_LEVEL_DIE,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_DIE,
|
|
|
},
|
|
|
};
|
|
|
|
|
@@ -2355,7 +2355,7 @@ static const CPUCaches epyc_milan_v2_cache_info = {
|
|
|
.lines_per_tag = 1,
|
|
|
.self_init = 1,
|
|
|
.no_invd_sharing = true,
|
|
|
- .share_level = CPU_TOPO_LEVEL_CORE,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_CORE,
|
|
|
},
|
|
|
.l1i_cache = &(CPUCacheInfo) {
|
|
|
.type = INSTRUCTION_CACHE,
|
|
@@ -2368,7 +2368,7 @@ static const CPUCaches epyc_milan_v2_cache_info = {
|
|
|
.lines_per_tag = 1,
|
|
|
.self_init = 1,
|
|
|
.no_invd_sharing = true,
|
|
|
- .share_level = CPU_TOPO_LEVEL_CORE,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_CORE,
|
|
|
},
|
|
|
.l2_cache = &(CPUCacheInfo) {
|
|
|
.type = UNIFIED_CACHE,
|
|
@@ -2379,7 +2379,7 @@ static const CPUCaches epyc_milan_v2_cache_info = {
|
|
|
.partitions = 1,
|
|
|
.sets = 1024,
|
|
|
.lines_per_tag = 1,
|
|
|
- .share_level = CPU_TOPO_LEVEL_CORE,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_CORE,
|
|
|
},
|
|
|
.l3_cache = &(CPUCacheInfo) {
|
|
|
.type = UNIFIED_CACHE,
|
|
@@ -2393,7 +2393,7 @@ static const CPUCaches epyc_milan_v2_cache_info = {
|
|
|
.self_init = true,
|
|
|
.inclusive = true,
|
|
|
.complex_indexing = false,
|
|
|
- .share_level = CPU_TOPO_LEVEL_DIE,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_DIE,
|
|
|
},
|
|
|
};
|
|
|
|
|
@@ -2409,7 +2409,7 @@ static const CPUCaches epyc_genoa_cache_info = {
|
|
|
.lines_per_tag = 1,
|
|
|
.self_init = 1,
|
|
|
.no_invd_sharing = true,
|
|
|
- .share_level = CPU_TOPO_LEVEL_CORE,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_CORE,
|
|
|
},
|
|
|
.l1i_cache = &(CPUCacheInfo) {
|
|
|
.type = INSTRUCTION_CACHE,
|
|
@@ -2422,7 +2422,7 @@ static const CPUCaches epyc_genoa_cache_info = {
|
|
|
.lines_per_tag = 1,
|
|
|
.self_init = 1,
|
|
|
.no_invd_sharing = true,
|
|
|
- .share_level = CPU_TOPO_LEVEL_CORE,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_CORE,
|
|
|
},
|
|
|
.l2_cache = &(CPUCacheInfo) {
|
|
|
.type = UNIFIED_CACHE,
|
|
@@ -2433,7 +2433,7 @@ static const CPUCaches epyc_genoa_cache_info = {
|
|
|
.partitions = 1,
|
|
|
.sets = 2048,
|
|
|
.lines_per_tag = 1,
|
|
|
- .share_level = CPU_TOPO_LEVEL_CORE,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_CORE,
|
|
|
},
|
|
|
.l3_cache = &(CPUCacheInfo) {
|
|
|
.type = UNIFIED_CACHE,
|
|
@@ -2447,7 +2447,7 @@ static const CPUCaches epyc_genoa_cache_info = {
|
|
|
.self_init = true,
|
|
|
.inclusive = true,
|
|
|
.complex_indexing = false,
|
|
|
- .share_level = CPU_TOPO_LEVEL_DIE,
|
|
|
+ .share_level = CPU_TOPOLOGY_LEVEL_DIE,
|
|
|
},
|
|
|
};
|
|
|
|
|
@@ -6591,7 +6591,7 @@ void cpu_x86_cpuid(CPUX86State *env, uint32_t index, uint32_t count,
|
|
|
|
|
|
/* Share the cache at package level. */
|
|
|
*eax |= max_thread_ids_for_cache(&topo_info,
|
|
|
- CPU_TOPO_LEVEL_PACKAGE) << 14;
|
|
|
+ CPU_TOPOLOGY_LEVEL_SOCKET) << 14;
|
|
|
}
|
|
|
}
|
|
|
} else if (cpu->vendor_cpuid_only && IS_AMD_CPU(env)) {
|
|
@@ -8169,10 +8169,10 @@ static void x86_cpu_init_default_topo(X86CPU *cpu)
|
|
|
env->nr_modules = 1;
|
|
|
env->nr_dies = 1;
|
|
|
|
|
|
- /* SMT, core and package levels are set by default. */
|
|
|
- set_bit(CPU_TOPO_LEVEL_SMT, env->avail_cpu_topo);
|
|
|
- set_bit(CPU_TOPO_LEVEL_CORE, env->avail_cpu_topo);
|
|
|
- set_bit(CPU_TOPO_LEVEL_PACKAGE, env->avail_cpu_topo);
|
|
|
+ /* thread, core and socket levels are set by default. */
|
|
|
+ set_bit(CPU_TOPOLOGY_LEVEL_THREAD, env->avail_cpu_topo);
|
|
|
+ set_bit(CPU_TOPOLOGY_LEVEL_CORE, env->avail_cpu_topo);
|
|
|
+ set_bit(CPU_TOPOLOGY_LEVEL_SOCKET, env->avail_cpu_topo);
|
|
|
}
|
|
|
|
|
|
static void x86_cpu_initfn(Object *obj)
|