All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefano Stabellini <sstabellini@kernel.org>
To: Julien Grall <julien.grall@arm.com>
Cc: Oleksandr Andrushchenko <andr2000@gmail.com>,
	xen-devel@lists.xenproject.org,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	dri-devel@lists.freedesktop.org, airlied@linux.ie,
	daniel.vetter@intel.com, seanpaul@chromium.org,
	gustavo@padovan.org, Juergen Gross <jgross@suse.com>,
	boris.ostrovsky@oracle.com, konrad.wilk@oracle.com,
	Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wei.liu2@citrix.com>
Subject: Re: [Xen-devel] [PATCH 0/9] drm/xen-front: Add support for Xen PV display frontend
Date: Wed, 28 Feb 2018 17:42:38 -0800 (PST)	[thread overview]
Message-ID: <alpine.DEB.2.10.1802281735270.4239@sstabellini-ThinkPad-X260> (raw)
In-Reply-To: <4628e34f-5e7d-c2e6-d132-c1f4c1c25efd@arm.com>

On Wed, 28 Feb 2018, Julien Grall wrote:
> (+ Stefano and Wei)
> 
> Hi,
> 
> On 02/27/2018 12:40 PM, Oleksandr Andrushchenko wrote:
> > Please find some more clarifications on VirtIO use with Xen
> > (I would like to thank Xen community for helping with this)
> > 
> > 1. Possible security issues - VirtIO devices are PCI bus masters, thus
> > allowing real device (running, for example, in untrusted driver domain)
> > to get control over guest's memory by writing to its memory
> > 
> > 2. VirtIO currently uses GFNs written into the shared ring, without Xen
> > grants support. This will require generic grant-mapping/sharing layer
> > to be added to VirtIO.

This is important. VirtIO doesn't allow for driver domains (running the
backend inside a virtual machine). 


> > 3. VirtIO requires QEMU PCI emulation for setting up a device. Xen PV (and
> > PVH)
> > domains don't use QEMU for platform emulation in order to reduce attack
> > surface.
> > (PVH is in the process of gaining PCI config space emulation though, but it
> > is
> > optional, not a requirement)
> I don't think the support of PCI configuration space emulation for PVH would
> help there. The plan is to emulate in Xen, QEMU is still out of the equation
> there.

Right: there is no infrastructure to run IO emulation in userspace for
PV, PVH and ARM guests. We do have a QEMU instance running for PV, PVH
and ARM guests but only to implement PV backends, such as the vdispl
backend for example, which are handling asynchronous requests from
frontends using the traditional grant table maps/unmaps.


> > 4. Most of the PV drivers a guest uses at the moment are Xen PV drivers,
> > e.g. net,
> > block, console, so only virtio-gpu will require QEMU to run.
> > Although this use case would work on x86 it will require additional changes
> > to get this running on ARM, which is my target platform.
> 
> All type of guests but x86 HVM are not using QEMU for device emulation.
> 
> I would even be stronger here. Using QEMU would require a significant amount
> of engineering to make it work and increase the cost of safety certification
> for automotive use cases. So IHMO, the Xen PV display solution is the best.
> 
> The protocol was accepted and merged in Xen 4.9. This the standard way to have
> para-virtualized display for guests on Xen. Having the driver merged in Linux
> would help user to get out-of-box display in guest.

That's right. I don't think it really makes sense to introduce virtio
support in Xen on ARM as it is today.

WARNING: multiple messages have this Message-ID (diff)
From: Stefano Stabellini <sstabellini@kernel.org>
To: Julien Grall <julien.grall@arm.com>
Cc: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wei.liu2@citrix.com>,
	konrad.wilk@oracle.com,
	Oleksandr Andrushchenko <andr2000@gmail.com>,
	Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	dri-devel@lists.freedesktop.org, airlied@linux.ie,
	daniel.vetter@intel.com, xen-devel@lists.xenproject.org,
	boris.ostrovsky@oracle.com
Subject: Re: [Xen-devel] [PATCH 0/9] drm/xen-front: Add support for Xen PV display frontend
Date: Wed, 28 Feb 2018 17:42:38 -0800 (PST)	[thread overview]
Message-ID: <alpine.DEB.2.10.1802281735270.4239@sstabellini-ThinkPad-X260> (raw)
In-Reply-To: <4628e34f-5e7d-c2e6-d132-c1f4c1c25efd@arm.com>

