From owner-FreeBSD-users-jp@jp.freebsd.org  Tue Oct 24 10:45:13 2000
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id KAA59537;
	Tue, 24 Oct 2000 10:45:13 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from shidahara1.planet.sci.kobe-u.ac.jp (shidahara1.planet.sci.kobe-u.ac.jp [133.30.50.200])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id KAA59527
	for <FreeBSD-users-jp@jp.freebsd.org>; Tue, 24 Oct 2000 10:45:12 +0900 (JST)
	(envelope-from takawata@shidahara1.planet.sci.kobe-u.ac.jp)
Received: from shidahara1.planet.sci.kobe-u.ac.jp (localhost [127.0.0.1])
	by shidahara1.planet.sci.kobe-u.ac.jp (8.9.3/8.9.3) with ESMTP id KAA52512
	for <FreeBSD-users-jp@jp.freebsd.org>; Tue, 24 Oct 2000 10:44:12 +0900 (JST)
	(envelope-from takawata@shidahara1.planet.sci.kobe-u.ac.jp)
Message-Id: <200010240144.KAA52512@shidahara1.planet.sci.kobe-u.ac.jp>
To: FreeBSD-users-jp@jp.freebsd.org
In-reply-to: Your message of "Tue, 24 Oct 2000 01:42:49 JST."
             <075901c03d12$90061fc0$2001a8c0@private>
Date: Tue, 24 Oct 2000 10:44:12 +0900
From: Takanori Watanabe <takawata@shidahara1.planet.sci.kobe-u.ac.jp>
Reply-To: FreeBSD-users-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+000315
X-Sequence: FreeBSD-users-jp 56331
Subject: [FreeBSD-users-jp 56331] Re: =?ISO-2022-JP?B?GyRCPCtGMBsoQg==?=
 =?ISO-2022-JP?B?GyRCRSokSzUhNG8kTkVFODskck1uJEgkNyQ/JCQbKEI=?=
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org
X-Originator: takawata@shidahara1.planet.sci.kobe-u.ac.jp

