aboutsummaryrefslogtreecommitdiff
path: root/arch/x86/kernel/cpu/amd_64.c
diff options
context:
space:
mode:
authorYinghai Lu <yhlu.kernel@gmail.com>2008-06-20 08:18:09 +0200
committerIngo Molnar <mingo@elte.hu>2008-07-08 07:47:39 +0200
commitdcd32b6a1ffe6c040f8346f7fbaf4318bb8ae41c (patch)
tree51b06c0bf8bc80dd2a6f9155a4a295f5b0ccdccb /arch/x86/kernel/cpu/amd_64.c
parent3a27dd1ce5de08e21e0266ddf00e6f1f843bfe8b (diff)
x86: make 64-bit identify_cpu use cpu_dev
we may need to move some functions to common.c later Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/cpu/amd_64.c')
-rw-r--r--arch/x86/kernel/cpu/amd_64.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/arch/x86/kernel/cpu/amd_64.c b/arch/x86/kernel/cpu/amd_64.c
index 250bfe6064a..30b7557c964 100644
--- a/arch/x86/kernel/cpu/amd_64.c
+++ b/arch/x86/kernel/cpu/amd_64.c
@@ -7,8 +7,7 @@
#include <mach_apic.h>
-extern int __cpuinit get_model_name(struct cpuinfo_x86 *c);
-extern void __cpuinit display_cacheinfo(struct cpuinfo_x86 *c);
+#include "cpu.h"
int force_mwait __cpuinitdata;
@@ -109,7 +108,7 @@ static void __cpuinit early_init_amd_mc(struct cpuinfo_x86 *c)
#endif
}
-void __cpuinit early_init_amd(struct cpuinfo_x86 *c)
+static void __cpuinit early_init_amd(struct cpuinfo_x86 *c)
{
early_init_amd_mc(c);
@@ -118,7 +117,7 @@ void __cpuinit early_init_amd(struct cpuinfo_x86 *c)
set_cpu_cap(c, X86_FEATURE_CONSTANT_TSC);
}
-void __cpuinit init_amd(struct cpuinfo_x86 *c)
+static void __cpuinit init_amd(struct cpuinfo_x86 *c)
{
unsigned level;
@@ -200,3 +199,13 @@ void __cpuinit init_amd(struct cpuinfo_x86 *c)
set_memory_4k((unsigned long)__va(tseg), 1);
}
}
+
+static struct cpu_dev amd_cpu_dev __cpuinitdata = {
+ .c_vendor = "AMD",
+ .c_ident = { "AuthenticAMD" },
+ .c_early_init = early_init_amd,
+ .c_init = init_amd,
+};
+
+cpu_vendor_dev_register(X86_VENDOR_AMD, &amd_cpu_dev);
+