[Krafton Jungle] PintOS 2.0.0
크래프톤 정글 PintOS
 
Loading...
Searching...
No Matches
pte.h File Reference
#include "threads/vaddr.h"
Include dependency graph for pte.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define PML4SHIFT   39UL
 
#define PDPESHIFT   30UL
 
#define PDXSHIFT   21UL
 
#define PTXSHIFT   12UL
 
#define PML4(la)   ((((uint64_t) (la)) >> PML4SHIFT) & 0x1FF)
 
#define PDPE(la)   ((((uint64_t) (la)) >> PDPESHIFT) & 0x1FF)
 
#define PDX(la)   ((((uint64_t) (la)) >> PDXSHIFT) & 0x1FF)
 
#define PTX(la)   ((((uint64_t) (la)) >> PTXSHIFT) & 0x1FF)
 
#define PTE_ADDR(pte)   ((uint64_t) (pte) & ~0xFFF)
 
#define PTE_FLAGS   0x00000000000000fffUL /* Flag bits. */
 
#define PTE_ADDR_MASK   0xffffffffffffff000UL /* Address bits. */
 
#define PTE_AVL   0x00000e00 /* Bits available for OS use. */
 
#define PTE_P   0x1 /* 1=present, 0=not present. */
 
#define PTE_W   0x2 /* 1=read/write, 0=read-only. */
 
#define PTE_U   0x4 /* 1=user/kernel, 0=kernel only. */
 
#define PTE_A   0x20 /* 1=accessed, 0=not acccessed. */
 
#define PTE_D   0x40 /* 1=dirty, 0=not dirty (PTEs only). */
 

Macro Definition Documentation

◆ PDPE

#define PDPE (   la)    ((((uint64_t) (la)) >> PDPESHIFT) & 0x1FF)

◆ PDPESHIFT

#define PDPESHIFT   30UL

◆ PDX

#define PDX (   la)    ((((uint64_t) (la)) >> PDXSHIFT) & 0x1FF)

◆ PDXSHIFT

#define PDXSHIFT   21UL

◆ PML4

#define PML4 (   la)    ((((uint64_t) (la)) >> PML4SHIFT) & 0x1FF)

◆ PML4SHIFT

#define PML4SHIFT   39UL

◆ PTE_A

#define PTE_A   0x20 /* 1=accessed, 0=not acccessed. */

◆ PTE_ADDR

#define PTE_ADDR (   pte)    ((uint64_t) (pte) & ~0xFFF)

◆ PTE_ADDR_MASK

#define PTE_ADDR_MASK   0xffffffffffffff000UL /* Address bits. */

◆ PTE_AVL

#define PTE_AVL   0x00000e00 /* Bits available for OS use. */

◆ PTE_D

#define PTE_D   0x40 /* 1=dirty, 0=not dirty (PTEs only). */

◆ PTE_FLAGS

#define PTE_FLAGS   0x00000000000000fffUL /* Flag bits. */

◆ PTE_P

#define PTE_P   0x1 /* 1=present, 0=not present. */

◆ PTE_U

#define PTE_U   0x4 /* 1=user/kernel, 0=kernel only. */

◆ PTE_W

#define PTE_W   0x2 /* 1=read/write, 0=read-only. */

◆ PTX

#define PTX (   la)    ((((uint64_t) (la)) >> PTXSHIFT) & 0x1FF)

◆ PTXSHIFT

#define PTXSHIFT   12UL