IPMI(4) | FreeBSD Kernel Interfaces Manual | IPMI(4) |
名称
ipmi — OpenIPMI 互換 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 ビット整列
port と spacing が指定されないなら、インタフェースタイプのデフォルトが使用されます。単に I/O アクセスのための port またはメモリアクセスのための maddr のどちらかを指定します。
解説
IPMI (Intelligent Platform Management Interface) は、一般的なコードがシステムでセンサを検出して、モニタするのを許可する監視システムハードウェアのための規格です。 IPMI 規格は、ウォッチドッグ (番犬) サポート、FRU データベースと他のサポート拡張を提供します。それは現在、多くの単一ボードと組み込みシステム製造メーカによって採用されています。FreeBSD の ipmi ドライバは、規格と 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 ドライバは <ambrisko@FreeBSD.org>によって書かれました。このマニュアルページは <trhodes@FreeBSD.org>によって書かれました。バグ
MontaVista ドライバのすべての機能がサポートされているというわけではありません。現在、IPMB と BT モードは実行されていません。
July 10, 2007 | FreeBSD |