From owner-freebsd-bugs Fri Nov 14 22:19:18 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id WAA03036 for bugs-outgoing; Fri, 14 Nov 1997 22:19:18 -0800 (PST) (envelope-from owner-freebsd-bugs) Received: from gneiss.eps.nagoya-u.ac.jp (gneiss.eps.nagoya-u.ac.jp [133.6.57.99]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id WAA03031 for ; Fri, 14 Nov 1997 22:19:13 -0800 (PST) (envelope-from kato@eclogite.eps.nagoya-u.ac.jp) Received: from marble.eps.nagoya-u.ac.jp (localhost [127.0.0.1]) by gneiss.eps.nagoya-u.ac.jp (8.8.8/3.6Wbeta7) with ESMTP id PAA28015; Sat, 15 Nov 1997 15:19:01 +0900 (JST) Message-Id: <199711150619.PAA28015@gneiss.eps.nagoya-u.ac.jp> To: bugs@freebsd.org Cc: jlemon@americantv.com Subject: Re: Foof! bug fix? From: KATO Takenori In-Reply-To: Your message of "Fri, 14 Nov 1997 21:35:51 -0800" References: <199711150535.VAA15414@implode.root.com> X-Mailer: Mew version 1.70 on Emacs 19.28.1 / Mule 2.3 X-PGP-Fingerprint: 03 72 85 36 62 46 23 03 52 B1 10 22 44 10 0D 9E Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Date: Sat, 15 Nov 1997 15:19:01 +0900 Sender: owner-freebsd-bugs@freebsd.org X-Loop: FreeBSD.org Precedence: bulk > + #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 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) -------------------