From owner-FreeBSD-tech-jp@jp.freebsd.org  Wed May 24 04:43:58 2000
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id EAA92265;
	Wed, 24 May 2000 04:43:58 +0900 (JST)
	(envelope-from owner-FreeBSD-tech-jp@jp.FreeBSD.org)
Received: from gin.myn.t.u-tokyo.ac.jp (IDENT:cCyM/URs5FOB0ajqdK/8jt93hP8KaBf/@gin.myn.t.u-tokyo.ac.jp [133.11.68.125])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id EAA92260
	for <FreeBSD-tech-jp@jp.freebsd.org>; Wed, 24 May 2000 04:43:57 +0900 (JST)
	(envelope-from tamaru@ap.t.u-tokyo.ac.jp)
Received: (for delivery from tamaru@localhost) by gin.myn.t.u-tokyo.ac.jp (8.8.8/8.6.12) id EAA02825; Wed, 24 May 2000 04:43:56 +0900 (JST)
Message-Id: <200005231943.EAA02825@gin.myn.t.u-tokyo.ac.jp>
To: FreeBSD-tech-jp@jp.freebsd.org
In-reply-to: "T.Yamaoka"'s message of Tue, 23 May 2000 21:11:07 +0900
Date: Wed, 24 May 2000 04:43:56 +0900
From: Hiroharu Tamaru <tamaru@ap.t.u-tokyo.ac.jp>
Reply-To: FreeBSD-tech-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+000315
X-Sequence: FreeBSD-tech-jp 2782
Subject: [FreeBSD-tech-jp 2782] Re: ISA PnP resource allocaton
Errors-To: owner-FreeBSD-tech-jp@jp.freebsd.org
Sender: owner-FreeBSD-tech-jp@jp.freebsd.org
X-Originator: tamaru@ap.t.u-tokyo.ac.jp

$BED4]$G$9(B
$B$d$^$*$+$5$s!"$5$C$=$/!"$*JV;v$"$j$,$H$&$4$6$$$^$9!#(B

$BItJ,E*$KJ,$+$C$F$$$J$$$N$H!"2?$,J,$+$C$F$$$F2?$rJ,$+$C$F$$$J(B
$B$$$+$&$^$/@bL@$G$-$F$$$J$$$N$H$G!"$*<j?t$r$*$+$1$7$^$9!#(B

ISA_PNP_PROBE $B$NLr3d$OM}2r$G$-$F$$$k$H;W$C$F$$$^$9!#(B
# $B$3$l$O$9$G$K<hF@$G$-$F$$$k(B ID $B$,!"(Bdriver $B$,MQ0U$7$?0lMwI=(B
# $B$K$"$k$+$I$&$+$r(B compat ID $B$b4^$a$F8!:w$7$F$$$k$s$G$9$h$M(B?

