Messages in this thread |  | | | Date | Mon, 25 May 1998 22:29:48 -0500 (EST) | | From | "Rafael R. Reilova" <> | | Subject | Re: New Cyrix patch for 2.0.33 (correction) |
| |
Hi,
Regarding the CPU detection algorithm, I made a slight mistake when transcribing the algorithm part (It goes into an infinite loop). Corrections below (and sorry for the extra post).
> #OK, I basically followed the algorithm that you outlined in another > #email: > # > #if has cpuid > # do cpuid > #else > # if cyrix 6x86(L) > # turn on cpuid/slop > # else > # do the 486/386 probe > #endif > > Which is wrong. At least now, thanks to Intel's "ingenuity." *snort* > Apparently, the BX chipset was DESIGNED to behave like that, to inform the > computers that it's a "Genuine Intel" chipset. As if I gave a flying fsck; > the box I type this on is a VIA VXpro+, and my real workstation is > KR-859CF based. I don't want Intel. Anyways, back on topic. :)
The correct algorithm, which is implemented in the posted patch is:
1. if has cpuid do cpuid else probe 486/386 if !386 && flags are preserved across divison if 6x86L then ("dangerous" 0x22,0x23 port stuff) enable cpuid (more 0x22,0x23) goto 1 end if end if end if 2. if vendor == Cyrix do cyrix DEVID detection stuff (more of 0x22,0x23) end if
This should be fine now, hopefully this will make it to the 2.1.X at some point. Even though I say "dangerous", it isn't anymore.
Cheers,
-- Rafael
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu
|  |