bus/vmbus: map ring in secondary process
[dpdk.git] / drivers / bus / vmbus / private.h
index f2022a6..f19b14e 100644 (file)
 #include <sys/uio.h>
 #include <rte_log.h>
 #include <rte_vmbus_reg.h>
+#include <rte_bus_vmbus.h>
 
 #ifndef PAGE_SIZE
 #define PAGE_SIZE      4096
 #endif
 
+extern struct rte_vmbus_bus rte_vmbus_bus;
+
 extern int vmbus_logtype_bus;
 #define VMBUS_LOG(level, fmt, args...) \
        rte_log(RTE_LOG_ ## level, vmbus_logtype_bus, "%s(): " fmt "\n", \
@@ -42,6 +45,7 @@ struct mapped_vmbus_resource {
 
        rte_uuid_t id;
        int nb_maps;
+       struct vmbus_channel *primary;
        struct vmbus_map maps[VMBUS_MAX_RESOURCE];
        char path[PATH_MAX];
 };
@@ -104,6 +108,8 @@ bool vmbus_uio_subchannels_supported(const struct rte_vmbus_device *dev,
 int vmbus_uio_get_subchan(struct vmbus_channel *primary,
                          struct vmbus_channel **subchan);
 int vmbus_uio_map_rings(struct vmbus_channel *chan);
+int vmbus_uio_map_secondary_subchan(const struct rte_vmbus_device *dev,
+                                   const struct vmbus_channel *chan);
 
 void vmbus_br_setup(struct vmbus_br *br, void *buf, unsigned int blen);