From owner-FreeBSD-tech-jp@jp.freebsd.org  Thu Jun 21 06:09:33 2001
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id GAA50551;
	Thu, 21 Jun 2001 06:09:33 +0900 (JST)
	(envelope-from owner-FreeBSD-tech-jp@jp.FreeBSD.org)
Received: from pelsia.netmove.co.jp (pelsia.netmove.co.jp [202.241.207.159])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id GAA50546
	for <FreeBSD-tech-jp@jp.freebsd.org>; Thu, 21 Jun 2001 06:09:33 +0900 (JST)
	(envelope-from nork@pelsia.netmove.co.jp)
Received: (from nork@localhost)
	by pelsia.netmove.co.jp (8.11.3/8.11.3) id f5KL8um56908;
	Thu, 21 Jun 2001 06:08:56 +0900 (JST)
	(envelope-from nork)
From: nork@cityfujisawa.ne.jp (Norikatsu Shigemura)
To: FreeBSD-tech-jp@jp.freebsd.org
X-Mailer: mnews [version 1.22PL5] 2001-02/07(Wed)
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-2022-JP
Date: Thu, 21 Jun 2001 06:08:56 +0900
Message-ID: <010621060856.M0156473@pelsia.netmove.co.jp>
Reply-To: FreeBSD-tech-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+010328
X-Sequence: FreeBSD-tech-jp 3121
Subject: [FreeBSD-tech-jp 3121] LM79 with SMBUS(ICH1)
Errors-To: owner-FreeBSD-tech-jp@jp.freebsd.org
Sender: owner-FreeBSD-tech-jp@jp.freebsd.org
X-Originator: nork@cityfujisawa.ne.jp

