mirror of https://github.com/tailix/libkernaux.git
Remove PFA functions to allocate single page
This commit is contained in:
parent
d5c683d6ab
commit
8b71165907
|
@ -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));
|
||||
}
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue