summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2010-09-30 12:37:26 +0100
committerJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>2010-11-12 15:00:06 -0800
commit7e77506a5918d82cafa2ffa783ab57c23f9e9817 (patch)
treedc922c1127c8859cda50f5cbed654c5681a89480 /include
parent9ec23a7f6d2537faf14368e066e307c06812c4ca (diff)
downloadlinux-3.10-7e77506a5918d82cafa2ffa783ab57c23f9e9817.tar.gz
linux-3.10-7e77506a5918d82cafa2ffa783ab57c23f9e9817.tar.bz2
linux-3.10-7e77506a5918d82cafa2ffa783ab57c23f9e9817.zip
xen: implement XENMEM_machphys_mapping
This hypercall allows Xen to specify a non-default location for the machine to physical mapping. This capability is used when running a 32 bit domain 0 on a 64 bit hypervisor to shrink the hypervisor hole to exactly the size required. [ Impact: add Xen hypercall definitions ] Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Diffstat (limited to 'include')
-rw-r--r--include/xen/interface/memory.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/xen/interface/memory.h b/include/xen/interface/memory.h
index d7a6c13bde6..eac3ce15371 100644
--- a/include/xen/interface/memory.h
+++ b/include/xen/interface/memory.h
@@ -141,6 +141,19 @@ struct xen_machphys_mfn_list {
DEFINE_GUEST_HANDLE_STRUCT(xen_machphys_mfn_list);
/*
+ * Returns the location in virtual address space of the machine_to_phys
+ * mapping table. Architectures which do not have a m2p table, or which do not
+ * map it by default into guest address space, do not implement this command.
+ * arg == addr of xen_machphys_mapping_t.
+ */
+#define XENMEM_machphys_mapping 12
+struct xen_machphys_mapping {
+ unsigned long v_start, v_end; /* Start and end virtual addresses. */
+ unsigned long max_mfn; /* Maximum MFN that can be looked up. */
+};
+DEFINE_GUEST_HANDLE_STRUCT(xen_machphys_mapping_t);
+
+/*
* Sets the GPFN at which a particular page appears in the specified guest's
* pseudophysical address space.
* arg == addr of xen_add_to_physmap_t.