Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1cd78776 authored by Yinghai Lu's avatar Yinghai Lu Committed by Ingo Molnar
Browse files

x86: cpu/common*.c, merge detect_ht()



Signed-off-by: default avatarYinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 140fc727
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -330,6 +330,9 @@ void __cpuinit detect_ht(struct cpuinfo_x86 *c)
	if (cpu_has(c, X86_FEATURE_CMP_LEGACY))
		goto out;

	if (cpu_has(c, X86_FEATURE_XTOPOLOGY))
		return;

	cpuid(1, &eax, &ebx, &ecx, &edx);

	smp_num_siblings = (ebx & 0xff0000) >> 16;
@@ -346,8 +349,11 @@ void __cpuinit detect_ht(struct cpuinfo_x86 *c)
		}

		index_msb = get_count_order(smp_num_siblings);
#ifdef CONFIG_X86_64
		c->phys_proc_id = phys_pkg_id(index_msb);
#else
		c->phys_proc_id = phys_pkg_id(c->initial_apicid, index_msb);

#endif

		smp_num_siblings = smp_num_siblings / c->x86_max_cores;

@@ -355,8 +361,13 @@ void __cpuinit detect_ht(struct cpuinfo_x86 *c)

		core_bits = get_count_order(c->x86_max_cores);

#ifdef CONFIG_X86_64
		c->cpu_core_id = phys_pkg_id(index_msb) &
					       ((1 << core_bits) - 1);
#else
		c->cpu_core_id = phys_pkg_id(c->initial_apicid, index_msb) &
					       ((1 << core_bits) - 1);
#endif
	}

out:
+9 −0
Original line number Diff line number Diff line
@@ -349,7 +349,11 @@ void __cpuinit detect_ht(struct cpuinfo_x86 *c)
		}

		index_msb = get_count_order(smp_num_siblings);
#ifdef CONFIG_X86_64
		c->phys_proc_id = phys_pkg_id(index_msb);
#else
		c->phys_proc_id = phys_pkg_id(c->initial_apicid, index_msb);
#endif

		smp_num_siblings = smp_num_siblings / c->x86_max_cores;

@@ -357,8 +361,13 @@ void __cpuinit detect_ht(struct cpuinfo_x86 *c)

		core_bits = get_count_order(c->x86_max_cores);

#ifdef CONFIG_X86_64
		c->cpu_core_id = phys_pkg_id(index_msb) &
					       ((1 << core_bits) - 1);
#else
		c->cpu_core_id = phys_pkg_id(c->initial_apicid, index_msb) &
					       ((1 << core_bits) - 1);
#endif
	}

out: