From owner-FreeBSD-tech-jp@jp.freebsd.org  Mon Dec  6 16:37:10 1999
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id QAA98795;
	Mon, 6 Dec 1999 16:37:10 +0900 (JST)
	(envelope-from owner-FreeBSD-tech-jp@jp.FreeBSD.org)
Received: from jirass.chino.it.okayama-u.ac.jp (chino-gw.it.okayama-u.ac.jp [150.46.1.3])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id QAA98788
	for <FreeBSD-tech-jp@jp.freebsd.org>; Mon, 6 Dec 1999 16:37:07 +0900 (JST)
	(envelope-from kato@chino.it.okayama-u.ac.jp)
Received: from kanegon.chino.it.okayama-u.ac.jp.chino.it.okayama-u.ac.jp (kanegon [150.46.4.34])
	by jirass.chino.it.okayama-u.ac.jp (8.8.7/3.6W) with ESMTP id QAA19262;
	Mon, 6 Dec 1999 16:36:56 +0900 (JST)
Date: Mon, 06 Dec 1999 16:36:55 +0900
Message-ID: <14411.26519.787731.72159A@kanegon.chino.it.okayama-u.ac.jp>
From: Takekazu KATO <kato@chino.it.okayama-u.ac.jp>
To: FreeBSD-tech-jp@jp.freebsd.org
In-Reply-To: In your message of "Sun, 05 Dec 1999 01:19:01 +0900"
	<14409.16117.215929.9786L@tkc.att.ne.jp>
References: <14403.8580.310491.72159A@kanegon.chino.it.okayama-u.ac.jp>
	<199911300146.KAA18944@afs.ntc.mita.keio.ac.jp>
	<14403.22780.635961.98255P@tkc.att.ne.jp>
	<14403.28875.928937.72159A@tkc.att.ne.jp>
	<14403.46199.390713.29321F@kanegon.chino.it.okayama-u.ac.jp>
	<14409.1074.351813.68187Y@kanegon.chino.it.okayama-u.ac.jp>
	<14409.16117.215929.9786L@tkc.att.ne.jp>
User-Agent: Wanderlust/2.2.2 (You Could Be Mine) SEMI/1.13.6 (Komatsu) FLIM/1.13.2 (Kasanui) Emacs/20.3 (i386-unknown-freebsd2.2.5) MULE/4.0 (HANANOEN)
Organization: Okayama Univ.
MIME-Version: 1.0 (generated by SEMI 1.13.6 - "Komatsu")
Content-Type: text/plain; charset=ISO-2022-JP
Reply-To: FreeBSD-tech-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+990727
X-Sequence: FreeBSD-tech-jp 2645
Subject: [FreeBSD-tech-jp 2645] Re: SSE on FreeBSD
Errors-To: owner-FreeBSD-tech-jp@jp.freebsd.org
Sender: owner-FreeBSD-tech-jp@jp.freebsd.org
X-Originator: kato@chino.it.okayama-u.ac.jp

$B2CF#!w2,;3Bg$G$9!%(B

	+0900$B;~4V$G(B1999$BG/(B12$B7n(B5$BF|(B($BF|(B)$B$N8aA0(B1$B;~(B19$BJ,(B1$BIC$4$m(B
	$B5-;v(B <14409.16117.215929.9786L@tkc.att.ne.jp> $B$K$*$$$F(B
	Motomichi Matsuzaki  $B$5$s$O$*$C$7$c$$$^$7$?!#(B

> $B>>:j$G$9!#(B

> $B87L)$K$O@5$7$/$"$j$^$;$s!#(B
> $B%A%'%C%/$9$k$N$O(B CPUID.FXSR $B$G$"$k$Y$-$G$9!#(B

> $B:#2s$NL\E*$G$O==J,$J$s$G$9$,!"(B
> FXSR $B$O0lHL$K(B PentiumII $B0J9_$N%W%m%;%C%5$G(B
> $B287C$,<u$1$i$l$k5!G=$G$9$+$i!#(B

> # $B8=>u$N%Q%C%A$G$O(B FXSR $B$N287C$O<u$1$i$l$J$$$N$G!"(B
> # $B@5$7$$$H8@$($P@5$7$$$G$9$M!#(B

$B$=$&$G$9$M!%$=$l$O$=$&$J$s$G$7$g$&$1$I(B PentiumII $B$H$+$G$3$N%U%i%0$rN)$F$?>u(B
$BBV$,$I$&$J$k$+$h$/$o$+$i$J$+$C$?$b$N$G!%(B

PentiumII $B$N$H$-$H(B PentiumIII $B$N$H$-$G!$$H$$$&$+(B CPUID.XMM bit $B$,N)$C(B
$B$F$$$k$H$-$HN)$C$F$$$J$$$H$-$G!$(Bfxsave/fxrstor $B$N5sF0$OF1A3JQ$k$o$1$G(B
$B$9$h$M!%(B
# PentiumII $B$G(B SSE $B%l%8%9%?$NB`Hr$J$s$GIT2DG=$G$9$+$i(B


> $B$3$l$O(B kernel $B$N$^$o$j$r8+EO$;$P$o$+$k$H;W$$$^$9$,!"(B
> $B%^%/%m$rDj5A$7$F;H$&$N$,@5$7$$$N$G$O$J$$$+$H;W$$$^$9!#(B

> sys/i386/isa/npx.c $B$K(B

> #define fnsave(addr)            __asm __volatile("fnsave %0" : "=m" (*(addr)))

$B$($($H$3$NItJ,$OB?J,4*0c$$$5$l$F$k$H;W$&$s$G$9$,(B
$B!V(Bcc $B$,%5%]!<%H$7$F$$$J$$!W$s$8$c$J$/$F!V(Bas $B$,%5%]!<%H$7$F$$$J$$!W$o$1$G!$(B

#define fxsave(addr)            __asm __volatile("fxsave %0" : "=m" (*(addr)))

$B$H$+=q$$$F$b!$%3%s%Q%$%k$G$-$J$$$C$F$$$&OC$G$9!%(B

$B$@$+$i$3$NItJ,$@$1%O%s%I%"%;%s%V%k$7$F(B 

#define fxsave(addr)            __asm __volatile("movl %0,%%eax; .byte 0x0f; .byte 0xae; .byte 0x00" : "=m" (*(addr)): : "eax")

$B$C$F46$8$G=q$+$J$$$H$$$1$J$$$N$+$J$!$H!%(B
-- 

Takekazu KATO
Intelligent System Lab.,
Dept. of Information Technology, Fac. of Engineering, Okayama University.
mailto:kato@chino.it.okayama-u.ac.jp
http://www.chino.it.okayama-u.ac.jp/~kato/
