Commit 2028f308 authored by leoliu-oc's avatar leoliu-oc
Browse files

x86/cpu: Add detect extended topology for Zhaoxin CPUs

zhaoxin inclusion
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/I8WS73


CVE: NA

-----------------

Detect the extended topology information of Zhaoxin CPUs if available.

Signed-off-by: default avatarleoliu-oc <leoliu-oc@zhaoxin.com>
parent 6a654e96
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -109,6 +109,9 @@ static void early_init_centaur(struct cpuinfo_x86 *c)
		set_cpu_cap(c, X86_FEATURE_CONSTANT_TSC);
		set_cpu_cap(c, X86_FEATURE_NONSTOP_TSC);
	}

	if (detect_extended_topology_early(c) < 0)
		detect_ht_early(c);
}

static void init_centaur(struct cpuinfo_x86 *c)
@@ -127,11 +130,14 @@ static void init_centaur(struct cpuinfo_x86 *c)
	clear_cpu_cap(c, 0*32+31);
#endif
	early_init_centaur(c);
	detect_extended_topology(c);
	init_intel_cacheinfo(c);
	if (!cpu_has(c, X86_FEATURE_XTOPOLOGY)) {
		detect_num_cpu_cores(c);
#ifdef CONFIG_X86_32
	detect_ht(c);
#endif
	}

	if (c->cpuid_level > 9) {
		unsigned int eax = cpuid_eax(10);
+6 −1
Original line number Diff line number Diff line
@@ -79,16 +79,21 @@ static void early_init_zhaoxin(struct cpuinfo_x86 *c)
			c->x86_coreid_bits = get_count_order((ebx >> 16) & 0xff);
	}

	if (detect_extended_topology_early(c) < 0)
		detect_ht_early(c);
}

static void init_zhaoxin(struct cpuinfo_x86 *c)
{
	early_init_zhaoxin(c);
	detect_extended_topology(c);
	init_intel_cacheinfo(c);
	if (!cpu_has(c, X86_FEATURE_XTOPOLOGY)) {
		detect_num_cpu_cores(c);
#ifdef CONFIG_X86_32
	detect_ht(c);
#endif
	}

	if (c->cpuid_level > 9) {
		unsigned int eax = cpuid_eax(10);