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 ( |