]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blame - arch/x86/kernel/cpu/cpu.h
Merge tag 'xfs-for-linus-v3.12-rc1' of git://oss.sgi.com/xfs/xfs
[mirror_ubuntu-artful-kernel.git] / arch / x86 / kernel / cpu / cpu.h
CommitLineData
dcd32b6a 1#ifndef ARCH_X86_CPU_H
dcd32b6a 2#define ARCH_X86_CPU_H
1da177e4
LT
3
4struct cpu_model_info {
f2362e6f
JSR
5 int vendor;
6 int family;
7 const char *model_names[16];
1da177e4
LT
8};
9
10/* attempt to consolidate cpu attributes */
11struct cpu_dev {
f2362e6f 12 const char *c_vendor;
1da177e4
LT
13
14 /* some have two possibilities for cpuid string */
f2362e6f 15 const char *c_ident[2];
1da177e4
LT
16
17 struct cpu_model_info c_models[4];
18
f2362e6f 19 void (*c_early_init)(struct cpuinfo_x86 *);
a110b5ec 20 void (*c_bsp_init)(struct cpuinfo_x86 *);
f2362e6f
JSR
21 void (*c_init)(struct cpuinfo_x86 *);
22 void (*c_identify)(struct cpuinfo_x86 *);
e0ba94f1 23 void (*c_detect_tlb)(struct cpuinfo_x86 *);
f2362e6f
JSR
24 unsigned int (*c_size_cache)(struct cpuinfo_x86 *, unsigned int);
25 int c_x86_vendor;
1da177e4
LT
26};
27
e0ba94f1
AS
28struct _tlb_table {
29 unsigned char descriptor;
30 char tlb_type;
31 unsigned int entries;
32 /* unsigned int ways; */
33 char info[128];
34};
35
10a434fc 36#define cpu_dev_register(cpu_devX) \
02dde8b4 37 static const struct cpu_dev *const __cpu_dev_##cpu_devX __used \
10a434fc
YL
38 __attribute__((__section__(".x86_cpu_dev.init"))) = \
39 &cpu_devX;
1da177e4 40
02dde8b4
JB
41extern const struct cpu_dev *const __x86_cpu_dev_start[],
42 *const __x86_cpu_dev_end[];
03ae5768 43
c2b9ff24 44extern void get_cpu_cap(struct cpuinfo_x86 *c);
27c13ece 45extern void cpu_detect_cache_sizes(struct cpuinfo_x86 *c);
d059f24a 46#endif /* ARCH_X86_CPU_H */