3.5. Installation#

3.5.1. Claim sets#

A claim set is an array of memory_claim_t entries.

type memory_claim_t#

The typedef for xen_memory_claim, used for passing an array of claim set entries to the hypervisor.

struct xen_memory_claim#

Underlying structure for passing claim sets to the hypervisor.

This structure represents an individual claim entry in a claim set. It specifies the number of pages claimed and the target of the claim, which can be a specific NUMA node or a special value for host-wide claims.

The structure includes padding for future expansion. It is important to zero-initialise it or use designated initialisers to ensure forward compatibility. Members are as follows:

uint64_aligned_t pages#

Number of pages for this claim entry.

uint32_t cmd#

Command field reserved for future use. It must be initialised to 0 for forward compatibility.

uint32_t target#

The target of the claim entry. It can be a special selector, which could in the future include flags and additional information, or simply a NUMA node ID.

See Hypercall API for the defined special selectors and their semantics.

type uint64_aligned_t#

64-bit unsigned integer type with alignment requirements suitable for representing page counts in the claim structure.

3.5.2. Claim set installation#

Claim set installation is invoked via XEN_DOMCTL_claim_memory, and domain_install_claim_set() implements the claim set installation logic.

See Accounting for details on the claims accounting state.

3.5.3. Legacy claim installation#

Legacy claims are set via the XENMEM_claim_pages hypercall command.

Note

The legacy path is deprecated. Use XEN_DOMCTL_claim_memory for new code.