On 1/6/21 11:08 AM, David Marchand wrote:
> On Sun, Dec 20, 2020 at 10:15 PM Maxime Coquelin
> <maxime.coque...@redhat.com> wrote:
>> diff --git a/drivers/net/virtio/virtio.h b/drivers/net/virtio/virtio.h
>> new file mode 100644
>> index 0000000000..eb078bc227
>> --- /dev/null
>> +++ b/drivers/net/virtio/virtio.h
>> @@ -0,0 +1,75 @@
>> +/* SPDX-License-Identifier: BSD-3-Clause
>> + * Copyright(c) 2010-2014 Intel Corporation
>> + * Copyright(c) 2020 Red Hat, Inc.
> 
> 2021?

Well, it was still 2020 when I submitted the patch :)
I'll change it when fixing comment below

> 
> 
>> + */
>> +
>> +#ifndef _VIRTIO_H_
>> +#define _VIRTIO_H_
>> +
>> +#include <rte_ether.h>
>> +
>> +struct virtio_hw {
>> +       struct virtqueue **vqs;
>> +       uint64_t guest_features;
>> +       uint16_t vtnet_hdr_size;
>> +       uint8_t started;
>> +       uint8_t weak_barriers;
>> +       uint8_t vlan_strip;
>> +       uint8_t has_tx_offload;
>> +       uint8_t has_rx_offload;
>> +       uint8_t use_vec_rx;
>> +       uint8_t use_vec_tx;
>> +       uint8_t use_inorder_rx;
>> +       uint8_t use_inorder_tx;
>> +       uint8_t opened;
>> +       uint16_t port_id;
>> +       uint8_t mac_addr[RTE_ETHER_ADDR_LEN];
>> +       uint32_t speed;  /* link speed in MB */
>> +       uint8_t duplex;
>> +       uint8_t use_msix;
>> +       uint16_t max_mtu;
>> +       /*
>> +        * App management thread and virtio interrupt handler thread
>> +        * both can change device state, this lock is meant to avoid
>> +        * such a contention.
>> +        */
>> +       rte_spinlock_t state_lock;
>> +       struct rte_mbuf **inject_pkts;
>> +       uint16_t max_queue_pairs;
>> +       uint64_t req_guest_features;
>> +       struct virtnet_ctl *cvq;
>> +};
>> +
>> +struct virtio_ops {
>> +       void (*read_dev_cfg)(struct virtio_hw *hw, size_t offset, void *dst, 
>> int len);
>> +       void (*write_dev_cfg)(struct virtio_hw *hw, size_t offset, const 
>> void *src, int len);
>> +       uint8_t (*get_status)(struct virtio_hw *hw);
>> +       void (*set_status)(struct virtio_hw *hw, uint8_t status);
>> +       uint64_t (*get_features)(struct virtio_hw *hw);
>> +       void (*set_features)(struct virtio_hw *hw, uint64_t features);
>> +       int (*features_ok)(struct virtio_hw *hw);
>> +       uint8_t (*get_isr)(struct virtio_hw *hw);
>> +       uint16_t (*set_config_irq)(struct virtio_hw *hw, uint16_t vec);
>> +       uint16_t (*set_queue_irq)(struct virtio_hw *hw, struct virtqueue 
>> *vq, uint16_t vec);
>> +       uint16_t (*get_queue_num)(struct virtio_hw *hw, uint16_t queue_id);
>> +       int (*setup_queue)(struct virtio_hw *hw, struct virtqueue *vq);
>> +       void (*del_queue)(struct virtio_hw *hw, struct virtqueue *vq);
>> +       void (*notify_queue)(struct virtio_hw *hw, struct virtqueue *vq);
>> +       int (*dev_close)(struct virtio_hw *hw);
>> +};
>> +
>> +/*
>> + * While virtio_hw is stored in shared memory, this structure stores
>> + * some infos that may vary in the multiple process model locally.
>> + * For example, the vtpci_ops pointer.
> 
> You can remove this comment on vtpci_ops.
> 

I think the comment is still valid, just that it now applied to
virtio_ops instead of vtpci_ops.

I'll fix it.

Thanks,
Maxime

Reply via email to