Lines Matching full:the

20  * between domains. This shared memory interface underpins the split
24 * is shared with Xen; it allows the domain to tell Xen what kind of
25 * permissions other domains have on its pages. Entries in the grant
27 * integer, which indexes into the grant table. It acts as a
28 * capability which the grantee can use to perform operations on the
33 * the details of a shared page, removing the need for a domain to
34 * know the real machine address of a page it is sharing. This makes
51 * Introducing a valid entry into the grant table:
68 * This cannot be done directly. Request assistance from the domain controller
69 * which can set a timeout on the use of a grant entry and take necessary
78 * [*] If GTF_transfer_committed is set then the grant entry is 'committed'.
79 * The guest must /not/ modify the grant entry until the address of the
80 * transferred frame is written. It is safe for the guest to spin waiting
102 * [XEN]: This field is written by Xen and read by the sharing guest.
103 * [GST]: This field is written by the guest and read by Xen.
107 * Version 1 of the grant table entry structure is maintained largely for
118 /* The domain being granted foreign privileges. [GST] */
130 /* The first few grant table entries will be preserved across grant table
142 * to this guest. Xen writes the page number to @frame.
159 * mappings of the grant [GST]
160 * GTF_sub_page: Grant access to only a subrange of the page. @domid
161 * will only be allowed to copy from the grant, and not
183 * it must /not/ modify the grant entry until GTF_transfer_completed is
185 * GTF_transfer_completed: It is safe for the guest to spin-wait on this flag
186 * after reading GTF_transfer_committed. Xen will always write the frame
195 * Version 2 grant table entries. These fulfil the same role as
198 * and every entry in the table will be the same version.
200 * The interface by which domains use grant references does not depend
201 * on the grant table version in use by the other domain.
205 * Version 1 and version 2 grant entries share a common prefix. The
206 * fields of the prefix are documented as part of struct
216 * Version 2 of the grant entry structure.
227 * In that case, the frame field has the same semantics as the
228 * field of the same name in the V1 entry structure.
237 * If the grant type is GTF_grant_access and GTF_sub_page is set,
249 * If the grant is GTF_transitive, @domid is allowed to use the
250 * grant @gref in domain @trans_domid, as if it was the local
251 * domain. Obviously, the transitive access must be compatible
252 * with the original grant.
254 * The current version of Xen does not allow transitive grants
282 * @args points to an array of a per-command data structure. The array
310 * GNTTABOP_map_grant_ref: Map the grant entry (<dom>,<ref>) for access
312 * that must be presented later to destroy the mapping(s). On error, <status>
315 * 1. If GNTMAP_device_map is specified then <dev_bus_addr> is the address
316 * via which I/O devices may access the granted frame.
318 * either a host virtual address in the current address space, or at
319 * a PTE at the specified machine address. The type of mapping to
320 * perform is selected through the GNTMAP_contains_pte flag, and the
324 * to be accounted to the correct grant reference!
346 * 1. The call may fail in an undefined manner if either mapping is not
349 * mappings will remain in the device or host TLBs.
364 * <nr_frames> pages. The frame addresses are written to the <frame_list>.
365 * Only <nr_frames> addresses are written, even if the table is larger.
387 * GNTTABOP_dump_table: Dump the contents of the grant table to the
400 * GNTTABOP_transfer: Transfer <frame> to a foreign domain. The foreign domain
401 * has previously registered its interest in the transfer via <domid, ref>.
403 * Note that, even if the transfer fails, the specified page no longer belongs
404 * to the calling domain *unless* the error is GNTST_bad_page.
423 * grant references. the foreign domain has to grant read/write access
426 * The flags specify what type source and destinations are (either MFN
430 * via a third party if the source and destination domains had previously
431 * grant appropriate access to their pages to the third party.
433 * source_offset specifies an offset in the source frame, dest_offset
434 * the offset in the target frame and len specifies the number of
462 * GNTTABOP_query_size: Query the current and maximum sizes of the shared
481 * tracked by <handle> but atomically replace the page table entry with one
482 * pointing to the machine address under <new_addr>. <new_addr> will be
483 * redirected to the null entry.
485 * 1. The call may fail in an undefined manner if either mapping is not
488 * mappings will remain in the device or host TLBs.
503 * GNTTABOP_set_version: Request a particular version of the grant
506 * are active. The only defined versions are 1 and 2.
517 * GNTTABOP_get_status_frames: Get the list of frames used to store grant
518 * status for <dom>. In grant format version 2, the status is separated
519 * from the other shared grant fields to allow more efficient synchronization
521 * <nr_frames> specify the size of vector <frame_list>.
522 * The frame addresses are returned in the <frame_list>.
523 * Only <nr_frames> addresses are returned, even if the table is larger.
540 * GNTTABOP_get_version: Get the grant table version which is in
554 * GNTTABOP_swap_grant_ref: Swap the contents of two grant entries.
568 * page granted to the calling domain by a foreign domain.
576 uint16_t length; /* size within the grant */
590 /* Map the grant entry for access by I/O devices. */
593 /* Map the grant entry for access by host CPUs. */
596 /* Accesses to the granted frame will be restricted to read-only access. */
601 * 0 => The host mapping is usable only by the guest OS.
602 * 1 => The host mapping is usable by guest OS + current application.
610 * 1 => This map request contains the machine addess of the PTE to update.
650 "no spare translation slot in the I/O MMU", \