Expand description
Memory utility functions and types
Consists of wrapper types representing different kinds of memory locations. The following diagram describes the conversions between them:
┌──────────────────┐ ┌───────────────┐
│MachineFrameNumber│◀─────────▶│PageFrameNumber│
└──────────────────┘ └───────────────┘
▲ ▲ ▲
│ │ ┌─────────┐ │
│ └──────│PageEntry│───┐ │
│ └─────────┘ │ │
│ ▼ ▼
│ ┌──────────────┐ ┌──────────────┐
└────────────────────────▶│VirtualAddress│◀─────▶│MachineAddress│
└──────────────┘ └──────────────┘
▲ ▲
│ │
│ │
▼ │
┌───────────────┐ │
│PhysicalAddress│◀─────────────┘
└───────────────┘
Modules
Xen Paravirtualized Page Table Interface
Structs
Machine address
Number of a page in the machine’s address space
Page Entry
Number for page frame
Pseudo-Physical address
Flags for update_va_mapping
Virtual address
Functions
Gets the current number of reserved pages for the current domain
Gets the maximum machine frame number of mapped RAM in this system
Gets the maximum number of reserved pages for the current domain
Updates an entry in a page table
Gives a page frame number after rounding the given address to the next page frame boundary
Update virtual address mapping