[dpdk-dev] [PATCH v4 7/8] virtio: add 1.0 support

Xie, Huawei huawei.xie at intel.com
Mon Jan 18 17:50:16 CET 2016


On 1/15/2016 12:34 PM, Yuanhan Liu wrote:
> -static void
> +static int
>  virtio_negotiate_features(struct virtio_hw *hw)
>  {
>  	uint64_t host_features;
> @@ -949,6 +949,22 @@ virtio_negotiate_features(struct virtio_hw *hw)
>  	hw->guest_features = vtpci_negotiate_features(hw, host_features);

Here if we are not modern device, we should remove VIRTIO_F_VERSION_1 in
guest features.

>  	PMD_INIT_LOG(DEBUG, "features after negotiate = %"PRIx64,
>  		hw->guest_features);
> +
> +	if (hw->modern) {
> +		if (!vtpci_with_feature(hw, VIRTIO_F_VERSION_1)) {
> +			PMD_INIT_LOG(ERR,
> +				"VIRTIO_F_VERSION_1 features is not enabled.");
> +			return -1;
> +		}
> +		vtpci_set_status(hw, VIRTIO_CONFIG_STATUS_FEATURES_OK);
> +		if (!(vtpci_get_status(hw) & VIRTIO_CONFIG_STATUS_FEATURES_OK)) {
> +			PMD_INIT_LOG(ERR,
> +				"failed to set FEATURES_OK status!");
> +			return -1;
> +		}
> +	}
> +
> +	return 0;
>  }



More information about the dev mailing list