$B$d$^$*$+(B> 1.boot $B$9$k!#(B
$B$d$^$*$+(B> 2.$B%+!<%M%k(B $B$K@)8f$,0\$k!#(B
$B$d$^$*$+(B> 3.pnp $BBP1~%G%P%$%9$rC5$9!#(B
$B$d$^$*$+(B> 4.pnp $BBP1~%G%P%$%9$,$"$C$?>l9g!"%G%P%$%9Kh$K(B I/O port, irq, dma $BEy$r3d$j?6$k!#(B
$B$d$^$*$+(B> 5.pnp $B%G%P%$%9$r(B probe/attach $B$9$k(B

$B$O$$!#(B
$B$3$N(B 4$BHVL\$G(B resource $B$r3d$j?6$k$H$$$&:n6H$J$s$G$9$,!"(B
$B$^$:!"Bh0l$K$O%"%I%l%96u4V$d!"(Birq/dma $BHV9f$,8_$$$K$V$D$+$i$J(B
$B$$$h$&$J3d$j?6$j$r9M$($k!"$H$$$&$N$,$"$k$H$*$b$$$^$9!#(B
$B$D$.$K!"<B:]$K(B card $B$N(B hardware $B$K$=$l$N$3$H$rM}2r$7$F$b$i$C(B
$B$F!"Nc$($P!V7/$O3d$j9~$_$?$/$J$C$?$i!"(Birq *5* $BHV$rH/@8$5$;$k$s(B
$B$@$h!W$C$F65$($F$"$2$k:n6H$,$"$k$H;W$$$^$9!#(B

$BA0<T$N:n6H$O(B resource manager ($B$H8F$Y$P$h$$$N$G$7$g$&$+(B?  $B$=(B
$B$N$h$&$J0l72$N4X?t72(B) $B$,(B ISA/PCI/$B$=$NB>(B system $BA4BN$rDL$7$F(B
$BL5L7=b$K$J$k$h$&$K$d$C$F$$$F!"(B
$B8e<T$N:n6H$O!"(Bisa_probe_children $B$,3F(B PNP ISA device $B$r(B 
probe $B$9$kD>A0$K(B $B$=$N(B device $B$N(B callback $B$rDL$7$F!"(B
pnp_set_config $B$r$h$S$@$7!"$=$3$G;X<($7$F$$$k$N$@$m$&$H(B
$B?d;!$7$F$$$^$9!#(B

$B$o$?$7$,5?Ld$K;W$C$?$3$H$O!"$3$N(B pnp_set_config $B$G$d$C$F$$$k(B
$B:n6H$G!"(B($BNc$($P(B) dma $B$N3d$jEv$F:n6H$O==J,$J$N$+(B? $B$H$$$&$3$H(B
$B$G$9!#JL$N$$$$$+$?$r$9$k$H!"$3$N(B pnp_set_config $B$,$d$C$F$$$k(B
$B:n6H$O!"(BnonPnP $B$J(B card $B$G!"(Bjumper $B$d(B dip sw $B$r;H$C$F(B 
ioport/irq/drq $B$r@_Dj$9$k:n6H$r40A4$KCV$-49$($F$$$k$3$H$K$J$C(B
$B$F$$$k$N$+(B?  $B$H$$$&$3$H$G$9!#(B($B;W$C$?M}M3$O!"$3$N%a!<%k$N$&$7(B
$B$m$N$[$&$G(B GPIB card $B$NOC$K$b$I$7$?$H$3$m$G2~$a$F=q$-$^$9(B)

$BA02s$b=q$$$?$h$&$K!";29M$KFI$s$G$$$kB>$N(B source $B$O(B PNP /
nonPnP $BN>BP1~$C$]$$$b$N$,$*$*$/!"$I$NItJ,$,(B PNP $B$@$1$K4X78$7(B
$B$F$$$F$I$NItJ,$,(B nonPnP $B$J>l9g$@$1$K4X78$7$F$$$k$N$+$H$$$&@Z(B
$B$jJ,$1$r$-$C$A$j5M$a$i$l$:$KD/$a$F$$$k$N$G$9$,!"(B
$B$?$H$($P!"(Bed.c $B$r$J$,$a$F$$$k$H!"(Bed_probe_3Com(dev) $B$N$J$+$G!"(B

	error = bus_get_resource(dev, SYS_RES_IRQ, 0,
				 &irq, &junk);
	if (error)
		return (error);

	switch (irq) {
	case 2:
		outb(sc->asic_addr + ED_3COM_IDCFR, ED_3COM_IDCFR_IRQ2);
		break;
	case 3:
		outb(sc->asic_addr + ED_3COM_IDCFR, ED_3COM_IDCFR_IRQ3);
		break;
	$B0J2<N,(B

$B$H$$$C$?ItJ,$,$"$j$^$9!#(B

$B;d$NM}2r$G$O!"$3$l$O(B bus_get_resource $B$G!"(BPNP $B$,3d$jEv$F$?(B 
irq $BHV9f(B($B$^$?$O!"(BnonPnP $B$@$H$9$k$H(B kernel config $B$7$?$H$-$N(B 
irq $BHV9f!"2>$K(B2$BHV$@$H$7$^$9(B) $B$rD4$Y$F$-$F!"$=$l$r(B ether card 
$B$N@P$NE,Ev$J(Bregister $B$K=q$-9~$`$3$H$K$h$C$F$h$&$d$/!"(B
hardware $BE*$K(B irq 2$BHV$r;H$&$s$@!"$H$$$&$N$r(B card ($B$N@P$K(B)$BG<(B
$BF@$7$F$b$i$($F$$$k$h$&$K;W$($^$9!#(B

$B$@$H$9$k$H!"(Bpnp_set_config $B$,$d$C$F$$$k$3$H$O!"$3$N>l9g$O$J(B
$B$s$NLr$K$b$?$C$F$$$J$$$N$G$7$g$&$+(B?
# $B6KC<$JOC!"$3$N>l9g$K8B$C$F$O(B pnp_set_config $B$N$[$&$G(B 
  PNP_IRQ_BASE_* $B$r$D$+$C$F(B pnp_write $B$7$J$/$F$b2?$bJQ$o$i$J$$(B?

$B$H!"$$$&$h$&$J$3$H$r5?Ld$K;W$C$F$$$?$o$1$G$9!#(B

# $B$3$l$K$/$i$Y$F!"(BPCI $B$N>l9g$O(B BIOS $B$,(B $B3F%+!<%I$N(B 
# configuration $B6u4V$K3dEv$r=q$-9~$_!"(Bpci/pci.c $B$,$=$l$rFI$_$@(B
# $B$7!"(Bresouce manager $B$KEPO?$7$3$=$9$k$b$N$N!"(Bdevice driver $B$N(B
# $B$[$&$G!"$=$l$rFI$_$@$7$F!"$b$&0lEY!"(Bio $B6u4V$NJL$N(B register $B$K(B
# $B=q$-D>$9$h$&$J:n6H$r$7$F$$$k$b$N$OL5$$$h$&$K8+<u$1$i$l$?$N$G!"(B
# $B!V(BPCI $B$O$-$C$H(B configuration $B6u4V$K=q$1$P!"$=$l$G40A4$K(B
# $B%1%j$,$D$/$N$@$m$&!W$H?d;!$7$F$_$?$o$1$G$9!#(B

$B$7$+$7(B

$B$d$^$*$+(B> attach $B$O%A%C%W$K%j%=!<%9$r3P$($5$;$k$h$&$JItJ,$,$J$/$F(B
$B$d$^$*$+(B> alloc_resources $B$9$k>l=j$,$A$g$C$H0c$&0J30$O(B
$B$d$^$*$+(B> $BIaDL$N(B non pnp $B$J%+!<%I$HF1$8$G$9!#(B

$B$H$$$&$H$3$m$+$i$9$k$H!"@h$N(B ed $B$NNc$O!"(BPNP $B5,3J$K=>$C$?$b$N(B
$B$G$b$J$$$1$I!"(B DIP SW $B$G@_Dj$9$k$o$1$G$b$J$$$h$&$J!"(B($B2aEO4|(B
$B$N(B?) $BFH<+$NJ}K!$G!"(Bsoftware $BE*$K(B irq $BHV9f$r@_Dj$G$-$k(B card
($BJ,N`$H$7$F$O(B nonPnP) $BMQ$N(B code $B$G$"$k!"$H$$$&$3$H$J$N$G$7$g(B
$B$&$+(B???



$B$b$H$N!"(BGPIB card $B$NOC$KLa$j$^$9$H!"(B

PnP $B$G(B vendor ID $B$d$i2?$d$i$A$c$s$H<h$C$F$3$i$l$k$/$;$K!"(B
chip $B$N(B register $B$K$b:FEY=q$-9~$s$G$"$2$J$1$l$P$$$1$J$$$h$&(B
$B$J!"JQ$J(B card $B$C$F$$$&$N$OB8:_$7$J$$!"$H?.$8$F$bNI$$$N$G$7$g(B
$B$&$+(B?

$B:#8+$($F$$$k8=>]$O!"(B

nonPnP $B$N(B card $B$O<j85$N(B driver $B$G$&$^$/F0$$$F$$$k!#(B

PnP $B$N(B card $B$KBX$($k$H!"(Bpnp_set_config $B$,(B drq $BHV9f$r(B card $B$K(B
$B=q$-9~$s$G$$$F!"(Bdriver $BB&$b$=$NCM$rG'<1$7$F$$$k$N$K!"(Bdma $B$,(B
$B$&$^$/F0$$$F$/$l$F$$$J$$(B($B$h$&$K8+$($k(B)$B!#$=$l0J30$N(B $B$"$A$3$A(B
$B$K;E9~$s$@(B debug $B=PNO$NCM$O(B nonPnP $B$N(B card $B$HF1$8$K$J$k!#(B

nonPnP $B$N(B card $B$G(B drq  $B$N(B jumper $B$r$o$6$H(B kernel config $B$H0c(B
$B$&$b$N$K$7$F$_$k$H!"(BPnP $BHG$N(B card $B$HF1$85sF0$K$J$k!#(B

$B$H$$$&$U$&$K$J$C$F$*$j!">e$N$h$&$J5?Ld$r;}$D$K;j$C$?$o$1$G$9!#(B

$B$3$N$h$&$J>l9g!"B>$K$I$N$h$&$J2DG=@-$,$"$k$N$G$7$g$&(B?

National Instruments $B$N?M$,$$$&$h$&$J!"!V(BOS $B$K3d$j9~$_(B 
handler $B$rEPO?$9$kI,MW$,$"$k$,!"$=$l$r9T$J$C$F$$$J$$$N$G$O$J(B
$B$$$+(B?$B!W$H$$$&$N$O!";d$H$7$F$O0c$&$3$H$h$&$K;W$&$N$G$9$,!"(B
$B;d$NJ}$,$*$+$7$$$N$G$7$g$&$+(B?

$B$^$?$O!"%a!<%+!<$K$I$N$h$&$J;qNA$rMW5a$7$F$_$l$PNI$$$N$G$7$g$&(B?
$B$H$$$&$+!"$I$N$h$&$K%a!<%+!<$K<ALd$9$k$H!";d$N$d$j$?$$$3$H$r(B
$B<B8=$9$k$h$&$J>pJs$r0z$-=P$;$k$s$G$7$g$&$+(B? $B7P83CL$J$I$"$j$^(B
$B$7$?$i65$($F2<$5$$!#(B

# $B$G!"$b$C$H=EMW$J<ALd$O!";d$O!"$^$@:,K\E*$K8m2r$7$F$^$9$G$7$g(B
# $B$&$+(B? $B!D!D!#(B(^_^;) 


$B$b$7$*$D$-9g$$$$$?$@$1$k$N$G$7$?$i!"6qBNE*$J(B code $B$N4XO"ItJ,(B
$B$H<B9T7k2L$J$I$b;}$C$F$-$^$9!#!D$,!"(BPnP $B$J(B GPIB $B$,F0$$$F$b@$(B
$B$NCfE*$K$O4r$7$$?M$OHs>o$K>/$J$$$G$7$g$&$+$i!"$=$3$^$G$3$3$G(B
$B$*4j$$$9$k$N$b2?$@$J$"$H;W$C$F$*$j$^$9!#(B

-- 
$BED4](B $BGn@2(B   `Shining Darkness'    tamaru@ap.t.u-tokyo.ac.jp
   $BEl5~Bg3X(B $BBg3X1!(B $B9)3X7O8&5f2J(B $BJ*M}9)3X@l96(B $B5\Ln8&5f<<(B


