26#define MONITOR_THREAD_STACK_SIZE 1024
28#define NCSI_PAYLOAD_LENGTH_MAX 0xFFF
29#define NCSI_PAYLOAD_LENGTH_LOW_MASK 0xFF
30#define NCSI_PAYLOAD_LENGTH_HIGH_MASK 0xF00
31#define NCSI_CHECHSUM_LENGTH 4
81 uint8_t header_revision;
94 uint8_t payload_length_high : 4;
95 uint8_t reserved_2 : 4;
96 uint8_t payload_length_low;
uint16_t mctp_ncsi_read(void *mctp_p, ncsi_msg *msg, uint8_t *rbuf, uint16_t rbuf_len)
ncsi_reason_codes
Definition: ncsi.h:45
@ NCSI_INFORMATION_NOT_AVAILABLE
Definition: ncsi.h:52
@ NCSI_COMMAND_TIMEOUT
Definition: ncsi.h:55
@ NCSI_CHANNEL_NOT_READY
Definition: ncsi.h:49
@ NCSI_INVALID_PAYLOAD_LENGTH
Definition: ncsi.h:51
@ NCSI_SECONDARY_DEVICE_NOT_POWERED
Definition: ncsi.h:56
@ NCSI_PACKAGE_NOT_READY
Definition: ncsi.h:50
@ NCSI_UNSUPPORTED_COMMAND_TYPE
Definition: ncsi.h:57
@ NCSI_NO_ERROR
Definition: ncsi.h:46
@ NCSI_INTERVENTION_REQUIRED
Definition: ncsi.h:53
@ NCSI_PARAMETER_IS_INVALID
Definition: ncsi.h:48
@ NCSI_LINK_COMMANDS_FAILED_HARDWARE_ACCESS_ERROR
Definition: ncsi.h:54
@ NCSI_INTERFACE_INITIALIZAION_REQUIRED
Definition: ncsi.h:47
#define MONITOR_THREAD_STACK_SIZE
Definition: ncsi.h:26
ncsi_command_rq
Definition: ncsi.h:66
@ NCSI_COMMAND_RESPONSE
Definition: ncsi.h:68
@ NCSI_COMMAND_REQUEST
Definition: ncsi.h:67
uint8_t mctp_ncsi_cmd_handler(void *mctp_p, uint8_t *buf, uint32_t len, mctp_ext_params ext_params)
struct _ncsi_msg ncsi_msg
ncsi_command_codes
Definition: ncsi.h:60
@ NCSI_COMMAND_GET_INFINIBAND_LINK_STATUS
Definition: ncsi.h:62
@ NCSI_COMMAND_CLEAR_INITIAL_STATE
Definition: ncsi.h:61
@ NCSI_COMMAND_OEM
Definition: ncsi.h:63
infiniband_link_status_link_type
Definition: ncsi.h:71
@ NCSI_IB_LINK_TYPE_ETHERNET
Definition: ncsi.h:72
@ NCSI_IB_LINK_TYPE_UNKNOWN
Definition: ncsi.h:74
@ NCSI_IB_LINK_TYPE_INFINIBAND
Definition: ncsi.h:73
ncsi_response_codes
Definition: ncsi.h:37
@ NCSI_COMMAND_FAILED
Definition: ncsi.h:39
@ NCSI_DELAYED_RESPONSE
Definition: ncsi.h:42
@ NCSI_COMMAND_COMPLETED
Definition: ncsi.h:38
@ NCSI_COMMAND_UNSUPPORTED
Definition: ncsi.h:41
@ NCSI_COMMAND_UNAVAILABLE
Definition: ncsi.h:40
struct __attribute__((packed))
Definition: ncsi.h:77
uint8_t mctp_ncsi_send_msg(void *mctp_p, ncsi_msg *msg)
ncsi_hdr
Definition: ncsi.h:98
NCSI_CMD
Definition: ncsi.h:33
@ NCSI_OEM
Definition: ncsi.h:34
Definition: pldm_smbios.h:61
uint16_t timeout_ms
Definition: ncsi.h:107
void * recv_resp_cb_args
Definition: ncsi.h:106
mctp_ext_params ext_params
Definition: ncsi.h:104
void(* timeout_cb_fn)(void *)
Definition: ncsi.h:108
void(* recv_resp_cb_fn)(void *, uint8_t *, uint16_t)
Definition: ncsi.h:105
uint16_t len
Definition: ncsi.h:103
uint8_t * buf
Definition: ncsi.h:102
ncsi_hdr hdr
Definition: ncsi.h:101
void * timeout_cb_fn_args
Definition: ncsi.h:109
struct k_mutex wait_send_resp_list_mutex
Definition: ncsi.h:124
void * interface
Definition: ncsi.h:126
sys_slist_t wait_send_resp_list
Definition: ncsi.h:123
struct k_mutex wait_recv_resp_list_mutex
Definition: ncsi.h:120
K_KERNEL_STACK_MEMBER(monitor_thread_stack, MONITOR_THREAD_STACK_SIZE)
uint8_t user_idx
Definition: ncsi.h:127
sys_slist_t wait_recv_resp_list
Definition: ncsi.h:119
struct k_thread thread_data
Definition: ncsi.h:115
k_tid_t monitor_task
Definition: ncsi.h:114
uint32_t checksum
Definition: ncsi.h:132
uint32_t checksum
Definition: ncsi.h:138
uint16_t reason_code
Definition: ncsi.h:137
uint16_t response_code
Definition: ncsi.h:136
uint32_t checksum
Definition: ncsi.h:142
uint8_t ib_link_supported_width
Definition: ncsi.h:149
uint8_t ib_link_active_width
Definition: ncsi.h:148
uint16_t reason_code
Definition: ncsi.h:147
uint8_t reserved2
Definition: ncsi.h:155
uint8_t ib_link_supported_speed
Definition: ncsi.h:156
uint8_t link_type
Definition: ncsi.h:150
uint16_t response_code
Definition: ncsi.h:146
uint8_t log_state
Definition: ncsi.h:151
uint8_t ib_link_active_speed
Definition: ncsi.h:154
uint32_t checksum
Definition: ncsi.h:157
uint8_t reserved1
Definition: ncsi.h:153
uint8_t phys_state
Definition: ncsi.h:152