drivers/net/ethernet/broadcom/bnxt/bnxt_coredump.h

Source file repositories/reference/linux-study-clean/drivers/net/ethernet/broadcom/bnxt/bnxt_coredump.h

File Facts

System
Linux kernel
Corpus path
drivers/net/ethernet/broadcom/bnxt/bnxt_coredump.h
Extension
.h
Size
4312 bytes
Lines
171
Domain
Driver Families
Bucket
drivers/net
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

struct bnxt_coredump_segment_hdr {
	__u8 signature[4];
	__le32 component_id;
	__le32 segment_id;
	__le32 flags;
	__u8 low_version;
	__u8 high_version;
	__le16 function_id;
	__le32 offset;
	__le32 length;
	__le32 status;
	__le32 duration;
	__le32 data_offset;
	__le32 instance;
	__le32 rsvd[5];
};

struct bnxt_coredump_record {
	__u8 signature[4];
	__le32 flags;
	__u8 low_version;
	__u8 high_version;
	__u8 asic_state;
	__u8 rsvd0[5];
	char system_name[32];
	__le16 year;
	__le16 month;
	__le16 day;
	__le16 hour;
	__le16 minute;
	__le16 second;
	__le16 utc_bias;
	__le16 rsvd1;
	char commandline[256];
	__le32 total_segments;
	__le32 os_ver_major;
	__le32 os_ver_minor;
	__le32 rsvd2;
	char os_name[32];
	__le16 end_year;
	__le16 end_month;
	__le16 end_day;
	__le16 end_hour;
	__le16 end_minute;
	__le16 end_second;
	__le16 end_utc_bias;
	__le32 asic_id1;
	__le32 asic_id2;
	__le32 coredump_status;
	__u8 ioctl_low_version;
	__u8 ioctl_high_version;
	__le16 rsvd3[313];
};

struct bnxt_driver_segment_record {
	__le32 max_entries;
	__le32 entry_size;
	__le32 offset;
	__u8 wrapped:1;
	__u8 unused[3];
};

#define BNXT_VER_GET_COMP_ID	2
#define BNXT_DRV_COMP_ID	0xd

#define BNXT_CTX_MEM_SEG_ID_START  0x200

#define BNXT_CTX_MEM_SEG_QP	(BNXT_CTX_MEM_SEG_ID_START + BNXT_CTX_QP)
#define BNXT_CTX_MEM_SEG_SRQ	(BNXT_CTX_MEM_SEG_ID_START + BNXT_CTX_SRQ)
#define BNXT_CTX_MEM_SEG_CQ	(BNXT_CTX_MEM_SEG_ID_START + BNXT_CTX_CQ)
#define BNXT_CTX_MEM_SEG_VNIC	(BNXT_CTX_MEM_SEG_ID_START + BNXT_CTX_VNIC)
#define BNXT_CTX_MEM_SEG_STAT	(BNXT_CTX_MEM_SEG_ID_START + BNXT_CTX_STAT)
#define BNXT_CTX_MEM_SEG_STQM	(BNXT_CTX_MEM_SEG_ID_START + BNXT_CTX_STQM)
#define BNXT_CTX_MEM_SEG_FTQM	(BNXT_CTX_MEM_SEG_ID_START + BNXT_CTX_FTQM)
#define BNXT_CTX_MEM_SEG_MRAV	(BNXT_CTX_MEM_SEG_ID_START + BNXT_CTX_MRAV)
#define BNXT_CTX_MEM_SEG_TIM	(BNXT_CTX_MEM_SEG_ID_START + BNXT_CTX_TIM)

#define BNXT_CTX_MEM_SEG_SRT	0x1
#define BNXT_CTX_MEM_SEG_SRT2	0x2
#define BNXT_CTX_MEM_SEG_CRT	0x3
#define BNXT_CTX_MEM_SEG_CRT2	0x4
#define BNXT_CTX_MEM_SEG_RIGP0	0x5
#define BNXT_CTX_MEM_SEG_L2HWRM	0x6
#define BNXT_CTX_MEM_SEG_REHWRM	0x7
#define BNXT_CTX_MEM_SEG_CA0	0x8
#define BNXT_CTX_MEM_SEG_CA1	0x9
#define BNXT_CTX_MEM_SEG_CA2	0xa
#define BNXT_CTX_MEM_SEG_RIGP1	0xb
#define BNXT_CTX_MEM_SEG_QPC	0xc
#define BNXT_CTX_MEM_SEG_KONG	0xd

Annotation

Implementation Notes