Re: Cyrix 6x86MX and Centaur C6 CPUs in 2.1.102

Phil's Kernel Account (
Tue, 19 May 1998 01:00:55 -0400 (EDT)

On 18 May 1998, Linus Torvalds wrote:

#>if ((boot_cpu_data.x86_capability & 16) && (boot_cpu_data.x86_vendor !=
#>X86_VENDOR_CYRIX) && (boot_cpu_data.x86_vendor == X86_VENDOR_CENTAUR
#>(boot_cpu_data.x86_stepping == 0))) {
#This is not the way to do it.
#The line should read just
# if (boot_cpu_data.x86_capability & 16) {
# ...
#and that's it. Look at how 2.1.102 handles this: the cyrix-specific
#setup code will zero out the TSC bit from the capability mask, because
#Cyrix in essense does not _have_ a TSC that is correct.

Well, I am looking at things here on 2.1.98, so I will DEFINITELY give
you the different handling. I'll have to grab 2.1.102 sometime
tonight. However, it's STILL wrong, IMO.

if ((boot_cpu_data.x86_capability & 16) && (boot_cpu_data.x86_vendor ==
X86_VENDOR_CYRIX (boot_cpu_data.x86_model != [5x86Model])) &&
(boot_cpu_data.x86_vendor == X86_VENDOR_CENTAUR
(boot_cpu_data.x86_stepping == 0))) {

Please don't mind the bracketed note there ([5x86Model];), I don't recall
the flag for the Cx5x86's, which IIRC, do NOT do POH[1]. I honestly
wouldn't take my word for it, though, as I'm not POSITIVE on this. ;)

#Zeroing out the bit automatically means that everything in the kernel
#that would try to use the TSC notices that it doesn't exist, and the
#problem is solved. And the only cyrix-specific code is exactly where it
#should be, ie in the cpuinfo setup code.

Which, as has been pointed out (and thanked for pointing out something so
obvious that I missed;), is NOT The Right Thing(tm). It almost DEFINITELY
will result in performance loss. All personal feelings for ALL x86 CPU
vendors aside, that's just NOT right. Now, nothing personal here, but only
a jerk would simply tell a manufacturer and all their customers 'oh, I
don't feel like making a workaround or fix, so I'm going to tell you to
screw off'. I'm not saying that you're a jerk, or this jerk, but that's
the only kind of person I can think of that would do that.

I'd hate to see Linux WILLINGLY pull what Microsoft pulled with NT. Which
is basically coding it to run on one vendor's processors, and telling
everyone using others to screw off. Now, I'll happily attest to the fact
that Linux is most certainly not fair performance-wise on all
architectures, but that's being worked on. Microsoft just said 'okay, it
compiles, it runs half-assed, ship it.' We're all working to develop an OS
that comes complete with it's own World Domination Scheme that anyone can
help with. We're not some huge corporation saying, "this is OUR World
Domination Scheme(R), and YOU can't help, and YOU can't stop it."[2]

So, basically, let's all agree on one thing right here and now.
This is Linux. It's a free operating system for x86 (I will NOT say 'for
Intel, damnit:), MIPS, Alpha, sun4m, sun4u, PPC, and a whole bunch of
other processors. And it's object is to be the best OS that it can be.
Anyone on earth is welcome to submit their ideas and patches (although we
all know who gives final yes/no;), and if you don't like it, you can
always patch your kernel. Any vendor is welcome to offer assistance. And
everyone should get the best performance out of Linux that all us kernel
hackers can offer them.

I don't think that's unreasonable. Every Linux user out there deserves the
best that we can give them, whether they're using Intel, Cyrix, Alpha,
SPARC, or PPC. In a situation like this, where fixes and workaround have
been presented, I personally think it'd be unethical to tell a group of
users "sorry, don't wanna do it, tough luck." Anyways, I'm going to stop
ranting before we have rioting in the streets over my big mouth, and fill
in the footnotes. Just my $0.02, YMMV, Offer Not Valid In Richardson, TX,
USA[3]. ;)

[1] Power Off on Halt
[2] Then again, for those of you who don't read the news or slashdot
(, the DOJ and 20 states sure as hell are trying.
M$ went and pissed 'em off enough, talks broke down, and the anti-trust
lawsuits have all been filed. I wish they could arrest Gates, just so we
could all see him in handcuffs. };)
[3] If you don't get it, DON'T WORRY. I don't know too many people who
know what's in Richardson, TX. (Well, besides the obvious 'dumb

-Phil R. Jaenke ( /
TheGuyInCharge(tm), Ketyra Designs - We get paid to break stuff :)
Linux pkrea.ketyra.INT 2.0.33 #15 Sat Apr 18 00:40:21 EDT 1998 i586
Linux 2.1.98 #15 Fri May 1 18:21:00 EDT 1998 i586
- Linus says for 'brave people only.' I say 'keep a backup.' - :)

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to