|
@@ -154,6 +154,8 @@ struct opal_sg_list {
|
|
|
#define OPAL_HANDLE_HMI 98
|
|
|
#define OPAL_REGISTER_DUMP_REGION 101
|
|
|
#define OPAL_UNREGISTER_DUMP_REGION 102
|
|
|
+#define OPAL_IPMI_SEND 107
|
|
|
+#define OPAL_IPMI_RECV 108
|
|
|
|
|
|
#ifndef __ASSEMBLY__
|
|
|
|
|
@@ -452,6 +454,17 @@ struct opal_msg {
|
|
|
__be64 params[8];
|
|
|
};
|
|
|
|
|
|
+enum {
|
|
|
+ OPAL_IPMI_MSG_FORMAT_VERSION_1 = 1,
|
|
|
+};
|
|
|
+
|
|
|
+struct opal_ipmi_msg {
|
|
|
+ uint8_t version;
|
|
|
+ uint8_t netfn;
|
|
|
+ uint8_t cmd;
|
|
|
+ uint8_t data[];
|
|
|
+};
|
|
|
+
|
|
|
struct opal_machine_check_event {
|
|
|
enum OpalMCE_Version version:8; /* 0x00 */
|
|
|
uint8_t in_use; /* 0x01 */
|
|
@@ -963,6 +976,10 @@ int64_t opal_handle_hmi(void);
|
|
|
int64_t opal_register_dump_region(uint32_t id, uint64_t start, uint64_t end);
|
|
|
int64_t opal_unregister_dump_region(uint32_t id);
|
|
|
int64_t opal_pci_set_phb_cxl_mode(uint64_t phb_id, uint64_t mode, uint64_t pe_number);
|
|
|
+int64_t opal_ipmi_send(uint64_t interface, struct opal_ipmi_msg *msg,
|
|
|
+ uint64_t msg_len);
|
|
|
+int64_t opal_ipmi_recv(uint64_t interface, struct opal_ipmi_msg *msg,
|
|
|
+ uint64_t *msg_len);
|
|
|
|
|
|
/* Internal functions */
|
|
|
extern int early_init_dt_scan_opal(unsigned long node, const char *uname,
|