mirror of
				https://github.com/qemu/qemu.git
				synced 2025-10-31 04:06:46 +00:00 
			
		
		
		
	 732d948ca5
			
		
	
	
		732d948ca5
		
	
	
	
	
		
			
			This member is used only in init_device_caps function, make it local. Signed-off-by: Yuval Shaia <yuval.shaia@oracle.com> Reviewed-by: Marcel Apfelbaum<marcel.apfelbaum@gmail.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
		
			
				
	
	
		
			76 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  *  RDMA device: Definitions of Backend Device structures
 | |
|  *
 | |
|  * Copyright (C) 2018 Oracle
 | |
|  * Copyright (C) 2018 Red Hat Inc
 | |
|  *
 | |
|  * Authors:
 | |
|  *     Yuval Shaia <yuval.shaia@oracle.com>
 | |
|  *     Marcel Apfelbaum <marcel@redhat.com>
 | |
|  *
 | |
|  * This work is licensed under the terms of the GNU GPL, version 2 or later.
 | |
|  * See the COPYING file in the top-level directory.
 | |
|  *
 | |
|  */
 | |
| 
 | |
| #ifndef RDMA_BACKEND_DEFS_H
 | |
| #define RDMA_BACKEND_DEFS_H
 | |
| 
 | |
| #include "qemu/thread.h"
 | |
| #include "chardev/char-fe.h"
 | |
| #include <infiniband/verbs.h>
 | |
| #include "contrib/rdmacm-mux/rdmacm-mux.h"
 | |
| 
 | |
| typedef struct RdmaDeviceResources RdmaDeviceResources;
 | |
| 
 | |
| typedef struct RdmaBackendThread {
 | |
|     QemuThread thread;
 | |
|     QemuMutex mutex;
 | |
|     bool run; /* Set by thread manager to let thread know it should exit */
 | |
|     bool is_running; /* Set by the thread to report its status */
 | |
| } RdmaBackendThread;
 | |
| 
 | |
| typedef struct RecvMadList {
 | |
|     QemuMutex lock;
 | |
|     QList *list;
 | |
| } RecvMadList;
 | |
| 
 | |
| typedef struct RdmaCmMux {
 | |
|     CharBackend *chr_be;
 | |
|     int can_receive;
 | |
| } RdmaCmMux;
 | |
| 
 | |
| typedef struct RdmaBackendDev {
 | |
|     RdmaBackendThread comp_thread;
 | |
|     PCIDevice *dev;
 | |
|     RdmaDeviceResources *rdma_dev_res;
 | |
|     struct ibv_device *ib_dev;
 | |
|     struct ibv_context *context;
 | |
|     struct ibv_comp_channel *channel;
 | |
|     uint8_t port_num;
 | |
|     RecvMadList recv_mads_list;
 | |
|     RdmaCmMux rdmacm_mux;
 | |
| } RdmaBackendDev;
 | |
| 
 | |
| typedef struct RdmaBackendPD {
 | |
|     struct ibv_pd *ibpd;
 | |
| } RdmaBackendPD;
 | |
| 
 | |
| typedef struct RdmaBackendMR {
 | |
|     struct ibv_pd *ibpd;
 | |
|     struct ibv_mr *ibmr;
 | |
| } RdmaBackendMR;
 | |
| 
 | |
| typedef struct RdmaBackendCQ {
 | |
|     RdmaBackendDev *backend_dev;
 | |
|     struct ibv_cq *ibcq;
 | |
| } RdmaBackendCQ;
 | |
| 
 | |
| typedef struct RdmaBackendQP {
 | |
|     struct ibv_pd *ibpd;
 | |
|     struct ibv_qp *ibqp;
 | |
|     uint8_t sgid_idx;
 | |
| } RdmaBackendQP;
 | |
| 
 | |
| #endif
 |