aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/xen/grant_table.h
diff options
context:
space:
mode:
authorakw27@arcadians.cl.cam.ac.uk <akw27@arcadians.cl.cam.ac.uk>2005-08-12 17:52:47 +0000
committerakw27@arcadians.cl.cam.ac.uk <akw27@arcadians.cl.cam.ac.uk>2005-08-12 17:52:47 +0000
commitf24303ce78b18f84088051fabf408d65f53cd718 (patch)
treedfd20d84d5a6309c7139fec1d717e2468ad7a6ad /xen/include/xen/grant_table.h
parent30ed144f39cb7c8bacdcd7cdac47f6c9b4929214 (diff)
parent37086f1a52400032c457d4a38cbd6eb957c6e2b9 (diff)
downloadxen-f24303ce78b18f84088051fabf408d65f53cd718.tar.gz
xen-f24303ce78b18f84088051fabf408d65f53cd718.tar.bz2
xen-f24303ce78b18f84088051fabf408d65f53cd718.zip
This changest allows grant mappings to arbitrary PTEs.
The map operation now takes PTE addresses as well as virtual addresses. The contains_pte flag is used to indicate what sort of address is in the map request. Additionally, this patch: - fixes grant mappings to user space. - fixes overflow testing when you run out of maptrack entry space. Signed-off-by: Andrew Warfield <andrew.warfield@cl.cam.ac.uk> Signed-off-by: Leoffrey Lefebvre <geoffrey.g.lefebvre@intel.com>
Diffstat (limited to 'xen/include/xen/grant_table.h')
-rw-r--r--xen/include/xen/grant_table.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/xen/include/xen/grant_table.h b/xen/include/xen/grant_table.h
index c273eacada..1250c5abaf 100644
--- a/xen/include/xen/grant_table.h
+++ b/xen/include/xen/grant_table.h
@@ -61,11 +61,12 @@ typedef struct {
* table of these, indexes into which are returned as a 'mapping handle'.
*/
typedef struct {
- u16 ref_and_flags; /* 0-2: GNTMAP_* ; 3-15: grant ref */
+ u16 ref_and_flags; /* 0-4: GNTMAP_* ; 5-15: grant ref */
domid_t domid; /* granting domain */
} grant_mapping_t;
-#define MAPTRACK_GNTMAP_MASK 7
-#define MAPTRACK_REF_SHIFT 3
+#define MAPTRACK_GNTMAP_MASK 0x1f
+#define MAPTRACK_REF_SHIFT 5
+#define MAPTRACK_MAX_ENTRIES ( 1 << (16 - MAPTRACK_REF_SHIFT) )
/* Per-domain grant information. */
typedef struct {