Xen Test Framework
Macros | Typedefs | Functions
page-pae.h File Reference

Definitions and helpers for PAE pagetable handling. More...

#include <xtf/types.h>
#include <arch/page.h>
+ Include dependency graph for page-pae.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define PAE_PTE_SIZE   8
 PAE pagetable entries are 64 bits wide. More...
 
#define PAE_PTE_ORDER   3
 PAE pagetable entries are 64 bits wide. More...
 
#define PAE_PT_ORDER   9
 PAE pagetables encode 9 bits of index. More...
 
#define PAE_L1_PT_SHIFT   12
 
#define PAE_L2_PT_SHIFT   21
 
#define PAE_L3_PT_SHIFT   30
 
#define PAE_L4_PT_SHIFT   39
 
#define PAE_PRIpte   "016"PRIx64
 
#define PAE_L1_PT_ENTRIES   (PAGE_SIZE / PAE_PTE_SIZE)
 All PAE pagetables contain 512 entries. More...
 
#define PAE_L2_PT_ENTRIES   (PAGE_SIZE / PAE_PTE_SIZE)
 
#define PAE_L3_PT_ENTRIES   (PAGE_SIZE / PAE_PTE_SIZE)
 
#define PAE_L4_PT_ENTRIES   (PAGE_SIZE / PAE_PTE_SIZE)
 
#define PAE32_L3_ENTRIES   4
 

Typedefs

typedef uint64_t pae_intpte_t
 Integer representation of a PTE. More...
 

Functions

static unsigned int pae_l1_table_offset (unsigned long linear)
 
static unsigned int pae_l2_table_offset (unsigned long linear)
 
static unsigned int pae_l3_table_offset (unsigned long linear)
 

Detailed Description

Definitions and helpers for PAE pagetable handling.

Definition in file page-pae.h.

Macro Definition Documentation

◆ PAE_PTE_SIZE

#define PAE_PTE_SIZE   8

PAE pagetable entries are 64 bits wide.

Definition at line 14 of file page-pae.h.

◆ PAE_PTE_ORDER

#define PAE_PTE_ORDER   3

PAE pagetable entries are 64 bits wide.

Definition at line 16 of file page-pae.h.

◆ PAE_PT_ORDER

#define PAE_PT_ORDER   9

PAE pagetables encode 9 bits of index.

Definition at line 19 of file page-pae.h.

◆ PAE_L1_PT_ENTRIES

#define PAE_L1_PT_ENTRIES   (PAGE_SIZE / PAE_PTE_SIZE)

All PAE pagetables contain 512 entries.

Definition at line 23 of file page-pae.h.

◆ PAE_L2_PT_ENTRIES

#define PAE_L2_PT_ENTRIES   (PAGE_SIZE / PAE_PTE_SIZE)

Definition at line 24 of file page-pae.h.

◆ PAE_L3_PT_ENTRIES

#define PAE_L3_PT_ENTRIES   (PAGE_SIZE / PAE_PTE_SIZE)

Definition at line 25 of file page-pae.h.

◆ PAE_L4_PT_ENTRIES

#define PAE_L4_PT_ENTRIES   (PAGE_SIZE / PAE_PTE_SIZE)

Definition at line 26 of file page-pae.h.

◆ PAE32_L3_ENTRIES

#define PAE32_L3_ENTRIES   4

Definition at line 29 of file page-pae.h.

◆ PAE_L1_PT_SHIFT

#define PAE_L1_PT_SHIFT   12

Definition at line 32 of file page-pae.h.

◆ PAE_L2_PT_SHIFT

#define PAE_L2_PT_SHIFT   21

Definition at line 33 of file page-pae.h.

◆ PAE_L3_PT_SHIFT

#define PAE_L3_PT_SHIFT   30

Definition at line 34 of file page-pae.h.

◆ PAE_L4_PT_SHIFT

#define PAE_L4_PT_SHIFT   39

Definition at line 35 of file page-pae.h.

◆ PAE_PRIpte

#define PAE_PRIpte   "016"PRIx64

Definition at line 41 of file page-pae.h.

Typedef Documentation

◆ pae_intpte_t

Integer representation of a PTE.

Definition at line 40 of file page-pae.h.

Function Documentation

◆ pae_l1_table_offset()

static unsigned int pae_l1_table_offset ( unsigned long  linear)
inlinestatic

Definition at line 43 of file page-pae.h.

◆ pae_l2_table_offset()

static unsigned int pae_l2_table_offset ( unsigned long  linear)
inlinestatic

Definition at line 47 of file page-pae.h.

◆ pae_l3_table_offset()

static unsigned int pae_l3_table_offset ( unsigned long  linear)
inlinestatic

Definition at line 51 of file page-pae.h.