| Eddie James | cc5c22d | 2021-11-18 11:38:05 -0600 | [diff] [blame] | 1 | #include "oem/ibm/libpldm/state_set_oem_ibm.h" | 
| Pavithra Barithaya | a2b964f | 2021-10-06 07:46:19 -0500 | [diff] [blame] | 2 |  | 
| Sridevi Ramesh | dcdcd3b | 2021-06-15 04:06:49 -0500 | [diff] [blame] | 3 | #include "oem/ibm/libpldmresponder/oem_ibm_handler.hpp" | 
 | 4 |  | 
| Sridevi Ramesh | dcdcd3b | 2021-06-15 04:06:49 -0500 | [diff] [blame] | 5 | /** @brief PLDM OEM State Set range as per DSP0249_1.1.0 specification | 
 | 6 |  */ | 
 | 7 | enum pldm_oem_state_set_id_codes | 
 | 8 | { | 
 | 9 |     PLDM_OEM_STATE_SET_START = 32768, | 
 | 10 |     PLDM_OEM_STATE_SET_END = 65535, | 
 | 11 |  | 
 | 12 | }; | 
 | 13 |  | 
 | 14 | /** @brief PLDM OEM IBM Code Update possible state set values | 
 | 15 |  */ | 
 | 16 | enum pldm_oem_ibm_cu_state_set_values | 
 | 17 | { | 
 | 18 |     OEM_IBM_STATE_SET_CU_START = 1, | 
 | 19 |     OEM_IBM_STATE_SET_CU_END = 2, | 
 | 20 |     OEM_IBM_STATE_SET_CU_FAIL = 3, | 
 | 21 |     OEM_IBM_STATE_SET_CU_ABORT = 4, | 
 | 22 |     OEM_IBM_STATE_SET_CU_ACCEPT = 5, | 
 | 23 |     OEM_IBM_STATE_SET_CU_REJECT = 6, | 
 | 24 | }; | 
 | 25 |  | 
 | 26 | /** @brief PLDM OEM IBM Verification possible state set values | 
 | 27 |  */ | 
 | 28 | enum pldm_oem_ibm_verification_state_set_values | 
 | 29 | { | 
 | 30 |     OEM_IBM_STATE_SET_VERFICATION_VALID = 0, | 
 | 31 |     OEM_IBM_STATE_SET_VERFICATION_ENTITLEMENT_FAIL = 1, | 
 | 32 |     OEM_IBM_STATE_SET_VERFICATION_BANNED_PLATFORM_FAIL = 2, | 
 | 33 |     OEM_IBM_STATE_SET_VERFICATION_MIN_MIF_FAIL = 4, | 
 | 34 | }; | 
 | 35 |  | 
 | 36 | /** @brief PLDM OEM IBM system power state possible state set values | 
 | 37 |  */ | 
 | 38 | enum pldm_oem_ibm_sys_power_state_set_values | 
 | 39 | { | 
 | 40 |     OEM_IBM_STATE_SET_SYS_PWR_STATE_RECYCLE_HARD = 1, | 
 | 41 | }; | 
 | 42 |  | 
 | 43 | /** @brief PLDM OEM IBM boot state possible state set values | 
 | 44 |  */ | 
 | 45 | enum pldm_oem_ibm_boot_state_set_values | 
 | 46 | { | 
 | 47 |     OEM_IBM_STATE_SET_BOOT_STATE_P_SIDE = 1, | 
 | 48 |     OEM_IBM_STATE_SET_BOOT_STATE_T_SIDE = 2, | 
 | 49 | }; | 
 | 50 |  | 
 | 51 | /** @brief Map for PLDM OEM IBM Entity Types | 
 | 52 |  */ | 
 | 53 | extern const std::map<uint8_t, std::string> OemIBMEntityType{ | 
| Brad Bishop | 5079ac4 | 2021-08-19 18:35:06 -0400 | [diff] [blame] | 54 |     {pldm::responder::oem_ibm_platform::PLDM_OEM_IBM_ENTITY_FIRMWARE_UPDATE, | 
 | 55 |      "OEM IBM Firmware Update"}, | 
| Sridevi Ramesh | dcdcd3b | 2021-06-15 04:06:49 -0500 | [diff] [blame] | 56 |     {PLDM_OEM_ENTITY_TYPE_START, "OEM IBM Entity Type Start"}, | 
 | 57 |     {PLDM_OEM_ENTITY_TYPE_END, "OEM IBM Entity Type End"}, | 
 | 58 | }; | 
 | 59 |  | 
 | 60 | /** @brief Map for PLDM OEM IBM State Sets | 
 | 61 |  */ | 
 | 62 | extern const std::map<uint16_t, std::string> OemIBMstateSet{ | 
 | 63 |     {PLDM_OEM_IBM_FIRMWARE_UPDATE_STATE, "OEM IBM Firmware Update State"}, | 
 | 64 |     {PLDM_OEM_IBM_BOOT_STATE, "OEM IBM Boot State"}, | 
| Pavithra Barithaya | a2b964f | 2021-10-06 07:46:19 -0500 | [diff] [blame] | 65 |     {PLDM_OEM_IBM_VERIFICATION_STATE, "OEM IBM Verification State"}, | 
| Sridevi Ramesh | dcdcd3b | 2021-06-15 04:06:49 -0500 | [diff] [blame] | 66 |     {PLDM_OEM_IBM_SYSTEM_POWER_STATE, "OEM IBM System Power State"}}; | 
 | 67 |  | 
 | 68 | /** @brief Map for PLDM OEM IBM firmware update possible state values | 
 | 69 |  */ | 
 | 70 | extern const std::map<uint8_t, std::string> SetOemIBMFWUpdateStateValues{ | 
 | 71 |     {OEM_IBM_STATE_SET_CU_START, "Start"}, | 
 | 72 |     {OEM_IBM_STATE_SET_CU_END, "End"}, | 
 | 73 |     {OEM_IBM_STATE_SET_CU_FAIL, "Fail"}, | 
 | 74 |     {OEM_IBM_STATE_SET_CU_ABORT, "Abort"}, | 
 | 75 |     {OEM_IBM_STATE_SET_CU_ACCEPT, "Accept"}, | 
 | 76 |     {OEM_IBM_STATE_SET_CU_REJECT, "Reject"}}; | 
 | 77 |  | 
 | 78 | /** @brief Map for PLDM OEM IBM verification state possible state values | 
 | 79 |  */ | 
 | 80 | extern const std::map<uint8_t, std::string> SetOemIBMVerStateValues{ | 
 | 81 |     {OEM_IBM_STATE_SET_VERFICATION_VALID, "Valid"}, | 
 | 82 |     {OEM_IBM_STATE_SET_VERFICATION_ENTITLEMENT_FAIL, "Entitlement Fail"}, | 
 | 83 |     {OEM_IBM_STATE_SET_VERFICATION_BANNED_PLATFORM_FAIL, | 
 | 84 |      "Banned Platform Fail"}, | 
 | 85 |     {OEM_IBM_STATE_SET_VERFICATION_MIN_MIF_FAIL, "Minimum MIF Fail"}}; | 
 | 86 |  | 
 | 87 | /** @brief Map for PLDM OEM IBM systerm power state possible state values | 
 | 88 |  */ | 
 | 89 | extern const std::map<uint8_t, std::string> SetOemIBMSysPowerStatesValues{ | 
 | 90 |     {OEM_IBM_STATE_SET_SYS_PWR_STATE_RECYCLE_HARD, "Power Cycle Hard"}}; | 
 | 91 |  | 
 | 92 | /** @brief Map for PLDM OEM IBM boot state possible state values | 
 | 93 |  */ | 
 | 94 | extern const std::map<uint8_t, std::string> SetOemIBMBootStateValues{ | 
 | 95 |     {OEM_IBM_STATE_SET_BOOT_STATE_P_SIDE, "P Side"}, | 
 | 96 |     {OEM_IBM_STATE_SET_BOOT_STATE_T_SIDE, "T side"}}; | 
 | 97 |  | 
 | 98 | /** @brief Map for populating PLDM OEM IBM state sets with possible state values | 
 | 99 |  */ | 
 | 100 | extern const std::map<uint16_t, const std::map<uint8_t, std::string>> | 
 | 101 |     populateOemIBMStateMaps{ | 
| Pavithra Barithaya | a2b964f | 2021-10-06 07:46:19 -0500 | [diff] [blame] | 102 |         {PLDM_OEM_IBM_VERIFICATION_STATE, SetOemIBMVerStateValues}, | 
| Sridevi Ramesh | dcdcd3b | 2021-06-15 04:06:49 -0500 | [diff] [blame] | 103 |         {PLDM_OEM_IBM_SYSTEM_POWER_STATE, SetOemIBMSysPowerStatesValues}, | 
 | 104 |         {PLDM_OEM_IBM_BOOT_STATE, SetOemIBMBootStateValues}, | 
 | 105 |         {PLDM_OEM_IBM_FIRMWARE_UPDATE_STATE, SetOemIBMFWUpdateStateValues}, | 
 | 106 |     }; |