Lines Matching +full:back +full:- +full:end

4 #include "hw/virtio/vhost-backend.h"
74 * struct vhost_dev - common vhost_dev structure
93 /* if non-zero, minimum required value for max_queues */
101 * @acked_features: final negotiated features with front-end driver
114 * @protocol_features: is the vhost-user only feature set by
150 * vhost_dev_init() - initialise the vhost interface
152 * @opaque: opaque ptr passed to backend (vhost/vhost-user/vdpa)
162 * Return: 0 on success, non-zero on error while setting errp.
169 * vhost_dev_cleanup() - tear down and cleanup vhost interface
179 * vhost_dev_enable_notifiers() - enable event notifiers
192 * vhost_dev_disable_notifiers - disable event notifications
203 * vhost_dev_is_started() - report status of vhost device
210 return hdev->started; in vhost_dev_is_started()
214 * vhost_dev_start() - start the vhost device
227 * vhost_dev_stop() - stop the vhost device
252 * vhost_dev_get_config() - fetch device configuration
263 * vhost_dev_set_config() - set device configuration
274 * Return: 0 on success, non-zero on error
280 * vhost_dev_set_config_notifier() - register VhostDevConfigOps
302 * vhost_get_features() - return a sanitised set of feature bits
308 * is supported by the vhost backend (hdev->features), the supported
315 * vhost_ack_features() - set vhost acked_features
320 * This sets the internal hdev->acked_features to the intersection of
353 return -ENOSYS; in vhost_reset_device()
358 * vhost_supports_device_state(): Checks whether the back-end supports
372 * the back-end for the purpose of migration. Data is to be transferred
373 * over a pipe according to @direction and @phase. The sending end must
374 * only write to the pipe, and the receiving end must only read from it.
375 * Once the sending end is done, it closes its FD. The receiving end
376 * must take this as the end-of-transfer signal and close its FD, too.
378 * @fd is the back-end's end of the pipe: The write FD for SAVE, and the
380 * back-end, i.e. closes it in the front-end.
382 * The back-end may optionally reply with an FD of its own, if this
383 * improves efficiency on its end. In this case, the returned FD is
384 * stored in *reply_fd. The back-end will discard the FD sent to it,
385 * and the front-end must use *reply_fd for transferring state to/from
386 * the back-end.
391 * from the back-end and stored by the front-end in the
394 * by the front-end from the migration stream and sent to
395 * the back-end to restore the saved state.
399 * @fd: Back-end's end of the pipe through which to transfer state; note
400 * that ownership is transferred to the back-end, so this function
401 * closes @fd in the front-end.
402 * @reply_fd: If the back-end wishes to use a different pipe for state
403 * transfer, this will contain an FD for the front-end to
404 * use. Otherwise, -1 is stored here.
407 * Returns 0 on success, and -errno on failure.
418 * back-end via vhost_set_device_state_fd(), i.e. once the sending end
419 * has closed the pipe, inquire the back-end to report any potential
422 * - During outgoing migration, when the source side had already started
424 * - During incoming migration, when the received state is somehow
425 * invalid and cannot be processed by the back-end
430 * Returns 0 when the back-end reports successful state transfer and
431 * processing, and -errno when an error occurred somewhere.
436 * vhost_save_backend_state(): High-level function to receive a vhost
437 * back-end's state, and save it in @f. Uses
438 * `vhost_set_device_state_fd()` to get the data from the back-end, and
440 * respective length (be32). The end is marked by a 0-length chunk.
449 * Returns 0 on success, and -errno otherwise.
454 * vhost_load_backend_state(): High-level function to load a vhost
455 * back-end's state from @f, and send it over to the back-end. Reads
457 * `vhost_set_device_state_fd()` to transfer it to the back-end.
466 * Returns 0 on success, and -errno otherwise.