XenevaOS
Loading...
Searching...
No Matches
Macros | Functions
vmmngr.h File Reference
#include "littleboot.h"
Include dependency graph for vmmngr.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define PTE_VALID   (1ULL << 0)
 
#define PTE_TABLE   (1ULL << 1)
 
#define PTE_BLOCK   (0ULL << 1)
 
#define PTE_AF   (1ULL << 10)
 
#define PTE_SH_INNER   (3ULL << 8)
 
#define PTE_AP_RW   (0ULL << 6)
 
#define PTE_ATTR_IDX_0   (0ULL << 2)
 
#define PTE_ATTR_IDX_1   (1ULL << 2)
 
#define PTE_SH_NONE   (0 << 8)
 
#define PTE_DEVICE   PTE_ATTR_IDX_0
 
#define PTE_NORMAL   PTE_ATTR_IDX_1
 

Functions

void LBPagingInitialize ()
 
void LBPagingMap (uint64_t virtual, uint64_t physical)
 
void LBPageTableWalk (uint64_t virtual)
 
void LBPagingFree (uint64_t virt_addr, bool free_physical)
 

Macro Definition Documentation

◆ PTE_AF

#define PTE_AF   (1ULL << 10)

◆ PTE_AP_RW

#define PTE_AP_RW   (0ULL << 6)

◆ PTE_ATTR_IDX_0

#define PTE_ATTR_IDX_0   (0ULL << 2)

◆ PTE_ATTR_IDX_1

#define PTE_ATTR_IDX_1   (1ULL << 2)

◆ PTE_BLOCK

#define PTE_BLOCK   (0ULL << 1)

◆ PTE_DEVICE

#define PTE_DEVICE   PTE_ATTR_IDX_0

◆ PTE_NORMAL

#define PTE_NORMAL   PTE_ATTR_IDX_1

◆ PTE_SH_INNER

#define PTE_SH_INNER   (3ULL << 8)

◆ PTE_SH_NONE

#define PTE_SH_NONE   (0 << 8)

◆ PTE_TABLE

#define PTE_TABLE   (1ULL << 1)

◆ PTE_VALID

#define PTE_VALID   (1ULL << 0)

BSD 2-Clause License

Copyright (c) 2022-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:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

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.

Function Documentation

◆ LBPageTableWalk()

void LBPageTableWalk ( uint64_t  virtual)
extern

◆ LBPagingFree()

void LBPagingFree ( uint64_t  virt_addr,
bool  free_physical 
)
extern

◆ LBPagingInitialize()

void LBPagingInitialize ( )
extern

◆ LBPagingMap()

void LBPagingMap ( uint64_t  virtual,
uint64_t  physical 
)
extern