dsmi_get_component_list
Prototype
int dsmi_get_component_list(int device_id, DSMI_COMPONENT_TYPE *component_table, unsigned int component_count)
Description
Obtains the upgradable component list.
Before calling this API, call dsmi_get_component_count to obtain the upgradable component count.
For the Ascend 310 AI Processor, this API supports mini modules (EP) and standard PCIe cards.
Parameters
Parameter |
Input/Output |
Description |
---|---|---|
device_id |
Input |
Device ID For the Ascend 310 AI Processor, the value range is 0–63. Obtain the actual device ID by calling dsmi_list_device. |
component_count |
Input |
Component count |
component_table |
Output |
Upgradable component list For Ascend 310 AI Processors, DSMI_COMPONENT_TYPE_NVE, DSMI_COMPONENT_TYPE_XLOADER, DSMI_COMPONENT_TYPE_M3FW, DSMI_COMPONENT_TYPE_UEFI, DSMI_COMPONENT_TYPE_TEE, and DSMI_COMPONENT_TYPE_AICPU are supported. typedef enum dsmi_component_type { DSMI_COMPONENT_TYPE_NVE, DSMI_COMPONENT_TYPE_XLOADER, DSMI_COMPONENT_TYPE_M3FW, DSMI_COMPONENT_TYPE_UEFI, DSMI_COMPONENT_TYPE_TEE, DSMI_COMPONENT_TYPE_KERNEL, DSMI_COMPONENT_TYPE_DTB, DSMI_COMPONENT_TYPE_ROOTFS, DSMI_COMPONENT_TYPE_IMU, DSMI_COMPONENT_TYPE_IMP, DSMI_COMPONENT_TYPE_AICPU, DSMI_COMPONENT_TYPE_NONE, UPGRADE_AND_RESET_ALL_COMPONENT = 0xFFFFFFF7, UPGRADE_ALL_COMPONENT = 0xFFFFFFFF } DSMI_COMPONENT_TYPE; |
Returns
Type |
Description |
---|---|
int |
0 on success; else, failure |
Restrictions
Run the caller application as the root user. Otherwise, a permission error is returned.
Example
int ret = -EINVAL; unsigned int component_num = 0; DSMI_COMPONENT_TYPE *component_table = NULL; ret =dsmi_get_component_count(0, &component_num); if(ret != 0) { //To-do: records logs. return ret; } component_table = (DSMI_COMPONENT_TYPE*)malloc(sizeof(DSMI_COMPONENT_TYPE) * component_num); if(component_table == NULL) { //To-do: records logs. return ret; } ret = dsmi_get_component_list(0, component_table, component_num); if(ret != 0) { //To-do: records logs. return ret; } ...