Re: Cyrix bug: freeze in hell, badboy

From: Phillip R. Jaenke (prjat_private)
Date: Fri Feb 05 1999 - 11:57:08 PST

  • Next message: Aaron Lehmann: "Re: Cyrix bug: freeze in hell, badboy"

    -----BEGIN PGP SIGNED MESSAGE-----
    
    On Fri, 5 Feb 1999, John Byrne wrote:
    
    > Ragnar Hojland Espinosa wrote:
    >
    > > I emailed Cyrix a few months ago, and even managed to get a "oh, we will
    > > look at it" thanks to Rafael Reilova, but that was it till today.  A
    > > couple of people did report it, effectively, froze (most of) their Cyrix
    > > CPUs while running the opcodes below as non priviledged user.
    > >
    > > While I don't have the enough knowledge to assure this _is_ a CPU bug, it
    > > certainly looks like one to me (NO_LOCK isn't a workaround, btw).
    > >
    > > 0x804a368 <the_data>:   cwtl
    > > 0x804a36a <the_data+2>: orl    $0xe6ebe020,%eax
    > > 0x804a36f <the_data+7>: jle    0x804a368 <the_data>
    > >
    > > Here is the code (tested with linux, any version):
    > >
    > > /* Please compile without optimizations */
    > > unsigned char the_data[] = { 62, 152, 13, 32, 224, 235, 230, 126, 247 };
    > >
    > > void (*badboy)();
    > > int main (int argc, char **argv)
    > > {
    > >    badboy = (void(*)())(the_data);
    > >    asm ("movl badboy,%eax");
    > >    asm ("call *%eax");
    > >
    > >    return 0;
    > > }
    > >
    > > If you try it, please send me your /proc/{cpuinfo,version} and if it
    > > freezes or not.
    > I have done some research into this situation, and I've found that it's mostly
    > related to the 75Mhz Cyrix Bus.  I recommend that if you are running that
    > speed, you step it down to 66mhz.  The 75 mhz bus was built to allow faster
    > processor speeds with all CPU's, but was never used by Intel or AMD.  Because
    > of this, not much software was tested on 75mhz busses, due to the monopolistic
    > characteristics of Intel and AMD.
    
    This is all too true. Also, Cyrix usually does fix bugs like that in the
    next revision, once notified of them. Also, keep in mind, most Cyrix
    processors have two models. ie; the mII-300 has a 3x75MHz and a 3.5x66MHz
    model. I tested against the 3.5x66MHz model, run at 3x75MHz, and it did
    not freeze. I'm willing to bet that a 3x75MHz model will lock up. This
    might be related to the TSC problem (Cyrix TSCs are slightly different
    from Intel/AMD TSC's) that occured in Linux a while back. Here's the
    vitals on my processor, as incorrectly reported by /proc/cpuinfo.
    
    vendor_id       : CyrixInstead
    cpu family      : 6
    model           : 2
    model name      : M II 3x Core/Bus Clock
                      (This is incorrect. Mine is a 3.5x Core/Bus, run @ 3x)
    stepping        : 8
    fpu             : yes
    fpu_exception   : yes
    cpuid level     : 1
    wp              : yes
    flags           : fpu de tsc msr cx8 pge cmov mmx
    
    It would be interesting to know if this problem also occurs in Windows,
    *BSD, etc. It might possibly be a Linux-specific problem, due to the
    modifications that have been made to the kernel specifically for Cyrix
    processors.
    
          - Phillip R. Jaenke (prjat_private | InterNIC: PRJ5) -
     "something is not right, but i don't think it's wrong." --anon
         *-- PGP signed emails welcomed and preferred here. --*
    
    -----BEGIN PGP SIGNATURE-----
    Version: 2.6.3a
    Charset: noconv
    
    iQCVAwUBNrtNGcES8LwwGtVlAQFKdwP9EpBYuY1qoYvxuCVtqZnkLBAv9VsoywY/
    bzw5tQKeL2NQGSyFFwUoPYqntvRsBc6DCEVUgJ1wPJq6Jggldd1uczlBIw3XJZeq
    ZOU4VOTpcPWXg3TRAvIRSZ3grmQzGsnGhUlPfW35BLREQJbB7OHDs9IWP8Jpg4k2
    KuiEwKwfQos=
    =f+j4
    -----END PGP SIGNATURE-----
    



    This archive was generated by hypermail 2b30 : Fri Apr 13 2001 - 14:32:56 PDT