Staging: hv: Move the contents of channel.h to hyperv.h
Move the contents of channel.h to hyperv.h. Signed-off-by: K. Y. Srinivasan <kys@microsoft.com> Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com> Signed-off-by: Abhishek Kane <v-abkane@microsoft.com> Signed-off-by: Hank Janssen <hjanssen@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Родитель
b56dda06b4
Коммит
c35470b229
|
@ -1,112 +0,0 @@
|
||||||
/*
|
|
||||||
*
|
|
||||||
* Copyright (c) 2009, Microsoft Corporation.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
|
||||||
* under the terms and conditions of the GNU General Public License,
|
|
||||||
* version 2, as published by the Free Software Foundation.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
|
||||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
|
||||||
* more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License along with
|
|
||||||
* this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
|
||||||
* Place - Suite 330, Boston, MA 02111-1307 USA.
|
|
||||||
*
|
|
||||||
* Authors:
|
|
||||||
* Haiyang Zhang <haiyangz@microsoft.com>
|
|
||||||
* Hank Janssen <hjanssen@microsoft.com>
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef _CHANNEL_H_
|
|
||||||
#define _CHANNEL_H_
|
|
||||||
|
|
||||||
#include "hyperv.h"
|
|
||||||
|
|
||||||
/* The format must be the same as struct vmdata_gpa_direct */
|
|
||||||
struct vmbus_channel_packet_page_buffer {
|
|
||||||
u16 type;
|
|
||||||
u16 dataoffset8;
|
|
||||||
u16 length8;
|
|
||||||
u16 flags;
|
|
||||||
u64 transactionid;
|
|
||||||
u32 reserved;
|
|
||||||
u32 rangecount;
|
|
||||||
struct hv_page_buffer range[MAX_PAGE_BUFFER_COUNT];
|
|
||||||
} __packed;
|
|
||||||
|
|
||||||
/* The format must be the same as struct vmdata_gpa_direct */
|
|
||||||
struct vmbus_channel_packet_multipage_buffer {
|
|
||||||
u16 type;
|
|
||||||
u16 dataoffset8;
|
|
||||||
u16 length8;
|
|
||||||
u16 flags;
|
|
||||||
u64 transactionid;
|
|
||||||
u32 reserved;
|
|
||||||
u32 rangecount; /* Always 1 in this case */
|
|
||||||
struct hv_multipage_buffer range;
|
|
||||||
} __packed;
|
|
||||||
|
|
||||||
|
|
||||||
extern int vmbus_open(struct vmbus_channel *channel,
|
|
||||||
u32 send_ringbuffersize,
|
|
||||||
u32 recv_ringbuffersize,
|
|
||||||
void *userdata,
|
|
||||||
u32 userdatalen,
|
|
||||||
void(*onchannel_callback)(void *context),
|
|
||||||
void *context);
|
|
||||||
|
|
||||||
extern void vmbus_close(struct vmbus_channel *channel);
|
|
||||||
|
|
||||||
extern int vmbus_sendpacket(struct vmbus_channel *channel,
|
|
||||||
const void *buffer,
|
|
||||||
u32 bufferLen,
|
|
||||||
u64 requestid,
|
|
||||||
enum vmbus_packet_type type,
|
|
||||||
u32 flags);
|
|
||||||
|
|
||||||
extern int vmbus_sendpacket_pagebuffer(struct vmbus_channel *channel,
|
|
||||||
struct hv_page_buffer pagebuffers[],
|
|
||||||
u32 pagecount,
|
|
||||||
void *buffer,
|
|
||||||
u32 bufferlen,
|
|
||||||
u64 requestid);
|
|
||||||
|
|
||||||
extern int vmbus_sendpacket_multipagebuffer(struct vmbus_channel *channel,
|
|
||||||
struct hv_multipage_buffer *mpb,
|
|
||||||
void *buffer,
|
|
||||||
u32 bufferlen,
|
|
||||||
u64 requestid);
|
|
||||||
|
|
||||||
extern int vmbus_establish_gpadl(struct vmbus_channel *channel,
|
|
||||||
void *kbuffer,
|
|
||||||
u32 size,
|
|
||||||
u32 *gpadl_handle);
|
|
||||||
|
|
||||||
extern int vmbus_teardown_gpadl(struct vmbus_channel *channel,
|
|
||||||
u32 gpadl_handle);
|
|
||||||
|
|
||||||
extern int vmbus_recvpacket(struct vmbus_channel *channel,
|
|
||||||
void *buffer,
|
|
||||||
u32 bufferlen,
|
|
||||||
u32 *buffer_actual_len,
|
|
||||||
u64 *requestid);
|
|
||||||
|
|
||||||
extern int vmbus_recvpacket_raw(struct vmbus_channel *channel,
|
|
||||||
void *buffer,
|
|
||||||
u32 bufferlen,
|
|
||||||
u32 *buffer_actual_len,
|
|
||||||
u64 *requestid);
|
|
||||||
|
|
||||||
extern void vmbus_onchannel_event(struct vmbus_channel *channel);
|
|
||||||
|
|
||||||
extern void vmbus_get_debug_info(struct vmbus_channel *channel,
|
|
||||||
struct vmbus_channel_debug_info *debug);
|
|
||||||
|
|
||||||
extern void vmbus_ontimer(unsigned long data);
|
|
||||||
|
|
||||||
#endif /* _CHANNEL_H_ */
|
|
|
@ -31,7 +31,6 @@
|
||||||
#include "logging.h"
|
#include "logging.h"
|
||||||
#include "hv_api.h"
|
#include "hv_api.h"
|
||||||
#include "vmbus.h"
|
#include "vmbus.h"
|
||||||
#include "channel.h"
|
|
||||||
#include "vmbus_private.h"
|
#include "vmbus_private.h"
|
||||||
#include "vmbus_api.h"
|
#include "vmbus_api.h"
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
|
|
|
@ -31,7 +31,6 @@
|
||||||
#include "logging.h"
|
#include "logging.h"
|
||||||
#include "vmbus.h"
|
#include "vmbus.h"
|
||||||
#include "vmbus_api.h"
|
#include "vmbus_api.h"
|
||||||
#include "channel.h"
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -33,7 +33,6 @@
|
||||||
#include "logging.h"
|
#include "logging.h"
|
||||||
#include "hv_api.h"
|
#include "hv_api.h"
|
||||||
#include "vmbus.h"
|
#include "vmbus.h"
|
||||||
#include "channel.h"
|
|
||||||
#include "vmbus_private.h"
|
#include "vmbus_private.h"
|
||||||
#include "vmbus_api.h"
|
#include "vmbus_api.h"
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
|
|
|
@ -607,4 +607,86 @@ void vmbus_onmessage(void *context);
|
||||||
|
|
||||||
int vmbus_request_offers(void);
|
int vmbus_request_offers(void);
|
||||||
|
|
||||||
|
/* The format must be the same as struct vmdata_gpa_direct */
|
||||||
|
struct vmbus_channel_packet_page_buffer {
|
||||||
|
u16 type;
|
||||||
|
u16 dataoffset8;
|
||||||
|
u16 length8;
|
||||||
|
u16 flags;
|
||||||
|
u64 transactionid;
|
||||||
|
u32 reserved;
|
||||||
|
u32 rangecount;
|
||||||
|
struct hv_page_buffer range[MAX_PAGE_BUFFER_COUNT];
|
||||||
|
} __packed;
|
||||||
|
|
||||||
|
/* The format must be the same as struct vmdata_gpa_direct */
|
||||||
|
struct vmbus_channel_packet_multipage_buffer {
|
||||||
|
u16 type;
|
||||||
|
u16 dataoffset8;
|
||||||
|
u16 length8;
|
||||||
|
u16 flags;
|
||||||
|
u64 transactionid;
|
||||||
|
u32 reserved;
|
||||||
|
u32 rangecount; /* Always 1 in this case */
|
||||||
|
struct hv_multipage_buffer range;
|
||||||
|
} __packed;
|
||||||
|
|
||||||
|
|
||||||
|
extern int vmbus_open(struct vmbus_channel *channel,
|
||||||
|
u32 send_ringbuffersize,
|
||||||
|
u32 recv_ringbuffersize,
|
||||||
|
void *userdata,
|
||||||
|
u32 userdatalen,
|
||||||
|
void(*onchannel_callback)(void *context),
|
||||||
|
void *context);
|
||||||
|
|
||||||
|
extern void vmbus_close(struct vmbus_channel *channel);
|
||||||
|
|
||||||
|
extern int vmbus_sendpacket(struct vmbus_channel *channel,
|
||||||
|
const void *buffer,
|
||||||
|
u32 bufferLen,
|
||||||
|
u64 requestid,
|
||||||
|
enum vmbus_packet_type type,
|
||||||
|
u32 flags);
|
||||||
|
|
||||||
|
extern int vmbus_sendpacket_pagebuffer(struct vmbus_channel *channel,
|
||||||
|
struct hv_page_buffer pagebuffers[],
|
||||||
|
u32 pagecount,
|
||||||
|
void *buffer,
|
||||||
|
u32 bufferlen,
|
||||||
|
u64 requestid);
|
||||||
|
|
||||||
|
extern int vmbus_sendpacket_multipagebuffer(struct vmbus_channel *channel,
|
||||||
|
struct hv_multipage_buffer *mpb,
|
||||||
|
void *buffer,
|
||||||
|
u32 bufferlen,
|
||||||
|
u64 requestid);
|
||||||
|
|
||||||
|
extern int vmbus_establish_gpadl(struct vmbus_channel *channel,
|
||||||
|
void *kbuffer,
|
||||||
|
u32 size,
|
||||||
|
u32 *gpadl_handle);
|
||||||
|
|
||||||
|
extern int vmbus_teardown_gpadl(struct vmbus_channel *channel,
|
||||||
|
u32 gpadl_handle);
|
||||||
|
|
||||||
|
extern int vmbus_recvpacket(struct vmbus_channel *channel,
|
||||||
|
void *buffer,
|
||||||
|
u32 bufferlen,
|
||||||
|
u32 *buffer_actual_len,
|
||||||
|
u64 *requestid);
|
||||||
|
|
||||||
|
extern int vmbus_recvpacket_raw(struct vmbus_channel *channel,
|
||||||
|
void *buffer,
|
||||||
|
u32 bufferlen,
|
||||||
|
u32 *buffer_actual_len,
|
||||||
|
u64 *requestid);
|
||||||
|
|
||||||
|
extern void vmbus_onchannel_event(struct vmbus_channel *channel);
|
||||||
|
|
||||||
|
extern void vmbus_get_debug_info(struct vmbus_channel *channel,
|
||||||
|
struct vmbus_channel_debug_info *debug);
|
||||||
|
|
||||||
|
extern void vmbus_ontimer(unsigned long data);
|
||||||
|
|
||||||
#endif /* _HYPERV_H */
|
#endif /* _HYPERV_H */
|
||||||
|
|
|
@ -33,7 +33,6 @@
|
||||||
#include "logging.h"
|
#include "logging.h"
|
||||||
#include "netvsc.h"
|
#include "netvsc.h"
|
||||||
#include "rndis_filter.h"
|
#include "rndis_filter.h"
|
||||||
#include "channel.h"
|
|
||||||
|
|
||||||
|
|
||||||
/* Globals */
|
/* Globals */
|
||||||
|
|
|
@ -33,7 +33,6 @@
|
||||||
#include "logging.h"
|
#include "logging.h"
|
||||||
#include "storvsc_api.h"
|
#include "storvsc_api.h"
|
||||||
#include "vstorage.h"
|
#include "vstorage.h"
|
||||||
#include "channel.h"
|
|
||||||
|
|
||||||
|
|
||||||
static inline struct storvsc_device *alloc_stor_device(struct hv_device *device)
|
static inline struct storvsc_device *alloc_stor_device(struct hv_device *device)
|
||||||
|
|
|
@ -39,7 +39,6 @@
|
||||||
#include "vmbus.h"
|
#include "vmbus.h"
|
||||||
#include "storvsc_api.h"
|
#include "storvsc_api.h"
|
||||||
#include "vstorage.h"
|
#include "vstorage.h"
|
||||||
#include "channel.h"
|
|
||||||
|
|
||||||
static int storvsc_ringbuffer_size = STORVSC_RING_BUFFER_SIZE;
|
static int storvsc_ringbuffer_size = STORVSC_RING_BUFFER_SIZE;
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,6 @@
|
||||||
#include "hv_api.h"
|
#include "hv_api.h"
|
||||||
#include "logging.h"
|
#include "logging.h"
|
||||||
#include "vmbus.h"
|
#include "vmbus.h"
|
||||||
#include "channel.h"
|
|
||||||
#include "vmbus_private.h"
|
#include "vmbus_private.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,6 @@
|
||||||
|
|
||||||
#include "hv.h"
|
#include "hv.h"
|
||||||
#include "vmbus_api.h"
|
#include "vmbus_api.h"
|
||||||
#include "channel.h"
|
|
||||||
#include "ring_buffer.h"
|
#include "ring_buffer.h"
|
||||||
#include <linux/list.h>
|
#include <linux/list.h>
|
||||||
#include <asm/sync_bitops.h>
|
#include <asm/sync_bitops.h>
|
||||||
|
|
Загрузка…
Ссылка в новой задаче