Module xen::memory

source · []
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