Commit 5691a23a authored by Michael Beck's avatar Michael Beck
Browse files

Improved AMD detection.

[r28181]
parent e25f1843
...@@ -619,14 +619,50 @@ static cpu_support auto_detect_AMD(x86_cpu_info_t const *info) { ...@@ -619,14 +619,50 @@ static cpu_support auto_detect_AMD(x86_cpu_info_t const *info) {
auto_arch = arch_i486; auto_arch = arch_i486;
break; break;
case 0x05: case 0x05:
case 0x06: // actually, 6 means K7 family switch (model) {
auto_arch = arch_k6; case 0x00: /* K5 Model 0 */
case 0x01: /* K5 Model 1 */
case 0x02: /* K5 Model 2 */
case 0x03: /* K5 Model 3 */
auto_arch = arch_pentium;
break;
case 0x06: /* K6 Model 6 */
case 0x07: /* K6 Model 7 */
case 0x08: /* K6-2 Model 8 */
case 0x09: /* K6-III Model 9 */
case 0x0D: /* K6-2+ or K6-III+ */
auto_arch = arch_k6;
break;
case 0x0A:
auto_arch = arch_geode;
break;
default:
/* unknown */
break;
}
break;
case 0x06:
switch (model) {
case 0x01: /* Athlon Model 1 */
case 0x02: /* Athlon Model 2 */
case 0x03: /* Duron Model 3 */
case 0x04: /* Athlon Model 4 */
case 0x06: /* Athlon MP/Mobile Athlon Model 6 */
case 0x07: /* Mobile Duron Model 7 */
case 0x08: /* Athlon (TH/AP core) */
case 0x0A: /* Athlon (BT core) */
auto_arch = arch_athlon;
break;
default:
/* unknown K7 */
auto_arch = arch_athlon;
break;
}
break; break;
case 0x0F: case 0x0F:
auto_arch = arch_k8; auto_arch = arch_k8;
break; break;
case 0x1F: case 0x1F:
case 0x2F:
auto_arch = arch_k10; auto_arch = arch_k10;
break; break;
default: default:
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment