source: libcaca/trunk/kernel/drivers/processor.h @ 4154

Last change on this file since 4154 was 4154, checked in by Jean-Yves Lamoureux, 10 years ago
  • Total kernel rewrite
File size: 2.8 KB
Line 
1
2enum cpuid_requests {
3    CPUID_GETVENDORSTRING,
4    CPUID_GETFEATURES,
5    CPUID_GETTLB,
6    CPUID_GETSERIAL,
7   
8    CPUID_INTELEXTENDED=0x80000000,
9    CPUID_INTELFEATURES,
10    CPUID_INTELBRANDSTRING,
11    CPUID_INTELBRANDSTRINGMORE,
12    CPUID_INTELBRANDSTRINGEND,
13};
14
15enum {
16    CPUID_FEAT_ECX_SSE3         = 1 << 0,
17    CPUID_FEAT_ECX_PCLMUL       = 1 << 1,
18    CPUID_FEAT_ECX_DTES64       = 1 << 2,
19    CPUID_FEAT_ECX_MONITOR      = 1 << 3, 
20    CPUID_FEAT_ECX_DS_CPL       = 1 << 4, 
21    CPUID_FEAT_ECX_VMX          = 1 << 5, 
22    CPUID_FEAT_ECX_SMX          = 1 << 6, 
23    CPUID_FEAT_ECX_EST          = 1 << 7, 
24    CPUID_FEAT_ECX_TM2          = 1 << 8, 
25    CPUID_FEAT_ECX_SSSE3        = 1 << 9, 
26    CPUID_FEAT_ECX_CID          = 1 << 10,
27    CPUID_FEAT_ECX_FMA          = 1 << 12,
28    CPUID_FEAT_ECX_CX16         = 1 << 13,
29    CPUID_FEAT_ECX_ETPRD        = 1 << 14,
30    CPUID_FEAT_ECX_PDCM         = 1 << 15,
31    CPUID_FEAT_ECX_DCA          = 1 << 18,
32    CPUID_FEAT_ECX_SSE4_1       = 1 << 19,
33    CPUID_FEAT_ECX_SSE4_2       = 1 << 20,
34    CPUID_FEAT_ECX_x2APIC       = 1 << 21,
35    CPUID_FEAT_ECX_MOVBE        = 1 << 22,
36    CPUID_FEAT_ECX_POPCNT       = 1 << 23,
37    CPUID_FEAT_ECX_XSAVE        = 1 << 26,
38    CPUID_FEAT_ECX_OSXSAVE      = 1 << 27,
39    CPUID_FEAT_ECX_AVX          = 1 << 28,
40   
41    CPUID_FEAT_EDX_FPU          = 1 << 0, 
42    CPUID_FEAT_EDX_VME          = 1 << 1, 
43    CPUID_FEAT_EDX_DE           = 1 << 2, 
44    CPUID_FEAT_EDX_PSE          = 1 << 3, 
45    CPUID_FEAT_EDX_TSC          = 1 << 4, 
46    CPUID_FEAT_EDX_MSR          = 1 << 5, 
47    CPUID_FEAT_EDX_PAE          = 1 << 6, 
48    CPUID_FEAT_EDX_MCE          = 1 << 7, 
49    CPUID_FEAT_EDX_CX8          = 1 << 8, 
50    CPUID_FEAT_EDX_APIC         = 1 << 9, 
51    CPUID_FEAT_EDX_SEP          = 1 << 11,
52    CPUID_FEAT_EDX_MTRR         = 1 << 12,
53    CPUID_FEAT_EDX_PGE          = 1 << 13,
54    CPUID_FEAT_EDX_MCA          = 1 << 14,
55    CPUID_FEAT_EDX_CMOV         = 1 << 15,
56    CPUID_FEAT_EDX_PAT          = 1 << 16,
57    CPUID_FEAT_EDX_PSE36        = 1 << 17,
58    CPUID_FEAT_EDX_PSN          = 1 << 18,
59    CPUID_FEAT_EDX_CLF          = 1 << 19,
60    CPUID_FEAT_EDX_DTES         = 1 << 21,
61    CPUID_FEAT_EDX_ACPI         = 1 << 22,
62    CPUID_FEAT_EDX_MMX          = 1 << 23,
63    CPUID_FEAT_EDX_FXSR         = 1 << 24,
64    CPUID_FEAT_EDX_SSE          = 1 << 25,
65    CPUID_FEAT_EDX_SSE2         = 1 << 26,
66    CPUID_FEAT_EDX_SS           = 1 << 27,
67    CPUID_FEAT_EDX_HTT          = 1 << 28,
68    CPUID_FEAT_EDX_TM1          = 1 << 29,
69    CPUID_FEAT_EDX_IA64         = 1 << 30,
70    CPUID_FEAT_EDX_PBE          = 1 << 31
71};
72
73struct processor_info {
74    int  id;
75    char vendor[13];
76    unsigned int features;
77};
78
79
80int processor_get_info(struct processor_info *processor_info);
81void processor_print_info(struct processor_info *processor_info);
Note: See TracBrowser for help on using the repository browser.