2.5. Installation#
2.5.1. Claim sets#
A claim set is an array of memory_claim_t entries.
-
type memory_claim_t#
The
typedefforxen_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 unpinned 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.
-
uint64_aligned_t pages#
-
type uint64_aligned_t#
64-bit unsigned integer type with alignment requirements suitable for representing page counts in the claim structure.
2.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.
2.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.