kbuild test robot
2020-Apr-02 13:50 UTC
[vhost:vhost 22/22] drivers/vdpa/vdpa_sim/vdpa_sim.c:94:8: error: implicit declaration of function 'vringh_init_iotlb'; did you mean 'vringh_init_kern'?
tree: https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git vhost head: 076cb4adba3e2d7d3c25b72a1390b24ebfc58161 commit: 076cb4adba3e2d7d3c25b72a1390b24ebfc58161 [22/22] virtio/test: fix up after IOTLB changes config: m68k-allmodconfig (attached as .config) compiler: m68k-linux-gcc (GCC) 9.3.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 076cb4adba3e2d7d3c25b72a1390b24ebfc58161 # save the attached .config to linux build tree GCC_VERSION=9.3.0 make.cross ARCH=m68k If you fix the issue, kindly add following tag Reported-by: kbuild test robot <lkp at intel.com> All errors (new ones prefixed by >>): drivers/vdpa/vdpa_sim/vdpa_sim.c: In function 'vdpasim_queue_ready':>> drivers/vdpa/vdpa_sim/vdpa_sim.c:94:8: error: implicit declaration of function 'vringh_init_iotlb'; did you mean 'vringh_init_kern'? [-Werror=implicit-function-declaration]94 | ret = vringh_init_iotlb(&vq->vring, vdpasim_features, | ^~~~~~~~~~~~~~~~~ | vringh_init_kern drivers/vdpa/vdpa_sim/vdpa_sim.c: In function 'vdpasim_work':>> drivers/vdpa/vdpa_sim/vdpa_sim.c:149:9: error: implicit declaration of function 'vringh_getdesc_iotlb'; did you mean 'vringh_getdesc_kern'? [-Werror=implicit-function-declaration]149 | err = vringh_getdesc_iotlb(&txq->vring, &txq->iov, NULL, | ^~~~~~~~~~~~~~~~~~~~ | vringh_getdesc_kern>> drivers/vdpa/vdpa_sim/vdpa_sim.c:157:4: error: implicit declaration of function 'vringh_complete_iotlb'; did you mean 'vringh_complete_kern'? [-Werror=implicit-function-declaration]157 | vringh_complete_iotlb(&txq->vring, txq->head, 0); | ^~~~~~~~~~~~~~~~~~~~~ | vringh_complete_kern>> drivers/vdpa/vdpa_sim/vdpa_sim.c:162:11: error: implicit declaration of function 'vringh_iov_pull_iotlb'; did you mean 'vringh_iov_pull_kern'? [-Werror=implicit-function-declaration]162 | read = vringh_iov_pull_iotlb(&txq->vring, &txq->iov, | ^~~~~~~~~~~~~~~~~~~~~ | vringh_iov_pull_kern>> drivers/vdpa/vdpa_sim/vdpa_sim.c:168:12: error: implicit declaration of function 'vringh_iov_push_iotlb'; did you mean 'vringh_iov_push_kern'? [-Werror=implicit-function-declaration]168 | write = vringh_iov_push_iotlb(&rxq->vring, &rxq->iov, | ^~~~~~~~~~~~~~~~~~~~~ | vringh_iov_push_kern drivers/vdpa/vdpa_sim/vdpa_sim.c: In function 'vdpasim_create':>> drivers/vdpa/vdpa_sim/vdpa_sim.c:339:2: error: implicit declaration of function 'vringh_set_iotlb' [-Werror=implicit-function-declaration]339 | vringh_set_iotlb(&vdpasim->vqs[0].vring, vdpasim->iommu); | ^~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +94 drivers/vdpa/vdpa_sim/vdpa_sim.c a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 88 a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 89 static void vdpasim_queue_ready(struct vdpasim *vdpasim, unsigned int idx) a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 90 { a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 91 struct vdpasim_virtqueue *vq = &vdpasim->vqs[idx]; a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 92 int ret; a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 93 a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 @94 ret = vringh_init_iotlb(&vq->vring, vdpasim_features, a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 95 VDPASIM_QUEUE_MAX, false, a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 96 (struct vring_desc *)(uintptr_t)vq->desc_addr, a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 97 (struct vring_avail *) a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 98 (uintptr_t)vq->driver_addr, a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 99 (struct vring_used *) a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 100 (uintptr_t)vq->device_addr); a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 101 } a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 102 a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 103 static void vdpasim_vq_reset(struct vdpasim_virtqueue *vq) a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 104 { a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 105 vq->ready = 0; a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 106 vq->desc_addr = 0; a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 107 vq->driver_addr = 0; a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 108 vq->device_addr = 0; a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 109 vq->cb = NULL; a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 110 vq->private = NULL; a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 111 vringh_init_iotlb(&vq->vring, vdpasim_features, VDPASIM_QUEUE_MAX, a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 112 false, NULL, NULL, NULL); a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 113 } a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 114 a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 115 static void vdpasim_reset(struct vdpasim *vdpasim) a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 116 { a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 117 int i; a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 118 a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 119 for (i = 0; i < VDPASIM_VQ_NUM; i++) a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 120 vdpasim_vq_reset(&vdpasim->vqs[i]); a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 121 a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 122 vhost_iotlb_reset(vdpasim->iommu); a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 123 a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 124 vdpasim->features = 0; a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 125 vdpasim->status = 0; a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 126 ++vdpasim->generation; a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 127 } a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 128 a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 129 static void vdpasim_work(struct work_struct *work) a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 130 { a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 131 struct vdpasim *vdpasim = container_of(work, struct a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 132 vdpasim, work); a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 133 struct vdpasim_virtqueue *txq = &vdpasim->vqs[1]; a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 134 struct vdpasim_virtqueue *rxq = &vdpasim->vqs[0]; a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 135 size_t read, write, total_write; a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 136 int err; a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 137 int pkts = 0; a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 138 a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 139 spin_lock(&vdpasim->lock); a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 140 a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 141 if (!(vdpasim->status & VIRTIO_CONFIG_S_DRIVER_OK)) a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 142 goto out; a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 143 a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 144 if (!txq->ready || !rxq->ready) a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 145 goto out; a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 146 a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 147 while (true) { a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 148 total_write = 0; a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 @149 err = vringh_getdesc_iotlb(&txq->vring, &txq->iov, NULL, a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 150 &txq->head, GFP_ATOMIC); a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 151 if (err <= 0) a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 152 break; a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 153 a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 154 err = vringh_getdesc_iotlb(&rxq->vring, NULL, &rxq->iov, a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 155 &rxq->head, GFP_ATOMIC); a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 156 if (err <= 0) { a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 @157 vringh_complete_iotlb(&txq->vring, txq->head, 0); a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 158 break; a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 159 } a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 160 a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 161 while (true) { a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 @162 read = vringh_iov_pull_iotlb(&txq->vring, &txq->iov, a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 163 vdpasim->buffer, a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 164 PAGE_SIZE); a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 165 if (read <= 0) a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 166 break; a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 167 a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 @168 write = vringh_iov_push_iotlb(&rxq->vring, &rxq->iov, a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 169 vdpasim->buffer, read); a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 170 if (write <= 0) a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 171 break; a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 172 a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 173 total_write += write; a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 174 } a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 175 a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 176 /* Make sure data is wrote before advancing index */ a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 177 smp_wmb(); a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 178 a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 179 vringh_complete_iotlb(&txq->vring, txq->head, 0); a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 180 vringh_complete_iotlb(&rxq->vring, rxq->head, total_write); a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 181 a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 182 /* Make sure used is visible before rasing the interrupt. */ a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 183 smp_wmb(); a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 184 a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 185 local_bh_disable(); a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 186 if (txq->cb) a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 187 txq->cb(txq->private); a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 188 if (rxq->cb) a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 189 rxq->cb(rxq->private); a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 190 local_bh_enable(); a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 191 a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 192 if (++pkts > 4) { a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 193 schedule_work(&vdpasim->work); a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 194 goto out; a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 195 } a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 196 } a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 197 a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 198 out: a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 199 spin_unlock(&vdpasim->lock); a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 200 } a35630af6f3198 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 201 :::::: The code at line 94 was first introduced by commit :::::: a35630af6f31989c517b45c19dc7f9c64bf59a8c vdpasim: vDPA device simulator :::::: TO: Jason Wang <jasowang at redhat.com> :::::: CC: Michael S. Tsirkin <mst at redhat.com> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all at lists.01.org -------------- next part -------------- A non-text attachment was scrubbed... Name: .config.gz Type: application/gzip Size: 52995 bytes Desc: not available URL: <http://lists.linuxfoundation.org/pipermail/virtualization/attachments/20200402/08f878e2/attachment-0001.gz>
Possibly Parallel Threads
- [PATCH V3 5/5] vdpasim: vDPA device simulator
- [PATCH V2 5/5] vdpasim: vDPA device simulator
- [PATCH V2 5/5] vdpasim: vDPA device simulator
- [PATCH v3 5/8] vdpa_sim: make devices agnostic for work management
- [PATCH 1/2] vdpa: Signedness bugs in vdpasim_work()