]>
Commit | Line | Data |
---|---|---|
dcd32b6a YL |
1 | #ifndef ARCH_X86_CPU_H |
2 | ||
3 | #define ARCH_X86_CPU_H | |
1da177e4 LT |
4 | |
5 | struct cpu_model_info { | |
f2362e6f JSR |
6 | int vendor; |
7 | int family; | |
8 | const char *model_names[16]; | |
1da177e4 LT |
9 | }; |
10 | ||
11 | /* attempt to consolidate cpu attributes */ | |
12 | struct cpu_dev { | |
f2362e6f | 13 | const char *c_vendor; |
1da177e4 LT |
14 | |
15 | /* some have two possibilities for cpuid string */ | |
f2362e6f | 16 | const char *c_ident[2]; |
1da177e4 LT |
17 | |
18 | struct cpu_model_info c_models[4]; | |
19 | ||
f2362e6f JSR |
20 | void (*c_early_init)(struct cpuinfo_x86 *); |
21 | void (*c_init)(struct cpuinfo_x86 *); | |
22 | void (*c_identify)(struct cpuinfo_x86 *); | |
23 | unsigned int (*c_size_cache)(struct cpuinfo_x86 *, unsigned int); | |
24 | int c_x86_vendor; | |
1da177e4 LT |
25 | }; |
26 | ||
10a434fc | 27 | #define cpu_dev_register(cpu_devX) \ |
02dde8b4 | 28 | static const struct cpu_dev *const __cpu_dev_##cpu_devX __used \ |
10a434fc YL |
29 | __attribute__((__section__(".x86_cpu_dev.init"))) = \ |
30 | &cpu_devX; | |
1da177e4 | 31 | |
02dde8b4 JB |
32 | extern const struct cpu_dev *const __x86_cpu_dev_start[], |
33 | *const __x86_cpu_dev_end[]; | |
03ae5768 | 34 | |
27c13ece | 35 | extern void cpu_detect_cache_sizes(struct cpuinfo_x86 *c); |
9e26d842 | 36 | |
dcd32b6a | 37 | #endif |