linux/include/uapi/linux/ipmi_msgdefs.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
   2/*
   3 * ipmi_smi.h
   4 *
   5 * MontaVista IPMI system management interface
   6 *
   7 * Author: MontaVista Software, Inc.
   8 *         Corey Minyard <minyard@mvista.com>
   9 *         source@mvista.com
  10 *
  11 * Copyright 2002 MontaVista Software Inc.
  12 *
  13 */
  14
  15#ifndef __LINUX_IPMI_MSGDEFS_H
  16#define __LINUX_IPMI_MSGDEFS_H
  17
  18/* Various definitions for IPMI messages used by almost everything in
  19   the IPMI stack. */
  20
  21/* NetFNs and commands used inside the IPMI stack. */
  22
  23#define IPMI_NETFN_SENSOR_EVENT_REQUEST         0x04
  24#define IPMI_NETFN_SENSOR_EVENT_RESPONSE        0x05
  25#define IPMI_GET_EVENT_RECEIVER_CMD     0x01
  26
  27#define IPMI_NETFN_APP_REQUEST                  0x06
  28#define IPMI_NETFN_APP_RESPONSE                 0x07
  29#define IPMI_GET_DEVICE_ID_CMD          0x01
  30#define IPMI_COLD_RESET_CMD             0x02
  31#define IPMI_WARM_RESET_CMD             0x03
  32#define IPMI_CLEAR_MSG_FLAGS_CMD        0x30
  33#define IPMI_GET_DEVICE_GUID_CMD        0x08
  34#define IPMI_GET_MSG_FLAGS_CMD          0x31
  35#define IPMI_SEND_MSG_CMD               0x34
  36#define IPMI_GET_MSG_CMD                0x33
  37#define IPMI_SET_BMC_GLOBAL_ENABLES_CMD 0x2e
  38#define IPMI_GET_BMC_GLOBAL_ENABLES_CMD 0x2f
  39#define IPMI_READ_EVENT_MSG_BUFFER_CMD  0x35
  40#define IPMI_GET_CHANNEL_INFO_CMD       0x42
  41
  42/* Bit for BMC global enables. */
  43#define IPMI_BMC_RCV_MSG_INTR     0x01
  44#define IPMI_BMC_EVT_MSG_INTR     0x02
  45#define IPMI_BMC_EVT_MSG_BUFF     0x04
  46#define IPMI_BMC_SYS_LOG          0x08
  47
  48#define IPMI_NETFN_STORAGE_REQUEST              0x0a
  49#define IPMI_NETFN_STORAGE_RESPONSE             0x0b
  50#define IPMI_ADD_SEL_ENTRY_CMD          0x44
  51
  52#define IPMI_NETFN_FIRMWARE_REQUEST             0x08
  53#define IPMI_NETFN_FIRMWARE_RESPONSE            0x09
  54
  55/* The default slave address */
  56#define IPMI_BMC_SLAVE_ADDR     0x20
  57
  58/* The BT interface on high-end HP systems supports up to 255 bytes in
  59 * one transfer.  Its "virtual" BMC supports some commands that are longer
  60 * than 128 bytes.  Use the full 256, plus NetFn/LUN, Cmd, cCode, plus
  61 * some overhead; it's not worth the effort to dynamically size this based
  62 * on the results of the "Get BT Capabilities" command. */
  63#define IPMI_MAX_MSG_LENGTH     272     /* multiple of 16 */
  64
  65#define IPMI_CC_NO_ERROR                0x00
  66#define IPMI_NODE_BUSY_ERR              0xc0
  67#define IPMI_INVALID_COMMAND_ERR        0xc1
  68#define IPMI_TIMEOUT_ERR                0xc3
  69#define IPMI_ERR_MSG_TRUNCATED          0xc6
  70#define IPMI_REQ_LEN_INVALID_ERR        0xc7
  71#define IPMI_REQ_LEN_EXCEEDED_ERR       0xc8
  72#define IPMI_DEVICE_IN_FW_UPDATE_ERR    0xd1
  73#define IPMI_DEVICE_IN_INIT_ERR         0xd2
  74#define IPMI_NOT_IN_MY_STATE_ERR        0xd5    /* IPMI 2.0 */
  75#define IPMI_LOST_ARBITRATION_ERR       0x81
  76#define IPMI_BUS_ERR                    0x82
  77#define IPMI_NAK_ON_WRITE_ERR           0x83
  78#define IPMI_ERR_UNSPECIFIED            0xff
  79
  80#define IPMI_CHANNEL_PROTOCOL_IPMB      1
  81#define IPMI_CHANNEL_PROTOCOL_ICMB      2
  82#define IPMI_CHANNEL_PROTOCOL_SMBUS     4
  83#define IPMI_CHANNEL_PROTOCOL_KCS       5
  84#define IPMI_CHANNEL_PROTOCOL_SMIC      6
  85#define IPMI_CHANNEL_PROTOCOL_BT10      7
  86#define IPMI_CHANNEL_PROTOCOL_BT15      8
  87#define IPMI_CHANNEL_PROTOCOL_TMODE     9
  88
  89#define IPMI_CHANNEL_MEDIUM_IPMB        1
  90#define IPMI_CHANNEL_MEDIUM_ICMB10      2
  91#define IPMI_CHANNEL_MEDIUM_ICMB09      3
  92#define IPMI_CHANNEL_MEDIUM_8023LAN     4
  93#define IPMI_CHANNEL_MEDIUM_ASYNC       5
  94#define IPMI_CHANNEL_MEDIUM_OTHER_LAN   6
  95#define IPMI_CHANNEL_MEDIUM_PCI_SMBUS   7
  96#define IPMI_CHANNEL_MEDIUM_SMBUS1      8
  97#define IPMI_CHANNEL_MEDIUM_SMBUS2      9
  98#define IPMI_CHANNEL_MEDIUM_USB1        10
  99#define IPMI_CHANNEL_MEDIUM_USB2        11
 100#define IPMI_CHANNEL_MEDIUM_SYSINTF     12
 101#define IPMI_CHANNEL_MEDIUM_OEM_MIN     0x60
 102#define IPMI_CHANNEL_MEDIUM_OEM_MAX     0x7f
 103
 104#endif /* __LINUX_IPMI_MSGDEFS_H */
 105