xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Malcolm Crossley <malcolm.crossley@citrix.com>
Cc: kevin.tian@intel.com, keir@xen.org, ian.campbell@citrix.com,
	george.dunlap@eu.citrix.com, andrew.cooper3@citrix.com,
	tim@xen.org, "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	jbeulich@suse.com, feng.wu@intel.com, dgdegra@tycho.nsa.gov
Subject: Re: [RFC PATCH 0/7] Implement Xen PV-IOMMU interface
Date: Wed, 17 Feb 2016 15:12:46 -0500	[thread overview]
Message-ID: <20160217201246.GB25726@char.us.oracle.com> (raw)
In-Reply-To: <56BB11F4.8080905@citrix.com>

On Wed, Feb 10, 2016 at 10:33:24AM +0000, Malcolm Crossley wrote:
> This RFC series implements the PV-IOMMU interface according to the PV-IOMMU
> design draft D.
> 
> The PV-IOMMU interface is currently restricted to being used by the hardware
> domain only as non hardware domain callers have not been fully tested yet.
> 
> Significant effort was put into implementing a m2b tracking structure without
> increasing the size of struct page but no union was found that could be safely
> used in all cases when a page is allocated to an HVM domain. Comments and
> feedback on the m2b design are most welcome.
> 
> The hardware domain specific IOMMU pre map mechanism was implemented in order
> to keep performance parity with current out of tree mechanisms to obtain BFNs
> for foreign guest owned memory. The pre map mechanism is not a weakening of
> the current security model of Xen and is only allowed when the hardware domain
> is allowed relaxed IOMMU mappings.

I would recommend you add to this patchset:

- docs/misc/pv-iommu.txt describing the design of this.
- Add yourself to the maintainers file for this code: xen/common/pv_iommu? perhaps?
- Compile this under ARM as well - and figure out what is missing there?
- Add an KConfig entry so folks have the option of not compiling the Xen
  hypervisor with this?
- Have these patches in a git tree for easier testing.

> 
> 
> Malcolm Crossley (7):
>   common/pv-iommu: Add stub hypercall for PV-IOMMU
>   iommu: add iommu_lookup_page to lookup guest gfn for a particular
>     IOMMU mapping
>   VT-d: Add iommu_lookup_page support
>   common/pv-iommu: Add query, map and unmap ops
>   x86/m2b: Add a tracking structure for mfn to bfn mappings per page
>   common/pv-iommu: Add foreign ops to PV-IOMMU interface
>   common/pv-iommu: Allow hardware_domain to pre IOMMU map foreign
>     memory
> 
>  xen/arch/x86/domain.c               |  12 +-
>  xen/arch/x86/mm/Makefile            |   1 +
>  xen/arch/x86/mm/m2b.c               | 211 ++++++++++++
>  xen/arch/x86/x86_64/compat/entry.S  |   2 +
>  xen/arch/x86/x86_64/entry.S         |   2 +
>  xen/common/Makefile                 |   1 +
>  xen/common/memory.c                 |  11 +
>  xen/common/pv_iommu.c               | 633 ++++++++++++++++++++++++++++++++++++
>  xen/drivers/passthrough/iommu.c     |  21 ++
>  xen/drivers/passthrough/vtd/iommu.c |  31 ++
>  xen/drivers/passthrough/vtd/iommu.h |   1 +
>  xen/include/asm-x86/domain.h        |   1 +
>  xen/include/asm-x86/m2b.h           |  65 ++++
>  xen/include/asm-x86/mm.h            |  12 +-
>  xen/include/public/hvm/ioreq.h      |   1 +
>  xen/include/public/pv-iommu.h       |  93 ++++++
>  xen/include/public/xen.h            |   1 +
>  xen/include/xen/iommu.h             |   2 +
>  xen/include/xen/sched.h             |   4 +
>  xen/include/xsm/dummy.h             |   6 +
>  xen/include/xsm/xsm.h               |   6 +
>  xen/xsm/dummy.c                     |   1 +
>  22 files changed, 1116 insertions(+), 2 deletions(-)
>  create mode 100644 xen/arch/x86/mm/m2b.c
>  create mode 100644 xen/common/pv_iommu.c
>  create mode 100644 xen/include/asm-x86/m2b.h
>  create mode 100644 xen/include/public/pv-iommu.h
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

  reply	other threads:[~2016-02-17 20:12 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1455099035-17649-1-git-send-email-malcolm.crossley@citrix.com>
2016-02-10 10:10 ` [RFC PATCH 1/7] common/pv-iommu: Add stub hypercall for PV-IOMMU Malcolm Crossley
2016-02-10 10:36   ` Malcolm Crossley
2016-02-17 20:09   ` Konrad Rzeszutek Wilk
2016-02-10 10:10 ` [RFC PATCH 2/7] iommu: add iommu_lookup_page to lookup guest gfn for a particular IOMMU mapping Malcolm Crossley
2016-02-17 20:22   ` Konrad Rzeszutek Wilk
2016-02-24 15:08     ` George Dunlap
2016-02-24 15:10       ` Andrew Cooper
2016-02-10 10:10 ` [RFC PATCH 3/7] VT-d: Add iommu_lookup_page support Malcolm Crossley
2016-02-17 20:32   ` Konrad Rzeszutek Wilk
2016-02-10 10:10 ` [RFC PATCH 4/7] common/pv-iommu: Add query, map and unmap ops Malcolm Crossley
2016-02-17 21:05   ` Konrad Rzeszutek Wilk
2016-02-17 21:07     ` Konrad Rzeszutek Wilk
2016-02-10 10:10 ` [RFC PATCH 5/7] x86/m2b: Add a tracking structure for mfn to bfn mappings per page Malcolm Crossley
2016-02-24 17:07   ` George Dunlap
2016-02-10 10:10 ` [RFC PATCH 6/7] common/pv-iommu: Add foreign ops to PV-IOMMU interface Malcolm Crossley
2016-02-17 21:11   ` Konrad Rzeszutek Wilk
2016-02-10 10:10 ` [RFC PATCH 7/7] common/pv-iommu: Allow hardware_domain to pre IOMMU map foreign memory Malcolm Crossley
2016-02-10 10:33 ` [RFC PATCH 0/7] Implement Xen PV-IOMMU interface Malcolm Crossley
2016-02-17 20:12   ` Konrad Rzeszutek Wilk [this message]
2016-02-24 18:08   ` George Dunlap
2016-11-22 16:21   ` Martin Cerveny

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=20160217201246.GB25726@char.us.oracle.com \
    --to=konrad.wilk@oracle.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=dgdegra@tycho.nsa.gov \
    --cc=feng.wu@intel.com \
    --cc=george.dunlap@eu.citrix.com \
    --cc=ian.campbell@citrix.com \
    --cc=jbeulich@suse.com \
    --cc=keir@xen.org \
    --cc=kevin.tian@intel.com \
    --cc=malcolm.crossley@citrix.com \
    --cc=tim@xen.org \
    --cc=xen-devel@lists.xen.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).