Commit | Line | Data |
---|---|---|
99f925ce BP |
1 | #include <linux/module.h> |
2 | ||
3 | unsigned int x86_family(unsigned int sig) | |
4 | { | |
5 | unsigned int x86; | |
6 | ||
7 | x86 = (sig >> 8) & 0xf; | |
8 | ||
9 | if (x86 == 0xf) | |
10 | x86 += (sig >> 20) & 0xff; | |
11 | ||
12 | return x86; | |
13 | } | |
14 | EXPORT_SYMBOL_GPL(x86_family); | |
15 | ||
16 | unsigned int x86_model(unsigned int sig) | |
17 | { | |
18 | unsigned int fam, model; | |
19 | ||
20 | fam = x86_family(sig); | |
21 | ||
22 | model = (sig >> 4) & 0xf; | |
23 | ||
24 | if (fam >= 0x6) | |
25 | model += ((sig >> 16) & 0xf) << 4; | |
26 | ||
27 | return model; | |
28 | } | |
29 | EXPORT_SYMBOL_GPL(x86_model); | |
30 | ||
31 | unsigned int x86_stepping(unsigned int sig) | |
32 | { | |
33 | return sig & 0xf; | |
34 | } | |
35 | EXPORT_SYMBOL_GPL(x86_stepping); |