xxx_none(xxx_t xxx), xxx_present(xxx_t xxx), xxx_bad(xxx_t xxx), xxx_clear(xxx_t xxx) sprawdzają obecność,
poprawność i czyszczą xxx za pomocą bitowych operacji na xxx
Nie ma funkcji pte_bad(), zamiast niej istnieje kilka funkcji pozwalających sprawdzać
wartość i modyfikować bity ochrony pozycji tablicy pte.
pte_t *pte_alloc_one_fast(struct mm_struct *mm, unsigned long address) pobiera stronę
z listy pte_quicklist jeśli lista jest pusta zwraca 0, wpp. adres liniowy strony.
Analogicznie pmd_alloc_one_fast.
pgd_t *get_pgd_fast(void) jak wyżej, z tym, że kiedy lista jest pusta allokuje nową stronę
za pomocą get_pgd_slow
pte_t *pte_alloc_one(struct mm_struct *mm, unsigned long address) przydziela nowy obsza pamići
za pomocą __get_free_page,a następnie go czyści.
Analogicznie pmd_alloc_one.
pgd_t *get_pgd_slow(void) jak wyżej, z tym że w zależności od architektury wykonuje
również inne czynności.
void pmd_populate(mm,pmd_t *pmd,pte_t *pte) tworzy pole pośredniego katalogu stron
opisujące tablicę stron znajdującą się pod adresem liniowym pte i umieszcza w pośrednim
katalogu stron, w polu wskazywanym przez pmd.
pgd_populate analogicznie.
set_xxx(xxx_t *xxxptr, xxx_t xxxval) (lub xxx_set zależnie od architektury) umieszcza xxxval w polu wskazywanym przez xxxptr.
xxx_t *xxx_offset(dir, void *address) zwraca adres pola w tablicy xxx wskazywanej przez dir, gdzie dir jest wskaźnikiem na strukturę wyższego rzędu, które bierze udział w tłumaczeniu adresu liniowego address. Konkretna postać dir zależy od xxx.
xxx_page(xxx_t xxx) zwraca adres liniowy strony, na której znajduje się tablica wskazywana przez xxx, gdy xxx jest postaci pgd lub pmd.
mem_map_t *pte_page(pte_t pte) zwraca adres pola w tablicy ramek opisującego ramkę odpowiadającą stronie wzkazuwanej przez pte.
Funkcje zwracające adres liniowy tablic stron korzystają z faktu, że tablica stron stanowi
spójny blok pamięci fizycznej, którego adres fizyczny jest w tablicy nadrzędnego poziomu, a
który można łatwo przetłumaczyć na adres liniowy za pomocą makra __va()
W wersji dla Intela zaallokowanie tablicy pgd oznacza zaallokowanie wszystkich podlegających mu tablic pmd, analogicznie usuwanie. Próba wywołania odpowiedniej funkcji dotyczącej pmd zwraca błąd.
Zwalnianie pamięci jest prostsze:
void xxx_free(xxx_t *xxx) uruchamia funkcję xxx_free_fast(xxx).
void xxx_free_fast(xxx_t *xxx) dołącza pamięć zajmowaną przez xxx do xxx_quicklist.
void xxx_free_slow(xxx_t *xxx) zwalnia pamięć zajmowaną przez xxx za pomocą np. free_page.