diff --git a/ja_JP.eucJP/man/man9/bus_alloc_resource.9 b/ja_JP.eucJP/man/man9/bus_alloc_resource.9 index b96c9dacd7..0fd99d4cb0 100644 --- a/ja_JP.eucJP/man/man9/bus_alloc_resource.9 +++ b/ja_JP.eucJP/man/man9/bus_alloc_resource.9 @@ -1,157 +1,159 @@ .\" -*- nroff -*- .\" .\" Copyright (c) 2000 Alexander Langer .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" %FreeBSD: src/share/man/man9/bus_alloc_resource.9,v 1.2.2.2 2000/06/20 15:06:11 alex Exp % .\" +.\" $FreeBSD$ .Dd May 18, 2000 .Dt BUS_ALLOC_RESOURCE 9 .Os FreeBSD .Sh 名称 .Nm bus_alloc_resource .Nd バス上の資源の割り当て .Sh 書式 .Fd #include .Fd #include .Fd #include .Fd #include .Ft struct resource * .Fn bus_alloc_resource "device_t dev" "int type" "int *rid" "u_long start" "u_long end" "u_long count" "u_int flags" .Sh 解説 .Pp これは資源管理関数群への簡単なインタフェースです。 親のメソッドテーブルを通る間接的な方法を隠蔽します。 この関数は、一般的にアタッチ時に呼び出されるべきですが、 (競合状態の場合を除いて) 決してその前に呼び出してはなりません。 .Pp 引数は以下の通りです。 .Bl -item .It .Fa dev は、資源の所有を要求するデバイスです。 割り当て前は、デバイスは親のバスによって所有されています。 .It .Fa type は、割り当てたい資源の型です。 以下の内の 1 つです。 .Bl -tag -width SYS_RES_MEMORY .It Dv SYS_RES_IRQ IRQ 用。 .It Dv SYS_RES_DRQ ISA DMA ライン用。 .It Dv SYS_RES_IOPORT 入出力ポート用。 .It Dv SYS_RES_MEMORY 入出力メモリ用。 .El .It .Fa rid は、割り当てている資源を識別する、バス固有のハンドルを指します。 ISA では、PnP の仕組みまたは hints の仕組みを通して、デバイスのために セットアップされている資源の配列へのインデックスです。 -PCCARD では、記述によると同様ですが、将来 newcard では変わるかもしれません。 +PCCARD では、この文章を書いている現時点では同様ですが、 +将来の newcard では変わるかもしれません。 PCI では、pci コンフィグ空間において、 資源を記述するワードへのオフセットになっています。 バスのメソッドは、引数として与えられている RID を無制限に変更します。 以前に与えた時の値に依存してはなりません。 .It .Fa start および .Fa end は資源の開始/終了アドレスです。 start に .Dv 0 の値を end に .Dv ~0 の値を指定した場合には、バスのためのデフォルト値が計算されます。 .It .Fa count は資源の大きさで、例えば、入出力ポートの大きさです (これは大抵、PCI 上では .Dv 1 で、ISA および PCCARD 上ではデバイス依存です)。 .Fa start および .Fa end にデフォルト値を指定した場合、 .Fa count がデフォルト値よりも小さいならばデフォルト値が使用され、 .Fa count がデフォルト値以上ならば count が使用されます。 .It .Fa flags は資源のためのフラグを設定します。 以下のフラグを 1 つ以上設定できます。 .Bl -tag -width RF_SHAREABLE .It Dv RF_ALLOCATED 資源は既に予約されています。 資源は引続き .Xr rman_activate_resource 9 で活性化される必要があります。 .It Dv RF_ACTIVE 不可分に、資源を活性化します。 .It Dv RF_SHAREABLE 資源は同時共有を許可します。 その資源が共有不可であることを知らない場合、常に設定されるべきです。 バスが共有をサポートしていない場合、 このフラグを取り除くのはバスのコードの仕事です。この例として、 pccard/cardbus ではデバイスを共有できるかできないかは、バスに依存します。 .It Dv RF_TIMESHARE 資源は時分割共有を許可します。 .El .El .Sh 戻り値 成功時には .Va struct resource 構造体へのポインタが返され、そうでない場合にはヌルポインタが返されます。 .Sh 使用例 これはあるサンプルのコードです。 .Va portid および .Va irqid の値はこれらの呼び出しの後で、デバイスの softc の中に保存されるはずです。 .Bd -literal struct resource *portres, irqres; int portid, irqid; portid = 0; irqid = 0; portres = bus_alloc_resource(dev, SYS_RES_IOPORT, &portid, 0ul, ~0ul, 32, RF_ACTIVE); irqres = bus_alloc_resource(dev, SYS_RES_IRQ, &irqid, 0ul, ~0ul, 1, RF_ACTIVE | RF_SHAREABLE); .Ed .Sh 関連項目 .Xr driver 9 , .Xr device 9 , .Xr bus_release_resource 9 .Sh 作者 このマニュアルページは .An Alexander Langer Aq alex@big.endian.de が書き、部分的に .An Warner Losh Aq imp@FreeBSD.ORG が書きました。