Mercurial > mplayer.hg
comparison cpudetect.c @ 2284:0c5fea3a0b91
amd...?
author | pontscho |
---|---|
date | Fri, 19 Oct 2001 13:28:59 +0000 |
parents | baea37ed31f9 |
children | dac462a0ac8c |
comparison
equal
deleted
inserted
replaced
2283:f6d14b1cd73e | 2284:0c5fea3a0b91 |
---|---|
132 caps->hasMMX2 = caps->hasSSE; | 132 caps->hasMMX2 = caps->hasSSE; |
133 } | 133 } |
134 if (regs[1] == 0x68747541 && // AuthenticAMD | 134 if (regs[1] == 0x68747541 && // AuthenticAMD |
135 regs[3] == 0x69746e65 && | 135 regs[3] == 0x69746e65 && |
136 regs[2] == 0x444d4163) { | 136 regs[2] == 0x444d4163) { |
137 do_cpuid(0x00000001, regs2); | |
138 printf("CPU family: %d\n",(regs2[0] >> 8)&0xf); | |
139 switch ((regs2[0] >> 8)&0xf) { | |
140 case 3: | |
141 caps->cpuType=CPUTYPE_I386; | |
142 break; | |
143 case 4: | |
144 caps->cpuType=CPUTYPE_I486; | |
145 break; | |
146 case 5: | |
147 caps->cpuType=CPUTYPE_I586; | |
148 break; | |
149 case 6: | |
150 caps->cpuType=CPUTYPE_I686; | |
151 break; | |
152 default: | |
153 caps->cpuType=CPUTYPE_I386; | |
154 printf("Unknown cpu type, default to i386\n"); | |
155 break; | |
156 } | |
137 do_cpuid(0x80000000, regs); | 157 do_cpuid(0x80000000, regs); |
138 printf("AMD cpuid-level: 0x%X\n",regs[0]); | 158 printf("AMD cpuid-level: 0x%X\n",regs[0]); |
139 if (regs[0]>=0x80000001) { | 159 if (regs[0]>=0x80000001) { |
140 do_cpuid(0x80000001, regs2); | 160 do_cpuid(0x80000001, regs2); |
141 caps->hasMMX = (regs2[3] & (1 << 23 )) >> 23; // 0x0800000 | 161 caps->hasMMX = (regs2[3] & (1 << 23 )) >> 23; // 0x0800000 |