blob: 4eb30bed7c47e9607929130e66929369e49d1ecb [file] [log] [blame]
Patrick Venture46470a32018-09-07 19:26:25 -07001#pragma once
Tom9e5232e2016-11-07 12:14:51 +05302
3#include <stdint.h>
4
5// These are per skiboot ipmi-sel code
6
7// OEM_SEL type with Timestamp
Patrick Venture0b02be92018-08-31 11:55:55 -07008#define SEL_OEM_ID_0 0x55
Tom9e5232e2016-11-07 12:14:51 +05309// SEL type is OEM and -not- general SEL
10#define SEL_RECORD_TYPE_OEM 0xC0
11// Minor command for soft shurdown
Patrick Venture0b02be92018-08-31 11:55:55 -070012#define SOFT_OFF 0x00
Tom9e5232e2016-11-07 12:14:51 +053013// Major command for Any kind of power ops
Patrick Venture0b02be92018-08-31 11:55:55 -070014#define CMD_POWER 0x04
Andrew Geissler12866372017-03-21 22:58:28 -050015// Major command for the heartbeat operation (verify host is alive)
Patrick Venture0b02be92018-08-31 11:55:55 -070016#define CMD_HEARTBEAT 0xFF
Tom9e5232e2016-11-07 12:14:51 +053017
18// IPMI commands used via System Interface functions.
19enum ipmi_netfn_system_intf_cmds
20{
21 IPMI_CMD_SET_BMC_GLOBAL_ENABLES = 0x2E,
Jia, Chunhui30206db2018-12-11 09:00:15 +080022 IPMI_CMD_GET_BMC_GLOBAL_ENABLES = 0x2F,
Patrick Venture0b02be92018-08-31 11:55:55 -070023 IPMI_CMD_GET_MSG_FLAGS = 0x31,
24 IPMI_CMD_READ_EVENT = 0x35,
Tom9e5232e2016-11-07 12:14:51 +053025};
26
27// A Mechanism to tell host to shtudown hosts by sending this PEM SEL. Really
28// the only used fields by skiboot are:
29// id[0] / id[1] for ID_0 , ID_1
30// type : SEL_RECORD_TYPE_OEM as standard SELs are ignored by skiboot
31// cmd : CMD_POWER for power functions
32// data[0], specific commands. example Soft power off. power cycle, etc.
33struct oem_sel_timestamped
34{
35 /* SEL header */
36 uint8_t id[2];
37 uint8_t type;
38 uint8_t manuf_id[3];
39 uint8_t timestamp[4];
40 /* OEM SEL data (6 bytes) follows */
41 uint8_t netfun;
42 uint8_t cmd;
43 uint8_t data[4];
44};