From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Xu Subject: [Question] How pmd virtio works without UIO? Date: Tue, 22 Dec 2015 11:50:41 +0800 Message-ID: <20151222035041.GA7532@pxdev.xzpeter.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 To: DPDK Dev Return-path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id C21565A4F for ; Tue, 22 Dec 2015 04:50:47 +0100 (CET) Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (Postfix) with ESMTPS id CA609E708C for ; Tue, 22 Dec 2015 03:50:46 +0000 (UTC) Content-Disposition: inline List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Hi, I got a question related to how virtio pmd driver work without UIO layer. I see that in virtio PMD driver, DPDK will first try to init the device using UIO interfaces. If it fails, it will try to init by manipulating IO ports directly (see virtio_resource_init()). For the ioport case, is it okay to do it like this? E.g., in eth_virtio_dev_init(), we are resetting the virtio device, however, this device should still be owned by virtio-pci driver in the kernel. How is that working? Did I miss anything? Thanks in advance. Peter