1 #include "libpldm/state_set_oem_ibm.h" 2 3 #include <libpldm/entity.h> 4 #include <libpldm/entity_oem_ibm.h> 5 6 /** @brief PLDM OEM IBM Code Update possible state set values 7 */ 8 enum pldm_oem_ibm_cu_state_set_values 9 { 10 OEM_IBM_STATE_SET_CU_START = 1, 11 OEM_IBM_STATE_SET_CU_END = 2, 12 OEM_IBM_STATE_SET_CU_FAIL = 3, 13 OEM_IBM_STATE_SET_CU_ABORT = 4, 14 OEM_IBM_STATE_SET_CU_ACCEPT = 5, 15 OEM_IBM_STATE_SET_CU_REJECT = 6, 16 }; 17 18 /** @brief PLDM OEM IBM Verification possible state set values 19 */ 20 enum pldm_oem_ibm_verification_state_set_values 21 { 22 OEM_IBM_STATE_SET_VERFICATION_VALID = 0, 23 OEM_IBM_STATE_SET_VERFICATION_ENTITLEMENT_FAIL = 1, 24 OEM_IBM_STATE_SET_VERFICATION_BANNED_PLATFORM_FAIL = 2, 25 OEM_IBM_STATE_SET_VERFICATION_MIN_MIF_FAIL = 4, 26 }; 27 28 /** @brief PLDM OEM IBM system power state possible state set values 29 */ 30 enum pldm_oem_ibm_sys_power_state_set_values 31 { 32 OEM_IBM_STATE_SET_SYS_PWR_STATE_RECYCLE_HARD = 1, 33 }; 34 35 /** @brief PLDM OEM IBM boot state possible state set values 36 */ 37 enum pldm_oem_ibm_boot_state_set_values 38 { 39 OEM_IBM_STATE_SET_BOOT_STATE_P_SIDE = 1, 40 OEM_IBM_STATE_SET_BOOT_STATE_T_SIDE = 2, 41 }; 42 43 /** @brief Map for PLDM OEM IBM Entity Types 44 */ 45 extern const std::map<uint8_t, std::string> OemIBMEntityType{ 46 {PLDM_OEM_IBM_ENTITY_FIRMWARE_UPDATE, "OEM IBM Firmware Update"}, 47 {PLDM_OEM_IBM_ENTITY_TPM, "OEM IBM Trusted Platform Module"}}; 48 49 /** @brief Map for PLDM OEM IBM State Sets 50 */ 51 extern const std::map<uint16_t, std::string> OemIBMstateSet{ 52 {PLDM_OEM_IBM_FIRMWARE_UPDATE_STATE, "OEM IBM Firmware Update State"}, 53 {PLDM_OEM_IBM_BOOT_STATE, "OEM IBM Boot State"}, 54 {PLDM_OEM_IBM_VERIFICATION_STATE, "OEM IBM Verification State"}, 55 {PLDM_OEM_IBM_SYSTEM_POWER_STATE, "OEM IBM System Power State"}}; 56 57 /** @brief Map for PLDM OEM IBM firmware update possible state values 58 */ 59 extern const std::map<uint8_t, std::string> SetOemIBMFWUpdateStateValues{ 60 {OEM_IBM_STATE_SET_CU_START, "Start"}, 61 {OEM_IBM_STATE_SET_CU_END, "End"}, 62 {OEM_IBM_STATE_SET_CU_FAIL, "Fail"}, 63 {OEM_IBM_STATE_SET_CU_ABORT, "Abort"}, 64 {OEM_IBM_STATE_SET_CU_ACCEPT, "Accept"}, 65 {OEM_IBM_STATE_SET_CU_REJECT, "Reject"}}; 66 67 /** @brief Map for PLDM OEM IBM verification state possible state values 68 */ 69 extern const std::map<uint8_t, std::string> SetOemIBMVerStateValues{ 70 {OEM_IBM_STATE_SET_VERFICATION_VALID, "Valid"}, 71 {OEM_IBM_STATE_SET_VERFICATION_ENTITLEMENT_FAIL, "Entitlement Fail"}, 72 {OEM_IBM_STATE_SET_VERFICATION_BANNED_PLATFORM_FAIL, 73 "Banned Platform Fail"}, 74 {OEM_IBM_STATE_SET_VERFICATION_MIN_MIF_FAIL, "Minimum MIF Fail"}}; 75 76 /** @brief Map for PLDM OEM IBM systerm power state possible state values 77 */ 78 extern const std::map<uint8_t, std::string> SetOemIBMSysPowerStatesValues{ 79 {OEM_IBM_STATE_SET_SYS_PWR_STATE_RECYCLE_HARD, "Power Cycle Hard"}}; 80 81 /** @brief Map for PLDM OEM IBM boot state possible state values 82 */ 83 extern const std::map<uint8_t, std::string> SetOemIBMBootStateValues{ 84 {OEM_IBM_STATE_SET_BOOT_STATE_P_SIDE, "P Side"}, 85 {OEM_IBM_STATE_SET_BOOT_STATE_T_SIDE, "T side"}}; 86 87 /** @brief Map for populating PLDM OEM IBM state sets with possible state values 88 */ 89 extern const std::map<uint16_t, const std::map<uint8_t, std::string>> 90 populateOemIBMStateMaps{ 91 {PLDM_OEM_IBM_VERIFICATION_STATE, SetOemIBMVerStateValues}, 92 {PLDM_OEM_IBM_SYSTEM_POWER_STATE, SetOemIBMSysPowerStatesValues}, 93 {PLDM_OEM_IBM_BOOT_STATE, SetOemIBMBootStateValues}, 94 {PLDM_OEM_IBM_FIRMWARE_UPDATE_STATE, SetOemIBMFWUpdateStateValues}, 95 }; 96