x86: cpu/common*.c, merge early_identify_cpu()
Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
@ -490,7 +490,11 @@ static void __cpuinit get_cpu_cap(struct cpuinfo_x86 *c)
|
|||||||
*/
|
*/
|
||||||
static void __init early_identify_cpu(struct cpuinfo_x86 *c)
|
static void __init early_identify_cpu(struct cpuinfo_x86 *c)
|
||||||
{
|
{
|
||||||
|
#ifdef CONFIG_X86_64
|
||||||
|
c->x86_clflush_size = 64;
|
||||||
|
#else
|
||||||
c->x86_clflush_size = 32;
|
c->x86_clflush_size = 32;
|
||||||
|
#endif
|
||||||
c->x86_cache_alignment = c->x86_clflush_size;
|
c->x86_cache_alignment = c->x86_clflush_size;
|
||||||
|
|
||||||
if (!have_cpuid_p())
|
if (!have_cpuid_p())
|
||||||
|
@ -482,15 +482,28 @@ static void __cpuinit get_cpu_cap(struct cpuinfo_x86 *c)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Do some early cpuid on the boot CPU to get some parameter that are
|
/*
|
||||||
needed before check_bugs. Everything advanced is in identify_cpu
|
* Do minimum CPU detection early.
|
||||||
below. */
|
* Fields really needed: vendor, cpuid_level, family, model, mask,
|
||||||
|
* cache alignment.
|
||||||
|
* The others are not touched to avoid unwanted side effects.
|
||||||
|
*
|
||||||
|
* WARNING: this function is only called on the BP. Don't add code here
|
||||||
|
* that is supposed to run on all CPUs.
|
||||||
|
*/
|
||||||
static void __init early_identify_cpu(struct cpuinfo_x86 *c)
|
static void __init early_identify_cpu(struct cpuinfo_x86 *c)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
#ifdef CONFIG_X86_64
|
||||||
c->x86_clflush_size = 64;
|
c->x86_clflush_size = 64;
|
||||||
|
#else
|
||||||
|
c->x86_clflush_size = 32;
|
||||||
|
#endif
|
||||||
c->x86_cache_alignment = c->x86_clflush_size;
|
c->x86_cache_alignment = c->x86_clflush_size;
|
||||||
|
|
||||||
|
if (!have_cpuid_p())
|
||||||
|
return;
|
||||||
|
|
||||||
memset(&c->x86_capability, 0, sizeof c->x86_capability);
|
memset(&c->x86_capability, 0, sizeof c->x86_capability);
|
||||||
|
|
||||||
c->extended_cpuid_level = 0;
|
c->extended_cpuid_level = 0;
|
||||||
|
Reference in New Issue
Block a user