|
XenevaOS
|

Classes | |
| struct | mapping_table |
Macros | |
| #define | PAGING_PRESENT 0x1 |
| #define | PAGING_WRITABLE 0x2 |
| #define | PAGING_NOCACHE 0x10 |
| #define | PAGING_XENEVA_NOSWAP 0x200 |
| #define | PAGING_SIZEBIT 0x80 |
| #define | PAGING_NXE 0x8000000000000000 |
| #define | PAGE_ADDR_MASK 0x000ffffffffff000 |
| #define | PAGING_USER (1<<2) |
Typedefs | |
| typedef size_t | PD_ENTRY |
| typedef size_t | PTAB_ENTRY |
| typedef size_t | PDPT_ENTRY |
| typedef size_t | PML4_ENTRY |
| typedef size_t *(* | get_tab_ptr) (void *) |
| typedef size_t(* | get_tab_index) (void *) |
Functions | |
| void | identity_map_4kb (uint64_t logical) |
| void | XEInitialisePaging () |
| bool | XEPagingMap_ (void *vaddr, paddr_t paddr, size_t attributes) |
| bool | check_free (int level, void *start_addr, void *end_addr) |
| bool | XEPagingMap (void *vaddr, paddr_t paddr, size_t length, size_t attributes) |
| void | set_paging_attributes (void *vaddr, size_t length, size_t attrset, size_t attrclear) |
| size_t | arch_get_recursive_slot () |
| void * | arch_get_pml4ptr () |
| void | fill_arch_paging_info (void *info) |
| bool | check_free (void *vaddr, size_t length) |
Variables | |
| void * | pdptr |
| void * | pml4ptr |
| size_t | recursive_slot |
| uint64_t | pml4e [512] |
| #define PAGE_ADDR_MASK 0x000ffffffffff000 |
| #define PAGING_NOCACHE 0x10 |
| #define PAGING_NXE 0x8000000000000000 |
| #define PAGING_PRESENT 0x1 |
| #define PAGING_SIZEBIT 0x80 |
| #define PAGING_USER (1<<2) |
| #define PAGING_WRITABLE 0x2 |
| #define PAGING_XENEVA_NOSWAP 0x200 |
| typedef size_t(* get_tab_index) (void *) |
| typedef size_t *(* get_tab_ptr) (void *) |
| typedef size_t PDPT_ENTRY |
| typedef size_t PML4_ENTRY |
| typedef size_t PTAB_ENTRY |
| void * arch_get_pml4ptr | ( | ) |
| size_t arch_get_recursive_slot | ( | ) |
| bool check_free | ( | int | level, |
| void * | start_addr, | ||
| void * | end_addr | ||
| ) |
| void fill_arch_paging_info | ( | void * | info | ) |
| void identity_map_4kb | ( | uint64_t | logical | ) |
| void XEInitialisePaging | ( | ) |
| void* pdptr |
BSD 2-Clause License
Copyright (c) 2023-2025, Manas Kamal Choudhury All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
| uint64_t pml4e[512] |
| void* pml4ptr |
| size_t recursive_slot |