On Wed, 28 Feb 2018, Julien Grall wrote:
> (+ Stefano and Wei)
> 
> Hi,
> 
> On 02/27/2018 12:40 PM, Oleksandr Andrushchenko wrote:
> > Please find some more clarifications on VirtIO use with Xen
> > (I would like to thank Xen community for helping with this)
> > 
> > 1. Possible security issues - VirtIO devices are PCI bus masters, thus
> > allowing real device (running, for example, in untrusted driver domain)
> > to get control over guest's memory by writing to its memory
> > 
> > 2. VirtIO currently uses GFNs written into the shared ring, without Xen
> > grants support. This will require generic grant-mapping/sharing layer
> > to be added to VirtIO.

This is important. VirtIO doesn't allow for driver domains (running the
backend inside a virtual machine). 


> > 3. VirtIO requires QEMU PCI emulation for setting up a device. Xen PV (and
> > PVH)
> > domains don't use QEMU for platform emulation in order to reduce attack
> > surface.
> > (PVH is in the process of gaining PCI config space emulation though, but it
> > is
> > optional, not a requirement)
> I don't think the support of PCI configuration space emulation for PVH would
> help there. The plan is to emulate in Xen, QEMU is still out of the equation
> there.

Right: there is no infrastructure to run IO emulation in userspace for
PV, PVH and ARM guests. We do have a QEMU instance running for PV, PVH
and ARM guests but only to implement PV backends, such as the vdispl
backend for example, which are handling asynchronous requests from
frontends using the traditional grant table maps/unmaps.


> > 4. Most of the PV drivers a guest uses at the moment are Xen PV drivers,
> > e.g. net,
> > block, console, so only virtio-gpu will require QEMU to run.
> > Although this use case would work on x86 it will require additional changes
> > to get this running on ARM, which is my target platform.
> 
> All type of guests but x86 HVM are not using QEMU for device emulation.
> 
> I would even be stronger here. Using QEMU would require a significant amount
> of engineering to make it work and increase the cost of safety certification
> for automotive use cases. So IHMO, the Xen PV display solution is the best.
> 
> The protocol was accepted and merged in Xen 4.9. This the standard way to have
> para-virtualized display for guests on Xen. Having the driver merged in Linux
> would help user to get out-of-box display in guest.

That's right. I don't think it really makes sense to introduce virtio
support in Xen on ARM as it is today.
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  parent reply	other threads:[~2018-03-01  1:42 UTC|newest]

