xen/grant-table: add helpers for allocating pages
Add gnttab_alloc_pages() and gnttab_free_pages() to allocate/free pages suitable to for granted maps. Signed-off-by: David Vrabel <david.vrabel@citrix.com> Reviewed-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
This commit is contained in:
@@ -50,6 +50,7 @@
|
||||
#include <xen/interface/memory.h>
|
||||
#include <xen/hvc-console.h>
|
||||
#include <xen/swiotlb-xen.h>
|
||||
#include <xen/balloon.h>
|
||||
#include <asm/xen/hypercall.h>
|
||||
#include <asm/xen/interface.h>
|
||||
|
||||
@@ -671,6 +672,34 @@ void gnttab_free_auto_xlat_frames(void)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(gnttab_free_auto_xlat_frames);
|
||||
|
||||
/**
|
||||
* gnttab_alloc_pages - alloc pages suitable for grant mapping into
|
||||
* @nr_pages: number of pages to alloc
|
||||
* @pages: returns the pages
|
||||
*/
|
||||
int gnttab_alloc_pages(int nr_pages, struct page **pages)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = alloc_xenballooned_pages(nr_pages, pages, false);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(gnttab_alloc_pages);
|
||||
|
||||
/**
|
||||
* gnttab_free_pages - free pages allocated by gnttab_alloc_pages()
|
||||
* @nr_pages; number of pages to free
|
||||
* @pages: the pages
|
||||
*/
|
||||
void gnttab_free_pages(int nr_pages, struct page **pages)
|
||||
{
|
||||
free_xenballooned_pages(nr_pages, pages);
|
||||
}
|
||||
EXPORT_SYMBOL(gnttab_free_pages);
|
||||
|
||||
/* Handling of paged out grant targets (GNTST_eagain) */
|
||||
#define MAX_DELAY 256
|
||||
static inline void
|
||||
|
Reference in New Issue
Block a user