diff options
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/runtime/generic_hbrt_fsp_message.H | 42 | ||||
| -rw-r--r-- | src/include/usr/mbox/mbox_queues.H | 1 |
2 files changed, 43 insertions, 0 deletions
diff --git a/src/include/runtime/generic_hbrt_fsp_message.H b/src/include/runtime/generic_hbrt_fsp_message.H index 01c972880..6daff3cc2 100644 --- a/src/include/runtime/generic_hbrt_fsp_message.H +++ b/src/include/runtime/generic_hbrt_fsp_message.H @@ -36,6 +36,9 @@ * FSP/HWSV team to send and receive data. */ +// Sentinel value for bad SCOM reads +#define DEADBEEF 0xDEADBEEF + /** * This generates a sequence ID that the GenericFspMboxMessage_t * consumes. @@ -64,6 +67,43 @@ struct TargetDeconfigHbrtFspData_t /** + * This struct contains the message-specific data for + * MSG_SINGLE_SCOM_OP calls to the FSP. + * It shows the format of GenericFspMboxMessage_t.data. + */ +struct SingleScomOpHbrtFspData_t +{ + uint8_t scom_op; // 0 == read, 1 == write + uint32_t huid; // hardware target + uint64_t scom_addr; + uint64_t scom_data; // SCOM value read by FSP, or + // SCOM value to be written by FSP +} PACKED; + + +/** + * This struct contains the message-specific data for + * MSG_MULTI_SCOM_OP calls to the FSP. + * It shows the format of GenericFspMboxMessage_t.data. + */ +struct MultiScomReadHbrtFspData_t +{ + uint32_t huid; // hardware target + uint8_t scom_num; // number of SCOMs to read + uint64_t scom_data; // addresses of SCOMs to read, or + // values of SCOMs in FSP response + // ** if a SCOM cannot be read, its value ** + // ** should be returned as DEADBEEF ** + // + // placeholder that can be cast to an array + // of values (or addresses) + // uint64_t* mydata = + // (uint64_t*)&(l_generic_msg.data); + // more than 8 bytes of data is possible +} PACKED; + + +/** * A useful struct to access the PLID from GenericFspMboxMessage_t.data * in the case where the FSP is requesting Hostboot to restart a SBE */ @@ -147,6 +187,8 @@ struct GenericFspMboxMessage_t MSG_TOD_BACKUP_RESET_INFORM_PHYP = 0x0002, MSG_TOD_TOPOLOGY_DATA = 0x0003, MSG_DECONFIG_TARGET = 0x0004, + MSG_SINGLE_SCOM_OP = 0x0005, + MSG_MULTI_SCOM_OP = 0x0006, MSG_ATTR_SYNC_REQUEST = 0x000000A5, MSG_SBE_ERROR = 0x000000D4, MSG_SBE_RECOVERY_SUCCESS = 0x000000D5, diff --git a/src/include/usr/mbox/mbox_queues.H b/src/include/usr/mbox/mbox_queues.H index df153092c..882aad2b4 100644 --- a/src/include/usr/mbox/mbox_queues.H +++ b/src/include/usr/mbox/mbox_queues.H @@ -79,6 +79,7 @@ namespace MBOX FSP_TOD_MSGQ = 0x8000000E, FSP_SBE_SYNC_MSGQ_ID = 0x8000000F, FSP_TARG_DECONFIG_MSGQ = 0x80000010, + FSP_SCOM_OPS_MSGQ = 0x80000011, FSP_LID_MSGQ = FSP_ATTR_SYNC_MSGQ, |

