MOS Source Code
Loading...
Searching...
No Matches
pml4.h
Go to the documentation of this file.
1// SPDX-License-Identifier: GPL-3.0-or-later
2
3#pragma once
4
6
7void pml4_traverse(pml4_t pml4, ptr_t *vaddr, size_t *n_pages, pagetable_walk_options_t callback, void *data);
8
9__nodiscard bool pml4_destroy_range(pml4_t pml4, ptr_t *vaddr, size_t *n_pages);
10
11pml4e_t *pml4_entry(pml4_t pml4, ptr_t vaddr);
12
13bool pml4e_is_present(const pml4e_t *pml4e);
14
bool callback(pb_istream_t *stream, uint8_t *buf, size_t count)
#define __nodiscard
Definition mos_global.h:35
void pml4_traverse(pml4_t pml4, ptr_t *vaddr, size_t *n_pages, pagetable_walk_options_t callback, void *data)
Definition pml4.c:16
__nodiscard bool pml4_destroy_range(pml4_t pml4, ptr_t *vaddr, size_t *n_pages)
pml3_t pml4e_get_or_create_pml3(pml4e_t *pml4e)
pml4e_t * pml4_entry(pml4_t pml4, ptr_t vaddr)
Definition pml4.c:21
bool pml4e_is_present(const pml4e_t *pml4e)
Definition pml4.c:27
pml3e_t pml4e_t
Definition pml_types.h:72
unsigned long ptr_t
Definition types.h:25