MOS Source Code
Loading...
Searching...
No Matches
pml2.h
Go to the documentation of this file.
1// SPDX-License-Identifier: GPL-3.0-or-later
2
3#pragma once
4
6
7void pml2_traverse(pml2_t pml2, ptr_t *vaddr, size_t *n_pages, pagetable_walk_options_t callback, void *data);
8
9__nodiscard bool pml2_destroy_range(pml2_t pml2, ptr_t *vaddr, size_t *n_pages);
10
11pml2e_t *pml2_entry(pml2_t pml2, ptr_t vaddr);
12
13bool pml2e_is_present(const pml2e_t *pml2e);
14
15pml1_t pml2e_get_or_create_pml1(pml2e_t *pml2e);
bool callback(pb_istream_t *stream, uint8_t *buf, size_t count)
#define __nodiscard
Definition mos_global.h:35
pml1_t pml2e_get_or_create_pml1(pml2e_t *pml2e)
Definition pml2.c:83
bool pml2e_is_present(const pml2e_t *pml2e)
Definition pml2.c:78
pml2e_t * pml2_entry(pml2_t pml2, ptr_t vaddr)
Definition pml2.c:73
void pml2_traverse(pml2_t pml2, ptr_t *vaddr, size_t *n_pages, pagetable_walk_options_t callback, void *data)
Definition pml2.c:13
__nodiscard bool pml2_destroy_range(pml2_t pml2, ptr_t *vaddr, size_t *n_pages)
Definition pml2.c:44
unsigned long ptr_t
Definition types.h:25