Changeset View
Changeset View
Standalone View
Standalone View
head/sys/dev/hyperv/netvsc/if_hnreg.h
Show All 30 Lines | |||||
#include <sys/param.h> | #include <sys/param.h> | ||||
#include <sys/systm.h> | #include <sys/systm.h> | ||||
#define HN_NVS_STATUS_OK 1 | #define HN_NVS_STATUS_OK 1 | ||||
#define HN_NVS_TYPE_INIT 1 | #define HN_NVS_TYPE_INIT 1 | ||||
#define HN_NVS_TYPE_INIT_RESP 2 | #define HN_NVS_TYPE_INIT_RESP 2 | ||||
#define HN_NVS_TYPE_NDIS_CONF 125 | |||||
/* | /* | ||||
* Any size less than this one will _not_ work, e.g. hn_nvs_init | * Any size less than this one will _not_ work, e.g. hn_nvs_init | ||||
* only has 12B valid data, however, if only 12B data were sent, | * only has 12B valid data, however, if only 12B data were sent, | ||||
* Hypervisor would never reply. | * Hypervisor would never reply. | ||||
*/ | */ | ||||
#define HN_NVS_REQSIZE_MIN 32 | #define HN_NVS_REQSIZE_MIN 32 | ||||
struct hn_nvs_init { | struct hn_nvs_init { | ||||
uint32_t nvs_type; /* HN_NVS_TYPE_INIT */ | uint32_t nvs_type; /* HN_NVS_TYPE_INIT */ | ||||
uint32_t nvs_ver_min; | uint32_t nvs_ver_min; | ||||
uint32_t nvs_ver_max; | uint32_t nvs_ver_max; | ||||
uint8_t nvs_rsvd[20]; | uint8_t nvs_rsvd[20]; | ||||
} __packed; | } __packed; | ||||
CTASSERT(sizeof(struct hn_nvs_init) >= HN_NVS_REQSIZE_MIN); | CTASSERT(sizeof(struct hn_nvs_init) >= HN_NVS_REQSIZE_MIN); | ||||
struct hn_nvs_init_resp { | struct hn_nvs_init_resp { | ||||
uint32_t nvs_type; /* HN_NVS_TYPE_INIT_RESP */ | uint32_t nvs_type; /* HN_NVS_TYPE_INIT_RESP */ | ||||
uint32_t nvs_ver; /* deprecated */ | uint32_t nvs_ver; /* deprecated */ | ||||
uint32_t nvs_rsvd; | uint32_t nvs_rsvd; | ||||
uint32_t nvs_status; /* HN_NVS_STATUS_ */ | uint32_t nvs_status; /* HN_NVS_STATUS_ */ | ||||
} __packed; | } __packed; | ||||
/* No reponse */ | |||||
struct hn_nvs_ndis_conf { | |||||
uint32_t nvs_type; /* HN_NVS_TYPE_NDIS_CONF */ | |||||
uint32_t nvs_mtu; | |||||
uint32_t nvs_rsvd; | |||||
uint64_t nvs_caps; /* HN_NVS_NDIS_CONF_ */ | |||||
uint8_t nvs_rsvd1[12]; | |||||
} __packed; | |||||
CTASSERT(sizeof(struct hn_nvs_ndis_conf) >= HN_NVS_REQSIZE_MIN); | |||||
#define HN_NVS_NDIS_CONF_SRIOV 0x0004 | |||||
#define HN_NVS_NDIS_CONF_VLAN 0x0008 | |||||
#endif /* !_IF_HNREG_H_ */ | #endif /* !_IF_HNREG_H_ */ |