0001
0002
0003
0004
0005
0006
0007 #ifndef _VNIC_RESOURCE_H_
0008 #define _VNIC_RESOURCE_H_
0009
0010 #define VNIC_RES_MAGIC 0x766E6963L
0011 #define VNIC_RES_VERSION 0x00000000L
0012 #define MGMTVNIC_MAGIC 0x544d474dL
0013 #define MGMTVNIC_VERSION 0x00000000L
0014
0015
0016 #define MGMTVNIC_MAC { 0x02, 0x00, 0x54, 0x4d, 0x47, 0x4d }
0017
0018
0019 enum vnic_res_type {
0020 RES_TYPE_EOL,
0021 RES_TYPE_WQ,
0022 RES_TYPE_RQ,
0023 RES_TYPE_CQ,
0024 RES_TYPE_RSVD1,
0025 RES_TYPE_NIC_CFG,
0026 RES_TYPE_RSVD2,
0027 RES_TYPE_RSVD3,
0028 RES_TYPE_RSVD4,
0029 RES_TYPE_RSVD5,
0030 RES_TYPE_INTR_CTRL,
0031 RES_TYPE_INTR_TABLE,
0032 RES_TYPE_INTR_PBA,
0033 RES_TYPE_INTR_PBA_LEGACY,
0034 RES_TYPE_RSVD6,
0035 RES_TYPE_RSVD7,
0036 RES_TYPE_DEVCMD,
0037 RES_TYPE_PASS_THRU_PAGE,
0038 RES_TYPE_SUBVNIC,
0039 RES_TYPE_MQ_WQ,
0040 RES_TYPE_MQ_RQ,
0041 RES_TYPE_MQ_CQ,
0042 RES_TYPE_DEPRECATED1,
0043 RES_TYPE_DEPRECATED2,
0044 RES_TYPE_DEVCMD2,
0045
0046 RES_TYPE_MAX,
0047 };
0048
0049 struct vnic_resource_header {
0050 u32 magic;
0051 u32 version;
0052 };
0053
0054 struct mgmt_barmap_hdr {
0055 u32 magic;
0056 u32 version;
0057 u16 lif;
0058 u16 pci_slot;
0059 char serial[16];
0060 };
0061
0062 struct vnic_resource {
0063 u8 type;
0064 u8 bar;
0065 u8 pad[2];
0066 u32 bar_offset;
0067 u32 count;
0068 };
0069
0070 #endif