diff options
author | akw27@arcadians.cl.cam.ac.uk <akw27@arcadians.cl.cam.ac.uk> | 2005-08-12 17:52:47 +0000 |
---|---|---|
committer | akw27@arcadians.cl.cam.ac.uk <akw27@arcadians.cl.cam.ac.uk> | 2005-08-12 17:52:47 +0000 |
commit | f24303ce78b18f84088051fabf408d65f53cd718 (patch) | |
tree | dfd20d84d5a6309c7139fec1d717e2468ad7a6ad /xen/include/xen/grant_table.h | |
parent | 30ed144f39cb7c8bacdcd7cdac47f6c9b4929214 (diff) | |
parent | 37086f1a52400032c457d4a38cbd6eb957c6e2b9 (diff) | |
download | xen-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.h | 7 |
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 { |