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

 [only on x86 platforms with AMD's CPUs]

		FVCool version 1.04

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

[1. What is this software?]

  As is well known AMD's Athlon/Duron is a "hot" CPU.  It really produces
a lot of heat.  This is mainly because it consumes a lot of electric
power.  However, there is an another reason: Generally CPU goes into
power-save mode when it is in the idle state, but in almost all the
mother boards this is prohibited in the case of Athlon/Duron mother
boards in their original BIOS settings.  This software changes the PCI
configuration data of the chipset (north bridge), and allow Athlon/Duron
to go into power-save mode.  The principle is very simple if you have
information.  Actually, you can do exactly the same thing as this software
manually by using the "pciconf" command in FreeBSD.

  Why mother board vendors release their products with such BIOS settings?
Well, there is a reason: There is a possibility to get the system unstable
and/or even to hang or crash the system.  Therefore, this software is
somewhat dangerous in this respect, and I will not take any
responsibilities for problems caused by using this software.  Please
check the original Martin Peters's VCool web site for learning more of
technical details:

     http://vcool.occludo.net/

Or information for other chipsets rather than KT133, see the Hidemi Oya's
CoolON web site:

     http://homepage2.nifty.com/coolon/ (Japanese only)

Actually, the information is contained the INI file (coolons.ini) of
the CoolON software for Microsoft Windows, it is used in this software.

  The information is summarized in the top part of the code, "fvcool.c"


[2. Supported chipsets]

  Supported chipsets now are the same as that of the CoolON above:

    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 [see Usage below]

    NVidia nForce, nForce2

 ((Note)) Generally software cooling seems problematic for Sis chipsets.
 In Sis735 mother board (ECS K7S5A), I have experienced that the access
 of hard disk drive sometimes gets extremely slow.  I do not know why.
 Maybe something missing.  So I do not recommend to use it on Sis 735
 mother boards.  It was reported by an user that tempareture did not
 change (i.e. not worked) on a Sis 730 mother board, though there was
 no harm.


[3. Usage]

  First, as is usual, after extracting the package and by
  
  # ./configure; make; make install

you configure, compile, and install "fvcool" command in /usr/local/sbin 
(if you want to install in the different directory, edit Makefile, please).
As for its usage, just execute it without any arguments:

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

  The usage of this program is very simple: After getting root privilege,
just execute it with "-e" option like this,

  # fvcool -e

if it does not complain like,

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

then try to check the CPU temperature.  It will go down quickly by 10
to 20 degrees Celsius depending on mother boards.  If not or it complains
the message above, sorry this software does not work.  Just forget it.

 ((Note)) In the present state of FreeBSD OS, the "hlt" command is not
 ordered when idling in the dual CPU (SMP) machine, so it is not
 effective on dual CPU (SMP) machines.
 
  If you want to know what it does, add an option -v(verbose),

  # fvcool -v

Then there will be an output like this:

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

  If this makes the system unstable or something wrong happens, then
you can make it back to the original status, where power-save mode is
prohibited, supply an option -d (disable),

  # fvcool -v -d

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

  If you have KT133/KX133 mother boards (i.e. north bridge is KT133/KX133),
it may not be enough (Depending on OS, this would be enough; at least,
on Linux after kernel 2.6, it is enough).  If this is not enough, first try,

  # fvcool -v -i

then it goes into idle-loop and will not go back to the command line.
Checking the CPU temperature and find it going down, then you have to use
one window (or one process) in this way.  To stop the program, press
CTRL-C (^C).  Or if you keep CPU cooling without using this program's
idle-loop, then you have to change the kernel code, see 00READMEkt133.txt
for details.


[3. Acknowledgments and Disclaimer]

* This simple software is based on the code of the Linux version of
 the original VCool, LVCool, as already mentioned.  I thank Martin Peters
 very much for opening the information of the principle of Athlon/Duron
 cooling, and the actual software which can be used in the Linux platform.

* Information for let Athlon/Duron go into power-save mode in the case
 of other chipsets is obtained by the Hidemi Oya's CoolON, which is
 for the Microsoft Windows Platform.

* A patch for a new KT400 chipset is contributed by Tetsuhiro Naitoh.
 I appreciate it so much.

* A patch for compiling on OpenBSD is provided by Markus Hennecke.

* Information of Hidemi Oya's CoolON project and it's mailing list
 is a great source of new chipsets.  Many thanks for it.

* John Wehle <john@feith.com> provided platform independent IO port
  read/write codes (inline x86 assembler), which make the code more
  portable for other platforms.  Thanks for the nice contributions.


  The programs are under the modified BSD license (see the CopyRight
file), and they are freely copied and distributed for non-commercial use.
Any modifications and changes to the programs, which do not conflict
the license, are welcome.  The author is not at all responsible
if anyone have any problems or damages when using the programs.
The author may not keep the development of the programs any further.
But if someone develops any new better programs based on my own,
I am very glad if feedback is made to me (of course, it is not at all
any duties!).

   August 20, 2004     Yoshifumi R. Shimizu,
                         Department of Fundamental Physics,
                         Kyushu University

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