Remove PFA functions to allocate single page

This commit is contained in:
Alex Kotov 2021-12-14 21:11:25 +05:00
parent d5c683d6ab
commit 8b71165907
Signed by: kotovalexarian
GPG Key ID: 553C0EBBEB5D5F08
3 changed files with 7 additions and 11 deletions

View File

@ -35,9 +35,10 @@ int main()
// When you have configured PFA, you can use it to allocate and free pages.
{
const size_t page_addr = KernAux_PFA_alloc_page(&pfa);
const size_t page_addr =
KernAux_PFA_alloc_pages(&pfa, KERNAUX_PFA_PAGE_SIZE);
assert(!KernAux_PFA_is_available(&pfa, page_addr));
KernAux_PFA_free_page(&pfa, page_addr);
KernAux_PFA_free_pages(&pfa, page_addr, KERNAUX_PFA_PAGE_SIZE);
assert(KernAux_PFA_is_available(&pfa, page_addr));
}

View File

@ -11,11 +11,6 @@ extern "C" {
#define KERNAUX_PFA_PAGE_SIZE (4 * 1024)
#define KERNAUX_PFA_PAGES_COUNT_MAX (1024 * 1024)
#define KernAux_PFA_alloc_page(pfa) \
(KernAux_PFA_alloc_pages((pfa), KERNAUX_PFA_PAGE_SIZE))
#define KernAux_PFA_free_page(pfa, page_addr) \
(KernAux_PFA_free_pages((pfa), (page_addr), KERNAUX_PFA_PAGE_SIZE))
typedef struct KernAux_PFA *KernAux_PFA;
struct KernAux_PFA {

View File

@ -45,13 +45,13 @@ int main()
}
{
const size_t page_addr = KernAux_PFA_alloc_page(&pfa);
const size_t page_addr = KernAux_PFA_alloc_pages(&pfa, 1);
assert(page_addr != 0);
assert(page_addr % KERNAUX_PFA_PAGE_SIZE == 0);
assert(!KernAux_PFA_is_available(&pfa, page_addr));
KernAux_PFA_free_page(&pfa, page_addr);
KernAux_PFA_free_pages(&pfa, page_addr, 1);
assert(KernAux_PFA_is_available(&pfa, page_addr));
}
@ -78,11 +78,11 @@ int main()
for (size_t index = 0; index < KERNAUX_PFA_PAGES_COUNT_MAX; ++index) {
if (KernAux_PFA_is_available(&pfa, index * KERNAUX_PFA_PAGE_SIZE)) {
assert(KernAux_PFA_alloc_page(&pfa) != 0);
assert(KernAux_PFA_alloc_pages(&pfa, 1) != 0);
}
}
assert(KernAux_PFA_alloc_page(&pfa) == 0);
assert(KernAux_PFA_alloc_pages(&pfa, 1) == 0);
return 0;
}