From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:35308) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZYtX4-0003bs-2X for qemu-devel@nongnu.org; Mon, 07 Sep 2015 06:20:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZYtX2-0001Vl-6A for qemu-devel@nongnu.org; Mon, 07 Sep 2015 06:20:13 -0400 Received: from mx1.redhat.com ([209.132.183.28]:53478) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZYtX1-0001VR-IS for qemu-devel@nongnu.org; Mon, 07 Sep 2015 06:20:11 -0400 Date: Mon, 7 Sep 2015 11:20:07 +0100 From: Stefan Hajnoczi Message-ID: <20150907102007.GA9593@stefanha-thinkpad.redhat.com> References: <1441212824-1459-1-git-send-email-pmorel@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1441212824-1459-1-git-send-email-pmorel@linux.vnet.ibm.com> Subject: Re: [Qemu-devel] [PATCH v4] virtio dataplane: adapt dataplane for virtio Version 1 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Pierre Morel Cc: cornelia.huck@de.ibm.com, mst@redhat.com, qemu-devel@nongnu.org, gkurz@linux.vnet.ibm.com On Wed, Sep 02, 2015 at 06:53:44PM +0200, Pierre Morel wrote: > + addr = virtio_queue_get_desc_addr(vdev, n); > + size = virtio_queue_get_desc_size(vdev, n); > + ptr = vring_map(&vring->mr_desc, addr, size, true); > + if (!ptr) { > + error_report("Failed to map 0x%16lx byte for vring desc at %16lx", > + size, addr); > + goto out_err_desc; > } > - > - vring_init(&vring->vr, virtio_queue_get_num(vdev, n), vring_ptr, 4096); > + vr->desc = ptr; > + > + addr = virtio_queue_get_avail_addr(vdev, n); > + size = virtio_queue_get_avail_size(vdev, n); > + size += sizeof(__virtio16); Please add a comment explaining what these 2 bytes are for. > + ptr = vring_map(&vring->mr_avail, addr, size, true); > + if (!ptr) { > + error_report("Failed to map 0x%16lx byte for vring avail at %16lx", > + size, addr); > + goto out_err_avail; > + } > + vr->avail = ptr; > + > + addr = virtio_queue_get_used_addr(vdev, n); > + size = virtio_queue_get_used_size(vdev, n); > + size += sizeof(__virtio16); Here too.