@@ -68,9 +68,11 @@ enum rtas_function_index {
6868 RTAS_FNIDX__IBM_READ_PCI_CONFIG ,
6969 RTAS_FNIDX__IBM_READ_SLOT_RESET_STATE ,
7070 RTAS_FNIDX__IBM_READ_SLOT_RESET_STATE2 ,
71+ RTAS_FNIDX__IBM_RECEIVE_HVPIPE_MSG ,
7172 RTAS_FNIDX__IBM_REMOVE_PE_DMA_WINDOW ,
7273 RTAS_FNIDX__IBM_RESET_PE_DMA_WINDOW ,
7374 RTAS_FNIDX__IBM_SCAN_LOG_DUMP ,
75+ RTAS_FNIDX__IBM_SEND_HVPIPE_MSG ,
7476 RTAS_FNIDX__IBM_SET_DYNAMIC_INDICATOR ,
7577 RTAS_FNIDX__IBM_SET_EEH_OPTION ,
7678 RTAS_FNIDX__IBM_SET_SLOT_RESET ,
@@ -163,9 +165,11 @@ typedef struct {
163165#define RTAS_FN_IBM_READ_PCI_CONFIG rtas_fn_handle(RTAS_FNIDX__IBM_READ_PCI_CONFIG)
164166#define RTAS_FN_IBM_READ_SLOT_RESET_STATE rtas_fn_handle(RTAS_FNIDX__IBM_READ_SLOT_RESET_STATE)
165167#define RTAS_FN_IBM_READ_SLOT_RESET_STATE2 rtas_fn_handle(RTAS_FNIDX__IBM_READ_SLOT_RESET_STATE2)
168+ #define RTAS_FN_IBM_RECEIVE_HVPIPE_MSG rtas_fn_handle(RTAS_FNIDX__IBM_RECEIVE_HVPIPE_MSG)
166169#define RTAS_FN_IBM_REMOVE_PE_DMA_WINDOW rtas_fn_handle(RTAS_FNIDX__IBM_REMOVE_PE_DMA_WINDOW)
167170#define RTAS_FN_IBM_RESET_PE_DMA_WINDOW rtas_fn_handle(RTAS_FNIDX__IBM_RESET_PE_DMA_WINDOW)
168171#define RTAS_FN_IBM_SCAN_LOG_DUMP rtas_fn_handle(RTAS_FNIDX__IBM_SCAN_LOG_DUMP)
172+ #define RTAS_FN_IBM_SEND_HVPIPE_MSG rtas_fn_handle(RTAS_FNIDX__IBM_SEND_HVPIPE_MSG)
169173#define RTAS_FN_IBM_SET_DYNAMIC_INDICATOR rtas_fn_handle(RTAS_FNIDX__IBM_SET_DYNAMIC_INDICATOR)
170174#define RTAS_FN_IBM_SET_EEH_OPTION rtas_fn_handle(RTAS_FNIDX__IBM_SET_EEH_OPTION)
171175#define RTAS_FN_IBM_SET_SLOT_RESET rtas_fn_handle(RTAS_FNIDX__IBM_SET_SLOT_RESET)
@@ -217,6 +221,7 @@ typedef struct {
217221#define RTAS_HARDWARE_ERROR -1 /* Hardware or other unspecified error. */
218222#define RTAS_BUSY -2 /* Retry immediately. */
219223#define RTAS_INVALID_PARAMETER -3 /* Invalid indicator/domain/sensor etc. */
224+ #define RTAS_FUNC_NOT_SUPPORTED -5 /* Function not supported */
220225#define RTAS_UNEXPECTED_STATE_CHANGE -7 /* Seems limited to EEH and slot reset. */
221226#define RTAS_EXTENDED_DELAY_MIN 9900 /* Retry after delaying for ~1ms. */
222227#define RTAS_EXTENDED_DELAY_MAX 9905 /* Retry after delaying for ~100s. */
@@ -233,6 +238,7 @@ typedef struct {
233238#define RTAS_EPOW_WARNING 0x40000000 /* set bit 1 */
234239#define RTAS_HOTPLUG_EVENTS 0x10000000 /* set bit 3 */
235240#define RTAS_IO_EVENTS 0x08000000 /* set bit 4 */
241+ #define RTAS_HVPIPE_MSG_EVENTS 0x04000000 /* set bit 5 */
236242#define RTAS_EVENT_SCAN_ALL_EVENTS 0xffffffff
237243
238244/* RTAS event severity */
@@ -282,6 +288,7 @@ typedef struct {
282288#define RTAS_TYPE_DEALLOC 0xE3
283289#define RTAS_TYPE_DUMP 0xE4
284290#define RTAS_TYPE_HOTPLUG 0xE5
291+ #define RTAS_TYPE_HVPIPE 0xE6
285292/* I don't add PowerMGM events right now, this is a different topic */
286293#define RTAS_TYPE_PMGM_POWER_SW_ON 0x60
287294#define RTAS_TYPE_PMGM_POWER_SW_OFF 0x61
@@ -374,6 +381,7 @@ inline uint32_t rtas_ext_event_company_id(struct rtas_ext_event_log_v6 *ext_log)
374381#define PSERIES_ELOG_SECT_ID_HMC_ID (('H' << 8) | 'M')
375382#define PSERIES_ELOG_SECT_ID_EPOW (('E' << 8) | 'P')
376383#define PSERIES_ELOG_SECT_ID_IO_EVENT (('I' << 8) | 'E')
384+ #define PSERIES_ELOG_SECT_ID_HVPIPE_EVENT (('P' << 8) | 'E')
377385#define PSERIES_ELOG_SECT_ID_MANUFACT_INFO (('M' << 8) | 'I')
378386#define PSERIES_ELOG_SECT_ID_CALL_HOME (('C' << 8) | 'H')
379387#define PSERIES_ELOG_SECT_ID_USER_DEF (('U' << 8) | 'D')
@@ -519,6 +527,7 @@ extern struct mutex rtas_ibm_get_indices_lock;
519527extern struct mutex rtas_ibm_set_dynamic_indicator_lock ;
520528extern struct mutex rtas_ibm_get_dynamic_sensor_state_lock ;
521529extern struct mutex rtas_ibm_physical_attestation_lock ;
530+ extern struct mutex rtas_ibm_send_hvpipe_msg_lock ;
522531
523532#define GLOBAL_INTERRUPT_QUEUE 9005
524533
0 commit comments