Staging: hv: codingsyle cleanups for ChannelMessages.h
Everything but the typedefs are taken care of. Also a number of unused defines were removed. Cc: Hank Janssen <hjanssen@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
ee3d7ddfe5
commit
314b1c8b10
@ -21,22 +21,13 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#pragma once
|
||||
#ifndef __CHANNELMESSAGES_H
|
||||
#define __CHANNELMESSAGES_H
|
||||
|
||||
#include "VmbusPacketFormat.h"
|
||||
|
||||
#define C_ASSERT(x)
|
||||
typedef u32 NTSTATUS;
|
||||
|
||||
#pragma pack(push,1)
|
||||
|
||||
|
||||
/* Version 1 messages */
|
||||
|
||||
|
||||
typedef enum _VMBUS_CHANNEL_MESSAGE_TYPE
|
||||
{
|
||||
typedef enum _VMBUS_CHANNEL_MESSAGE_TYPE {
|
||||
ChannelMessageInvalid = 0,
|
||||
ChannelMessageOfferChannel = 1,
|
||||
ChannelMessageRescindChannelOffer = 2,
|
||||
@ -59,257 +50,173 @@ typedef enum _VMBUS_CHANNEL_MESSAGE_TYPE
|
||||
ChannelMessageViewRangeRemove = 18,
|
||||
#endif
|
||||
ChannelMessageCount
|
||||
} VMBUS_CHANNEL_MESSAGE_TYPE, *PVMBUS_CHANNEL_MESSAGE_TYPE;
|
||||
} __attribute__((packed)) VMBUS_CHANNEL_MESSAGE_TYPE, *PVMBUS_CHANNEL_MESSAGE_TYPE;
|
||||
|
||||
/* begin_wpp config */
|
||||
/* CUSTOM_TYPE(ChannelMessageType, ItemEnum(_VMBUS_CHANNEL_MESSAGE_TYPE)); */
|
||||
/* end_wpp */
|
||||
|
||||
typedef struct _VMBUS_CHANNEL_MESSAGE_HEADER
|
||||
{
|
||||
typedef struct _VMBUS_CHANNEL_MESSAGE_HEADER {
|
||||
VMBUS_CHANNEL_MESSAGE_TYPE MessageType;
|
||||
u32 Padding;
|
||||
} VMBUS_CHANNEL_MESSAGE_HEADER, *PVMBUS_CHANNEL_MESSAGE_HEADER;
|
||||
} __attribute__((packed)) VMBUS_CHANNEL_MESSAGE_HEADER, *PVMBUS_CHANNEL_MESSAGE_HEADER;
|
||||
|
||||
/* Query VMBus Version parameters */
|
||||
typedef struct _VMBUS_CHANNEL_QUERY_VMBUS_VERSION
|
||||
{
|
||||
typedef struct _VMBUS_CHANNEL_QUERY_VMBUS_VERSION {
|
||||
VMBUS_CHANNEL_MESSAGE_HEADER Header;
|
||||
u32 Version;
|
||||
} VMBUS_CHANNEL_QUERY_VMBUS_VERSION, *PVMBUS_CHANNEL_QUERY_VMBUS_VERSION;
|
||||
} __attribute__((packed)) VMBUS_CHANNEL_QUERY_VMBUS_VERSION, *PVMBUS_CHANNEL_QUERY_VMBUS_VERSION;
|
||||
|
||||
/* VMBus Version Supported parameters */
|
||||
typedef struct _VMBUS_CHANNEL_VERSION_SUPPORTED
|
||||
{
|
||||
typedef struct _VMBUS_CHANNEL_VERSION_SUPPORTED {
|
||||
VMBUS_CHANNEL_MESSAGE_HEADER Header;
|
||||
bool VersionSupported;
|
||||
} VMBUS_CHANNEL_VERSION_SUPPORTED, *PVMBUS_CHANNEL_VERSION_SUPPORTED;
|
||||
} __attribute__((packed)) VMBUS_CHANNEL_VERSION_SUPPORTED, *PVMBUS_CHANNEL_VERSION_SUPPORTED;
|
||||
|
||||
/* Offer Channel parameters */
|
||||
typedef struct _VMBUS_CHANNEL_OFFER_CHANNEL
|
||||
{
|
||||
typedef struct _VMBUS_CHANNEL_OFFER_CHANNEL {
|
||||
VMBUS_CHANNEL_MESSAGE_HEADER Header;
|
||||
struct vmbus_channel_offer Offer;
|
||||
u32 ChildRelId;
|
||||
u8 MonitorId;
|
||||
bool MonitorAllocated;
|
||||
} VMBUS_CHANNEL_OFFER_CHANNEL, *PVMBUS_CHANNEL_OFFER_CHANNEL;
|
||||
|
||||
|
||||
/* Make sure VMBUS_CHANNEL_OFFER_CHANNEL fits into Synic message. */
|
||||
|
||||
C_ASSERT(sizeof(VMBUS_CHANNEL_OFFER_CHANNEL) <= MAXIMUM_SYNIC_MESSAGE_BYTES);
|
||||
} __attribute__((packed)) VMBUS_CHANNEL_OFFER_CHANNEL, *PVMBUS_CHANNEL_OFFER_CHANNEL;
|
||||
|
||||
/* Rescind Offer parameters */
|
||||
typedef struct _VMBUS_CHANNEL_RESCIND_OFFER
|
||||
{
|
||||
typedef struct _VMBUS_CHANNEL_RESCIND_OFFER {
|
||||
VMBUS_CHANNEL_MESSAGE_HEADER Header;
|
||||
u32 ChildRelId;
|
||||
} VMBUS_CHANNEL_RESCIND_OFFER, *PVMBUS_CHANNEL_RESCIND_OFFER;
|
||||
} __attribute__((packed)) VMBUS_CHANNEL_RESCIND_OFFER, *PVMBUS_CHANNEL_RESCIND_OFFER;
|
||||
|
||||
/* Request Offer -- no parameters, SynIC message contains the partition ID */
|
||||
/* Set Snoop -- no parameters, SynIC message contains the partition ID */
|
||||
/* Clear Snoop -- no parameters, SynIC message contains the partition ID */
|
||||
/* All Offers Delivered -- no parameters, SynIC message contains the partition ID */
|
||||
/* Flush Client -- no parameters, SynIC message contains the partition ID */
|
||||
/*
|
||||
* Request Offer -- no parameters, SynIC message contains the partition ID
|
||||
* Set Snoop -- no parameters, SynIC message contains the partition ID
|
||||
* Clear Snoop -- no parameters, SynIC message contains the partition ID
|
||||
* All Offers Delivered -- no parameters, SynIC message contains the partition
|
||||
* ID
|
||||
* Flush Client -- no parameters, SynIC message contains the partition ID
|
||||
*/
|
||||
|
||||
/* Open Channel parameters */
|
||||
typedef struct _VMBUS_CHANNEL_OPEN_CHANNEL
|
||||
{
|
||||
typedef struct _VMBUS_CHANNEL_OPEN_CHANNEL {
|
||||
VMBUS_CHANNEL_MESSAGE_HEADER Header;
|
||||
|
||||
|
||||
/* Identifies the specific VMBus channel that is being opened. */
|
||||
|
||||
u32 ChildRelId;
|
||||
|
||||
|
||||
/* ID making a particular open request at a channel offer unique. */
|
||||
|
||||
u32 OpenId;
|
||||
|
||||
|
||||
/* GPADL for the channel's ring buffer. */
|
||||
|
||||
u32 RingBufferGpadlHandle;
|
||||
|
||||
|
||||
/* GPADL for the channel's server context save area. */
|
||||
|
||||
u32 ServerContextAreaGpadlHandle;
|
||||
|
||||
|
||||
/*
|
||||
* The upstream ring buffer begins at offset zero in the memory
|
||||
* described by RingBufferGpadlHandle. The downstream ring buffer
|
||||
* follows it at this offset (in pages).
|
||||
*/
|
||||
|
||||
u32 DownstreamRingBufferPageOffset;
|
||||
|
||||
|
||||
/* User-specific data to be passed along to the server endpoint. */
|
||||
|
||||
unsigned char UserData[MAX_USER_DEFINED_BYTES];
|
||||
|
||||
} VMBUS_CHANNEL_OPEN_CHANNEL, *PVMBUS_CHANNEL_OPEN_CHANNEL;
|
||||
} __attribute__((packed)) VMBUS_CHANNEL_OPEN_CHANNEL, *PVMBUS_CHANNEL_OPEN_CHANNEL;
|
||||
|
||||
/* Reopen Channel parameters; */
|
||||
typedef VMBUS_CHANNEL_OPEN_CHANNEL VMBUS_CHANNEL_REOPEN_CHANNEL, *PVMBUS_CHANNEL_REOPEN_CHANNEL;
|
||||
|
||||
/* Open Channel Result parameters */
|
||||
typedef struct _VMBUS_CHANNEL_OPEN_RESULT
|
||||
{
|
||||
typedef struct _VMBUS_CHANNEL_OPEN_RESULT {
|
||||
VMBUS_CHANNEL_MESSAGE_HEADER Header;
|
||||
u32 ChildRelId;
|
||||
u32 OpenId;
|
||||
NTSTATUS Status;
|
||||
} VMBUS_CHANNEL_OPEN_RESULT, *PVMBUS_CHANNEL_OPEN_RESULT;
|
||||
u32 Status;
|
||||
} __attribute__((packed)) VMBUS_CHANNEL_OPEN_RESULT, *PVMBUS_CHANNEL_OPEN_RESULT;
|
||||
|
||||
/* Close channel parameters; */
|
||||
typedef struct _VMBUS_CHANNEL_CLOSE_CHANNEL
|
||||
{
|
||||
typedef struct _VMBUS_CHANNEL_CLOSE_CHANNEL {
|
||||
VMBUS_CHANNEL_MESSAGE_HEADER Header;
|
||||
u32 ChildRelId;
|
||||
} VMBUS_CHANNEL_CLOSE_CHANNEL, *PVMBUS_CHANNEL_CLOSE_CHANNEL;
|
||||
} __attribute__((packed)) VMBUS_CHANNEL_CLOSE_CHANNEL, *PVMBUS_CHANNEL_CLOSE_CHANNEL;
|
||||
|
||||
/* Channel Message GPADL */
|
||||
#define GPADL_TYPE_RING_BUFFER 1
|
||||
#define GPADL_TYPE_SERVER_SAVE_AREA 2
|
||||
#define GPADL_TYPE_TRANSACTION 8
|
||||
|
||||
|
||||
/*
|
||||
* The number of PFNs in a GPADL message is defined by the number of
|
||||
* pages that would be spanned by ByteCount and ByteOffset. If the
|
||||
* implied number of PFNs won't fit in this packet, there will be a
|
||||
* follow-up packet that contains more.
|
||||
*/
|
||||
|
||||
|
||||
typedef struct _VMBUS_CHANNEL_GPADL_HEADER
|
||||
{
|
||||
typedef struct _VMBUS_CHANNEL_GPADL_HEADER {
|
||||
VMBUS_CHANNEL_MESSAGE_HEADER Header;
|
||||
u32 ChildRelId;
|
||||
u32 Gpadl;
|
||||
u16 RangeBufLen;
|
||||
u16 RangeCount;
|
||||
GPA_RANGE Range[0];
|
||||
} VMBUS_CHANNEL_GPADL_HEADER, *PVMBUS_CHANNEL_GPADL_HEADER;
|
||||
|
||||
|
||||
} __attribute__((packed)) VMBUS_CHANNEL_GPADL_HEADER, *PVMBUS_CHANNEL_GPADL_HEADER;
|
||||
|
||||
/* This is the followup packet that contains more PFNs. */
|
||||
|
||||
|
||||
typedef struct _VMBUS_CHANNEL_GPADL_BODY
|
||||
{
|
||||
typedef struct _VMBUS_CHANNEL_GPADL_BODY {
|
||||
VMBUS_CHANNEL_MESSAGE_HEADER Header;
|
||||
u32 MessageNumber;
|
||||
u32 Gpadl;
|
||||
u64 Pfn[0];
|
||||
} VMBUS_CHANNEL_GPADL_BODY, *PVMBUS_CHANNEL_GPADL_BODY;
|
||||
} __attribute__((packed)) VMBUS_CHANNEL_GPADL_BODY, *PVMBUS_CHANNEL_GPADL_BODY;
|
||||
|
||||
|
||||
typedef struct _VMBUS_CHANNEL_GPADL_CREATED
|
||||
{
|
||||
typedef struct _VMBUS_CHANNEL_GPADL_CREATED {
|
||||
VMBUS_CHANNEL_MESSAGE_HEADER Header;
|
||||
u32 ChildRelId;
|
||||
u32 Gpadl;
|
||||
u32 CreationStatus;
|
||||
} VMBUS_CHANNEL_GPADL_CREATED, *PVMBUS_CHANNEL_GPADL_CREATED;
|
||||
} __attribute__((packed)) VMBUS_CHANNEL_GPADL_CREATED, *PVMBUS_CHANNEL_GPADL_CREATED;
|
||||
|
||||
typedef struct _VMBUS_CHANNEL_GPADL_TEARDOWN
|
||||
{
|
||||
typedef struct _VMBUS_CHANNEL_GPADL_TEARDOWN {
|
||||
VMBUS_CHANNEL_MESSAGE_HEADER Header;
|
||||
u32 ChildRelId;
|
||||
u32 Gpadl;
|
||||
} VMBUS_CHANNEL_GPADL_TEARDOWN, *PVMBUS_CHANNEL_GPADL_TEARDOWN;
|
||||
} __attribute__((packed)) VMBUS_CHANNEL_GPADL_TEARDOWN, *PVMBUS_CHANNEL_GPADL_TEARDOWN;
|
||||
|
||||
typedef struct _VMBUS_CHANNEL_GPADL_TORNDOWN
|
||||
{
|
||||
typedef struct _VMBUS_CHANNEL_GPADL_TORNDOWN {
|
||||
VMBUS_CHANNEL_MESSAGE_HEADER Header;
|
||||
u32 Gpadl;
|
||||
} VMBUS_CHANNEL_GPADL_TORNDOWN, *PVMBUS_CHANNEL_GPADL_TORNDOWN;
|
||||
} __attribute__((packed)) VMBUS_CHANNEL_GPADL_TORNDOWN, *PVMBUS_CHANNEL_GPADL_TORNDOWN;
|
||||
|
||||
#ifdef VMBUS_FEATURE_PARENT_OR_PEER_MEMORY_MAPPED_INTO_A_CHILD
|
||||
typedef struct _VMBUS_CHANNEL_VIEW_RANGE_ADD
|
||||
{
|
||||
typedef struct _VMBUS_CHANNEL_VIEW_RANGE_ADD {
|
||||
VMBUS_CHANNEL_MESSAGE_HEADER Header;
|
||||
PHYSICAL_ADDRESS ViewRangeBase;
|
||||
u64 ViewRangeLength;
|
||||
u32 ChildRelId;
|
||||
} VMBUS_CHANNEL_VIEW_RANGE_ADD, *PVMBUS_CHANNEL_VIEW_RANGE_ADD;
|
||||
} __attribute__((packed)) VMBUS_CHANNEL_VIEW_RANGE_ADD, *PVMBUS_CHANNEL_VIEW_RANGE_ADD;
|
||||
|
||||
typedef struct _VMBUS_CHANNEL_VIEW_RANGE_REMOVE
|
||||
{
|
||||
typedef struct _VMBUS_CHANNEL_VIEW_RANGE_REMOVE {
|
||||
VMBUS_CHANNEL_MESSAGE_HEADER Header;
|
||||
PHYSICAL_ADDRESS ViewRangeBase;
|
||||
u32 ChildRelId;
|
||||
} VMBUS_CHANNEL_VIEW_RANGE_REMOVE, *PVMBUS_CHANNEL_VIEW_RANGE_REMOVE;
|
||||
} __attribute__((packed)) VMBUS_CHANNEL_VIEW_RANGE_REMOVE, *PVMBUS_CHANNEL_VIEW_RANGE_REMOVE;
|
||||
#endif
|
||||
|
||||
typedef struct _VMBUS_CHANNEL_RELID_RELEASED
|
||||
{
|
||||
typedef struct _VMBUS_CHANNEL_RELID_RELEASED {
|
||||
VMBUS_CHANNEL_MESSAGE_HEADER Header;
|
||||
u32 ChildRelId;
|
||||
} VMBUS_CHANNEL_RELID_RELEASED, *PVMBUS_CHANNEL_RELID_RELEASED;
|
||||
} __attribute__((packed)) VMBUS_CHANNEL_RELID_RELEASED, *PVMBUS_CHANNEL_RELID_RELEASED;
|
||||
|
||||
typedef struct _VMBUS_CHANNEL_INITIATE_CONTACT
|
||||
{
|
||||
typedef struct _VMBUS_CHANNEL_INITIATE_CONTACT {
|
||||
VMBUS_CHANNEL_MESSAGE_HEADER Header;
|
||||
u32 VMBusVersionRequested;
|
||||
u32 Padding2;
|
||||
u64 InterruptPage;
|
||||
u64 MonitorPage1;
|
||||
u64 MonitorPage2;
|
||||
} VMBUS_CHANNEL_INITIATE_CONTACT, *PVMBUS_CHANNEL_INITIATE_CONTACT;
|
||||
} __attribute__((packed)) VMBUS_CHANNEL_INITIATE_CONTACT, *PVMBUS_CHANNEL_INITIATE_CONTACT;
|
||||
|
||||
typedef struct _VMBUS_CHANNEL_VERSION_RESPONSE
|
||||
{
|
||||
typedef struct _VMBUS_CHANNEL_VERSION_RESPONSE {
|
||||
VMBUS_CHANNEL_MESSAGE_HEADER Header;
|
||||
bool VersionSupported;
|
||||
} VMBUS_CHANNEL_VERSION_RESPONSE, *PVMBUS_CHANNEL_VERSION_RESPONSE;
|
||||
} __attribute__((packed)) VMBUS_CHANNEL_VERSION_RESPONSE, *PVMBUS_CHANNEL_VERSION_RESPONSE;
|
||||
|
||||
typedef VMBUS_CHANNEL_MESSAGE_HEADER VMBUS_CHANNEL_UNLOAD, *PVMBUS_CHANNEL_UNLOAD;
|
||||
|
||||
|
||||
/* Kind of a table to use the preprocessor to get us the right type for a */
|
||||
/* specified message ID. Used with ChAllocateSendMessage() */
|
||||
|
||||
#define ChannelMessageQueryVmbusVersion_TYPE VMBUS_CHANNEL_MESSAGE_HEADER
|
||||
#define ChannelMessageVmbusVersionSupported_TYPE VMBUS_CHANNEL_VERSION_SUPPORTED
|
||||
#define ChannelMessageOfferChannel_TYPE VMBUS_CHANNEL_OFFER_CHANNEL
|
||||
#define ChannelMessageRescindChannelOffer_TYPE VMBUS_CHANNEL_RESCIND_OFFER
|
||||
#define ChannelMessageRequestOffers_TYPE VMBUS_CHANNEL_MESSAGE_HEADER
|
||||
#define ChannelMessageAllOffersDelivered_TYPE VMBUS_CHANNEL_MESSAGE_HEADER
|
||||
#define ChannelMessageOpenChannel_TYPE VMBUS_CHANNEL_OPEN_CHANNEL
|
||||
#define ChannelMessageOpenChannelResult_TYPE VMBUS_CHANNEL_OPEN_RESULT
|
||||
#define ChannelMessageCloseChannel_TYPE VMBUS_CHANNEL_CLOSE_CHANNEL
|
||||
#define ChannelMessageAllGpadlsUnmapped_TYPE VMBUS_CHANNEL_CLOSE_CHANNEL
|
||||
#define ChannelMessageGpadlHeader_TYPE VMBUS_CHANNEL_GPADL_HEADER
|
||||
#define ChannelMessageGpadlBody_TYPE VMBUS_CHANNEL_GPADL_BODY
|
||||
#define ChannelMessageGpadlCreated_TYPE VMBUS_CHANNEL_GPADL_CREATED
|
||||
#define ChannelMessageGpadlTeardown_TYPE VMBUS_CHANNEL_GPADL_TEARDOWN
|
||||
#define ChannelMessageGpadlTorndown_TYPE VMBUS_CHANNEL_GPADL_TORNDOWN
|
||||
#define ChannelMessageViewRangeAdd_TYPE VMBUS_CHANNEL_VIEW_RANGE_ADD
|
||||
#define ChannelMessageViewRangeRemove_TYPE VMBUS_CHANNEL_VIEW_RANGE_REMOVE
|
||||
#define ChannelMessageRelIdReleased_TYPE VMBUS_CHANNEL_RELID_RELEASED
|
||||
#define ChannelMessageInitiateContact_TYPE VMBUS_CHANNEL_INITIATE_CONTACT
|
||||
#define ChannelMessageVersionResponse_TYPE VMBUS_CHANNEL_VERSION_RESPONSE
|
||||
#define ChannelMessageUnload_TYPE VMBUS_CHANNEL_UNLOAD
|
||||
|
||||
|
||||
/* Preprocessor wrapper to ChAllocateSendMessageSize() converting the return */
|
||||
/* value to the correct pointer and calculate the needed size. */
|
||||
|
||||
/* Argument: */
|
||||
|
||||
/* Id - the numberic ID (type VMBUS_CHANNEL_MESSAGE_TYPE) of the message to */
|
||||
/* send. */
|
||||
|
||||
#define ChAllocateSendMessage(Id, Fn, Context) \
|
||||
(Id##_TYPE*)ChAllocateSendMessageSized(sizeof(Id##_TYPE), Id, Fn, Context)
|
||||
|
||||
|
||||
#pragma pack(pop)
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user