IPMI fixes for 2.6.0-test7
Linus,
The following patch fixes some problems with timing calculations (primarily for ia64) and adds an operation to send panic strings to the IPMI event log on a panic. I've sent this several times, and I've had several requests to get this in before 2.6 goes out. Could you please apply?
Thanks,
-Corey
Index: include/linux/ipmi_msgdefs.h
===================================================================
RCS file: /home/cvs/linux-2.5/include/linux/ipmi_msgdefs.h,v retrieving revision 1.2
include/linux/ipmi_msgdefs.h +15 -5
@@ -37,22 +37,32 @@/* Various definitions for IPMI messages used by almost everything in the IPMI stack. */ -#define IPMI_NETFN_APP_REQUEST 0x06 -#define IPMI_NETFN_APP_RESPONSE 0x07 +/* NetFNs and commands used inside the IPMI stack. */ -#define IPMI_BMC_SLAVE_ADDR 0x20 +#define IPMI_NETFN_SENSOR_EVENT_REQUEST 0x04 +#define IPMI_NETFN_SENSOR_EVENT_RESPONSE 0x05 +#define IPMI_GET_EVENT_RECEIVER_CMD 0x01 +#define IPMI_NETFN_APP_REQUEST 0x06 +#define IPMI_NETFN_APP_RESPONSE 0x07#define IPMI_GET_DEVICE_ID_CMD 0x01 -#define IPMI_CLEAR_MSG_FLAGS_CMD 0x30#define IPMI_GET_MSG_FLAGS_CMD 0x31#define IPMI_SEND_MSG_CMD 0x34#define IPMI_GET_MSG_CMD 0x33 -#define IPMI_SET_BMC_GLOBAL_ENABLES_CMD 0x2e#define IPMI_GET_BMC_GLOBAL_ENABLES_CMD 0x2f#define IPMI_READ_EVENT_MSG_BUFFER_CMD 0x35 +#define IPMI_NETFN_STORAGE_REQUEST 0x0a +#define IPMI_NETFN_STORAGE_RESPONSE 0x0b +#define IPMI_ADD_SEL_ENTRY_CMD 0x44 + +/* The default slave address */ +#define IPMI_BMC_SLAVE_ADDR 0x20 +#define IPMI_MAX_MSG_LENGTH 80 + +#define IPMI_CC_NO_ERROR 0#endif /* __LINUX_IPMI_MSGDEFS_H */
Index: drivers/char/ipmi/Kconfig
===================================================================
RCS file: /home/cvs/linux-2.5/drivers/char/ipmi/Kconfig,v retrieving revision 1.3
drivers/char/ipmi/Kconfig +12 -0
@@ -24,6 +24,18 @@ generate an IPMI event describing the panic to each interface registered with the message handler. +config IPMI_PANIC_STRING + bool 'Generate OEM events containing the panic string' + depends on IPMI_PANIC_EVENT + help + When a panic occurs, this will cause the IPMI message handler to + generate IPMI OEM type f0 events holding the IPMB address of the + panic generator (byte 4 of the event), a sequence number for the + string (byte 5 of the event) and part of the string (the rest of the + event). Bytes 1, 2, and 3 are the normal usage for an OEM event. + You can fetch these events and use the sequence numbers to piece the + string together. + config IPMI_DEVICE_INTERFACE tristate 'Device interface for IPMI' depends on IPMI_HANDLER
Index: drivers/char/ipmi/ipmi_msghandler.c
===================================================================
RCS file: /home/cvs/linux-2.5/drivers/char/ipmi/ipmi_msghandler.c,v retrieving revision 1.7
drivers/char/ipmi/ipmi_msghandler.c +186 -14
258 lines not on this page · raw message