Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 249620
b: refs/heads/master
c: 50ed40e
h: refs/heads/master
v: v3
  • Loading branch information
K. Y. Srinivasan authored and Greg Kroah-Hartman committed May 17, 2011
1 parent 486ab78 commit df6d126
Show file tree
Hide file tree
Showing 9 changed files with 134 additions and 168 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 517d8dc686f4d78550922f938b5cc9675868a3e7
refs/heads/master: 50ed40e0d06df29a5cecda92254b080ad4ebcd10
1 change: 0 additions & 1 deletion trunk/drivers/staging/hv/channel_mgmt.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@
#include <linux/workqueue.h>
#include <linux/completion.h>
#include "hyperv.h"
#include "vmbus_packet_format.h"

/* Version 1 messages */
enum vmbus_channel_message_type {
Expand Down
1 change: 0 additions & 1 deletion trunk/drivers/staging/hv/hv_kvp.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
#include "logging.h"
#include "hv_api.h"
#include "vmbus.h"
#include "vmbus_packet_format.h"
#include "channel.h"
#include "vmbus_private.h"
#include "vmbus_api.h"
Expand Down
1 change: 0 additions & 1 deletion trunk/drivers/staging/hv/hv_mouse.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
#include "vmbus.h"
#include "vmbus_api.h"
#include "channel.h"
#include "vmbus_packet_format.h"


/*
Expand Down
1 change: 0 additions & 1 deletion trunk/drivers/staging/hv/hv_util.c
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@
#include "logging.h"
#include "hv_api.h"
#include "vmbus.h"
#include "vmbus_packet_format.h"
#include "channel.h"
#include "vmbus_private.h"
#include "vmbus_api.h"
Expand Down
133 changes: 133 additions & 0 deletions trunk/drivers/staging/hv/hyperv.h
Original file line number Diff line number Diff line change
Expand Up @@ -184,5 +184,138 @@ struct vmbus_channel_offer {
#define VMBUS_CHANNEL_PARENT_OFFER 0x200
#define VMBUS_CHANNEL_REQUEST_MONITORED_NOTIFICATION 0x400

struct vmpacket_descriptor {
u16 type;
u16 offset8;
u16 len8;
u16 flags;
u64 trans_id;
} __packed;

struct vmpacket_header {
u32 prev_pkt_start_offset;
struct vmpacket_descriptor descriptor;
} __packed;

struct vmtransfer_page_range {
u32 byte_count;
u32 byte_offset;
} __packed;

struct vmtransfer_page_packet_header {
struct vmpacket_descriptor d;
u16 xfer_pageset_id;
bool sender_owns_set;
u8 reserved;
u32 range_cnt;
struct vmtransfer_page_range ranges[1];
} __packed;

struct vmgpadl_packet_header {
struct vmpacket_descriptor d;
u32 gpadl;
u32 reserved;
} __packed;

struct vmadd_remove_transfer_page_set {
struct vmpacket_descriptor d;
u32 gpadl;
u16 xfer_pageset_id;
u16 reserved;
} __packed;

/*
* This structure defines a range in guest physical space that can be made to
* look virtually contiguous.
*/
struct gpa_range {
u32 byte_count;
u32 byte_offset;
u64 pfn_array[0];
};

/*
* This is the format for an Establish Gpadl packet, which contains a handle by
* which this GPADL will be known and a set of GPA ranges associated with it.
* This can be converted to a MDL by the guest OS. If there are multiple GPA
* ranges, then the resulting MDL will be "chained," representing multiple VA
* ranges.
*/
struct vmestablish_gpadl {
struct vmpacket_descriptor d;
u32 gpadl;
u32 range_cnt;
struct gpa_range range[1];
} __packed;

/*
* This is the format for a Teardown Gpadl packet, which indicates that the
* GPADL handle in the Establish Gpadl packet will never be referenced again.
*/
struct vmteardown_gpadl {
struct vmpacket_descriptor d;
u32 gpadl;
u32 reserved; /* for alignment to a 8-byte boundary */
} __packed;

/*
* This is the format for a GPA-Direct packet, which contains a set of GPA
* ranges, in addition to commands and/or data.
*/
struct vmdata_gpa_direct {
struct vmpacket_descriptor d;
u32 reserved;
u32 range_cnt;
struct gpa_range range[1];
} __packed;

/* This is the format for a Additional Data Packet. */
struct vmadditional_data {
struct vmpacket_descriptor d;
u64 total_bytes;
u32 offset;
u32 byte_cnt;
unsigned char data[1];
} __packed;

union vmpacket_largest_possible_header {
struct vmpacket_descriptor simple_hdr;
struct vmtransfer_page_packet_header xfer_page_hdr;
struct vmgpadl_packet_header gpadl_hdr;
struct vmadd_remove_transfer_page_set add_rm_xfer_page_hdr;
struct vmestablish_gpadl establish_gpadl_hdr;
struct vmteardown_gpadl teardown_gpadl_hdr;
struct vmdata_gpa_direct data_gpa_direct_hdr;
};

#define VMPACKET_DATA_START_ADDRESS(__packet) \
(void *)(((unsigned char *)__packet) + \
((struct vmpacket_descriptor)__packet)->offset8 * 8)

#define VMPACKET_DATA_LENGTH(__packet) \
((((struct vmpacket_descriptor)__packet)->len8 - \
((struct vmpacket_descriptor)__packet)->offset8) * 8)

#define VMPACKET_TRANSFER_MODE(__packet) \
(((struct IMPACT)__packet)->type)

enum vmbus_packet_type {
VM_PKT_INVALID = 0x0,
VM_PKT_SYNCH = 0x1,
VM_PKT_ADD_XFER_PAGESET = 0x2,
VM_PKT_RM_XFER_PAGESET = 0x3,
VM_PKT_ESTABLISH_GPADL = 0x4,
VM_PKT_TEARDOWN_GPADL = 0x5,
VM_PKT_DATA_INBAND = 0x6,
VM_PKT_DATA_USING_XFER_PAGES = 0x7,
VM_PKT_DATA_USING_GPADL = 0x8,
VM_PKT_DATA_USING_GPA_DIRECT = 0x9,
VM_PKT_CANCEL_REQUEST = 0xa,
VM_PKT_COMP = 0xb,
VM_PKT_DATA_USING_ADDITIONAL_PKT = 0xc,
VM_PKT_ADDITIONAL_DATA = 0xd
};

#define VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED 1

#endif /* _HYPERV_H */
1 change: 0 additions & 1 deletion trunk/drivers/staging/hv/netvsc.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@
#define _NETVSC_H_

#include <linux/list.h>
#include "vmbus_packet_format.h"
#include "hyperv.h"
#include "netvsc_api.h"

Expand Down
1 change: 0 additions & 1 deletion trunk/drivers/staging/hv/storvsc.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
#include "hv_api.h"
#include "logging.h"
#include "storvsc_api.h"
#include "vmbus_packet_format.h"
#include "vstorage.h"
#include "channel.h"

Expand Down
161 changes: 0 additions & 161 deletions trunk/drivers/staging/hv/vmbus_packet_format.h

This file was deleted.

0 comments on commit df6d126

Please sign in to comment.