|
From: | Marty Rogers |
Subject: | Re: [Freeipmi-devel] FreeIPMI question |
Date: | Tue, 18 May 2004 15:03:54 -0400 |
User-agent: | Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20031007 |
Anand Babu wrote:
So ipmi_kcs_cmd() writes a command and doesn't return until the response is received, ipmi_kcs_write() writes a command and returned immed., and ipmi_kcs_read() "hangs",----[ Marty Rogers <address@hidden> ] | All,| | I am attempting to adapt FreeIPMI to run on a controller to talk to| the BMC using IPMB.| | My question is about how, or if, freeipmi handles "autonomous"| messages (such as Event messages I believe- they can come in any | time?) Does a process ever sleep, waiting on a signal of some sort | from the system interface? Or is there only a | send-a-message-wait-for-a-reply-then-get-out paradigm ?| | (Presumably polling is always an option...) | | If there's waiting/sleeping involved, briefly how is it implemented ?`---- Yes can issue a blocking KCS read call on the BMC in a loop looking for Event messages. ssize_tipmi_kcs_read (u_int16_t sms_io_base, u_int8_t* bytes, u_int32_t bytes_len);Please share more info about your work. We would like to work with youclosely.
until "something" is received ?If "yes", then the way to poll for unexpected/autonomous messages (Event Messages?)
is to call ipmi_kcs_read() in a loop?My project has me implementing IPMI on essentially a "satellite controller" on the IPMB bus (I2C bus), running Linux. I've looked at OpenIPMI, modifying it's BT interface to do I2C kernel calls instead of memory accesses (the BT interface protocol implements seq. numbers, like IPMB), effectively becoming an IPMB interface. I just pick an I2C address around B0h-BEh, and xmit from LUN 0 (the IPMB interface is always LUN 0).
I'm not sure FreeIPMI can be modified similarly, but your thoughts would be most
welcome. I would have to implement seq. number generation and matching. martin rogers
[Prev in Thread] | Current Thread | [Next in Thread] |