Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all ![bug](/img/bug.png)
![bug](/img/bug.png)
名前
pciconfig_read, pciconfig_write, pciconfig_iobase - pci デバイス情報を扱う
書式
#include <pci.h> int pciconfig_read(unsigned long bus, unsigned long dfn, unsigned long off, unsigned long len, void *buf); int pciconfig_write(unsigned long bus, unsigned long dfn, unsigned long off, unsigned long len, void *buf); int pciconfig_iobase(long which, unsigned long bus, unsigned long devfn);
説明
PCI デバイスとのやり取り (interaction) は カーネル PCI レイヤですでに処理されているので、 通常はこららの 関数をユーザー空間からアクセスする必要はない。 pciconfig_read() デバイス dev のオフセット off の値を buf に読み込む。 pciconfig_write() デバイス dev のオフセット off に buf の値を書き込む。 pciconfig_iobase() bus/devfn ペアをこの関数に渡し、 メモリーオフセット (prep のようなものでは、この値は 0xc0000000 で ある) と PIO サイクルの IO ベースの物理アドレスを取得する。 また、もしあるならば ISA hole の物理ア ドレスを取得する。
返り値
pciconfig_read() 成功した場合は 0 が返される。エラーの場合は -1 が返され、 errno が適切に設定される。 pciconfig_write() 成功した場合は 0 が返される。エラーの場合は -1 が返され、 errno が適切に設定される。 pciconfig_iobase() which の値に基づいて、物理メモリー内の様々な I/O 領域の位置情報が返される。 which の値は、 IOBASE_BRIDGE_NUMBER, IOBASE_MEMORY, IOBASE_IO, IOBASE_ISA_IO, IOBASE_ISA_MEM である。
エラー
EINVAL len の値が無効である。 このエラーは pciconfig_iobase() には適用されない。 EIO I/O エラー。 ENODEV pciconfig_iobase() の場合、でホース (hose) の値が NULL である。 他の呼び出しの場合、スロット (slot) が見つからない。 ENOSYS このシステムはこれらの呼び出しを実装していない。 (CONFIG_PCI が定義されていない)。 EOPNOTSUPP この返り値は pciconfig_iobase() でのみ有効である。 このエラーは which の値が無効であるときに返さ れる。 EPERM ユーザーが CAP_SYS_ADMIN 権限を持っていない。 このエラーは pciconfig_iobase() には適用されない。
準拠
これらの呼び出しは Linux 特有のものであり、 Linux 2.0.26/2.1.11 から使用可能である。
関連項目
capabilities(7)
この文書について
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告 に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。