Bela Lubkin wrote:
>>> BTW I was moved to create the following, which you might find useful to
>>> round out ipmi_msgdefs.h.
>>>       
>    
>   
>> Could you submit a standard patch for this, with a description and 
>> Signed-off-by line?  I'll need that to get it to kernel.org.
>>     
>
> Can do.  I was sort of expecting some feedback first, e.g.:
>
> - is it OK that I've wholesale copied the condition code descriptions
> from Intel's document?
>   
I don't think that is a problem, the descriptions are fairly small and 
you reference them.
> - format of the long comments containing those descriptions is ugly,
> but I didn't know what else to do.  Didn't want to boil down the
> descriptions to fit, for fear of increasing the already frightening
> ambiguity...
>   
Yeah, stuck between a rock and a hard place.  You could do comments 
right above the #define, I guess.
> - OK that I #defined IPMI_oldname_ERR IPMI_CC_newname -- or should I
> just change the few lines of driver code that use the old names?  Are
> those codes likely to be referred to by any userland code?  (Neither
> OpenIPMI-2.0.10 nor openipmi_testsuite 1.01 refer to them.)
>   
Not likely, you can change the ones in the driver, too.  That would make 
things more consistent.
> - now that I've looked at OpenIPMI-2.0.10, I see that its
> include/OpenIPMI/ipmi_err.h already has most of these -- but with
> different names.
>   
Yeah, they were derived differently.  I should at least combine the two 
for OpenIPMI, but that's a task that will have to wait for a while.

What would be really nice it to have a stock set of defines that 
everyone could use, and put them under a BSD license.  This has been 
talked about before, but that task really belongs to the IPMI group and 
they didn't seem terribly excited about the idea when it came up.

Thanks,

-Corey
>   
>> Bela<
>>     
>
> /*
>  * From "Intelligent Platform Management Interface Specification, Second
>  * Generation, v2.0, Document Revision 1.0, February 12, 2004; February
>  * 15, 2006 Markup"; "Table 5-2, Completion Codes".
>  *
>  * http://www.intel.com/design/servers/ipmi/pdf/IPMIv2_0_rev1_0_E3_markup.pdf
>  *
>  * Note: condition codes 0x01-0x7F are device/OEM-specific.
>  *       condition codes 0x80-0xBF are command-specific.
>  */
>
> #define IPMI_CC_NO_ERROR      0x00 /* Command Completed Normally. */
> #define IPMI_CC_NODE_BUSY     0xC0 /* Node Busy. Command could not be
>                                     * processed because command processing
>                                     * resources are temporarily
> unavailable. */
> #define IPMI_CC_INVALID_CMD   0xC1 /* Invalid Command. Used to indicate an
>                                     * unrecognized or unsupported command.
> */
> #define IPMI_CC_INVALID_LUN   0xC2 /* Command invalid for given LUN. */
> #define IPMI_CC_TIMEOUT               0xC3 /* Timeout while processing 
> command.
>                                     * Response unavailable. */
> #define IPMI_CC_OUT_OF_SPACE  0xC4 /* Out of space. Command could not be
>                                     * completed because of a lack of
> storage
>                                     * space required to execute the given
>                                     * command operation. */
> #define IPMI_CC_INVAL_RESV    0xC5 /* Reservation Canceled or Invalid
>                                     * Reservation ID. */
> #define IPMI_CC_REQ_TRUNC     0xC6 /* Request data truncated. */
> #define IPMI_CC_REQ_LEN_INVAL 0xC7 /* Request data length invalid. */
> #define IPMI_CC_REQ_TOO_LONG  0xC8 /* Request data field length limit
> exceeded. */
> #define IPMI_CC_PARAM_RANGE   0xC9 /* Parameter out of range. One or more
>                                     * parameters in the data field of the
>                                     * Request are out of range. This is
>                                     * different from `Invalid data field'
>                                     * (CCh) code in that it indicates that
>                                     * the erroneous field(s) has a
> contiguous
>                                     * range of possible values. */
> #define IPMI_CC_DATA_LEN      0xCA /* Cannot return number of requested
> data
>                                     * bytes. */
> #define IPMI_CC_NOT_PRESENT   0xCB /* Requested Sensor, data, or record not
>                                     * present. */
> #define IPMI_CC_INVAL_FIELD   0xCC /* Invalid data field in Request */
> #define IPMI_CC_CMD_INCOMPAT  0xCD /* Command illegal for specified sensor
> or
>                                     * record type. */
> #define IPMI_CC_CANT_RESPOND  0xCE /* Command response could not be
> provided. */
> #define IPMI_CC_DUP_REQ               0xCF /* Cannot execute duplicated 
> request.
> This
>                                     * completion code is for devices which
>                                     * cannot return the response that was
>                                     * returned for the original instance of
>                                     * the request. Such devices should
>                                     * provide separate commands that allow
>                                     * the completion status of the original
>                                     * request to be determined. An Event
>                                     * Receiver does not use this completion
>                                     * code, but returns the 00h completion
>                                     * code in the response to (valid)
>                                     * duplicated requests. */
> #define IPMI_CC_SDR_UPDATING  0xD0 /* Command response could not be
>                                     * provided. SDR Repository in update
>                                     * mode. */
> #define IPMI_CC_FW_UPDATING   0xD1 /* Command response could not be
> provided.
>                                     * Device in firmware update mode. */
> #define IPMI_CC_BMC_INITING   0xD2 /* Command response could not be
> provided.
>                                     * BMC initialization or initialization
>                                     * agent in progress. */
> #define IPMI_CC_DEST_UNAVAIL  0xD3 /* Destination unavailable. Cannot
> deliver
>                                     * request to selected destination. E.g.
>                                     * this code can be returned if a
> request
>                                     * message is targeted to SMS, but
> receive
>                                     * message queue reception is disabled
> for
>                                     * the particular channel. */
> #define IPMI_CC_PERM_DENIED   0xD4 /* Cannot execute command due to
>                                     * insufficient privilege level or other
>                                     * security-based restriction (e.g.
>                                     * disabled for `firmware firewall'). */
> #define IPMI_CC_NOT_SUPP      0xD5 /* Cannot execute command. Command, or
>                                       request parameter(s), not supported
> in
>                                       present state. */
> #define IPMI_CC_PARAM_ILLEGAL 0xD6 /* Cannot execute command. Parameter is
>                                       illegal because command sub-function
>                                       has been disabled or is unavailable
>                                       (e.g. disabled for `firmware
>                                       firewall'). */
> #define IPMI_CC_UNSPECIFIED   0xFF /* Unspecified error. */
>
> /* Code compatibility */
>
> #define       IPMI_NODE_BUSY_ERR              IPMI_CC_NODE_BUSY
> #define       IPMI_INVALID_COMMAND_ERR        IPMI_CC_INVALID_CMD
> #define       IPMI_ERR_UNSPECIFIED            IPMI_CC_UNSPECIFIED
>   


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Openipmi-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openipmi-developer

Reply via email to