Skip Navigation Links | |
Exit Print View | |
man pages section 9: DDI and DKI Kernel Functions Oracle Solaris 11.1 Information Library |
csx_AccessConfigurationRegister(9F)
csx_Parse_CISTPL_BYTEORDER(9F)
csx_Parse_CISTPL_CFTABLE_ENTRY(9F)
csx_Parse_CISTPL_DEVICEGEO(9F)
csx_Parse_CISTPL_DEVICEGEO_A(9F)
csx_Parse_CISTPL_DEVICE_OA(9F)
csx_Parse_CISTPL_DEVICE_OC(9F)
csx_Parse_CISTPL_LINKTARGET(9F)
csx_Parse_CISTPL_LONGLINK_A(9F)
csx_Parse_CISTPL_LONGLINK_C(9F)
csx_Parse_CISTPL_LONGLINK_MFC(9F)
ddi_get_soft_iblock_cookie(9F)
ddi_intr_get_supported_types(9F)
ddi_prop_lookup_byte_array(9F)
ddi_prop_lookup_int64_array(9F)
ddi_prop_lookup_string_array(9F)
ddi_prop_update_byte_array(9F)
ddi_prop_update_int64_array(9F)
ddi_prop_update_string_array(9F)
ldi_prop_lookup_byte_array(9F)
ldi_prop_lookup_int64_array(9F)
ldi_prop_lookup_string_array(9F)
mac_prop_info_set_default_link_flowctrl(9F)
mac_prop_info_set_default_str(9F)
mac_prop_info_set_default_uint8(9F)
mac_prop_info_set_range_uint32(9F)
net_event_notify_unregister(9F)
net_instance_notify_register(9F)
net_instance_notify_unregister(9F)
net_instance_protocol_unregister(9F)
net_protocol_notify_register(9F)
nvlist_lookup_boolean_array(9F)
nvlist_lookup_boolean_value(9F)
nvlist_lookup_nvlist_array(9F)
nvlist_lookup_string_array(9F)
nvlist_lookup_uint16_array(9F)
nvlist_lookup_uint32_array(9F)
nvlist_lookup_uint64_array(9F)
nvpair_value_boolean_array(9F)
pci_plist_lookup_int16_array(9F)
pci_plist_lookup_int32_array(9F)
pci_plist_lookup_int64_array(9F)
pci_plist_lookup_int8_array(9F)
pci_plist_lookup_string_array(9F)
pci_plist_lookup_uint16_array(9F)
pci_plist_lookup_uint32_array(9F)
pci_plist_lookup_uint64_array(9F)
pci_plist_lookup_uint8_array(9F)
scsi_get_device_type_scsi_options(9F)
scsi_get_device_type_string(9F)
scsi_sense_cmdspecific_uint64(9F)
usb_get_current_frame_number(9F)
usb_get_max_pkts_per_isoc_request(9F)
usb_pipe_get_max_bulk_transfer_size(9F)
usb_pipe_stop_intr_polling(9F)
usb_pipe_stop_isoc_polling(9F)
- obtain and configure VF configuration parameters for a device driver instance
#include <sys/sunddi.h> int pciv_vf_config(dev_info_t *dip, pciv_config_vf_t *vfcfg_p);
pointer to a dev_info structure
pointer to a pciv_config_vf structure
typedef enum { PCIV_VFCFG_PARAM, PCIV_VF_ENABLE, PCIV_EVT_VFENABLE_PRE, PCIV_EVT_VFENABLE_POST, PCIV_EVT_VFDISABLE_PRE, PCIV_EVT_VFDISABLE_POST } pciv_vf_config_cmd;
typedef struct pciv_config_vf { int version; pciv_vf_config_cmd cmd; uint16_t num_vf; uint16_t first_vf_offset; uint16_t vf_stride; boolean_t ari_cap; uint32_t page_size; } pciv_config_vf_t;
pre/post VF Enable/Disable
number of VFs to be used
offset between 1st VF and PF
distance between VFs
ARI-capable hierarchy
system page size
The pciv_vf_config() function is used by SR-IOV (Single-Root IO Virtualization) device PF (Physical Function) drivers to obtain VF (Virtual Function) configuration parameters and to configure their VFs. When the cmd field in set as PCIV_VFCFG_PARAM the call returns with appropriate values in the rest of fields of pciv_config_vf_t.
The num_vf field indicates the number of VFs that is defined in the backend store such as MD or the /etc/pci.conf file for this device. The first_vf_offset, vf_stride, ari_cap, and page_size are the corresponding values retrieved from the SRIOV capability structure of the PF device.
After first calling pciv_vf_config() with cmd set to PCIV_VFCFG_PARAM, the caller can then call the interface again with cmd set to PCIV_VF_ENABLE to enable its VF devices, without modifying any of the num_vf, first_vf_offset, vf_stride, ari_cap, or page_size values that were returned when cmd was set as PCIV_VFCFG_PARAM.
The pciv_vf_config() function returns:
The request was accepted and this PF's VFs are enabled.
The command was other than PCIV_VFCFG_PARAM or PCIV_VF_ENABLE, the device is not IOV capable, num_vf was set to 0, and the call was made to enable the VF; or parameters of PCIV_VF_ENABLE do not correspond to the values returned by PCIV_VFCFG_PARAM.
Implementation-specific failures occurred.
The pciv_vf_config() function can be called from kernel non-interrupt context.
See attributes(5) for descriptions of the following attributes:
|