iPXE
|
#include "../../mlx_lib/mlx_nvconfig/mlx_nvconfig.h"
#include "../../include/public/mlx_memory.h"
#include "../../include/public/mlx_bail.h"
Go to the source code of this file.
Macros | |
#define | TlvMappingEntry(_tlv_type, _real_tlv_type, _class_code, _fw_reset_needed) |
#define | WARM_REBOOT_RESET ((mlx_uint64)0x1 << 38) |
Functions | |
FILE_LICENCE (GPL2_OR_LATER) | |
static mlx_status | nvconfig_set_fw_reset_level (IN mlx_utils *utils, IN mlx_uint16 tlv_type) |
static mlx_status | nvconfig_get_tlv_type_and_class (IN mlx_uint16 tlv_type, OUT mlx_uint16 *real_tlv_type, OUT NVRAM_CLASS_CODE *class_code) |
static void | nvconfig_fill_tlv_type (IN mlx_uint8 port, IN NVRAM_CLASS_CODE class_code, IN mlx_uint16 tlv_type, OUT union nvconfig_tlv_type *nvconfig_tlv_type) |
mlx_status | nvconfig_query_capability (IN mlx_utils *utils, IN mlx_uint8 port, IN mlx_uint16 tlv_type, OUT mlx_boolean *read_supported, OUT mlx_boolean *write_supported) |
mlx_status | nvconfig_nvdata_invalidate (IN mlx_utils *utils, IN mlx_uint8 port, IN mlx_uint16 tlv_type) |
mlx_status | nvconfig_nvdata_access (IN mlx_utils *utils, IN mlx_uint8 port, IN mlx_uint16 tlv_type, IN REG_ACCESS_OPT opt, IN mlx_size data_size, IN NV_DEFAULT_OPT def_en, IN NVDA_WRITER_ID writer_id, IN OUT mlx_uint8 *version, IN OUT mlx_void *data) |
Variables | |
struct nvconfig_tlv_mapping | nvconfig_tlv_mapping [] |
#define TlvMappingEntry | ( | _tlv_type, | |
_real_tlv_type, | |||
_class_code, | |||
_fw_reset_needed | |||
) |
Definition at line 26 of file mlx_nvconfig.c.
#define WARM_REBOOT_RESET ((mlx_uint64)0x1 << 38) |
FILE_LICENCE | ( | GPL2_OR_LATER | ) |
|
static |
Definition at line 75 of file mlx_nvconfig.c.
References FALSE, nvconfig_tlv_mapping::fw_reset_needed, index, MLX_CHECK_STATUS, MLX_DEBUG_ERROR, MLX_FAILED, mlx_reg_access(), MLX_SUCCESS, REG_ACCESS_WRITE, REG_ID_MFRL, status, nvconfig_tlv_mapping::tlv_type, and WARM_REBOOT_RESET.
Referenced by nvconfig_nvdata_access().
|
static |
Definition at line 113 of file mlx_nvconfig.c.
References nvconfig_tlv_mapping::class_code, index, MLX_NOT_FOUND, MLX_SUCCESS, nvconfig_tlv_mapping::real_tlv_type, and nvconfig_tlv_mapping::tlv_type.
Referenced by nvconfig_nvdata_access(), nvconfig_nvdata_invalidate(), and nvconfig_query_capability().
|
static |
Definition at line 131 of file mlx_nvconfig.c.
References nvconfig_tlv_mapping::class_code, nvconfig_tlv_type::global, NVRAM_TLV_CLASS_GLOBAL, NVRAM_TLV_CLASS_HOST, NVRAM_TLV_CLASS_PHYSICAL_PORT, nvconfig_tlv_type_per_port::param_class, nvconfig_tlv_type_per_host::param_class, nvconfig_tlv_type_global::param_class, nvconfig_tlv_type_per_port::param_idx, nvconfig_tlv_type_per_host::param_idx, nvconfig_tlv_type_global::param_idx, nvconfig_tlv_type::per_host, nvconfig_tlv_type::per_port, port, nvconfig_tlv_type_per_port::port, and nvconfig_tlv_mapping::tlv_type.
Referenced by nvconfig_nvdata_access(), nvconfig_nvdata_invalidate(), and nvconfig_query_capability().
mlx_status nvconfig_query_capability | ( | IN mlx_utils * | utils, |
IN mlx_uint8 | port, | ||
IN mlx_uint16 | tlv_type, | ||
OUT mlx_boolean * | read_supported, | ||
OUT mlx_boolean * | write_supported | ||
) |
Definition at line 155 of file mlx_nvconfig.c.
References MLX_CHECK_STATUS, MLX_DEBUG_ERROR, MLX_FAILED, MLX_INVALID_PARAMETER, mlx_memory_set(), mlx_reg_access(), MLX_SUCCESS, NULL, nvconfig_fill_tlv_type(), nvconfig_get_tlv_type_and_class(), port, REG_ACCESS_READ, REG_ID_NVQC, status, nvconfig_nvqc::support_rd, nvconfig_nvqc::support_wr, and nvconfig_nvqc::tlv_type.
mlx_status nvconfig_nvdata_invalidate | ( | IN mlx_utils * | utils, |
IN mlx_uint8 | port, | ||
IN mlx_uint16 | tlv_type | ||
) |
Definition at line 197 of file mlx_nvconfig.c.
References MLX_CHECK_STATUS, MLX_DEBUG_ERROR, MLX_FAILED, MLX_INVALID_PARAMETER, mlx_memory_set(), mlx_reg_access(), MLX_SUCCESS, NULL, nvconfig_fill_tlv_type(), nvconfig_get_tlv_type_and_class(), port, REG_ACCESS_WRITE, REG_ID_NVDI, status, and nvconfig_header::tlv_type.
mlx_status nvconfig_nvdata_access | ( | IN mlx_utils * | utils, |
IN mlx_uint8 | port, | ||
IN mlx_uint16 | tlv_type, | ||
IN REG_ACCESS_OPT | opt, | ||
IN mlx_size | data_size, | ||
IN NV_DEFAULT_OPT | def_en, | ||
IN NVDA_WRITER_ID | writer_id, | ||
IN OUT mlx_uint8 * | version, | ||
IN OUT mlx_void * | data | ||
) |
Definition at line 235 of file mlx_nvconfig.c.
References nvconfig_header::access_mode, data, nvconfig_nvda::data, index, nvconfig_header::length, MLX_CHECK_STATUS, MLX_DEBUG_ERROR, MLX_FAILED, MLX_INVALID_PARAMETER, mlx_memory_be32_to_cpu(), mlx_memory_cpu_to_be32(), mlx_memory_cpy(), mlx_memory_set(), mlx_reg_access(), MLX_SUCCESS, NULL, nvconfig_nvda::nv_header, nvconfig_fill_tlv_type(), nvconfig_get_tlv_type_and_class(), NVCONFIG_MAX_TLV_SIZE, nvconfig_set_fw_reset_level(), port, REG_ACCESS_READ, REG_ID_NVDA, status, nvconfig_header::tlv_type, nvconfig_header::version, version, and nvconfig_header::writer_id.
Referenced by nvconfig_nvdata_default_access(), and nvconfig_read_rom_ini_values().
struct nvconfig_tlv_mapping nvconfig_tlv_mapping[] |
Definition at line 33 of file mlx_nvconfig.c.