From: Ian Campbell <ian.campbell@citrix.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
Stefano Stabellini <stefano.stabellini@citrix.com>,
Mukesh Rathor <mukesh.rathor@oracle.com>
Cc: Ian Campbell <ian.campbell@citrix.com>, xen-devel@lists.xen.org
Subject: [PATCH 14/14] arm: implement foreign mapping using XENMEM_add_to_physmap_range
Date: Thu, 4 Oct 2012 16:11:55 +0100 [thread overview]
Message-ID: <1349363515-26190-14-git-send-email-ian.campbell@citrix.com> (raw)
In-Reply-To: <1349363496.866.49.camel@zakaz.uk.xensource.com>
This interface is prefered for foreign mappings.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
arch/arm/xen/enlighten.c | 14 +++++++++-----
include/xen/interface/memory.h | 18 ++++++++++++++++++
2 files changed, 27 insertions(+), 5 deletions(-)
diff --git a/arch/arm/xen/enlighten.c b/arch/arm/xen/enlighten.c
index 9956af5..a9946aa 100644
--- a/arch/arm/xen/enlighten.c
+++ b/arch/arm/xen/enlighten.c
@@ -51,15 +51,19 @@ static int map_foreign_page(unsigned long lpfn, unsigned long fgmfn,
unsigned int domid)
{
int rc;
- struct xen_add_to_physmap xatp = {
+ struct xen_add_to_physmap_range xatp = {
.domid = DOMID_SELF,
- .u.foreign_domid = domid,
+ .foreign_domid = domid,
+ .size = 1,
.space = XENMAPSPACE_gmfn_foreign,
- .idx = fgmfn,
- .gpfn = lpfn,
};
+ unsigned long idx = fgmfn;
+ xen_pfn_t gpfn = lpfn;
- rc = HYPERVISOR_memory_op(XENMEM_add_to_physmap, &xatp);
+ set_xen_guest_handle(xatp.idxs, &idx);
+ set_xen_guest_handle(xatp.gpfns, &gpfn);
+
+ rc = HYPERVISOR_memory_op(XENMEM_add_to_physmap_range, &xatp);
if (rc) {
pr_warn("Failed to map pfn to mfn rc:%d pfn:%lx mfn:%lx\n",
rc, lpfn, fgmfn);
diff --git a/include/xen/interface/memory.h b/include/xen/interface/memory.h
index d38bdc1..e5675bc 100644
--- a/include/xen/interface/memory.h
+++ b/include/xen/interface/memory.h
@@ -188,6 +188,24 @@ struct xen_add_to_physmap {
};
DEFINE_GUEST_HANDLE_STRUCT(xen_add_to_physmap);
+#define XENMEM_add_to_physmap_range 23
+struct xen_add_to_physmap_range {
+ /* Which domain to change the mapping for. */
+ domid_t domid;
+ uint16_t space; /* => enum phys_map_space */
+
+ /* Number of pages to go through */
+ uint16_t size;
+ domid_t foreign_domid; /* IFF gmfn_foreign */
+
+ /* Indexes into space being mapped. */
+ GUEST_HANDLE(ulong) idxs;
+
+ /* GPFN in domid where the source mapping page should appear. */
+ GUEST_HANDLE(xen_pfn_t) gpfns;
+};
+DEFINE_GUEST_HANDLE_STRUCT(xen_add_to_physmap_range);
+
/*
* Translates a list of domain-specific GPFNs into MFNs. Returns a -ve error
* code on failure. This call only works for auto-translated guests.
--
1.7.2.5
next prev parent reply other threads:[~2012-10-04 15:11 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-04 15:11 [RFC 00/14] arm: implement ballooning and privcmd foreign mappings based on x86 PVH Ian Campbell
2012-10-04 15:11 ` [PATCH 01/14] Build fixes which I beleive others have already fixed properly elsewhere Ian Campbell
2012-10-04 15:15 ` Konrad Rzeszutek Wilk
2012-10-04 15:11 ` [PATCH 02/14] xenbus: include features header Ian Campbell
2012-10-04 15:11 ` [PATCH 03/14] xen events: xen_callback_vector is x86 specific Ian Campbell
2012-10-05 11:43 ` Stefano Stabellini
2012-10-05 11:47 ` Ian Campbell
2012-10-05 18:40 ` Mukesh Rathor
2012-10-04 15:11 ` [PATCH 04/14] xen: balloon: don't include e820.h Ian Campbell
2012-10-04 15:11 ` [PATCH 05/14] xen: balloon: use correct type for frame_list Ian Campbell
2012-10-05 11:48 ` Stefano Stabellini
2012-10-05 12:32 ` Ian Campbell
2012-10-05 14:02 ` Stefano Stabellini
2012-10-05 14:33 ` Ian Campbell
2012-10-05 14:54 ` Stefano Stabellini
2012-10-05 16:11 ` Ian Campbell
2012-10-05 16:17 ` Ian Campbell
2012-10-09 12:31 ` Stefano Stabellini
2012-10-04 15:11 ` [PATCH 06/14] arm: make p2m operations NOPs Ian Campbell
2012-10-05 11:53 ` Stefano Stabellini
2012-10-04 15:11 ` [PATCH 07/14] xen: balloon: do not update stage 1 pagetable for autotranslated guests Ian Campbell
2012-10-05 12:05 ` Stefano Stabellini
2012-10-05 19:10 ` Mukesh Rathor
2012-10-04 15:11 ` [PATCH 08/14] xen: balloon: allow PVMMU interfaces to be compiled out Ian Campbell
2012-10-05 13:19 ` Stefano Stabellini
2012-10-05 13:33 ` Ian Campbell
2012-10-05 14:04 ` Stefano Stabellini
2012-10-05 14:05 ` Stefano Stabellini
2012-10-05 14:35 ` Ian Campbell
2012-10-04 15:11 ` [PATCH 09/14] xen: arm: enable balloon driver Ian Campbell
2012-10-05 13:18 ` Stefano Stabellini
2012-10-04 15:11 ` [PATCH 10/14] privcmd: refer to autotranslate not PVH in arch interfaces / comments Ian Campbell
2012-10-05 13:37 ` Stefano Stabellini
2012-10-05 13:39 ` Ian Campbell
2012-10-04 15:11 ` [PATCH 11/14] arm: implement remap interfaces needed for privcmd mappings Ian Campbell
2012-10-04 15:24 ` Konrad Rzeszutek Wilk
2012-10-04 15:48 ` Ian Campbell
2012-10-04 15:54 ` Konrad Rzeszutek Wilk
2012-10-05 13:36 ` Stefano Stabellini
2012-10-05 13:42 ` Ian Campbell
2012-10-09 0:59 ` Mukesh Rathor
2012-10-04 15:11 ` [PATCH 12/14] arm: xen: explain the EXPERIMENTAL dependency in the Kconfig help Ian Campbell
2012-10-05 13:21 ` Stefano Stabellini
2012-10-05 13:29 ` Ian Campbell
2012-10-04 15:11 ` [PATCH 13/14] xen: use xen_pft_t in struct xen_remove_from_physmap Ian Campbell
2012-10-05 13:22 ` Stefano Stabellini
2012-10-04 15:11 ` Ian Campbell [this message]
2012-10-05 13:36 ` [PATCH 14/14] arm: implement foreign mapping using XENMEM_add_to_physmap_range Stefano Stabellini
2012-10-05 13:51 ` Ian Campbell
2012-10-04 15:27 ` [RFC 00/14] arm: implement ballooning and privcmd foreign mappings based on x86 PVH Konrad Rzeszutek Wilk
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=1349363515-26190-14-git-send-email-ian.campbell@citrix.com \
--to=ian.campbell@citrix.com \
--cc=konrad.wilk@oracle.com \
--cc=mukesh.rathor@oracle.com \
--cc=stefano.stabellini@citrix.com \
--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).