diff options
Diffstat (limited to 'include/sysemu/cryptodev-vhost.h')
-rw-r--r-- | include/sysemu/cryptodev-vhost.h | 153 |
1 files changed, 0 insertions, 153 deletions
diff --git a/include/sysemu/cryptodev-vhost.h b/include/sysemu/cryptodev-vhost.h deleted file mode 100644 index 4c3c22a..0000000 --- a/include/sysemu/cryptodev-vhost.h +++ /dev/null @@ -1,153 +0,0 @@ -/* - * QEMU Crypto Device Common Vhost Implement - * - * Copyright (c) 2016 HUAWEI TECHNOLOGIES CO., LTD. - * - * Authors: - * Gonglei <arei.gonglei@huawei.com> - * Jay Zhou <jianjay.zhou@huawei.com> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, see <http://www.gnu.org/licenses/>. - * - */ -#ifndef CRYPTODEV_VHOST_H -#define CRYPTODEV_VHOST_H - -#include "hw/virtio/vhost.h" -#include "hw/virtio/vhost-backend.h" -#include "chardev/char.h" - -#include "sysemu/cryptodev.h" - - -typedef struct CryptoDevBackendVhostOptions { - VhostBackendType backend_type; - void *opaque; - int total_queues; - CryptoDevBackendClient *cc; -} CryptoDevBackendVhostOptions; - -typedef struct CryptoDevBackendVhost { - struct vhost_dev dev; - struct vhost_virtqueue vqs[1]; - int backend; - CryptoDevBackendClient *cc; -} CryptoDevBackendVhost; - -/** - * cryptodev_vhost_get_max_queues: - * @crypto: the cryptodev backend common vhost object - * - * Get the maximum queue number of @crypto. - * - * - * Returns: the maximum queue number - */ -uint64_t -cryptodev_vhost_get_max_queues( - CryptoDevBackendVhost *crypto); - - -/** - * cryptodev_vhost_init: - * @options: the common vhost object's option - * - * Creates a new cryptodev backend common vhost object - * - ** The returned object must be released with - * cryptodev_vhost_cleanup() when no - * longer required - * - * Returns: the cryptodev backend common vhost object - */ -struct CryptoDevBackendVhost * -cryptodev_vhost_init( - CryptoDevBackendVhostOptions *options); - -/** - * cryptodev_vhost_cleanup: - * @crypto: the cryptodev backend common vhost object - * - * Clean the resource associated with @crypto that realizaed - * by cryptodev_vhost_init() - * - */ -void cryptodev_vhost_cleanup( - CryptoDevBackendVhost *crypto); - -/** - * cryptodev_get_vhost: - * @cc: the client object for each queue - * @b: the cryptodev backend common vhost object - * @queue: the cryptodev backend queue index - * - * Gets a new cryptodev backend common vhost object based on - * @b and @queue - * - * Returns: the cryptodev backend common vhost object - */ -CryptoDevBackendVhost * -cryptodev_get_vhost(CryptoDevBackendClient *cc, - CryptoDevBackend *b, - uint16_t queue); -/** - * cryptodev_vhost_start: - * @dev: the virtio crypto object - * @total_queues: the total count of queue - * - * Starts the vhost crypto logic - * - * Returns: 0 for success, negative for errors - */ -int cryptodev_vhost_start(VirtIODevice *dev, int total_queues); - -/** - * cryptodev_vhost_stop: - * @dev: the virtio crypto object - * @total_queues: the total count of queue - * - * Stops the vhost crypto logic - * - */ -void cryptodev_vhost_stop(VirtIODevice *dev, int total_queues); - -/** - * cryptodev_vhost_virtqueue_mask: - * @dev: the virtio crypto object - * @queue: the cryptodev backend queue index - * @idx: the virtqueue index - * @mask: mask or not (true or false) - * - * Mask/unmask events for @idx virtqueue on @dev device - * - */ -void cryptodev_vhost_virtqueue_mask(VirtIODevice *dev, - int queue, - int idx, bool mask); - -/** - * cryptodev_vhost_virtqueue_pending: - * @dev: the virtio crypto object - * @queue: the cryptodev backend queue index - * @idx: the virtqueue index - * - * Test and clear event pending status for @idx virtqueue on @dev device. - * Should be called after unmask to avoid losing events. - * - * Returns: true for success, false for errors - */ -bool cryptodev_vhost_virtqueue_pending(VirtIODevice *dev, - int queue, int idx); - -#endif /* CRYPTODEV_VHOST_H */ |