[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v5 10/11] arm/libxl: Emulated PCI device tree node in libxl


  • To: Ian Jackson <iwj@xxxxxxxxxxxxxx>
  • From: Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • Date: Mon, 11 Oct 2021 15:46:21 +0200
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=HT7gJfsCPOMGqFHw1s6BZbpetYt+I7JHu1N0hi6eXdY=; b=hFk6mXGSCTvR4/qpaT4d3n0NpRaNcH7mymOAv0XIjiCmRWTNKqsnZutF3k5i8U8fwBB0vMQ2Ze1Siv5JUxFc+8RsfC+3afr4nSj4w3jiVS6LNgB2yoS+p+NetgjRFAB4P2ZW+wvJf1uqTR2Cf2aGQIYETRsht4PsSfOgGaFdqriX2GvffzXcY9K7pOITaIcc0GTgEZONT7VBl4SSHmkAhED3DDu9t7RzyMOS6RdbATCu56h0TmRgFRzhxNB/531RLsegHt+IUGGnBghnxIpsvwdvgoIXkK0Yy9UXZQkKtaI4oZ03uAZTzRJssaLjflbTlBYSy//F4GlX0xNAhODrMg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Wy0Q7qV0Lt08yPyZCzWD4yKAguiporv9nzckH0hzqVtS1PaiitDf8Qb1nzin/ntEwuQAtyuzJC0dtAN7jvnHSWbps0nTnBUBKvfeKgD8kdChiMl+3dGm39AfECRjkSAE0M3SXYCdG5MsvmHberdhNAobgidBvsemyAH9dgoMcmTYHvevUSEUyz0h3UcRopIBkoYZttTG0Z5/q6w+EAeQhtZllYTl9Ia4CqutciM9a87b3zAjoRfOTW9i+x8zAaUcXVpWeJJkYdsi3QFycMpU+8T6Sb5T/tkEGaUecvWdLr/3kwXD9+7tqN6ih81WnMOuZ3OMBYHiypsX+jnoRmLe0g==
  • Authentication-results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
  • Cc: Rahul Singh <Rahul.Singh@xxxxxxx>, Julien Grall <julien@xxxxxxx>, xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Bertrand Marquis <Bertrand.Marquis@xxxxxxx>, Andre Przywara <Andre.Przywara@xxxxxxx>, Wei Liu <wl@xxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Juergen Gross <jgross@xxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Delivery-date: Mon, 11 Oct 2021 13:47:03 +0000
  • Ironport-data: A9a23:IZgBzaBtoujR8hVW/1flw5YqxClBgxIJ4kV8jS/XYbTApD0n1DUBn GVOCGmDPv6CazD8etogPNuw9kMGu5fcxoRrQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA xA2M4GYRCwMo/u1Si6FatANl1ElvU2zbue6WLOs1hxZH1c+EX550Es7wobVv6Yz6TSHK1LV0 T/Ni5W31G+Ng1aY5UpNtspvADs21BjDkGtwUm4WPJinj3eH/5UhN7oNJLnZEpfNatI88thW5 Qr05OrREmvxp3/BAz4++1rxWhVirrX6ZWBihpfKMkQLb9crSiEai84G2PQghUh/tBG5u/dYw e525cKxThwPZaLNmMYPXEwNe81+FfUuFL7vJHG+tYqYzlHccmuqyPJrZK00FdRGoKAtWzgIr KFGbmBWBvyAr7veLLaTUO5ji95lNMD2FIgepmth3XfSCvNOrZXrHvmauI4Fhm1YasZmLcz6P +g0VDFWYT+RSR4WBU06OMN5g7L97pX4W2IB8w/EzUYt2EDMyCRh3b6rN8DaEvSjQ8lPkwCgv HDX4G3jCzkTLtnZwj2AmlquifXIhjjTQ58JGfuz8fsCqGOUwmsfGRgHT2yRqPOyilO9c99HI klS8S0rxYAp71CiRNT5Wxy+oVaHswQaVt4WFPc1gCm3w6rJ50CiB24LThZIctlgv8gzLRQry V2hj97vHSZosrCeVTSa7Lj8hTGvPSkYK0cSaClCShEKi/HJrZsvlBvJQpBGGbSsk9zuMTjqx naBqy1Wr6Uei4sH2ru2+XjDgimwvd7ZQwgt/ALVU2m5qARja+aYi5eAsAaBq6wadcDAEwfH7 CNsd9WiAP4mMrW9sAukSd42TO+o4O2jazLdgXx9EMx0n9iywEKLcYdV6TB4AU5mNMcYZDPkC HPuVRNtCIx7ZyTyM/cmC26lI4Fzl/K4TIW6PhzBRoMWOsAZSeORwM15iad8NUjWm08wjbp3B 56fdcu9ZZrxIfU6lGToLwvxPLlC+8zf+Y8xbcyrp/hE+eDHDJJwdVvjGAHTBgzexPnVyDg5C /4Fa6O3J+x3CYUSmBX//48JNkwtJnMmH53woME/XrfdeVE2STl+UqaNn+hJl2lZc0J9zb2gE paVAB4w9bYCrSefdVXiho5LOdsDoqqTXVpkZHdxbD5EKlAoYJq17bd3SnfEVeJPyQCX9tYtF 6NtU5zZWpxnE22bkxxAPciVhNEzL3yD2FPRVxdJlRBiJvaMsSSSoYS6FuYunQFTZheKWTwW+ uX6iFyAG8ZfHmyPzq/+MZqS8r94hlBE8MpaVErUONhDPkLq9YlhMSvqifErZcoLLH3+KvGyi 2562D8U+rvApZEb6t7MifzWpoulCbImTEFbA3Pa/fC9MiyDpjivxopJUeCpezHBVTyrpPX+N LsNl/ysYucamFtqspZnF+o5x6wJ+Nay9aRRyR5pHSuXYg3zWK9gOHSPweJGqrZJmu1CoQKzV 0/WootaNLyFNdnLClkUIAZ5PO2P2etNwmvZ7OgvIVW87yhypeLVXUJXNhiKqSpcMLoqb991n bZ/4JYbslXthAArP9CKijFv216NdnFQAb86spw6AZPwjlZ5wF91fpGBWDT954uCaosQPxByc COUnqfLm59V2lHGLygoDXHI0OdQ2cYOtRRNwANQLliFgIOY1Po+3RkX+jUrVAVFiB5A1rsra GRsMkR0I4SI/itp25cfDzz9RVkZCU3L4FH1xnsIiHbdHhuhWWH6JWEgPfqAoRIC+GVGczkHp LyVxQ4Ji9oxkB0dCsfqZXNYlg==
  • Ironport-hdrordr: A9a23:gScBX6n722zTl3HxyMNouY/0jQzpDfO3imdD5ihNYBxZY6Wkfp +V88jzhCWZtN9OYhwdcLC7WZVpQRvnhPlICK0qTM2ftWjdyRCVxeRZg7cKrAeQeREWmtQtsJ uINpIOdeEYbmIK8/oSgjPIaurIqePvmMvD5Za8vgZQpENRGtldBm9Ce3mm+yZNNW977PQCZf 6hDp0tnUvdRZ1bVLXwOlA1G8z44/HbnpPvZhALQzYh9Qm1lDutrJr3CQKR0BsyWy5Ghe5Kyx mIryXJooGY992rwB7V0GHeq7xQhdva09NGQOiBkNIcJDnAghuhIK5hR7qBljYop/zH0idmrP D85zMbe+hj4XLYeW+45TPrxgnbyT4rr0TvzFeJ6EGT6PDRdXYfMY5slIhZehzW5w4Lp9dnyp 9G2Gqfqt5+EQ7AtD6V3amIazha0m6P5VYym+8aiHJSFaEEbqVKkIAZ9ERJVL8dASPB7pw9Gu UGNrCT2B9vSyLYU5nlhBgs/DT1NU5DWytuA3Jy9fB96gIm3EyQlCAjtYgidnRpzuNKd3AL3Z WCDkzE/Is+O/P+VpgNd9vpd/HHfVAlcSi8QF56Hm6XZp3vG0i946Ifs49Fr91DRvQzve8Pcd L6IRVliVI=
  • Ironport-sdr: KRA2EFjecg4zrBHmsTtBDpvNIviIdVnpGnzZJyWF+uSursHHoPp5jqcxdXYVplI3ZzXG26MjtY WDK4ltzaCRPB4SlQs4bavmm/n0flk14whtxJb6nahqAW/RMHnyPGaFPpee1ZSEP2uvztmEv/0t UjrsE/W9R1qkryeiy8SFKF4Jy1YqGuKDzNHAA5KBEiy8UG+bE6zL7M46rOZHq66RTTu86BbKtD ChYW6kVAbTqzyxrlNUX/OLQpAiA1yWZMR+gUfSxGAiH24lR4mhKzjiqzTkSRaZgk9AYra5ptqF 4hVnOEtfR/ix2VvMRXM9OGAa
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On Thu, Oct 07, 2021 at 05:11:47PM +0100, Ian Jackson wrote:
> Rahul Singh writes ("Re: [PATCH v5 10/11] arm/libxl: Emulated PCI device tree 
> node in libxl"):
> > As Stefano suggested in another email that we can remove the vpci
> > option, if we reach to conclusion that we need vpci option I will
> > move it to internal structure.
> ...
> > Yes I agree with you VPCI is necessary for hot plugged PCI device
> > and once we implement the hotplug in future we will use the
> > passthrough= option to enable VPCI.
> 
> So, to summarise, I think the situation is:
> 
>  * VCPI is necessry for passthrough on ARM, whether coldplug or
>    hotplug.  It's part of the way that PCI-PT works on ARM.
> 
>  * Hotplug is not yet implemented.
> 
>  * VPCI is not necessary on x86 (evidently, since we don't have it
>    there but we do have passthrough).
> 
> So when hotplug is added, vpci will need to be turned on when
> passthrough=yes is selected.  I don't fully understand the other
> possible values for passthrough= but maybe we can defer the question
> of whether they apply to ARM ?
> 
> I think that means that yes, this should be an internal variable.
> Probably in libxl__domain_create_state.  We don't currently arrange to
> elide arch-specific state in there, so perhaps it's fine just to
> invent a member called `arm_vpci`.

Seeing as we might want to also use this on x86, I wonder whether we
should allow to specify a backend to use for each passthrough device,
ie:

pci = [ '36:00.0,backend=vpci',
        '36:01.0,backend=qemu',
        ... ]

In principle we should support different backends on a per-device
basis, albeit if not currently possible.

Iff we have to introduce a new struct member for vPCI it should be
shared between all arches, as it's likely x86 will also want to at
least have the option to use vPCI for passthrough.

Thanks, Roger.



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.