Commit 4bedd6be authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Staging: hv: fix coding style issues in VmbusPacketFormat.h



Heh, volatiles, like that was a good idea...  Turns out they were not
even used, wierd stuff.

All clean except for the typedefs.

Cc: Hank Janssen <hjanssen@microsoft.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent b3715ee4
Loading
Loading
Loading
Loading
+109 −261
Original line number Original line Diff line number Diff line
@@ -21,260 +21,103 @@
 *
 *
 */
 */


#ifndef _VMBUSPACKETFORMAT_H_


#pragma once
typedef struct {

/* #ifndef PAGE_SIZE */
/* #if defined(_IA64_) */
/* #error This does not work for IA64 */
/* #else */
/* #define PAGE_SIZE 0x1000 */
/* #endif */
/* #endif */

/* allow nameless unions */
/* #pragma warning(disable : 4201) */

typedef struct
{
    union
    {
	struct
	{
	    volatile u32  In;        /* Offset in bytes from the ring base */
	    volatile u32  Out;       /* Offset in bytes from the ring base */
	};
	volatile long long InOut;
    };


    /* If the receiving endpoint sets this to some non-zero value, the sending */
    /* endpoint should not send any interrupts. */


    volatile u32 InterruptMask;

} VMRCB, *PVMRCB;

typedef struct
{
    union
    {
	struct
	{
	    VMRCB Control;
	};

	u8 Reserved[PAGE_SIZE];
    };


    /* Beginning of the ring data.  Note: It must be guaranteed that */
    /* this data does not share a page with the control structure. */

    u8 Data[1];
} VMRING, *PVMRING;

#pragma pack(push, 1)

typedef struct
{
	u16 Type;
	u16 Type;
	u16 DataOffset8;
	u16 DataOffset8;
	u16 Length8;
	u16 Length8;
	u16 Flags;
	u16 Flags;
	u64 TransactionId;
	u64 TransactionId;
} VMPACKET_DESCRIPTOR, *PVMPACKET_DESCRIPTOR;
} __attribute__((packed)) VMPACKET_DESCRIPTOR, *PVMPACKET_DESCRIPTOR;


typedef u32 PREVIOUS_PACKET_OFFSET, *PPREVIOUS_PACKET_OFFSET;
typedef u32 PREVIOUS_PACKET_OFFSET, *PPREVIOUS_PACKET_OFFSET;


typedef struct
typedef struct {
{
	PREVIOUS_PACKET_OFFSET PreviousPacketStartOffset;
	PREVIOUS_PACKET_OFFSET PreviousPacketStartOffset;
	VMPACKET_DESCRIPTOR Descriptor;
	VMPACKET_DESCRIPTOR Descriptor;
} VMPACKET_HEADER, *PVMPACKET_HEADER;
} __attribute__((packed)) VMPACKET_HEADER, *PVMPACKET_HEADER;


typedef struct
typedef struct {
{
	u32 ByteCount;
	u32 ByteCount;
	u32 ByteOffset;
	u32 ByteOffset;
} VMTRANSFER_PAGE_RANGE, *PVMTRANSFER_PAGE_RANGE;
} __attribute__((packed)) VMTRANSFER_PAGE_RANGE, *PVMTRANSFER_PAGE_RANGE;

#ifdef __cplusplus

