From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52233) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z4Xk4-0003bg-2x for qemu-devel@nongnu.org; Mon, 15 Jun 2015 13:00:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z4Xjy-00086b-68 for qemu-devel@nongnu.org; Mon, 15 Jun 2015 13:00:12 -0400 Received: from mail-wi0-f181.google.com ([209.85.212.181]:38335) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z4Xjy-00085N-0v for qemu-devel@nongnu.org; Mon, 15 Jun 2015 13:00:06 -0400 Received: by wibdq8 with SMTP id dq8so85125678wib.1 for ; Mon, 15 Jun 2015 10:00:05 -0700 (PDT) Message-ID: <557F0484.4040402@linaro.org> Date: Mon, 15 Jun 2015 18:59:48 +0200 From: Eric Auger MIME-Version: 1.0 References: , <557ED62A.8050409@linaro.org> <1434387134955.13544@marvell.com> In-Reply-To: <1434387134955.13544@marvell.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] Assigning an eth port to a guest VM List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Yehuda Yitschak , "qemu-devel@nongnu.org" Cc: "alex.williamson@redhat.com" , Shadi Ammouri , Yuval Caduri Hi Yehuda, On 06/15/2015 06:52 PM, Yehuda Yitschak wrote: > > ________________________________________ > From: Eric Auger > Sent: Monday, June 15, 2015 4:42 PM > To: Yehuda Yitschak; qemu-devel@nongnu.org > Cc: Yuval Caduri; Shadi Ammouri > Subject: Re: Assigning an eth port to a guest VM > > Hi Yehuda, > On 06/15/2015 01:01 PM, Yehuda Yitschak wrote: >>> Cc: Eric Auger >>> >>>> -----Original Message----- >>>> From: Yehuda Yitschak >>>> Sent: Monday, June 15, 2015 9:35 >>>> To: qemu-devel@nongnu.org >>>> Cc: Yuval Caduri; Shadi Ammouri >>>> Subject: Assigning an eth port to a guest VM >>>> >>>> Hello >>>> >>>> I would to ask your advice on how to assign a semi-virtualized Ethernet port >>>> to a guest VM >>>> >>>> The eth port's HW partially supports virtualization since the data path MMIO >>>> registers (which controls rx/tx operation) are duplicated per VM. >>>> So for the run-time operation the guest can directly access the MMIO >>>> registers, using VFIO-PLATFORM, and enjoy the performance benefit. >>>> >>>> However for the initial setup and occasional configuration the guest need to >>>> access control path registers which are shared for all guests. >>>> AFAIK this is usually done with HW emulation using trap & emulate with >>>> QEMU. >>>> So, to the best of my knowledge I need a mix of VFIO and HW emulation to >>>> get the port to work with device assignment , right ? >> Yes to me you're correct. >>>> >>>> Are there any standard methods for achieving this ? >>>> Is there an example for such an existing HW in QEMU ? >> Not yet unfortunately. To my knowledge the only platform devices that >> were assigned with QEMU VFIO platform were standalone duplicated >> devices, PL330, Calxeda Xgmac, SATA. So you are a trailblazer on that >> track. > > Thanks. It's good to know the diagnosis :-) > > BTW - i thought SR-IOV uses a somewhat similar concept. AFAIK each virtual function (VF) gets > a set of registers enabling it to perform data path but most of the configuration and management > operations are controlled by the host using the Physical Function PF driver. > Are you familiar with that ? I have the same understanding about PCI SR-IOV but unfortunately I am not sufficiently familiar with it to give you any advice. > i know SR-IOV is not related to VFIO-PLATFORM but if the mixed of direct access and emulation > exists there as well then maybe i can borrow some concepts I hope so. I am also interested in the topic! Best Regards Eric > > Best regards > > Yehuda > >> Best Regards >> >> Eric >>>> >>>> Thanks >>>> >>>> Yehuda Yitschak