Rev 860 | Rev 1702 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 860 | Rev 1019 | ||
|---|---|---|---|
| Line 36... | Line 36... | ||
| 36 | __u32 cpuid_ebx; |
36 | __u32 cpuid_ebx; |
| 37 | __u32 cpuid_ecx; |
37 | __u32 cpuid_ecx; |
| 38 | __u32 cpuid_edx; |
38 | __u32 cpuid_edx; |
| 39 | } __attribute__ ((packed)); |
39 | } __attribute__ ((packed)); |
| 40 | 40 | ||
| - | 41 | struct __cpuid_extended_feature_info { |
|
| - | 42 | unsigned sse3 : 1; |
|
| - | 43 | unsigned : 31; |
|
| - | 44 | } __attribute__ ((packed)); |
|
| - | 45 | ||
| - | 46 | typedef union cpuid_extended_feature_info |
|
| - | 47 | { |
|
| - | 48 | struct __cpuid_extended_feature_info bits; |
|
| - | 49 | __u32 word; |
|
| - | 50 | }cpuid_extended_feature_info; |
|
| - | 51 | ||
| - | 52 | ||
| - | 53 | struct __cpuid_feature_info { |
|
| - | 54 | unsigned : 23; |
|
| - | 55 | unsigned mmx : 1; |
|
| - | 56 | unsigned fxsr : 1; |
|
| - | 57 | unsigned sse : 1; |
|
| - | 58 | unsigned sse2 : 1; |
|
| - | 59 | unsigned : 5; |
|
| - | 60 | } __attribute__ ((packed)); |
|
| - | 61 | ||
| - | 62 | typedef union cpuid_feature_info |
|
| - | 63 | { |
|
| - | 64 | struct __cpuid_feature_info bits; |
|
| - | 65 | __u32 word ; |
|
| - | 66 | }cpuid_feature_info; |
|
| - | 67 | ||
| - | 68 | ||
| 41 | static inline __u32 has_cpuid(void) |
69 | static inline __u32 has_cpuid(void) |
| 42 | { |
70 | { |
| 43 | __u32 val, ret; |
71 | __u32 val, ret; |
| 44 | 72 | ||
| 45 | __asm__ volatile ( |
73 | __asm__ volatile ( |