EN JA
IPMI(4)
IPMI(4) FreeBSD Kernel Interfaces Manual IPMI(4)

名称

ipmiOpenIPMI 互換 IPMI インタフェースドライバ

書式

device ipmi

/boot/device.hints: の I/O アタッチメントを手動で指定するためには:
hint.ipmi.0.at="isa"
hint.ipmi.0.port="0xCA2"
hint.ipmi.0.spacing="8"
hint.ipmi.0.mode="KCS"

/boot/device.hints: のメモリアタッチメントを手動で指定するためには:
hint.ipmi.0.at="isa"
hint.ipmi.0.maddr="0xf0000000"
hint.ipmi.0.spacing="8"
hint.ipmi.0.mode="SMIC"

spacing (スペイシング)の意味:

8
8 ビット整列
16
16 ビット整列
32
32 ビット整列

portspacing が指定されないなら、インタフェースタイプのデフォルトが使用されます。単に I/O アクセスのための port またはメモリアクセスのための maddr のどちらかを指定します。

解説

IPMI (Intelligent Platform Management Interface) は、一般的なコードがシステムでセンサを検出して、モニタするのを許可する監視システムハードウェアのための規格です。 IPMI 規格は、ウォッチドッグ (番犬) サポート、FRU データベースと他のサポート拡張を提供します。それは現在、多くの単一ボードと組み込みシステム製造メーカによって採用されています。

FreeBSDipmi ドライバは、規格と Linux ドライバから全面的に導入されました。しかしながら、規格に記述されたすべての機能がサポートされているわけではありません。

IOCTL

ipmi ドライバを通してメッセージを送信して受信することは、 ioctl(2) の使用を必要とします。 ioctl はデバイスへとデバイスから送られたデータの複雑さのために使用されます。以下の ioctl(2) コマンドコードは < sys/ipmi.h> で定義されています。 ioctl(2) への 3 番目の引数は、示されたタイプへのポインタであるべきです。

現在の、次の ioctl がサポートされています:

IPMICTL_RECEIVE_MSG ( struct ipmi_recv)
受信メッセージ。あり得るエラー値は次の通りです:
[ EAGAIN]
メッセージはプロセスキューにありません。
[ EFAULT]
供給されたアドレスが無効です。
[ EMSGSIZE]
アドレスは、メッセージバッファに適合せず、バッファ中に残ります。
IPMICTL_RECEIVE_MSG_TRUNC ( struct ipmi_recv)
IPMICTL_RECEIVE_MSG に似ていますが、メッセージがバッファに納まることができないなら、バッファの中のデータを残すことの代わりに内容の先端を切り詰めます。
IPMICTL_SEND_COMMAND ( struct ipmi_req)
メッセージをインタフェースに送信します。あり得るエラー値は次の通りです:
[ EFAULT]
供給されたアドレスが無効です。
[ ENOMEM]
メモリ不足で、コマンドのためのバッファを使用することができませんでした。
IPMICTL_SET_MY_ADDRESS_CMD ( unsigned int)
送信元 (始点) メッセージのためのスレーブアドレスを設定します。
IPMICTL_GET_MY_ADDRESS_CMD ( unsigned int)
送信元 (始点) メッセージのためのスレーブアドレスを取得します。
IPMICTL_SET_MY_LUN_CMD ( unsigned int)
送信元 (始点) メッセージのためのスレーブ LUN を設定します。
IPMICTL_GET_MY_LUN_CMD ( unsigned int)
送信元 (始点) メッセージのためのスレーブ LUN を取得します。

実装されていない ioctl

IPMICTL_REGISTER_FOR_CMD ( struct ipmi_cmdspec)
特定のコマンドの受信のために登録します。あり得るエラー値は次の通りです:
[ EFAULT]
供給されたアドレスが無効です。
[ EBUSY]
ネットワーク関数/コマンドは既に使用中です。
[ ENOMEM]
メモリを割り付けことができませんでした。
IPMICTL_UNREGISTER_FOR_CMD ( struct ipmi_cmdspec)
特定のコマンドの受信のために登録解除します。あり得るエラー値は次の通りです:
[ EFAULT]
供給されたアドレスが無効です。
[ ENOENT]
ネットワーク関数/コマンドは見つけられませんでした。

スタブのみの ioctl

IPMICTL_SET_GETS_EVENTS_CMD ( int)
このインタフェース受信イベントかどうかに関係なく設定する。あり得るエラー値は次の通りです:
[ EFAULT]
供給されたアドレスが無効です。

歴史

ipmi ドライバは FreeBSD 6.2 ではじめて登場しました。

作者

ipmi ドライバは Doug Ambrisko <ambrisko@FreeBSD.org>によって書かれました。このマニュアルページは Tom Rhodes <trhodes@FreeBSD.org>によって書かれました。

バグ

MontaVista ドライバのすべての機能がサポートされているというわけではありません。

現在、IPMB と BT モードは実行されていません。

July 10, 2007 FreeBSD