Data Plane Development Kit Reference Manual: Intel FPGA Programmable Acceleration Card N3000

ID 683512
Date 12/06/2019
Public

Visible to Intel only — GUID: hpg1572045284187

Ixiasoft

Document Table of Contents

3.1. FPGA Management

The FPGA management engine has different subfeatures to enable different functionality such as thermal monitoring and error reporting.

The struct feature_driver fme_feature_drvs[] in $RTE_SDK/ifpga/base/ifpga_feature_dev.c initializes all the subfeatures that FPGA management engine supports. Each of these subfeatures enables a set of operations. The operations have their own data structures defined in $RTE_SDK/ifpga/base/ifpga_fme.c.

The ifpga_fme_hw data structure stores this information.

struct ifpga_fme_hw { enum ifpga_fme_state state; struct ifpga_feature_list feature_list; spinlock_t lock; /* protect hardware access */ void *parent; /* pointer to ifpga_hw */ /* provided by HEADER feature */ u32 port_num; struct uuid bitstream_id; u64 bitstream_md; size_t pr_bandwidth; u32 socket_id; u32 fabric_version_id; u32 cache_size; u32 capability; };