Subversion Repositories HelenOS-historic

Rev

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 (