|
@@ -622,32 +622,6 @@ out:
|
|
|
#endif
|
|
|
}
|
|
|
|
|
|
-static void __cpuinit early_init_centaur(struct cpuinfo_x86 *c)
|
|
|
-{
|
|
|
- if (c->x86 == 0x6 && c->x86_model >= 0xf)
|
|
|
- set_cpu_cap(c, X86_FEATURE_CONSTANT_TSC);
|
|
|
-}
|
|
|
-
|
|
|
-static void __cpuinit init_centaur(struct cpuinfo_x86 *c)
|
|
|
-{
|
|
|
- /* Cache sizes */
|
|
|
- unsigned n;
|
|
|
-
|
|
|
- n = c->extended_cpuid_level;
|
|
|
- if (n >= 0x80000008) {
|
|
|
- unsigned eax = cpuid_eax(0x80000008);
|
|
|
- c->x86_virt_bits = (eax >> 8) & 0xff;
|
|
|
- c->x86_phys_bits = eax & 0xff;
|
|
|
- }
|
|
|
-
|
|
|
- if (c->x86 == 0x6 && c->x86_model >= 0xf) {
|
|
|
- c->x86_cache_alignment = c->x86_clflush_size * 2;
|
|
|
- set_cpu_cap(c, X86_FEATURE_CONSTANT_TSC);
|
|
|
- set_cpu_cap(c, X86_FEATURE_REP_GOOD);
|
|
|
- }
|
|
|
- set_cpu_cap(c, X86_FEATURE_LFENCE_RDTSC);
|
|
|
-}
|
|
|
-
|
|
|
static void __cpuinit get_cpu_vendor(struct cpuinfo_x86 *c)
|
|
|
{
|
|
|
char *v = c->x86_vendor_id;
|
|
@@ -667,6 +641,8 @@ extern void __cpuinit early_init_amd(struct cpuinfo_x86 *c);
|
|
|
extern void __cpuinit init_amd(struct cpuinfo_x86 *c);
|
|
|
extern void __cpuinit early_init_intel(struct cpuinfo_x86 *c);
|
|
|
extern void __cpuinit init_intel(struct cpuinfo_x86 *c);
|
|
|
+extern void __cpuinit early_init_centaur(struct cpuinfo_x86 *c);
|
|
|
+extern void __cpuinit init_centaur(struct cpuinfo_x86 *c);
|
|
|
|
|
|
/* Do some early cpuid on the boot CPU to get some parameter that are
|
|
|
needed before check_bugs. Everything advanced is in identify_cpu
|