1a2d52f12SVijay Khemka /* 2a2d52f12SVijay Khemka * Copyright (c) 2018-present Facebook. All Rights Reserved. 3a2d52f12SVijay Khemka * 4a2d52f12SVijay Khemka * Licensed under the Apache License, Version 2.0 (the "License"); 5a2d52f12SVijay Khemka * you may not use this file except in compliance with the License. 6a2d52f12SVijay Khemka * You may obtain a copy of the License at 7a2d52f12SVijay Khemka * 8a2d52f12SVijay Khemka * http://www.apache.org/licenses/LICENSE-2.0 9a2d52f12SVijay Khemka * 10a2d52f12SVijay Khemka * Unless required by applicable law or agreed to in writing, software 11a2d52f12SVijay Khemka * distributed under the License is distributed on an "AS IS" BASIS, 12a2d52f12SVijay Khemka * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13a2d52f12SVijay Khemka * See the License for the specific language governing permissions and 14a2d52f12SVijay Khemka * limitations under the License. 15a2d52f12SVijay Khemka */ 16a2d52f12SVijay Khemka 17a2d52f12SVijay Khemka #pragma once 18a2d52f12SVijay Khemka 19a2d52f12SVijay Khemka enum fb_app_cmds 20a2d52f12SVijay Khemka { 21666a4d95SVijay Khemka CMD_APP_GET_SELFTEST_RESULTS = 0x04, 22666a4d95SVijay Khemka CMD_APP_MFR_TEST_ON = 0x05, 23a2d52f12SVijay Khemka CMD_APP_SET_ACPI = 0x06, 24a2d52f12SVijay Khemka CMD_APP_GET_ACPI = 0x07, 25a2d52f12SVijay Khemka CMD_APP_GET_DEV_GUID = 0x08, 26a2d52f12SVijay Khemka CMD_APP_SET_GLOBAL_ENABLES = 0x2E, 27a2d52f12SVijay Khemka CMD_APP_GET_GLOBAL_ENABLES = 0x2F, 28666a4d95SVijay Khemka CMD_APP_CLEAR_MESSAGE_FLAGS = 0x30, 29a2d52f12SVijay Khemka CMD_APP_GET_SYS_GUID = 0x37, 30666a4d95SVijay Khemka CMD_APP_SET_SYS_INFO_PARAMS = 0x58, 31666a4d95SVijay Khemka CMD_APP_GET_SYS_INFO_PARAMS = 0x59, 32a2d52f12SVijay Khemka 33a2d52f12SVijay Khemka }; 34666a4d95SVijay Khemka 35666a4d95SVijay Khemka #define SIZE_SYSFW_VER 17 36666a4d95SVijay Khemka #define SIZE_SYS_NAME 17 37666a4d95SVijay Khemka #define SIZE_OS_NAME 17 38666a4d95SVijay Khemka #define SIZE_OS_VER 17 39666a4d95SVijay Khemka #define SIZE_BMC_URL 17 40666a4d95SVijay Khemka #define SIZE_OS_HV_URL 17 41666a4d95SVijay Khemka #define SIZE_BIOS_CURRENT_BOOT_LIST 250 42666a4d95SVijay Khemka #define SIZE_BIOS_FIXED_BOOT_DEVICE 1 43666a4d95SVijay Khemka #define SIZE_BIOS_RSTR_DFLT_SETTING 1 44666a4d95SVijay Khemka #define SIZE_LAST_BOOT_TIME 4 45666a4d95SVijay Khemka #define SIZE_PCIE_PORT_CONFIG 2 46666a4d95SVijay Khemka 47*b48d6839SPeter Yin #define JSON_APP_DATA_FILE "/var/lib/fb-ipmi-oem/appData.json" 48666a4d95SVijay Khemka #define KEY_SYSFW_VER "sysfw_ver_server" 49666a4d95SVijay Khemka #define KEY_BIOS_BOOT_LEN "bios_boot_list_len" 50666a4d95SVijay Khemka 51666a4d95SVijay Khemka // System Info Parameters (IPMI/Table 22-16c) 52666a4d95SVijay Khemka enum SysInfoParams 53666a4d95SVijay Khemka { 54666a4d95SVijay Khemka SYS_INFO_PARAM_SET_IN_PROG, 55666a4d95SVijay Khemka SYS_INFO_PARAM_SYSFW_VER, 56666a4d95SVijay Khemka SYS_INFO_PARAM_SYS_NAME, 57666a4d95SVijay Khemka SYS_INFO_PARAM_PRI_OS_NAME, 58666a4d95SVijay Khemka SYS_INFO_PARAM_PRESENT_OS_NAME, 59666a4d95SVijay Khemka SYS_INFO_PARAM_PRESENT_OS_VER, 60666a4d95SVijay Khemka SYS_INFO_PARAM_BMC_URL, 61666a4d95SVijay Khemka SYS_INFO_PARAM_OS_HV_URL, 62666a4d95SVijay Khemka SYS_INFO_PARAM_BIOS_CURRENT_BOOT_LIST = 0xC1, 63666a4d95SVijay Khemka SYS_INFO_PARAM_BIOS_FIXED_BOOT_DEVICE = 0xC2, 64666a4d95SVijay Khemka SYS_INFO_PARAM_BIOS_RSTR_DFLT_SETTING = 0xC3, 65666a4d95SVijay Khemka SYS_INFO_PARAM_LAST_BOOT_TIME = 0xC4, 66666a4d95SVijay Khemka }; 67666a4d95SVijay Khemka 68666a4d95SVijay Khemka // Structure for System Info Params (IPMI/Section 22.14a) 69666a4d95SVijay Khemka struct SysInfoParam 70666a4d95SVijay Khemka { 71666a4d95SVijay Khemka uint8_t set_in_prog; 72666a4d95SVijay Khemka uint8_t sysfw_ver[SIZE_SYSFW_VER]; 73666a4d95SVijay Khemka uint8_t sys_name[SIZE_SYS_NAME]; 74666a4d95SVijay Khemka uint8_t pri_os_name[SIZE_OS_NAME]; 75666a4d95SVijay Khemka uint8_t present_os_name[SIZE_OS_NAME]; 76666a4d95SVijay Khemka uint8_t present_os_ver[SIZE_OS_VER]; 77666a4d95SVijay Khemka uint8_t bmc_url[SIZE_BMC_URL]; 78666a4d95SVijay Khemka uint8_t os_hv_url[SIZE_OS_HV_URL]; 79666a4d95SVijay Khemka uint8_t bios_current_boot_list[SIZE_BIOS_CURRENT_BOOT_LIST]; 80666a4d95SVijay Khemka uint8_t bios_fixed_boot_device[SIZE_BIOS_FIXED_BOOT_DEVICE]; 81666a4d95SVijay Khemka uint8_t bios_rstr_dflt_setting[SIZE_BIOS_RSTR_DFLT_SETTING]; 82666a4d95SVijay Khemka uint8_t last_boot_time[SIZE_LAST_BOOT_TIME]; 83666a4d95SVijay Khemka 84666a4d95SVijay Khemka } __attribute__((packed)); 85