Rev 4358 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4358 | Rev 4632 | ||
---|---|---|---|
Line 44... | Line 44... | ||
44 | #include "common_x86_features.h" |
44 | #include "common_x86_features.h" |
Line 45... | Line 45... | ||
45 | 45 | ||
Line 46... | Line 46... | ||
46 | SEG_TEXT |
46 | SEG_TEXT |
47 | 47 | ||
48 | ALIGNTEXT4 |
48 | ALIGNTEXT4 |
49 | GLOBL GLNAME(__mesa_x86_has_cpuid) |
49 | GLOBL GLNAME(_mesa_x86_has_cpuid) |
Line 50... | Line 50... | ||
50 | HIDDEN(__mesa_x86_has_cpuid) |
50 | HIDDEN(_mesa_x86_has_cpuid) |
51 | GLNAME(__mesa_x86_has_cpuid): |
51 | GLNAME(_mesa_x86_has_cpuid): |
52 | 52 | ||
53 | /* Test for the CPUID command. If the ID Flag bit in EFLAGS |
53 | /* Test for the CPUID command. If the ID Flag bit in EFLAGS |
Line 68... | Line 68... | ||
68 | 68 | ||
Line 69... | Line 69... | ||
69 | RET |
69 | RET |
70 | 70 | ||
71 | 71 | ||
72 | ALIGNTEXT4 |
72 | ALIGNTEXT4 |
Line 73... | Line 73... | ||
73 | GLOBL GLNAME(__mesa_x86_cpuid) |
73 | GLOBL GLNAME(_mesa_x86_cpuid) |
74 | HIDDEN(__mesa_x86_cpuid) |
74 | HIDDEN(_mesa_x86_cpuid) |
75 | GLNAME(__mesa_x86_cpuid): |
75 | GLNAME(_mesa_x86_cpuid): |
Line 92... | Line 92... | ||
92 | POP_L (EBX) |
92 | POP_L (EBX) |
93 | POP_L (EDI) |
93 | POP_L (EDI) |
94 | RET |
94 | RET |
Line 95... | Line 95... | ||
95 | 95 | ||
96 | ALIGNTEXT4 |
96 | ALIGNTEXT4 |
97 | GLOBL GLNAME(__mesa_x86_cpuid_eax) |
97 | GLOBL GLNAME(_mesa_x86_cpuid_eax) |
98 | HIDDEN(__mesa_x86_cpuid_eax) |
98 | HIDDEN(_mesa_x86_cpuid_eax) |
Line 99... | Line 99... | ||
99 | GLNAME(__mesa_x86_cpuid_eax): |
99 | GLNAME(_mesa_x86_cpuid_eax): |
100 | 100 | ||
Line 101... | Line 101... | ||
101 | MOV_L (REGOFF(4, ESP), EAX) /* cpuid op */ |
101 | MOV_L (REGOFF(4, ESP), EAX) /* cpuid op */ |
Line 102... | Line 102... | ||
102 | PUSH_L (EBX) |
102 | PUSH_L (EBX) |
103 | 103 | ||
Line 104... | Line 104... | ||
104 | CPUID |
104 | CPUID |
105 | 105 | ||
106 | POP_L (EBX) |
106 | POP_L (EBX) |
107 | RET |
107 | RET |
Line 108... | Line 108... | ||
108 | 108 | ||
109 | ALIGNTEXT4 |
109 | ALIGNTEXT4 |
Line 110... | Line 110... | ||
110 | GLOBL GLNAME(__mesa_x86_cpuid_ebx) |
110 | GLOBL GLNAME(_mesa_x86_cpuid_ebx) |
Line 119... | Line 119... | ||
119 | 119 | ||
120 | POP_L (EBX) |
120 | POP_L (EBX) |
Line 121... | Line 121... | ||
121 | RET |
121 | RET |
122 | 122 | ||
123 | ALIGNTEXT4 |
123 | ALIGNTEXT4 |
124 | GLOBL GLNAME(__mesa_x86_cpuid_ecx) |
124 | GLOBL GLNAME(_mesa_x86_cpuid_ecx) |
Line 125... | Line 125... | ||
125 | HIDDEN(__mesa_x86_cpuid_ecx) |
125 | HIDDEN(_mesa_x86_cpuid_ecx) |
126 | GLNAME(__mesa_x86_cpuid_ecx): |
126 | GLNAME(_mesa_x86_cpuid_ecx): |
Line 127... | Line 127... | ||
127 | 127 | ||
Line 133... | Line 133... | ||
133 | 133 | ||
134 | POP_L (EBX) |
134 | POP_L (EBX) |
Line 135... | Line 135... | ||
135 | RET |
135 | RET |
136 | 136 | ||
137 | ALIGNTEXT4 |
137 | ALIGNTEXT4 |
138 | GLOBL GLNAME(__mesa_x86_cpuid_edx) |
138 | GLOBL GLNAME(_mesa_x86_cpuid_edx) |
Line 139... | Line 139... | ||
139 | HIDDEN(__mesa_x86_cpuid_edx) |
139 | HIDDEN(_mesa_x86_cpuid_edx) |
140 | GLNAME(__mesa_x86_cpuid_edx): |
140 | GLNAME(_mesa_x86_cpuid_edx): |
Line 141... | Line 141... | ||
141 | 141 | ||
Line 159... | Line 159... | ||
159 | * If you're debugging with gdb and you get stopped in this function, |
159 | * If you're debugging with gdb and you get stopped in this function, |
160 | * just type 'continue'! Execution will proceed normally. |
160 | * just type 'continue'! Execution will proceed normally. |
161 | * See freedesktop.org bug #1709 for more info. |
161 | * See freedesktop.org bug #1709 for more info. |
162 | */ |
162 | */ |
163 | ALIGNTEXT4 |
163 | ALIGNTEXT4 |
164 | GLOBL GLNAME( __mesa_test_os_sse_support ) |
164 | GLOBL GLNAME( _mesa_test_os_sse_support ) |
165 | HIDDEN(__mesa_test_os_sse_support) |
165 | HIDDEN(_mesa_test_os_sse_support) |
166 | GLNAME( __mesa_test_os_sse_support ): |
166 | GLNAME( _mesa_test_os_sse_support ): |
Line 167... | Line 167... | ||
167 | 167 | ||
Line 168... | Line 168... | ||
168 | XORPS ( XMM0, XMM0 ) |
168 | XORPS ( XMM0, XMM0 ) |
Line 174... | Line 174... | ||
174 | * correctly supports unmasked SIMD FPU exceptions. Signal handlers for |
174 | * correctly supports unmasked SIMD FPU exceptions. Signal handlers for |
175 | * SIGILL and SIGFPE should have been set before calling this function, |
175 | * SIGILL and SIGFPE should have been set before calling this function, |
176 | * otherwise this could kill the client application. |
176 | * otherwise this could kill the client application. |
177 | */ |
177 | */ |
178 | ALIGNTEXT4 |
178 | ALIGNTEXT4 |
179 | GLOBL GLNAME( __mesa_test_os_sse_exception_support ) |
179 | GLOBL GLNAME( _mesa_test_os_sse_exception_support ) |
180 | HIDDEN(__mesa_test_os_sse_exception_support) |
180 | HIDDEN(_mesa_test_os_sse_exception_support) |
181 | GLNAME( __mesa_test_os_sse_exception_support ): |
181 | GLNAME( _mesa_test_os_sse_exception_support ): |
Line 182... | Line 182... | ||
182 | 182 | ||
183 | PUSH_L ( EBP ) |
183 | PUSH_L ( EBP ) |
184 | MOV_L ( ESP, EBP ) |
184 | MOV_L ( ESP, EBP ) |