$B=EB<K!9n$G$9!#(B

	SUPERMICRO PIIIDM3(i840) $B$KEk:\$5$l$F$$$k(B PC HEALTH $B%A%C%W(B(?) LM79
	$B$K$D$$$FD4::$7$^$7$?!#$H$$$&$+(B FreeBSD PRESS(5) $B$N(B ACPI $B$N5-;v$K(B
	$B?(H/$5$l$?$H$$$&$+!D(B(^^;$B!#(B

	$BEOJUB:5*;a$N%Z!<%8(B(http://www.planet.sci.kobe-u.ac.jp/~takawata/smbus/)
	$B$K$"$k%5%s%W%k%W%m%0%i%`(B(lm.c)$B$H(B healthd (ports/sysutils/healthd)
	$B$r;29M$K$5$;$FD:$-$^$7$?!#$^$?%J%7%g%J%k%;%_%3%s%@%/%?!<<R$N%Z(B
	$B!<%8(B(http://www.national.com/)$B$G(B LM79 $B$r%-!<%o!<%I$KC5$7$F$_$?(B
	$B$i%G!<%?%7!<%H$,<j$KF~$j$^$7$?!#$3$N%G!<%?%7!<%H$O$A$g$C$H8+$?(B
	$B$@$1$G$^$@M}2r$7$F$$$^$;$s(B:-)$B!#(B

	$B$5$F(B, $B%5%s%W%k%W%m%0%i%`$H(B healthd $B$N%=!<%9$rFI$s$G(B, smbcmd.cmd
	$B$H(B smbcmd.slave (in /usr/include/machine/smb.h)$B$G%"%I%l%96u4V(B
	(slave $B$,>e0L$G(B cmd $B$,2<0L(B)$B$J$s$@$J!A$H;W$$$^$7$F2<5-$N$h$&$J%W(B
	$B%m%0%i%`$GA4$F$J$a$F$_$^$7$?(B($B$J$s$@$+%j%;%C%H$9$k2DG=@-$,$"$C$?(B
	$B$h$&$G$9$,9,$$LdBj$J$7(B:-)$B!#(B

	healthd $B$O(B 0x5aXX $B$^$?$O(B 0x2dXX $B$N%G!<%?$r8+$F$$$^$9!#$^$?%5%s(B
	$B%W%k(B(lm.c)$B$O(B 0x5aXX $B$N$_$G$7$?(B(0x2d $B$KJQ99$7$F$_$?$j$7$?$1$I(B)$B!#(B
	$B2<5-%W%m%0%i%`$N=PNO7k2L$r8+$F;W$C$?$N$O(B 0x2eXX $B$K$b7k9=%G!<%?(B
	$B$,$"$k$H$$$&E@$G$9!#%5%s%W%k(B(lm.c)$B$G(B 0x2e $B$r;XDj$7$?$i%U%!%s2s(B
	$BE>?tEy$,F@$i$l$^$7$?!#29EY$NJ}$O<c43Dc$a$J$N$G%^%6!<%\!<%I$N29(B
	$BEY$+$J!#(B

	$B%G!<%?%7!<%H$r<h$j4s$;$h$&$H;W$C$F8+$F$_$k$H(B, LM79 $B$=$l<+BN$O(B
	obsolate $B$H$"$k$N$G(B, $BB?J,GI@8%P!<%8%g%s(B(LM79XX $B$H$+(B LM79LXXAC)
	$B$H$N0c$$$@$H;W$C$F$$$^$9!#(B

	$B:G8e$K!#%A%C%WL>$r3NG'$7$J$$$H!D!#$=$l$G%G!<%?%7!<%H$H$NHf3S$H(B
	$B$$$C$?$H$3$m$G$7$g$&$+!#7kO@$KC#$7$F$$$^$;$s$,(B, $B;29M$K$J$l$P9,(B
	$B$$$G$9!#(B

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2D00 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00	LM79 $B$+$i$N1~Ez(B($B$?$V$s(B)
2D10 : 00 00 00 46 55 00 00 46 55 FF 00 00 00 00 00 00
2D20 : BF 72 BB B8 C4 E9 26 34 FF FF 00 00 00 00 00 00
2D30 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 04
2D40 : 01 FF 03 00 00 00 00 A8 00 80 00 00 08 03 00 00
2D50 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2D60 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2D70 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2D80 : 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2D90 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2DA0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2DB0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2DC0 : 30 2D 12 00 68 09 00 00 00 00 00 00 00 00 00 00
2DD0 : 00 00 00 07 00 00 00 00 00 00 00 00 00 00 00 00
2DE0 : 00 00 00 00 7F E6 B2 00 00 00 00 00 00 00 00 00
2DF0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

2E00 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2E10 : 00 00 00 46 55 00 04 46 55 FF 00 00 00 00 00 00
2E20 : 37 74 BC C3 C6 00 41 27 3E 40 00 55 50 00 00 00
2E30 : 00 00 00 00 00 00 00 55 50 55 50 00 00 00 02 04
2E40 : 05 FF 01 00 00 00 00 A8 00 80 00 00 20 00 00 00
2E50 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2E60 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2E70 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2E80 : 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2E90 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2EA0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2EB0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2EC0 : 30 2E 0A 00 44 0A 00 00 00 00 00 00 00 00 00 00
2ED0 : 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00
2EE0 : 00 00 00 00 05 11 D9 00 00 00 00 00 00 00 00 00
2EF0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/*
 * SMBUS $B6u4V$r%@%s%W$9$k%W%m%0%i%`(B
 */
#include <stdlib.h>
#include <fcntl.h>
#include <machine/smb.h>

int
main (void)
{
	int i, j, fd;
	struct smbcmd cmd;
	unsigned char bdata = 0;

	memset(&cmd, 0, sizeof(cmd));
	cmd.data.byte_ptr = &bdata;

	fd = open("/dev/smb0", O_RDWR);
	for(  i = 0x00;  i <= 0xff;  i++  )  {
		cmd.slave = i;
		for(  j = 0x00;  j <= 0xff;  j++  )  {
			if(  j % 0x10 == 0x00  )  {
				printf("%02X%02X :", i, j);
			}
			cmd.cmd = j;
			if(  ioctl(fd, SMB_READB, (caddr_t)&cmd)  < 0  )  {
				printf(" XX");
			}  else  {
				printf(" %02X", bdata);
			}
			if(  j % 0x10 == 0x0f  )  {
				printf("\n");
			}
		}
	}
	close(fd);

	return 0;
}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
