aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/xen/mm.h
diff options
context:
space:
mode:
authorkfraser@dhcp93.uk.xensource.com <kfraser@dhcp93.uk.xensource.com>2006-06-16 14:43:54 +0100
committerkfraser@dhcp93.uk.xensource.com <kfraser@dhcp93.uk.xensource.com>2006-06-16 14:43:54 +0100
commit516250dac6a868443b31c924c08de9ab6fea1322 (patch)
tree15d763ff6526ba5bbc3ec63a7ab2a26d6d328c90 /xen/include/xen/mm.h
parent12217db9c510578941d24d4dc6e522f65ef43b0d (diff)
downloadxen-516250dac6a868443b31c924c08de9ab6fea1322.tar.gz
xen-516250dac6a868443b31c924c08de9ab6fea1322.tar.bz2
xen-516250dac6a868443b31c924c08de9ab6fea1322.zip
[XEN] New memory_op XENMEM_exchange. Allows atomic
exchange of one memory reservation for another of the same size, but with different properties. Signed-off-by: Keir Fraser <keir@xensource.com>
Diffstat (limited to 'xen/include/xen/mm.h')
-rw-r--r--xen/include/xen/mm.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index 9dcea3ae51..232e72d246 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -60,13 +60,23 @@ void free_xenheap_pages(void *v, unsigned int order);
/* Domain suballocator. These functions are *not* interrupt-safe.*/
void init_domheap_pages(paddr_t ps, paddr_t pe);
struct page_info *alloc_domheap_pages(
- struct domain *d, unsigned int order, unsigned int flags);
+ struct domain *d, unsigned int order, unsigned int memflags);
void free_domheap_pages(struct page_info *pg, unsigned int order);
unsigned long avail_domheap_pages(void);
#define alloc_domheap_page(d) (alloc_domheap_pages(d,0,0))
#define free_domheap_page(p) (free_domheap_pages(p,0))
-#define ALLOC_DOM_DMA 1
+int assign_pages(
+ struct domain *d,
+ struct page_info *pg,
+ unsigned int order,
+ unsigned int memflags);
+
+/* memflags: */
+#define _MEMF_dma 0
+#define MEMF_dma (1U<<_MEMF_dma)
+#define _MEMF_no_refcount 1
+#define MEMF_no_refcount (1U<<_MEMF_no_refcount)
#ifdef CONFIG_PAGEALLOC_MAX_ORDER
#define MAX_ORDER CONFIG_PAGEALLOC_MAX_ORDER