----------------------------------------------------------------------
This is a VCool for FreeBSD
(and for NetBSD/OpenBSD, Linux, and Solaris on x86).

 [only on x86 platform with AMD's CPUs]

		FVCool version 1.04

     CPU cooling software for AMD's Athlon/Duron
----------------------------------------------------------------------

[1. これはどんなソフトか]

　良く知られているように AMDの Athlon/Duron は熱い CPUで、大量の熱を発し
ます。これはこの CPU が大量の電力を消費するからですが、もう一つ理由が
あります。一般に、CPU はアイドル状態の時にはパワーセーブ状態に移行して
節電するのですが、ほとんどすべての Athlon/Duron 用マザーボードでは元々
の BIOS の設定でこの機能が殺されているのです。このソフトはチップセット
(north bridge) のPCIコンフィグレーションデータを変更することによって、
Athlon/Duron でもパワーセーブ状態に移行させるものです。このこと自身は
適切な情報さえあれば極めて簡単なことです。実際、このソフトで行なって
いることは FreeBSD の pciconf コマンドを用いればすべて行なうことが
できます。

　では、何故マザーボードメーカーはデフォルトの BIOS 設定でこの機能を
殺しているのでしょうか。もちろん、それには理由があります。この機能を有効
にすると場合によってはシステムが不安定になったり、最悪の場合はシステムを
壊してしまうことさえ起こり得ます。従って、このソフトの行なうことは危険
なことを含んでおり、私としてはこのソフトを使用することで起こった如何なる
事態にも責任を取れません。何故、どのような危険があるかについての詳しい
ことは Martin Peters氏の VCool web ページを参照してください:

     http://vcool.occludo.net/

ここには、より詳しい技術情報も載っています。この web ページでは専ら
KT133/KX133 チップセットのことが書かれていますが、別のチップセットに
ついては、Hidemi Oya さんの CoolON web ページに情報があります:

     http://homepage2.nifty.com/coolon/ (日本語のみ)

実際には、この CoolON という Microsoft Windows 用ソフトの INI file
(coolons.ini) に貴重な情報が含まれており、それを元にこのソフトは作られて
います。

　その情報はこのソフトのソースコード fvcool.c の最初にまとめられています。

　
[2. サポートされているチップセット]

　現在のところサポートされているチップセットは、

    AMD 751/761/762

    Sis 730, 733, 735, 740, 741, 745, 746, 748 [*Note]

    VIA KT266/KT266A/KT333/KT400/KT600/KT880

    VIA KT133/KT133A/KX133/KM133 [以下の 使い方 参照]

    NVidia nForce, nForce2

 ((注意)) Sis735 を使っているマザーボード(ECS K7S5A) では、場合によって
 ハードディスクにアクセスするのが極端に遅くなることを経験しています。
 これは何故だかわかりません。何かの情報が欠けているのかもしれません。
 従って、Sis735 を使ったマザーボードでは使わないことを推奨します。
 なお、Sis730 チップセットについては一人のユーザーから、別に悪い影響は
 ないが、温度の変化はなかった(つまり約に立たなかった)という報告があります。


[3. 使い方]

　まず、通常のようにパッケージを解凍して、

  # ./configure; make; make install

とすると、configure し、 make コマンドを使ってコンパイルし、fvcool
コマンドを /usr/local/sbin にインストールすることができます(もし、
別のディレクトリにインストールしたい時は Makefile を編集してください)。
引数なしに起動するとこのソフトの使い方が出ます。

  # fvcool
  # Usage: [-v (verbose)] [ -e (enable) [ -i (idle loop)]] [ -d (disable)]

　使い方は簡単です。root になって、この fvcool コマンドを -e オプション付
で起動するだけです:

  # fvcool -e

もし、次のようなメッセージが出なければ、

  # Supported Athlon/Duron chipset (north bridge) not found.
  # : Unknown error: 0

CPU の温度をモニタしてみてください。段々下がって行き、マザーボードにも
依りますが 10度から 20度下がって落ち着くはずです。もし、温度が下がらないか、
上のメッセージが出た時は貴方のマザーボードでは残念ながら使えません。この
ソフトのことは忘れてください。 

 ((注意)) 現在の FreeBSD の仕様では、dual CPU (SMP)マシンの場合はアイドル
 時に hlt 命令が発行されませんので、このソフトは効果がありません。

　もし、何をしているのかを見たいときは、-v (verbose)オプションを付けて
ください:

  # fvcool -v

例えば、次のようなメッセージが出るはずです。

  # VIA KT266/A/KT333 found.
  #  Change Reg0x92 0x69 --> 0xE9
  #  Change Reg0x95 0x1C --> 0x1E

　もし、システムが不安定になったり、不具合が生じたりした時は、パワーセーブ
状態への移行を禁止した元の状態に戻すために、-d (disable)オプションを付けて
起動してください:

  # fvcool -v -d

  # VIA KT266/A/KT333 found.
  #  Change Reg0x92 0xE9 --> 0x69
  #  Change Reg0x95 0x1E --> 0x1C

　もし、貴方のマザーボードが KT133/KX133 を用いている場合は(つまり、north
bridge が KT133/KX133/KM133 の場合)、これだけでは不十分な場合があります
(OS によっては、これだけで冷えます。例えば、少なくとも Linux 2.6 以降)。
もし、これだけで冷えない場合、まずは、

  # fvcool -v -i

として起動してみてください。この場合、このソフトはコマンドラインに戻って
来ずに、無限のアイドルループに入ります。止めるには CTRL-C (^C) を押します。
この間に、別のウインドウを立ち上げて(または、別のプロセスで)温度をチェック
してみてください。もし、それで温度が下がって行くようであれば、このように
常に一つのウインドウをこのソフトのために使うか、または、kernel のソース
コードを修正してこのソフトの無限のアイドルループでやっていることを OSレベル
でやることもできます。これについては詳しくは 00READMEkt133.txt (ただし、
英語のみ)を見てください。


[3. 謝辞]

・この簡単なソフトは Linux 版の VCool である LVCool を元に作りました。
  このような有用な情報やプログラムを web ページで公開している
  Martin Peters 氏に感謝します。

・また、KT133 以外のチップセットについては、Hidemi Oya さんの Microsoft
  Windows 上で全く同様のことを行なうソフト CoolON のページの情報が大変
  参考になりました。どうもありがとうございます。

・新しい KT400 チップセットを使えるようにするパッチは内藤哲宏さんに
  いただきました。大変感謝いたします。

・OpenBSD でコンパイルするためのパッチは Markus Hennecke さんに
  いただきました。

・Hidemi Oya さんの CoolON project とそのメーリングリストの新しい情報
  を取り入れさせていただきました。いつもどうもありがとうございます。

・John Wehle <john@feith.com>さんにはプラットフォーム独立の IO portの
  読み書きのコード(x86 インラインアセンブラ)を寄贈していただきました。
  これにより別のプラットフォームへの移植が簡単になるりました。どうも
  ありがとうございます。


　このプログラムは修正BSDライセンスに従い、また、非営利目的の使用に
限りコピー・配布も自由です。このライセンスに矛盾しない限り、どのように
改変・変更してもかまいません。ただし、このプログラムを使ったために何か
不都合なことが起きても作者は一切の責任を負いません。このプログラムの
開発をより一層発展させるさせるかどうかはわかりません。ただ、もしこの
プログラムを元によりよいものができた時には作者にフィードバックして
いただければ嬉しいです(もちろん全然義務ではありません)。

   2004年8月20日　九州大学大学院理学研究院物理学部門  清水良文

   e-mail:yrsh2scp@mbox.nc.kyushu-u.ac.jp
   http://www.nt.phys.kyushu-u.ac.jp/shimizu/index.html
