Jay Zhou 25500d4b80 crypto/virtio: support device init
This patch implements the initialization of the virtio crypto device.
The virtio crypto device conforms to virtio-1.0, so this patch only
supports modern mode operation.
The cryptodev is created at the virtio crypto pci device probing stage.
The function of virtio_crypto_pkt_tx_burst() is used to burst transfer
packets and virtio_crypto_pkt_rx_burst() is used to burst receive packets.

Signed-off-by: Jay Zhou <jianjay.zhou@huawei.com>
Reviewed-by: Fan Zhang <roy.fan.zhang@intel.com>
2018-04-23 18:20:10 +01:00

92 lines
2.8 KiB
C

/* SPDX-License-Identifier: BSD-3-Clause
* Copyright(c) 2018 HUAWEI TECHNOLOGIES CO., LTD.
*/
#ifndef _VIRTIO_LOGS_H_
#define _VIRTIO_LOGS_H_
#include <rte_log.h>
#define PMD_INIT_LOG(level, fmt, args...) \
rte_log(RTE_LOG_ ## level, RTE_LOGTYPE_PMD, \
"PMD: %s(): " fmt "\n", __func__, ##args)
#define PMD_INIT_FUNC_TRACE() PMD_INIT_LOG(DEBUG, " >>")
extern int virtio_crypto_logtype_init;
#define VIRTIO_CRYPTO_INIT_LOG_IMPL(level, fmt, args...) \
rte_log(RTE_LOG_ ## level, virtio_crypto_logtype_init, \
"INIT: %s(): " fmt "\n", __func__, ##args)
#define VIRTIO_CRYPTO_INIT_LOG_INFO(fmt, args...) \
VIRTIO_CRYPTO_INIT_LOG_IMPL(INFO, fmt, ## args)
#define VIRTIO_CRYPTO_INIT_LOG_DBG(fmt, args...) \
VIRTIO_CRYPTO_INIT_LOG_IMPL(DEBUG, fmt, ## args)
#define VIRTIO_CRYPTO_INIT_LOG_ERR(fmt, args...) \
VIRTIO_CRYPTO_INIT_LOG_IMPL(ERR, fmt, ## args)
extern int virtio_crypto_logtype_session;
#define VIRTIO_CRYPTO_SESSION_LOG_IMPL(level, fmt, args...) \
rte_log(RTE_LOG_ ## level, virtio_crypto_logtype_session, \
"SESSION: %s(): " fmt "\n", __func__, ##args)
#define VIRTIO_CRYPTO_SESSION_LOG_INFO(fmt, args...) \
VIRTIO_CRYPTO_SESSION_LOG_IMPL(INFO, fmt, ## args)
#define VIRTIO_CRYPTO_SESSION_LOG_DBG(fmt, args...) \
VIRTIO_CRYPTO_SESSION_LOG_IMPL(DEBUG, fmt, ## args)
#define VIRTIO_CRYPTO_SESSION_LOG_ERR(fmt, args...) \
VIRTIO_CRYPTO_SESSION_LOG_IMPL(ERR, fmt, ## args)
extern int virtio_crypto_logtype_rx;
#define VIRTIO_CRYPTO_RX_LOG_IMPL(level, fmt, args...) \
rte_log(RTE_LOG_ ## level, virtio_crypto_logtype_rx, \
"RX: %s(): " fmt "\n", __func__, ##args)
#define VIRTIO_CRYPTO_RX_LOG_INFO(fmt, args...) \
VIRTIO_CRYPTO_RX_LOG_IMPL(INFO, fmt, ## args)
#define VIRTIO_CRYPTO_RX_LOG_DBG(fmt, args...) \
VIRTIO_CRYPTO_RX_LOG_IMPL(DEBUG, fmt, ## args)
#define VIRTIO_CRYPTO_RX_LOG_ERR(fmt, args...) \
VIRTIO_CRYPTO_RX_LOG_IMPL(ERR, fmt, ## args)
extern int virtio_crypto_logtype_tx;
#define VIRTIO_CRYPTO_TX_LOG_IMPL(level, fmt, args...) \
rte_log(RTE_LOG_ ## level, virtio_crypto_logtype_tx, \
"TX: %s(): " fmt "\n", __func__, ##args)
#define VIRTIO_CRYPTO_TX_LOG_INFO(fmt, args...) \
VIRTIO_CRYPTO_TX_LOG_IMPL(INFO, fmt, ## args)
#define VIRTIO_CRYPTO_TX_LOG_DBG(fmt, args...) \
VIRTIO_CRYPTO_TX_LOG_IMPL(DEBUG, fmt, ## args)
#define VIRTIO_CRYPTO_TX_LOG_ERR(fmt, args...) \
VIRTIO_CRYPTO_TX_LOG_IMPL(ERR, fmt, ## args)
extern int virtio_crypto_logtype_driver;
#define VIRTIO_CRYPTO_DRV_LOG_IMPL(level, fmt, args...) \
rte_log(RTE_LOG_ ## level, virtio_crypto_logtype_driver, \
"DRIVER: %s(): " fmt "\n", __func__, ##args)
#define VIRTIO_CRYPTO_DRV_LOG_INFO(fmt, args...) \
VIRTIO_CRYPTO_DRV_LOG_IMPL(INFO, fmt, ## args)
#define VIRTIO_CRYPTO_DRV_LOG_DBG(fmt, args...) \
VIRTIO_CRYPTO_DRV_LOG_IMPL(DEBUG, fmt, ## args)
#define VIRTIO_CRYPTO_DRV_LOG_ERR(fmt, args...) \
VIRTIO_CRYPTO_DRV_LOG_IMPL(ERR, fmt, ## args)
#endif /* _VIRTIO_LOGS_H_ */