Thread overview: 165+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-21  8:03 [PATCH 0/9] drm/xen-front: Add support for Xen PV display frontend Oleksandr Andrushchenko
2018-02-21  8:03 ` Oleksandr Andrushchenko
2018-02-21  8:03 ` [PATCH 1/9] drm/xen-front: Introduce Xen para-virtualized frontend driver Oleksandr Andrushchenko
2018-02-21  8:03 ` Oleksandr Andrushchenko
2018-02-21  8:03   ` Oleksandr Andrushchenko
2018-02-21  8:19   ` Juergen Gross
2018-02-21  8:19     ` Juergen Gross
2018-02-21  8:47     ` Oleksandr Andrushchenko
2018-02-21  8:47     ` Oleksandr Andrushchenko
2018-02-21  8:47       ` Oleksandr Andrushchenko
2018-02-21  9:09       ` Juergen Gross
2018-02-21  9:09         ` Juergen Gross
2018-02-21  9:11         ` Oleksandr Andrushchenko
2018-02-21  9:11           ` Oleksandr Andrushchenko
2018-02-21  9:11         ` Oleksandr Andrushchenko
2018-02-21  9:17   ` [Xen-devel] " Roger Pau Monné
2018-02-21  9:17     ` Roger Pau Monné
2018-02-21  9:42     ` [Xen-devel] " Oleksandr Andrushchenko
2018-02-21  9:42       ` Oleksandr Andrushchenko
2018-02-21 10:19       ` Roger Pau Monné
2018-02-21 10:19         ` Roger Pau Monné
2018-02-21 10:25         ` Oleksandr Andrushchenko
2018-02-21 10:25         ` [Xen-devel] " Oleksandr Andrushchenko
2018-02-21 10:25           ` Oleksandr Andrushchenko
2018-02-21  9:42     ` Oleksandr Andrushchenko
2018-02-22 22:23   ` Boris Ostrovsky
2018-02-22 22:23     ` Boris Ostrovsky
2018-02-23  6:37     ` Oleksandr Andrushchenko
2018-02-23  6:37       ` Oleksandr Andrushchenko
2018-02-23 14:39       ` Boris Ostrovsky
2018-02-23 14:39         ` Boris Ostrovsky
2018-02-23 14:51         ` Oleksandr Andrushchenko
2018-02-23 14:51         ` Oleksandr Andrushchenko
2018-02-23 14:51           ` Oleksandr Andrushchenko
2018-02-23  6:37     ` Oleksandr Andrushchenko
2018-02-21  8:03 ` [PATCH 2/9] drm/xen-front: Implement Xen bus state handling Oleksandr Andrushchenko
2018-02-21  8:03   ` Oleksandr Andrushchenko
2018-02-21  8:23   ` Juergen Gross
2018-02-21  8:23     ` Juergen Gross
2018-02-21  8:50     ` Oleksandr Andrushchenko
2018-02-21  8:50       ` Oleksandr Andrushchenko
2018-02-21  8:03 ` Oleksandr Andrushchenko
2018-02-21  8:03 ` [PATCH 3/9] drm/xen-front: Read driver configuration from Xen store Oleksandr Andrushchenko
2018-02-21  8:03 ` Oleksandr Andrushchenko
2018-02-21  8:03   ` Oleksandr Andrushchenko
2018-02-22 23:20   ` Boris Ostrovsky
2018-02-22 23:20     ` Boris Ostrovsky
2018-02-23  6:46     ` Oleksandr Andrushchenko
2018-02-23  6:46     ` Oleksandr Andrushchenko
2018-02-23  6:46       ` Oleksandr Andrushchenko
2018-02-21  8:03 ` [PATCH 4/9] drm/xen-front: Implement Xen event channel handling Oleksandr Andrushchenko
2018-02-21  8:03   ` Oleksandr Andrushchenko
2018-02-22 23:50   ` Boris Ostrovsky
2018-02-22 23:50     ` Boris Ostrovsky
2018-02-23  7:00     ` Oleksandr Andrushchenko
2018-02-23  7:00     ` Oleksandr Andrushchenko
2018-02-23  7:00       ` Oleksandr Andrushchenko
2018-02-23 14:44       ` Boris Ostrovsky
2018-02-23 14:44         ` Boris Ostrovsky
2018-02-23 14:49         ` Oleksandr Andrushchenko
2018-02-23 14:49           ` Oleksandr Andrushchenko
2018-02-23 14:49         ` Oleksandr Andrushchenko
2018-02-21  8:03 ` Oleksandr Andrushchenko
2018-02-21  8:03 ` [PATCH 5/9] drm/xen-front: Implement handling of shared display buffers Oleksandr Andrushchenko
2018-02-21  8:03 ` Oleksandr Andrushchenko
2018-02-21  8:03   ` Oleksandr Andrushchenko
2018-02-23  0:25   ` Boris Ostrovsky
2018-02-23  0:25     ` Boris Ostrovsky
2018-02-23  7:53     ` Oleksandr Andrushchenko
2018-02-23  7:53       ` Oleksandr Andrushchenko
2018-02-23 14:36       ` Boris Ostrovsky
2018-02-23 14:36         ` Boris Ostrovsky
2018-02-23 14:45         ` Oleksandr Andrushchenko
2018-02-23 14:45         ` Oleksandr Andrushchenko
2018-02-23 14:45           ` Oleksandr Andrushchenko
2018-02-23  7:53     ` Oleksandr Andrushchenko
2018-02-21  8:03 ` [PATCH 6/9] drm/xen-front: Introduce DRM/KMS virtual display driver Oleksandr Andrushchenko
2018-02-21  8:03   ` Oleksandr Andrushchenko
2018-02-23 15:12   ` Boris Ostrovsky
2018-02-23 15:12     ` Boris Ostrovsky
2018-02-23 15:19     ` Oleksandr Andrushchenko
2018-02-23 15:19     ` Oleksandr Andrushchenko
2018-02-23 15:19       ` Oleksandr Andrushchenko
2018-03-05  9:13   ` Daniel Vetter
2018-03-05  9:13     ` Daniel Vetter
2018-03-05  9:19     ` Oleksandr Andrushchenko
2018-03-05  9:19       ` Oleksandr Andrushchenko
2018-03-05  9:19     ` Oleksandr Andrushchenko
2018-03-05  9:13   ` Daniel Vetter
2018-02-21  8:03 ` Oleksandr Andrushchenko
2018-02-21  8:03 ` [PATCH 7/9] drm/xen-front: Implement KMS/connector handling Oleksandr Andrushchenko
2018-02-21  8:03   ` Oleksandr Andrushchenko
2018-03-05  9:23   ` Daniel Vetter
2018-03-05  9:23     ` Daniel Vetter
2018-03-05 12:59     ` Oleksandr Andrushchenko
2018-03-05 12:59       ` Oleksandr Andrushchenko
2018-03-06  7:22       ` Daniel Vetter
2018-03-06  7:22       ` Daniel Vetter
2018-03-06  7:22         ` Daniel Vetter
2018-03-06  7:29         ` Oleksandr Andrushchenko
2018-03-06  7:29           ` Oleksandr Andrushchenko
2018-03-06  7:29         ` Oleksandr Andrushchenko
2018-03-05 12:59     ` Oleksandr Andrushchenko
2018-03-05  9:23   ` Daniel Vetter
2018-02-21  8:03 ` Oleksandr Andrushchenko
2018-02-21  8:03 ` [PATCH 8/9] drm/xen-front: Implement GEM operations Oleksandr Andrushchenko
2018-02-21  8:03   ` Oleksandr Andrushchenko
2018-02-23 15:26   ` Boris Ostrovsky
2018-02-23 15:26     ` Boris Ostrovsky
2018-02-23 15:35     ` Oleksandr Andrushchenko
2018-02-23 15:35       ` Oleksandr Andrushchenko
2018-02-26 23:47       ` Boris Ostrovsky
2018-02-27  6:52         ` Oleksandr Andrushchenko
2018-02-27  6:52         ` Oleksandr Andrushchenko
2018-02-27  6:52           ` Oleksandr Andrushchenko
2018-02-28 19:46           ` Boris Ostrovsky
2018-02-28 19:46           ` Boris Ostrovsky
2018-02-28 19:52             ` Oleksandr Andrushchenko
2018-02-28 19:52               ` Oleksandr Andrushchenko
2018-02-28 19:52             ` Oleksandr Andrushchenko
2018-02-26 23:47       ` Boris Ostrovsky
2018-03-05  9:32   ` Daniel Vetter
2018-03-05  9:32   ` Daniel Vetter
2018-03-05  9:32     ` Daniel Vetter
2018-03-05 13:46     ` Oleksandr Andrushchenko
2018-03-05 13:46     ` Oleksandr Andrushchenko
2018-03-05 13:46       ` Oleksandr Andrushchenko
2018-03-06  7:26       ` Daniel Vetter
2018-03-06  7:43         ` Oleksandr Andrushchenko
2018-03-06  7:43         ` Oleksandr Andrushchenko
2018-03-06  7:26       ` Daniel Vetter
2018-02-21  8:03 ` Oleksandr Andrushchenko
2018-02-21  8:03 ` [PATCH 9/9] drm/xen-front: Implement communication with backend Oleksandr Andrushchenko
2018-02-21  8:03   ` Oleksandr Andrushchenko
2018-03-05  9:25   ` Daniel Vetter
2018-03-05  9:25   ` Daniel Vetter
2018-03-05  9:25     ` Daniel Vetter
2018-03-05  9:30     ` Oleksandr Andrushchenko
2018-03-05  9:30     ` Oleksandr Andrushchenko
2018-03-06  9:26       ` Daniel Vetter
2018-03-06  9:26         ` Daniel Vetter
2018-03-06  9:45         ` Oleksandr Andrushchenko
2018-03-06  9:45         ` Oleksandr Andrushchenko
2018-03-06  9:26       ` Daniel Vetter
2018-02-21  8:03 ` Oleksandr Andrushchenko
2018-02-26  8:21 ` [PATCH 0/9] drm/xen-front: Add support for Xen PV display frontend Oleksandr Andrushchenko
2018-02-26  8:21   ` Oleksandr Andrushchenko
2018-02-27 12:40   ` Oleksandr Andrushchenko
2018-02-27 12:40   ` Oleksandr Andrushchenko
2018-02-27 12:40     ` Oleksandr Andrushchenko
2018-02-28 14:08     ` [Xen-devel] " Julien Grall
2018-03-01  1:42       ` Stefano Stabellini
2018-03-01  1:42       ` Stefano Stabellini [this message]
2018-03-01  1:42         ` [Xen-devel] " Stefano Stabellini
2018-02-28 14:08     ` Julien Grall
2018-03-01  8:26     ` Gerd Hoffmann
2018-03-01  8:26     ` Gerd Hoffmann
2018-03-01  8:26       ` Gerd Hoffmann
2018-03-01  8:49       ` Oleksandr Andrushchenko
2018-03-01  8:49       ` Oleksandr Andrushchenko
2018-03-01  8:49         ` Oleksandr Andrushchenko
2018-02-26  8:21 ` Oleksandr Andrushchenko
2018-03-01  1:14 ` Stefano Stabellini
2018-03-01  1:14 ` Stefano Stabellini
2018-03-01  1:14   ` Stefano Stabellini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.DEB.2.10.1802281735270.4239@sstabellini-ThinkPad-X260 \
    --to=sstabellini@kernel.org \
    --cc=airlied@linux.ie \
    --cc=andr2000@gmail.com \
    --cc=boris.ostrovsky@oracle.com \
    --cc=daniel.vetter@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=gustavo@padovan.org \
    --cc=jgross@suse.com \
    --cc=julien.grall@arm.com \
    --cc=konrad.wilk@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=oleksandr_andrushchenko@epam.com \
    --cc=seanpaul@chromium.org \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.