Manpages

名 前

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 の オ フ セ ッ ト offbuf の 値 を 書 き 込 む 。
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 プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。