# HG changeset patch # User arpi # Date 1003496966 0 # Node ID faf96aeb93ef73da9a9a10a2667cd08dafee0b82 # Parent b318387bfeda5cfb110926146e2222ba5e4d16b5 fixed? diff -r b318387bfeda -r faf96aeb93ef cpudetect.c --- a/cpudetect.c Fri Oct 19 13:01:31 2001 +0000 +++ b/cpudetect.c Fri Oct 19 13:09:26 2001 +0000 @@ -90,8 +90,8 @@ /*if (!has_cpuid()) return;*/ do_cpuid(0x00000000, regs); - printf("CPU vendor name: %.4s%.4s%.4s\n",®s[1],®s[3],®s[2]); -// if (regs[0]>0x00000001) + printf("CPU vendor name: %.4s%.4s%.4s cpuid level: %d\n",®s[1],®s[3],®s[2],regs[0]); + if (regs[0]>0x00000001) { do_cpuid(0x00000001, regs2); printf("CPU family: %d\n",(regs2[0] >> 8)&0xf); @@ -109,6 +109,7 @@ caps->cpuType=CPUTYPE_I686; break; default: + caps->cpuType=CPUTYPE_I386; printf("Unknown cpu type, default to i386\n"); break; } @@ -136,7 +137,8 @@ do_cpuid(0x80000000, regs); if (regs[0]>=0x80000001) { do_cpuid(0x80000001, regs2); - caps->hasMMX2 = (regs[3] & (1 << 22 )) >> 22; // 0x400000 + caps->hasMMX = (regs2[3] & (1 << 23 )) >> 23; // 0x0800000 + caps->hasMMX2 = (regs2[3] & (1 << 22 )) >> 22; // 0x400000 caps->has3DNow = (regs2[3] & (1 << 31 )) >> 31; //0x80000000 caps->has3DNowExt = (regs2[3] & (1 << 30 )) >> 30; } diff -r b318387bfeda -r faf96aeb93ef cpudetect.h --- a/cpudetect.h Fri Oct 19 13:01:31 2001 +0000 +++ b/cpudetect.h Fri Oct 19 13:09:26 2001 +0000 @@ -1,9 +1,9 @@ #ifdef ARCH_X86 -#define CPUTYPE_I386 0 -#define CPUTYPE_I486 1 -#define CPUTYPE_I586 2 -#define CPUTYPE_I686 3 +#define CPUTYPE_I386 3 +#define CPUTYPE_I486 4 +#define CPUTYPE_I586 5 +#define CPUTYPE_I686 6 typedef struct cpucaps_s { int cpuType;