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
next prev parent 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).