typedef struct _VMTRANSFER_PAGE_PACKET_HEADER : VMPACKET_DESCRIPTOR {

#else


typedef struct VMTRANSFER_PAGE_PACKET_HEADER {
typedef struct VMTRANSFER_PAGE_PACKET_HEADER {

	VMPACKET_DESCRIPTOR d;
	VMPACKET_DESCRIPTOR d;

#endif

	u16 TransferPageSetId;
	u16 TransferPageSetId;
	bool SenderOwnsSet;
	bool SenderOwnsSet;
	u8 Reserved;
	u8 Reserved;
	u32 RangeCount;
	u32 RangeCount;
	VMTRANSFER_PAGE_RANGE Ranges[1];
	VMTRANSFER_PAGE_RANGE Ranges[1];

} __attribute__((packed)) VMTRANSFER_PAGE_PACKET_HEADER, *PVMTRANSFER_PAGE_PACKET_HEADER;
} VMTRANSFER_PAGE_PACKET_HEADER, *PVMTRANSFER_PAGE_PACKET_HEADER;


#ifdef __cplusplus

typedef struct _VMGPADL_PACKET_HEADER : VMPACKET_DESCRIPTOR {

#else


typedef struct _VMGPADL_PACKET_HEADER {
typedef struct _VMGPADL_PACKET_HEADER {

	VMPACKET_DESCRIPTOR d;
	VMPACKET_DESCRIPTOR d;

#endif


	u32 Gpadl;
	u32 Gpadl;
	u32 Reserved;
	u32 Reserved;

} __attribute__((packed)) VMGPADL_PACKET_HEADER, *PVMGPADL_PACKET_HEADER;
} VMGPADL_PACKET_HEADER, *PVMGPADL_PACKET_HEADER;

#ifdef __cplusplus

typedef struct _VMADD_REMOVE_TRANSFER_PAGE_SET : VMPACKET_DESCRIPTOR {

#else


typedef struct _VMADD_REMOVE_TRANSFER_PAGE_SET {
typedef struct _VMADD_REMOVE_TRANSFER_PAGE_SET {

	VMPACKET_DESCRIPTOR d;
	VMPACKET_DESCRIPTOR d;

#endif

	u32 Gpadl;
	u32 Gpadl;
	u16 TransferPageSetId;
	u16 TransferPageSetId;
	u16 Reserved;
	u16 Reserved;
} __attribute__((packed)) VMADD_REMOVE_TRANSFER_PAGE_SET, *PVMADD_REMOVE_TRANSFER_PAGE_SET;


} VMADD_REMOVE_TRANSFER_PAGE_SET, *PVMADD_REMOVE_TRANSFER_PAGE_SET;
/*

 * This structure defines a range in guest physical space that can be made to
#pragma pack(pop)
 * look virtually contiguous.

 */

/* This structure defines a range in guest physical space that can be made */
/* to look virtually contiguous. */


typedef struct _GPA_RANGE {
typedef struct _GPA_RANGE {

	u32 ByteCount;
	u32 ByteCount;
	u32 ByteOffset;
	u32 ByteOffset;
	u64 PfnArray[0];
	u64 PfnArray[0];

} GPA_RANGE, *PGPA_RANGE;
} GPA_RANGE, *PGPA_RANGE;



/*

 * This is the format for an Establish Gpadl packet, which contains a handle by
#pragma pack(push, 1)
 * 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
/* This is the format for an Establish Gpadl packet, which contains a handle */
 * ranges.
/* 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. */


#ifdef __cplusplus

typedef struct _VMESTABLISH_GPADL : VMPACKET_DESCRIPTOR {

#else

typedef struct _VMESTABLISH_GPADL {
typedef struct _VMESTABLISH_GPADL {

	VMPACKET_DESCRIPTOR d;
	VMPACKET_DESCRIPTOR d;

#endif

	u32 Gpadl;
	u32 Gpadl;
	u32 RangeCount;
	u32 RangeCount;
	GPA_RANGE Range[1];
	GPA_RANGE Range[1];
} __attribute__((packed)) VMESTABLISH_GPADL, *PVMESTABLISH_GPADL;


} VMESTABLISH_GPADL, *PVMESTABLISH_GPADL;
/*

 * 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.

 */
/* 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. */


#ifdef __cplusplus

typedef struct _VMTEARDOWN_GPADL : VMPACKET_DESCRIPTOR {

#else

typedef struct _VMTEARDOWN_GPADL {
typedef struct _VMTEARDOWN_GPADL {

	VMPACKET_DESCRIPTOR d;
	VMPACKET_DESCRIPTOR d;

#endif

	u32 Gpadl;
	u32 Gpadl;
	u32 Reserved;	/* for alignment to a 8-byte boundary */
	u32 Reserved;	/* for alignment to a 8-byte boundary */
} VMTEARDOWN_GPADL, *PVMTEARDOWN_GPADL;
} __attribute__((packed)) VMTEARDOWN_GPADL, *PVMTEARDOWN_GPADL;



/* This is the format for a GPA-Direct packet, which contains a set of GPA */
/* ranges, in addition to commands and/or data. */


#ifdef __cplusplus

typedef struct _VMDATA_GPA_DIRECT : VMPACKET_DESCRIPTOR {

#else


/*
 * This is the format for a GPA-Direct packet, which contains a set of GPA
 * ranges, in addition to commands and/or data.
 */
typedef struct _VMDATA_GPA_DIRECT {
typedef struct _VMDATA_GPA_DIRECT {

	VMPACKET_DESCRIPTOR d;
	VMPACKET_DESCRIPTOR d;

#endif

	u32 Reserved;
	u32 Reserved;
	u32 RangeCount;
	u32 RangeCount;
	GPA_RANGE Range[1];
	GPA_RANGE Range[1];

} __attribute__((packed)) VMDATA_GPA_DIRECT, *PVMDATA_GPA_DIRECT;
} VMDATA_GPA_DIRECT, *PVMDATA_GPA_DIRECT;





/* This is the format for a Additional Data Packet. */
/* This is the format for a Additional Data Packet. */


#ifdef __cplusplus

typedef struct _VMADDITIONAL_DATA : VMPACKET_DESCRIPTOR {

#else

typedef struct _VMADDITIONAL_DATA {
typedef struct _VMADDITIONAL_DATA {

	VMPACKET_DESCRIPTOR d;
	VMPACKET_DESCRIPTOR d;

#endif

	u64 TotalBytes;
	u64 TotalBytes;
	u32 ByteOffset;
	u32 ByteOffset;
	u32 ByteCount;
	u32 ByteCount;
	unsigned char Data[1];
	unsigned char Data[1];

} __attribute__((packed)) VMADDITIONAL_DATA, *PVMADDITIONAL_DATA;
} VMADDITIONAL_DATA, *PVMADDITIONAL_DATA;


#pragma pack(pop)


typedef union {
typedef union {
	VMPACKET_DESCRIPTOR SimpleHeader;
	VMPACKET_DESCRIPTOR SimpleHeader;
@@ -287,12 +130,15 @@ typedef union {
} VMPACKET_LARGEST_POSSIBLE_HEADER, *PVMPACKET_LARGEST_POSSIBLE_HEADER;
} VMPACKET_LARGEST_POSSIBLE_HEADER, *PVMPACKET_LARGEST_POSSIBLE_HEADER;


#define VMPACKET_DATA_START_ADDRESS(__packet)	\
#define VMPACKET_DATA_START_ADDRESS(__packet)	\
    (void *)(((unsigned char *)__packet) + ((PVMPACKET_DESCRIPTOR)__packet)->DataOffset8 * 8)
	(void *)(((unsigned char *)__packet) +	\
	 ((PVMPACKET_DESCRIPTOR)__packet)->DataOffset8 * 8)


#define VMPACKET_DATA_LENGTH(__packet)		\
#define VMPACKET_DATA_LENGTH(__packet)		\
    ((((PVMPACKET_DESCRIPTOR)__packet)->Length8 - ((PVMPACKET_DESCRIPTOR)__packet)->DataOffset8) * 8)
	((((PVMPACKET_DESCRIPTOR)__packet)->Length8 -	\
	  ((PVMPACKET_DESCRIPTOR)__packet)->DataOffset8) * 8)


#define VMPACKET_TRANSFER_MODE(__packet) ((PVMPACKET_DESCRIPTOR)__packet)->Type
#define VMPACKET_TRANSFER_MODE(__packet)	\
	(((PVMPACKET_DESCRIPTOR)__packet)->Type)


typedef enum {
typedef enum {
	VmbusServerEndpoint = 0,
	VmbusServerEndpoint = 0,
@@ -318,3 +164,5 @@ typedef enum {
} VMBUS_PACKET_TYPE, *PVMBUS_PACKET_TYPE;
} VMBUS_PACKET_TYPE, *PVMBUS_PACKET_TYPE;


#define VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED	1
#define VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED	1

#endif