summaryrefslogtreecommitdiffstats
path: root/src/include/usr/sbeio
diff options
context:
space:
mode:
authorcrgeddes <crgeddes@us.ibm.com>2016-10-12 10:25:35 -0500
committerMatthew A. Ploetz <maploetz@us.ibm.com>2016-10-19 11:39:47 -0400
commit57e83ceb340b9cfb81205eef3d64f657f3636a38 (patch)
tree552d89262c1665c5eafaf676b73d72a247536189 /src/include/usr/sbeio
parent1495fc95c7075fb68d520939b93df7ec4ab35954 (diff)
downloadblackbird-hostboot-57e83ceb340b9cfb81205eef3d64f657f3636a38.tar.gz
blackbird-hostboot-57e83ceb340b9cfb81205eef3d64f657f3636a38.zip
Add infrastructure for sending setSystemConfig cmd to SBE
The SBE needs to know about other PROCs in the sytem. To do this we are sending a 64 bit string that encodes the system configuration down to the SBE at the end of the IPL. This commit just sets up some of the infrastructure that will be needed to send the message. Change-Id: I1a4dfb4e54e043d94697fa809acf1eee8ba9f726 RTC: 160666 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/31069 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com> Reviewed-by: Matthew A. Ploetz <maploetz@us.ibm.com>
Diffstat (limited to 'src/include/usr/sbeio')
-rw-r--r--src/include/usr/sbeio/sbe_psudd.H66
1 files changed, 58 insertions, 8 deletions
diff --git a/src/include/usr/sbeio/sbe_psudd.H b/src/include/usr/sbeio/sbe_psudd.H
index 19182408a..fbdd51008 100644
--- a/src/include/usr/sbeio/sbe_psudd.H
+++ b/src/include/usr/sbeio/sbe_psudd.H
@@ -51,33 +51,43 @@ namespace SBEIO
// BYTE 6 options
enum psuCommandClass
{
- SBE_PSU_CLASS_UNKNOWN = 0,
- SBE_PSU_CLASS_CORE_STATE = 0xD1,
- SBE_PSU_PUT_RING_FROM_IMAGE_CMD = 0xD3
+ SBE_PSU_CLASS_UNKNOWN = 0,
+ SBE_PSU_CLASS_CORE_STATE = 0xD1,
+ SBE_PSU_PUT_RING_FROM_IMAGE_CMD = 0xD3,
+ SBE_PSU_GENERIC_MESSAGE = 0xD7
};
/**
* @brief enums for SBE core state control commands
*/
-
// BYTE 7 options
enum psuCoreStateControlCommands
{
- SBE_CMD_CONTROL_DEADMAN_LOOP = 0x01,
+ SBE_CMD_CONTROL_DEADMAN_LOOP = 0x01,
};
/**
* @brief enums for SBEPutRing From Image message commands
*/
- // BYTE 7 options
+ // BYTE 7 options
enum putRingCommandFromImageCommands
{
- SBE_CMD_CONTROL_PUTRING = 0x01
+ SBE_CMD_CONTROL_PUTRING = 0x01
};
+
/**
- * @brief enums for SBE core state control commands
+ * @brief enums for SBE generic message commands
+ */
+ //BYTE 7 options
+ enum psuGenericMessageCommands
+ {
+ SBE_CMD_CONTROL_SYSTEM_CONFIG = 0x06
+ };
+
+ /**
+ * @brief enums for SBE core state control flags
*/
//BYTE 2 & 3, Control Flags
enum psuDeadManControlFlags
@@ -89,6 +99,16 @@ namespace SBEIO
};
/**
+ * @brief enums for SBE system config control flags
+ */
+ //BYTE 2 & 3, Control Flags
+ enum psuSystemConfigControlFlags
+ {
+ SBE_REQUIRE_RESPONSE = 0x0100,
+ SBE_REQUIRE_ACK = 0x0200,
+ };
+
+ /**
* @brief non reserved word enums
*
* Shows which of the request and response msg registers are
@@ -110,6 +130,25 @@ namespace SBEIO
};
/**
+ * @brief non reserved word enums
+ *
+ * Shows which of the request and response msg registers are
+ * not reserved. Reserved registers do not need to be written
+ * or read.
+ *
+ * This is a 4 bit field:
+ * 0x1 - Reg 0 is non-reserved (read or write this reg)
+ * 0x2 - Reg 1 is non-reserved (read or write this reg)
+ * 0x4 - Reg 2 is non-reserved (read or write this reg)
+ * 0x8 - Reg 3 is non-reserved (read or write this reg)
+ */
+ enum psuSystemConfigNonReservedMsgs
+ {
+ SBE_SYSTEM_CONFIG_REQ_USED_REGS = 0x03,
+ SBE_SYSTEM_CONFIG_RSP_USED_REGS = 0x01,
+ };
+
+ /**
* @brief Struct for PSU command message format
*
*/
@@ -168,6 +207,17 @@ namespace SBEIO
uint64_t cd1_ControlDeadmanLoop_MbxReg2reserved;
uint64_t cd1_ControlDeadmanLoop_MbxReg3reserved;
} PACKED;
+ struct //setSystemConfig
+ {
+ uint16_t cd2_SetSystemConfig_Reserved;
+ uint16_t cd2_SetSystemConfig_ControlFlags;
+ uint16_t cd2_SetSystemConfig_SeqID;
+ uint8_t cd2_SetSystemConfig_CommandClass;
+ uint8_t cd2_SetSystemConfig_Command;
+ uint64_t cd2_SetSystemConfig_SystemFabricIdMap ;
+ uint64_t cd2_SetSystemConfig_MbxReg2reserved;
+ uint64_t cd2_SetSystemConfig_MbxReg3reserved;
+ } PACKED;
struct //for 'Put Ring from Image' message
{
OpenPOWER on IntegriCloud