blob: d69e2fc8bee3ca38a7db6287718a2a27d1132683 [file] [log] [blame]
Eddie Jamescc5c22d2021-11-18 11:38:05 -06001#include "oem/ibm/libpldm/state_set_oem_ibm.h"
Pavithra Barithayaa2b964f2021-10-06 07:46:19 -05002
Brad Bishop869b7762021-12-03 13:56:23 -05003#include <libpldm/entity.h>
Brad Bishop27403f42021-12-01 21:37:44 -05004#include <libpldm/entity_oem_ibm.h>
Brad Bishop869b7762021-12-03 13:56:23 -05005
Sridevi Rameshdcdcd3b2021-06-15 04:06:49 -05006/** @brief PLDM OEM IBM Code Update possible state set values
7 */
8enum 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 */
20enum 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 */
30enum 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 */
37enum 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 */
45extern const std::map<uint8_t, std::string> OemIBMEntityType{
Brad Bishop27403f42021-12-01 21:37:44 -050046 {PLDM_OEM_IBM_ENTITY_FIRMWARE_UPDATE, "OEM IBM Firmware Update"},
Manojkiran Eda8fadc9e2022-01-03 12:42:19 +053047 {PLDM_OEM_IBM_ENTITY_TPM, "OEM IBM Trusted Platform Module"}};
Sridevi Rameshdcdcd3b2021-06-15 04:06:49 -050048
49/** @brief Map for PLDM OEM IBM State Sets
50 */
51extern 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"},
Pavithra Barithayaa2b964f2021-10-06 07:46:19 -050054 {PLDM_OEM_IBM_VERIFICATION_STATE, "OEM IBM Verification State"},
Sridevi Rameshdcdcd3b2021-06-15 04:06:49 -050055 {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 */
59extern 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 */
69extern 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 */
78extern 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 */
83extern 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 */
89extern const std::map<uint16_t, const std::map<uint8_t, std::string>>
90 populateOemIBMStateMaps{
Pavithra Barithayaa2b964f2021-10-06 07:46:19 -050091 {PLDM_OEM_IBM_VERIFICATION_STATE, SetOemIBMVerStateValues},
Sridevi Rameshdcdcd3b2021-06-15 04:06:49 -050092 {PLDM_OEM_IBM_SYSTEM_POWER_STATE, SetOemIBMSysPowerStatesValues},
93 {PLDM_OEM_IBM_BOOT_STATE, SetOemIBMBootStateValues},
94 {PLDM_OEM_IBM_FIRMWARE_UPDATE_STATE, SetOemIBMFWUpdateStateValues},
95 };