# HG changeset patch # User pontscho # Date 1003498139 0 # Node ID 0c5fea3a0b91283f61b914c9c8b4c854dddddf93 # Parent f6d14b1cd73e50392d240a385be05d15fc260e75 amd...? diff -r f6d14b1cd73e -r 0c5fea3a0b91 cpudetect.c --- a/cpudetect.c Fri Oct 19 13:18:04 2001 +0000 +++ b/cpudetect.c Fri Oct 19 13:28:59 2001 +0000 @@ -134,6 +134,26 @@ if (regs[1] == 0x68747541 && // AuthenticAMD regs[3] == 0x69746e65 && regs[2] == 0x444d4163) { + do_cpuid(0x00000001, regs2); + printf("CPU family: %d\n",(regs2[0] >> 8)&0xf); + switch ((regs2[0] >> 8)&0xf) { + case 3: + caps->cpuType=CPUTYPE_I386; + break; + case 4: + caps->cpuType=CPUTYPE_I486; + break; + case 5: + caps->cpuType=CPUTYPE_I586; + break; + case 6: + caps->cpuType=CPUTYPE_I686; + break; + default: + caps->cpuType=CPUTYPE_I386; + printf("Unknown cpu type, default to i386\n"); + break; + } do_cpuid(0x80000000, regs); printf("AMD cpuid-level: 0x%X\n",regs[0]); if (regs[0]>=0x80000001) {