ipmi: Add docs for IPMB direct addressing
Describe the addressing mechanism and how to use it. Signed-off-by: Corey Minyard <minyard@acm.org> Tested-by: Andrew Manley <andrew.manley@sealingtech.com> Reviewed-by: Andrew Manley <andrew.manley@sealingtech.com>
This commit is contained in:
parent
63c4eb3471
commit
ddf58738f5
@ -166,8 +166,8 @@ and the type is IPMI_SYSTEM_INTERFACE_ADDR_TYPE. This is used for talking
|
|||||||
straight to the BMC on the current card. The channel must be
|
straight to the BMC on the current card. The channel must be
|
||||||
IPMI_BMC_CHANNEL.
|
IPMI_BMC_CHANNEL.
|
||||||
|
|
||||||
Messages that are destined to go out on the IPMB bus use the
|
Messages that are destined to go out on the IPMB bus going through the
|
||||||
IPMI_IPMB_ADDR_TYPE address type. The format is::
|
BMC use the IPMI_IPMB_ADDR_TYPE address type. The format is::
|
||||||
|
|
||||||
struct ipmi_ipmb_addr
|
struct ipmi_ipmb_addr
|
||||||
{
|
{
|
||||||
@ -181,6 +181,23 @@ The "channel" here is generally zero, but some devices support more
|
|||||||
than one channel, it corresponds to the channel as defined in the IPMI
|
than one channel, it corresponds to the channel as defined in the IPMI
|
||||||
spec.
|
spec.
|
||||||
|
|
||||||
|
There is also an IPMB direct address for a situation where the sender
|
||||||
|
is directly on an IPMB bus and doesn't have to go through the BMC.
|
||||||
|
You can send messages to a specific management controller (MC) on the
|
||||||
|
IPMB using the IPMI_IPMB_DIRECT_ADDR_TYPE with the following format::
|
||||||
|
|
||||||
|
struct ipmi_ipmb_direct_addr
|
||||||
|
{
|
||||||
|
int addr_type;
|
||||||
|
short channel;
|
||||||
|
unsigned char slave_addr;
|
||||||
|
unsigned char rq_lun;
|
||||||
|
unsigned char rs_lun;
|
||||||
|
};
|
||||||
|
|
||||||
|
The channel is always zero. You can also receive commands from other
|
||||||
|
MCs that you have registered to handle and respond to them, so you can
|
||||||
|
use this to implement a management controller on a bus..
|
||||||
|
|
||||||
Messages
|
Messages
|
||||||
--------
|
--------
|
||||||
@ -348,6 +365,10 @@ user may be registered for each netfn/cmd/channel, but different users
|
|||||||
may register for different commands, or the same command if the
|
may register for different commands, or the same command if the
|
||||||
channel bitmasks do not overlap.
|
channel bitmasks do not overlap.
|
||||||
|
|
||||||
|
To respond to a received command, set the response bit in the returned
|
||||||
|
netfn, use the address from the received message, and use the same
|
||||||
|
msgid that you got in the receive message.
|
||||||
|
|
||||||
From userland, equivalent IOCTLs are provided to do these functions.
|
From userland, equivalent IOCTLs are provided to do these functions.
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user