Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 15 Nov 1997 15:19:01 +0900
From:      KATO Takenori <kato@migmatite.eps.nagoya-u.ac.jp>
To:        bugs@freebsd.org
Cc:        jlemon@americantv.com
Subject:   Re: Foof! bug fix? 
Message-ID:  <199711150619.PAA28015@gneiss.eps.nagoya-u.ac.jp>
In-Reply-To: Your message of "Fri, 14 Nov 1997 21:35:51 -0800"
References:  <199711150535.VAA15414@implode.root.com>

next in thread | previous in thread | raw e-mail | index | archive | help
> + #ifdef CMPXCHG8_BUG
> + 	setidt(6, &IDTVEC(ill),  SDT_SYS386TGT, SEL_KPL, GSEL(GBUG_SEL, SEL_KPL));
> + #else
>   	setidt(6, &IDTVEC(ill),  SDT_SYS386TGT, SEL_KPL, GSEL(GCODE_SEL, SEL_KPL));
> + #endif

This can be done automatically.  If GBUG_SEL is always set, adding
following code in initializecpu() will work:

---------------------
/*
 * Check stepping when Intel provides new Pentiu CPU without the
 * CMPXCHG8 bug.
 */
if (strcmp(cpu_vendor, "GenuineIntel") && cpu == CPU_586)
  setidt(6, &IDTVEC(ill),  SDT_SYS386TGT, SEL_KPL, GSEL(GBUG_SEL, SEL_KPL));
---------------------

The CMPXCHG8 bug should not appear between finishidentcpu() and
initializecpu().

----
KATO Takenori <kato@ganko.eps.nagoya-u.ac.jp>
Dept. Earth Planet. Sci., Nagoya Univ.,  Nagoya, 464-01, Japan
PGP public key: finger kato@eclogite.eps.nagoya-u.ac.jp
------------------- Powered by FreeBSD(98) -------------------



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199711150619.PAA28015>