• Home
  • Raw
  • Download

Lines Matching +full:application +full:- +full:notes

5  * page-ownership transfers.
37 /* Some rough guidelines on accessing and updating grant-table entries
38 * in a concurrency-safe manner. For more information, Linux contains a
41 * NB. WMB is a no-op on current-generation x86 processors. However, a
45 * 1. Write ent->domid.
46 * 2. Write ent->frame:
48 * GTF_accept_transfer: Pseudo-phys frame slot being filled by new
51 * 4. Write ent->flags, inc. valid type.
54 * 1. flags = ent->flags.
56 * 3. Check result of SMP-safe CMPXCHG(&ent->flags, flags, 0).
57 * NB. No need for WMB as reuse of entry is control-dependent on success of
58 * step 3, and all architectures guarantee ordering of ctrl-dep writes.
60 * Invalidating an in-use GTF_permit_access entry:
66 * 1. flags = ent->flags.
68 * 3. Check result of SMP-safe CMPXCHG(&ent->flags, flags, 0).
69 * NB. No need for WMB as reuse of entry is control-dependent on success of
70 * step 3, and all architectures guarantee ordering of ctrl-dep writes.
75 * ent->flags).
78 * 1. Wait for (ent->flags & GTF_transfer_completed).
80 * Changing a GTF_permit_access from writable to read-only:
81 * Use SMP-safe CMPXCHG to set GTF_readonly, while checking !GTF_writing.
83 * Changing a GTF_permit_access from read-only to writable:
84 * Use SMP-safe bit-setting instruction.
132 * GTF_readonly: Restrict @domid to read-only mappings and accesses. [GST]
154 * GTF_transfer_completed: It is safe for the guest to spin-wait on this flag
191 * This member is used for V1-style full page grants, where either:
193 * -- hdr.type is GTF_accept_transfer, or
194 * -- hdr.type is GTF_permit_access and GTF_sub_page is not set.
249 * NOTES:
276 * GNTTABOP_unmap_grant_ref: Destroy one or more grant-reference mappings
278 * field is ignored. If non-zero, they must refer to a device/host mapping
280 * NOTES:
301 * NOTES:
303 * 2. Only a sufficiently-privileged domain may specify <dom> != DOMID_SELF.
304 * 3. Xen may not support more than a single grant-table page per domain.
393 * NOTES:
395 * 2. Only a sufficiently-privileged domain may specify <dom> != DOMID_SELF.
409 * GNTTABOP_unmap_and_replace: Destroy one or more grant-reference mappings
413 * NOTES:
452 * NOTES:
454 * 2. Only a sufficiently-privileged domain may specify <dom> != DOMID_SELF.
509 /* Accesses to the granted frame will be restricted to read-only access. */
515 * 1 => The host mapping is usable by guest OS + current application.
536 * Values for error status returns. All errors are -ve.
539 #define GNTST_general_error (-1) /* General undefined error. */
540 #define GNTST_bad_domain (-2) /* Unrecognsed domain id. */
541 #define GNTST_bad_gntref (-3) /* Unrecognised or inappropriate gntref. */
542 #define GNTST_bad_handle (-4) /* Unrecognised or inappropriate handle. */
543 #define GNTST_bad_virt_addr (-5) /* Inappropriate virtual address to map. */
544 #define GNTST_bad_dev_addr (-6) /* Inappropriate device address to unmap.*/
545 #define GNTST_no_device_space (-7) /* Out of space in I/O MMU. */
546 #define GNTST_permission_denied (-8) /* Not enough privilege for operation. */
547 #define GNTST_bad_page (-9) /* Specified page was invalid for op. */
548 #define GNTST_bad_copy_arg (-10) /* copy arguments cross page boundary. */
549 #define GNTST_address_too_big (-11) /* transfer page address too large. */
550 #define GNTST_eagain (-12) /* Operation not done; try again. */