diff options
author | Stefano Stabellini <stefano.stabellini@eu.citrix.com> | 2012-08-08 13:20:58 -0400 |
---|---|---|
committer | Stefano Stabellini <stefano.stabellini@eu.citrix.com> | 2012-08-08 13:20:58 -0400 |
commit | ea54209b16cbecad8928f6067af29069ac44e360 (patch) | |
tree | 8c0045d3beba26e27bb1002dac5a009b92c66429 /arch/arm/xen | |
parent | 0ec53ecf38bcbf95b4b057328a8fbba4d22ef28b (diff) |
xen/arm: implement alloc/free_xenballooned_pages with alloc_pages/kfree
Only until we get the balloon driver to work.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Diffstat (limited to 'arch/arm/xen')
-rw-r--r-- | arch/arm/xen/enlighten.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/arch/arm/xen/enlighten.c b/arch/arm/xen/enlighten.c index bad67ad43c2d..59bcb96ac369 100644 --- a/arch/arm/xen/enlighten.c +++ b/arch/arm/xen/enlighten.c | |||
@@ -148,3 +148,21 @@ static int __init xen_init_events(void) | |||
148 | return 0; | 148 | return 0; |
149 | } | 149 | } |
150 | postcore_initcall(xen_init_events); | 150 | postcore_initcall(xen_init_events); |
151 | |||
152 | /* XXX: only until balloon is properly working */ | ||
153 | int alloc_xenballooned_pages(int nr_pages, struct page **pages, bool highmem) | ||
154 | { | ||
155 | *pages = alloc_pages(highmem ? GFP_HIGHUSER : GFP_KERNEL, | ||
156 | get_order(nr_pages)); | ||
157 | if (*pages == NULL) | ||
158 | return -ENOMEM; | ||
159 | return 0; | ||
160 | } | ||
161 | EXPORT_SYMBOL_GPL(alloc_xenballooned_pages); | ||
162 | |||
163 | void free_xenballooned_pages(int nr_pages, struct page **pages) | ||
164 | { | ||
165 | kfree(*pages); | ||
166 | *pages = NULL; | ||
167 | } | ||
168 | EXPORT_SYMBOL_GPL(free_xenballooned_pages); | ||