In message <075901c03d12$90061fc0$2001a8c0@private>, "Hirokazu WATANABE" $B$5$s$$(B
$B$o$/(B:
>> $BHs>o$K6=L#$,$"$j$^$9!!!u!!#C#a#n(BBe$B;}$C$F$^$9!!(B($B!!(B9821Cf$B!!!K(B
>
>$B$3$NJ}K!$O0JA0<j85$N%^%7%s(B(PC-9821Cb10)+FreeBSD4.0R-Rev01 $B$G$d$C$F$_$?$3$H(B
>$B$,$"$j$^$9$,!"$H$j$"$($:EE8;$,@Z$l$k$3$H$^$G$O3NG'$7$F$$$^$9!#(B
>
>$BD>@\(B I/O $B%"%/%;%9$9$k$F$-$H!<$J%3%^%s%I$r:n$C$F!"(B
># ./portio out 0xf4a 0x13
># ./portio out 0xf4b 0x80
># ./portio out 0xf4b 0x06
># ./portio out 0xf4b 0x00
># ./portio out 0xf4b 0x00
># ./portio out 0xf4b 0x80
># ./portio out 0xf4b 0x07
># ./portio out 0xf4b 0x00
># ./portio out 0xf4b 0x01
># ./portio out 0xf4b 0x80
># ./portio out 0xf4b 0x01
># ./portio out 0xf4b 0x00
># sync;sync
># ./portio out 0xf4b 0x00
>
>$B$GL5;v(B?$B$K(B fsck $B$N$*@$OC$K$J$C$?$N$r3P$($F$$$^$9!#(B
>
>$B:G=i$N(B 0x80 $B$+$i(B $B:G8e$N(B 0x00 $B$^$G(B 30$BICDxEY$+$+$C$F$^$7$?$,!"EE8;$O@Z$l$^$7(B
>$B$?$N$G%?%$%_%s%0Ey$NLdBj$O$J$$$h$&$G$9!#(B
>
>> $B$?$@!"(B
>> $B?MMM$NL\$K?($l$k$3$H$N=PMh$k$h$&$J%=!<%9$r!"=q$/<+?.$,$"$j$^$;$s!#(B
>> $B;~4V$b$+$J$j$+$+$k$G$7$g$&!D(B
>> $B?M$K65$($F$b$i$$$J$,$i$K$J$k$G$7$g$&!&!&!&(B
>
>($BK\Ev$K(B)$B4|BT$7$F$$$^$9!#(B
>
>$B$H$3$m$G!"$6$C$H%=!<%9D/$a$F$_$?$N$G$9$,(B at_shutdown() $B$O(B 3.x $B$G$NOC$N(B
>$B$h$&$G!"(B4.x $B$G$O$3$NL>>N$G$OB8:_$7$J$$$h$&$G$9!#(B
>$B!t;d$O(B queue $B$r8+$?$H$?$s$KFI$`5$$,$&$;$^$7$?!#(B
>$B!t!t$=$b$=$bM}2r$G$-$J$+$C$?$j$9$k!D!#(B
>
>$B!t(Bhalt $B$NItJ,$K=q$$$?$s$8$c$@$a$@$m$&$7!D5!<oH=JL$bI,MW!&!&!&$o$+$i$s!#(B

$B$3$s$J$b$N$+$J!)==?tJ,$G%(%i!<%A%'%C%/$b%/%=$bL5$/=q$$$?5?;w%3!<%I$G$9!#(B
$B$"$H$OCN$i$s$N$G<Q$k$J$j>F$/$J$j9%$-$K$7$F$/$@$5$$!#(B

#include <sys/param.h>
#include <sys/systm.h>
#include <sys/kernel.h>
#include <sys/bus.h>
#include <sys/conf.h>
#include <sys/ioccom.h>
#include <sys/reboot.h>

#include <machine/bus.h>
#include <machine/resource.h>
#include <sys/rman.h>
static void canbe_soft_off(void *data);
static void canbepm_identify(driver_t, device_t);
static int canbepm_probe(device_t);
static int canbepm_attach(device_t);

static struct canbepm_softc{
	/*$B2?$+=q$/!#(BI/O port$B>pJs$H$+(B*/
};
static void canbe_soft_off(void *data)
{
	struct canbepm_softc *sc=data;
	if(!(howto & RB_POWEROFF)){
		return;
	}
	/*Soft Off$B$N$?$a$N%3!<%I$r=q$/(B*/
}

static void canbepm_identify(driver_t drv,device_t parent)
{
	if(BUS_ADD_CHILD(parent,33,"canbepm",0)==NULL){
		device_printf(parent,"canbepm cannot attach\n");
}

static int canbepm_probe(device_t dev)
{
	if(!$BB8:_3NG'@.8y(B)
		return ENXIO;
	device_set_desc(dev,"CANBE Power Management Controller\n");
	return 0;	
	
}

static int canbepm_attach()
{
	/*$B%j%=!<%93NJ]$J$I$r$7$F$*$/(B*/

	EVENTHANDLER_REGISTER(shutdown_final,canbepm_soft_off,sc,
	SHUTDOWN_PRI_LAST);
	return 0;
}

static device_method_t canbepm_methods[] = { 
	DEVMETHOD(device_identify,	canbepm_identify),
	DEVMETHOD(device_probe,		canbepm_probe),
	DEVMETHOD(device_attach,	canbepm_attach),
	{ 0, 0}
};
static driver_t canbepm_driver = {
	"canbepm",
	canbepm_methods,
	sizeof(struct canbepm_softc),
};

devclass_t canbepm_devclass;
DRIVER_MODULE(canbepm, nexus canbepm_driver, canbepm_devclass, 0, 0);

$BEOJUB:5*(B
$B?@8MBg3XBg3X1!<+A32J3X8&5f2J(BD3$B>pJs%a%G%#%"2J3X@l96(B
<a href="http://www.planet.sci.kobe-u.ac.jp/~takawata/key.html">
Public Key</a>
Key fingerprint =  2C 51 E2 78 2C E1 C5 2D  0F F1 20 A3 11 3A 62 2A 
