package xen-gnt

  1. Overview
  2. Docs

Allow a local xen domain to read/write memory exported ("granted") from foreign domains. Safe memory sharing is a building block of all xen inter-domain communication protocols such as those for virtual network and disk devices.

Foreign domains will explicitly "grant" us access to certain memory regions such as disk buffers. These regions are uniquely identified by the pair of (foreign domain id, integer reference) which is passed to us over some existing channel (typically via xenstore keys or via structures in previously-shared memory region).

Common interface

type gntref = int

Type of a grant table index, called a grant reference in Xen's terminology.

Receiving foreign pages

module Gnttab : sig ... end

Offering pages to foreign domains

module Gntshr : sig ... end
val console : gntref

In xen-4.2 and later, the domain builder will allocate one of the reserved grant table entries and use it to pre-authorise the console backend domain.

val xenstore : gntref

In xen-4.2 and later, the domain builder will allocate one of the reserved grant table entries and use it to pre-authorise the xenstore backend domain.

Functions called by Sched, do not call directly.

val suspend : unit -> unit
val resume : unit -> unit