add ihk_mc_allocate_aligned_pages()
This commit is contained in:
@@ -16,10 +16,12 @@
|
||||
#define PAGE_SHIFT 12
|
||||
#define PAGE_SIZE (1UL << PAGE_SHIFT)
|
||||
#define PAGE_MASK (~((unsigned long)PAGE_SIZE - 1))
|
||||
#define PAGE_P2ALIGN 0
|
||||
|
||||
#define LARGE_PAGE_SHIFT 21
|
||||
#define LARGE_PAGE_SIZE (1UL << LARGE_PAGE_SHIFT)
|
||||
#define LARGE_PAGE_MASK (~((unsigned long)LARGE_PAGE_SIZE - 1))
|
||||
#define LARGE_PAGE_P2ALIGN (LARGE_PAGE_SHIFT - PAGE_SHIFT)
|
||||
|
||||
#define USER_END 0x0000800000000000UL
|
||||
#define MAP_ST_START 0xffff800000000000UL
|
||||
|
||||
@@ -35,7 +35,7 @@ void *early_alloc_page(void)
|
||||
void *arch_alloc_page(enum ihk_mc_ap_flag flag)
|
||||
{
|
||||
if (pa_ops)
|
||||
return pa_ops->alloc_page(1, flag);
|
||||
return pa_ops->alloc_page(1, PAGE_P2ALIGN, flag);
|
||||
else
|
||||
return early_alloc_page();
|
||||
}
|
||||
@@ -45,14 +45,19 @@ void arch_free_page(void *ptr)
|
||||
pa_ops->free_page(ptr, 1);
|
||||
}
|
||||
|
||||
void *ihk_mc_alloc_pages(int npages, enum ihk_mc_ap_flag flag)
|
||||
void *ihk_mc_alloc_aligned_pages(int npages, int p2align, enum ihk_mc_ap_flag flag)
|
||||
{
|
||||
if (pa_ops)
|
||||
return pa_ops->alloc_page(npages, flag);
|
||||
return pa_ops->alloc_page(npages, p2align, flag);
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void *ihk_mc_alloc_pages(int npages, enum ihk_mc_ap_flag flag)
|
||||
{
|
||||
return ihk_mc_alloc_aligned_pages(npages, PAGE_P2ALIGN, flag);
|
||||
}
|
||||
|
||||
void ihk_mc_free_pages(void *p, int npages)
|
||||
{
|
||||
if (pa_ops)
|
||||
|
||||
Reference in New Issue
Block a user