http://d.puremagic.com/issues/show_bug.cgi?id=3798
--- Comment #1 from David Simcha <[email protected]> 2010-02-12 12:24:55 PST --- ASsa temporary workaround, I'm using: if (0) { //max_cpuid >=0x0B) { // For Intel i7 and later, use function 0x0B to determine // cores and hyperthreads. getCpuInfo0B(); } else { if (hyperThreadingBit) maxThreads = (apic>>>16) & 0xFF; else maxThreads = maxCores; } The problem appears to be that the termination condition for the following loop never becomes true: do { asm { mov EAX, 0x0B; mov ECX, level; cpuid; mov a, EAX; mov b, EAX; mov c, ECX; mov d, EDX; } if (b!=0) { // I'm not sure about this. The docs state that there // are 2 hyperthreads per core if HT is factory enabled. if (level==0) maxThreads = b & 0xFFFF; else if (level==1) maxCores = b & 0xFFFF; } } while (a!=0 || b!=0); -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
