]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/x86/kernel/cpu/cpu.h
Merge commit '900cfa46191a7d87cf1891924cb90499287fd235'; branches 'timers/nohz',...
[linux-2.6-omap-h63xx.git] / arch / x86 / kernel / cpu / cpu.h
index 2f6432cef6ffb68c4bd9391f34313d20ca66cdb1..783691b2a7381648bbc03ccf98842b0fcad6df22 100644 (file)
@@ -14,6 +14,7 @@ struct cpu_dev {
 
        struct          cpu_model_info c_models[4];
 
+       void            (*c_early_init)(struct cpuinfo_x86 *c);
        void            (*c_init)(struct cpuinfo_x86 * c);
        void            (*c_identify)(struct cpuinfo_x86 * c);
        unsigned int    (*c_size_cache)(struct cpuinfo_x86 * c, unsigned int size);
@@ -21,8 +22,17 @@ struct cpu_dev {
 
 extern struct cpu_dev * cpu_devs [X86_VENDOR_NUM];
 
-extern int get_model_name(struct cpuinfo_x86 *c);
-extern void display_cacheinfo(struct cpuinfo_x86 *c);
+struct cpu_vendor_dev {
+       int vendor;
+       struct cpu_dev *cpu_dev;
+};
 
-extern void early_intel_workaround(struct cpuinfo_x86 *c);
+#define cpu_vendor_dev_register(cpu_vendor_id, cpu_dev) \
+       static struct cpu_vendor_dev __cpu_vendor_dev_##cpu_vendor_id __used \
+       __attribute__((__section__(".x86cpuvendor.init"))) = \
+       { cpu_vendor_id, cpu_dev }
 
+extern struct cpu_vendor_dev __x86cpuvendor_start[], __x86cpuvendor_end[];
+
+extern int get_model_name(struct cpuinfo_x86 *c);
+extern void display_cacheinfo(struct cpuinfo_x86 *c);