Al,

Thanks for the clarification.  I see your point and I updated the patch to 
address it.  As with the previous patch, this compiles, but I didn't run it on 
hardware yet because my customer has not yet sent me the KCS hardware.

Thanks again,
-Matt


--- On Thu, 2/25/10, Al Chu <[email protected]> wrote:

From: Al Chu <[email protected]>
Subject: Re: [Freeipmi-devel] KCS Driver & SMS_ATN Register
To: "Matt Jerdonek" <[email protected]>
Cc: "Anand Babu Periasamy" <[email protected]>, [email protected]
Date: Thursday, February 25, 2010, 10:33 AM

Hi Matt,

I don't see it that way.  I could see someone programming a single
thread and only wanting to poll the SMS_ATN bit, and process events as
they occur.  Not doing any other KCS. e.g.

main()
{
   setup_kcs();

   while (1) {
      kcs_wait_for_sms()
      get_message_flags()
      process_event()
   }
}

Maybe I didn't describe it well.  The concern I have with your patch (if
I'm reading it correctly, correct me if I'm wrong) is that the only time
the SMS ATN bit is checked is in _ipmi_kcs_get_status().
_ipmi_kcs_get_status() will only be called through other KCS functions
like ipmi_kcs_read() and ipmi_kcs_write().

So in order for the SMS ATN bit to be checked, ipmi_kcs_read() and
ipmi_kcs_write() have to be called, either by your application or other
IPMI going on in the system, otherwise the SMS_ATN bit will never be
checked.  Correct?  Under your patch, in the above code snippet,
kcs_wait_for_sms() will never return, b/c no other KCS calls are going
on (unless they are other KCS IPMI going on in the system elsewhere). 

Perhaps within your patch, you assumed other IPMI going on in other
parts of the system?

Al

-- 
Albert Chu
[email protected]
Computer Scientist
High Performance Systems Division
Lawrence Livermore National Laboratory




      

Attachment: ipmi_kcs_sms_atn.patch
Description: Binary data

_______________________________________________
Freeipmi-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/freeipmi-devel

Reply via email to