public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "K. Y. Srinivasan" <kys@microsoft.com>
To: gregkh@suse.de, linux-kernel@vger.kernel.org,
	devel@linuxdriverproject.org, virtualization@lists.osdl.org
Cc: "K. Y. Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Abhishek Kane <v-abkane@microsoft.com>,
	Hank Janssen <hjanssen@microsoft.com>
Subject: [PATCH 166/206] Staging: hv: Include a subset of the contents of hv_api.h
Date: Mon,  9 May 2011 14:57:28 -0700	[thread overview]
Message-ID: <1304978288-22999-166-git-send-email-kys@microsoft.com> (raw)
In-Reply-To: <1304978288-22999-1-git-send-email-kys@microsoft.com>

The subject line says it all.

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>
---
 drivers/staging/hv/hyperv_vmbus.h |  372 +++++++++++++++++++++++++++++++++++++
 1 files changed, 372 insertions(+), 0 deletions(-)

diff --git a/drivers/staging/hv/hyperv_vmbus.h b/drivers/staging/hv/hyperv_vmbus.h
index ce27244..5df7c82 100644
--- a/drivers/staging/hv/hyperv_vmbus.h
+++ b/drivers/staging/hv/hyperv_vmbus.h
@@ -21,3 +21,375 @@
  *   K. Y. Srinivasan <kys@microsoft.com>
  *
  */
+
+#ifndef _HYPERV_VMBUS_H
+#define _HYPERV_VMBUS_H
+
+#include <linux/hyperv.h>
+
+/*
+ * The below CPUID leaves are present if VersionAndFeatures.HypervisorPresent
+ * is set by CPUID(HVCPUID_VERSION_FEATURES).
+ */
+enum hv_cpuid_function {
+	HVCPUID_VERSION_FEATURES		= 0x00000001,
+	HVCPUID_VENDOR_MAXFUNCTION		= 0x40000000,
+	HVCPUID_INTERFACE			= 0x40000001,
+
+	/*
+	 * The remaining functions depend on the value of
+	 * HVCPUID_INTERFACE
+	 */
+	HVCPUID_VERSION			= 0x40000002,
+	HVCPUID_FEATURES			= 0x40000003,
+	HVCPUID_ENLIGHTENMENT_INFO	= 0x40000004,
+	HVCPUID_IMPLEMENTATION_LIMITS		= 0x40000005,
+};
+
+/* Define version of the synthetic interrupt controller. */
+#define HV_SYNIC_VERSION		(1)
+
+/* Define the expected SynIC version. */
+#define HV_SYNIC_VERSION_1		(0x1)
+
+/* Define synthetic interrupt controller message constants. */
+#define HV_MESSAGE_SIZE			(256)
+#define HV_MESSAGE_PAYLOAD_BYTE_COUNT	(240)
+#define HV_MESSAGE_PAYLOAD_QWORD_COUNT	(30)
+#define HV_ANY_VP			(0xFFFFFFFF)
+
+/* Define synthetic interrupt controller flag constants. */
+#define HV_EVENT_FLAGS_COUNT		(256 * 8)
+#define HV_EVENT_FLAGS_BYTE_COUNT	(256)
+#define HV_EVENT_FLAGS_DWORD_COUNT	(256 / sizeof(u32))
+
+/* Define hypervisor message types. */
+enum hv_message_type {
+	HVMSG_NONE			= 0x00000000,
+
+	/* Memory access messages. */
+	HVMSG_UNMAPPED_GPA		= 0x80000000,
+	HVMSG_GPA_INTERCEPT		= 0x80000001,
+
+	/* Timer notification messages. */
+	HVMSG_TIMER_EXPIRED			= 0x80000010,
+
+	/* Error messages. */
+	HVMSG_INVALID_VP_REGISTER_VALUE	= 0x80000020,
+	HVMSG_UNRECOVERABLE_EXCEPTION	= 0x80000021,
+	HVMSG_UNSUPPORTED_FEATURE		= 0x80000022,
+
+	/* Trace buffer complete messages. */
+	HVMSG_EVENTLOG_BUFFERCOMPLETE	= 0x80000040,
+
+	/* Platform-specific processor intercept messages. */
+	HVMSG_X64_IOPORT_INTERCEPT		= 0x80010000,
+	HVMSG_X64_MSR_INTERCEPT		= 0x80010001,
+	HVMSG_X64_CPUID_INTERCEPT		= 0x80010002,
+	HVMSG_X64_EXCEPTION_INTERCEPT	= 0x80010003,
+	HVMSG_X64_APIC_EOI			= 0x80010004,
+	HVMSG_X64_LEGACY_FP_ERROR		= 0x80010005
+};
+
+/* Define the number of synthetic interrupt sources. */
+#define HV_SYNIC_SINT_COUNT		(16)
+#define HV_SYNIC_STIMER_COUNT		(4)
+
+/* Define invalid partition identifier. */
+#define HV_PARTITION_ID_INVALID		((u64)0x0)
+
+/* Define connection identifier type. */
+union hv_connection_id {
+	u32 asu32;
+	struct {
+		u32 id:24;
+		u32 reserved:8;
+	} u;
+};
+
+/* Define port identifier type. */
+union hv_port_id {
+	u32 asu32;
+	struct {
+		u32 id:24;
+		u32 reserved:8;
+	} u ;
+};
+
+/* Define port type. */
+enum hv_port_type {
+	HVPORT_MSG	= 1,
+	HVPORT_EVENT		= 2,
+	HVPORT_MONITOR	= 3
+};
+
+/* Define port information structure. */
+struct hv_port_info {
+	enum hv_port_type port_type;
+	u32 padding;
+	union {
+		struct {
+			u32 target_sint;
+			u32 target_vp;
+			u64 rsvdz;
+		} message_port_info;
+		struct {
+			u32 target_sint;
+			u32 target_vp;
+			u16 base_flag_bumber;
+			u16 flag_count;
+			u32 rsvdz;
+		} event_port_info;
+		struct {
+			u64 monitor_address;
+			u64 rsvdz;
+		} monitor_port_info;
+	};
+};
+
+struct hv_connection_info {
+	enum hv_port_type port_type;
+	u32 padding;
+	union {
+		struct {
+			u64 rsvdz;
+		} message_connection_info;
+		struct {
+			u64 rsvdz;
+		} event_connection_info;
+		struct {
+			u64 monitor_address;
+		} monitor_connection_info;
+	};
+};
+
+/* Define synthetic interrupt controller message flags. */
+union hv_message_flags {
+	u8 asu8;
+	struct {
+		u8 msg_pending:1;
+		u8 reserved:7;
+	};
+};
+
+/* Define synthetic interrupt controller message header. */
+struct hv_message_header {
+	enum hv_message_type message_type;
+	u8 payload_size;
+	union hv_message_flags message_flags;
+	u8 reserved[2];
+	union {
+		u64 sender;
+		union hv_port_id port;
+	};
+};
+
+/* Define timer message payload structure. */
+struct hv_timer_message_payload {
+	u32 timer_index;
+	u32 reserved;
+	u64 expiration_time;	/* When the timer expired */
+	u64 delivery_time;	/* When the message was delivered */
+};
+
+/* Define synthetic interrupt controller message format. */
+struct hv_message {
+	struct hv_message_header header;
+	union {
+		u64 payload[HV_MESSAGE_PAYLOAD_QWORD_COUNT];
+	} u ;
+};
+
+/* Define the number of message buffers associated with each port. */
+#define HV_PORT_MESSAGE_BUFFER_COUNT	(16)
+
+/* Define the synthetic interrupt message page layout. */
+struct hv_message_page {
+	struct hv_message sint_message[HV_SYNIC_SINT_COUNT];
+};
+
+/* Define the synthetic interrupt controller event flags format. */
+union hv_synic_event_flags {
+	u8 flags8[HV_EVENT_FLAGS_BYTE_COUNT];
+	u32 flags32[HV_EVENT_FLAGS_DWORD_COUNT];
+};
+
+/* Define the synthetic interrupt flags page layout. */
+struct hv_synic_event_flags_page {
+	union hv_synic_event_flags sintevent_flags[HV_SYNIC_SINT_COUNT];
+};
+
+/* Define SynIC control register. */
+union hv_synic_scontrol {
+	u64 as_uint64;
+	struct {
+		u64 enable:1;
+		u64 reserved:63;
+	};
+};
+
+/* Define synthetic interrupt source. */
+union hv_synic_sint {
+	u64 as_uint64;
+	struct {
+		u64 vector:8;
+		u64 reserved1:8;
+		u64 masked:1;
+		u64 auto_eoi:1;
+		u64 reserved2:46;
+	};
+};
+
+/* Define the format of the SIMP register */
+union hv_synic_simp {
+	u64 as_uint64;
+	struct {
+		u64 simp_enabled:1;
+		u64 preserved:11;
+		u64 base_simp_gpa:52;
+	};
+};
+
+/* Define the format of the SIEFP register */
+union hv_synic_siefp {
+	u64 as_uint64;
+	struct {
+		u64 siefp_enabled:1;
+		u64 preserved:11;
+		u64 base_siefp_gpa:52;
+	};
+};
+
+/* Definitions for the monitored notification facility */
+union hv_monitor_trigger_group {
+	u64 as_uint64;
+	struct {
+		u32 pending;
+		u32 armed;
+	};
+};
+
+struct hv_monitor_parameter {
+	union hv_connection_id connectionid;
+	u16 flagnumber;
+	u16 rsvdz;
+};
+
+union hv_monitor_trigger_state {
+	u32 asu32;
+
+	struct {
+		u32 group_enable:4;
+		u32 rsvdz:28;
+	};
+};
+
+/* struct hv_monitor_page Layout */
+/* ------------------------------------------------------ */
+/* | 0   | TriggerState (4 bytes) | Rsvd1 (4 bytes)     | */
+/* | 8   | TriggerGroup[0]                              | */
+/* | 10  | TriggerGroup[1]                              | */
+/* | 18  | TriggerGroup[2]                              | */
+/* | 20  | TriggerGroup[3]                              | */
+/* | 28  | Rsvd2[0]                                     | */
+/* | 30  | Rsvd2[1]                                     | */
+/* | 38  | Rsvd2[2]                                     | */
+/* | 40  | NextCheckTime[0][0]    | NextCheckTime[0][1] | */
+/* | ...                                                | */
+/* | 240 | Latency[0][0..3]                             | */
+/* | 340 | Rsvz3[0]                                     | */
+/* | 440 | Parameter[0][0]                              | */
+/* | 448 | Parameter[0][1]                              | */
+/* | ...                                                | */
+/* | 840 | Rsvd4[0]                                     | */
+/* ------------------------------------------------------ */
+struct hv_monitor_page {
+	union hv_monitor_trigger_state trigger_state;
+	u32 rsvdz1;
+
+	union hv_monitor_trigger_group trigger_group[4];
+	u64 rsvdz2[3];
+
+	s32 next_checktime[4][32];
+
+	u16 latency[4][32];
+	u64 rsvdz3[32];
+
+	struct hv_monitor_parameter parameter[4][32];
+
+	u8 rsvdz4[1984];
+};
+
+/* Declare the various hypercall operations. */
+enum hv_call_code {
+	HVCALL_POST_MESSAGE	= 0x005c,
+	HVCALL_SIGNAL_EVENT	= 0x005d,
+};
+
+/* Definition of the hv_post_message hypercall input structure. */
+struct hv_input_post_message {
+	union hv_connection_id connectionid;
+	u32 reserved;
+	enum hv_message_type message_type;
+	u32 payload_size;
+	u64 payload[HV_MESSAGE_PAYLOAD_QWORD_COUNT];
+};
+
+/* Definition of the hv_signal_event hypercall input structure. */
+struct hv_input_signal_event {
+	union hv_connection_id connectionid;
+	u16 flag_number;
+	u16 rsvdz;
+};
+
+/*
+ * Versioning definitions used for guests reporting themselves to the
+ * hypervisor, and visa versa.
+ */
+
+/* Version info reported by guest OS's */
+enum hv_guest_os_vendor {
+	HVGUESTOS_VENDOR_MICROSOFT	= 0x0001
+};
+
+enum hv_guest_os_microsoft_ids {
+	HVGUESTOS_MICROSOFT_UNDEFINED	= 0x00,
+	HVGUESTOS_MICROSOFT_MSDOS		= 0x01,
+	HVGUESTOS_MICROSOFT_WINDOWS3X	= 0x02,
+	HVGUESTOS_MICROSOFT_WINDOWS9X	= 0x03,
+	HVGUESTOS_MICROSOFT_WINDOWSNT	= 0x04,
+	HVGUESTOS_MICROSOFT_WINDOWSCE	= 0x05
+};
+
+/*
+ * Declare the MSR used to identify the guest OS.
+ */
+#define HV_X64_MSR_GUEST_OS_ID	0x40000000
+
+union hv_x64_msr_guest_os_id_contents {
+	u64 as_uint64;
+	struct {
+		u64 build_number:16;
+		u64 service_version:8; /* Service Pack, etc. */
+		u64 minor_version:8;
+		u64 major_version:8;
+		u64 os_id:8; /* enum hv_guest_os_microsoft_ids (if Vendor=MS) */
+		u64 vendor_id:16; /* enum hv_guest_os_vendor */
+	};
+};
+
+/*
+ * Declare the MSR used to setup pages used to communicate with the hypervisor.
+ */
+#define HV_X64_MSR_HYPERCALL	0x40000001
+
+union hv_x64_msr_hypercall_contents {
+	u64 as_uint64;
+	struct {
+		u64 enable:1;
+		u64 reserved:11;
+		u64 guest_physical_address:52;
+	};
+};
+
+#endif /* _HYPERV_VMBUS_H */
-- 
1.7.4.1


  parent reply	other threads:[~2011-05-10  8:51 UTC|newest]

Thread overview: 217+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-09 21:57 [PATCH 000/206] Staging: hv: Cleanup hv drivers K. Y. Srinivasan
2011-05-09 21:54 ` [PATCH 001/206] Staging: hv: Get rid of blkvsc_mutex K. Y. Srinivasan
2011-05-09 21:54   ` [PATCH 002/206] Staging: hv: Cleanup spin lock usage K. Y. Srinivasan
2011-05-09 21:54   ` [PATCH 003/206] Staging: hv: Fix some locking issues K. Y. Srinivasan
2011-05-09 21:54   ` [PATCH 004/206] Staging: hv: Rename driver name variable K. Y. Srinivasan
2011-05-09 21:54   ` [PATCH 005/206] Staging: hv: Rename the device type variable K. Y. Srinivasan
2011-05-10 10:11     ` Jonathan Cameron
2011-05-10 12:13       ` Greg KH
2011-05-10 12:43         ` Jonathan Cameron
2011-05-09 21:54   ` [PATCH 006/206] Staging: hv: Change the name of struct storvsc_driver_object K. Y. Srinivasan
2011-05-09 21:54   ` [PATCH 007/206] Staging: hv: Change the name of blkvsc driver variable K. Y. Srinivasan
2011-05-09 21:54   ` [PATCH 008/206] Staging: hv: Rename variables of type struct storvsc_driver * K. Y. Srinivasan
2011-05-09 21:54   ` [PATCH 009/206] Staging: hv: Rename the function blk_vsc_on_device_add K. Y. Srinivasan
2011-05-09 21:54   ` [PATCH 010/206] Staging: hv: Get rid of the indirection for invoking device_add K. Y. Srinivasan
2011-05-09 21:54   ` [PATCH 011/206] Staging: hv: Rename the function stor_vsc_device_add K. Y. Srinivasan
2011-05-09 21:54   ` [PATCH 012/206] Staging: hv: Rename the function stor_vsc_on_device_remove K. Y. Srinivasan
2011-05-09 21:54   ` [PATCH 013/206] Staging: hv: Get rid of the indirection for removing stor device K. Y. Srinivasan
2011-05-09 21:54   ` [PATCH 014/206] Staging: hv: Rename the function stor_vsc_on_cleanup K. Y. Srinivasan
2011-05-09 21:54   ` [PATCH 015/206] Staging: hv: Get rid of the indirection for invoking cleanup function K. Y. Srinivasan
2011-05-09 21:54   ` [PATCH 016/206] Staging: hv: Rename the function stor_vsc_on_io_request K. Y. Srinivasan
2011-05-09 21:54   ` [PATCH 017/206] Staging: hv: Get rid of the indirection for invoking io request K. Y. Srinivasan
2011-05-10  7:01     ` Christoph Hellwig
2011-05-09 21:55   ` [PATCH 018/206] Staging: hv: Statically initialize pointers for probe etc K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 019/206] Staging: hv: Get rid of the calls to storvsc_cleanup K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 020/206] Staging: hv: Rename the function stor_vsc_get_major_info() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 021/206] Staging: hv: Introduce a function to wait to drain outgoing I/O K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 022/206] Staging: hv: Use the newly introduced I/O drain synch method K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 023/206] Staging: hv: Cleanup blkvsc_remove() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 024/206] Staging: hv: Cleanup blkvsc_shutdown() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 025/206] Staging: hv: Rename stor_vsc_channel_init() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 026/206] Staging: hv: Rename stor_vsc_on_io_completion K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 027/206] Staging: hv: Rename stor_vsc_on_receive K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 028/206] Staging: hv: Rename stor_vsc_on_channel_callback K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 029/206] Staging: hv: Rename stor_vsc_connect_to_vsp K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 030/206] Staging: hv: Get rid of/change some dated comments K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 031/206] Staging: hv: Get rid of some unnecessary DPRINTS K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 032/206] Staging: hv: Rename g_driver_name K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 033/206] Staging: hv: Rename struct host_device_context K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 034/206] Staging: hv: Rename variables pointing to struct hv_host_device K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 035/206] Staging: hv: Rename the struct hv_device * element of " K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 036/206] Staging: hv: Rename variables pointing to struct hv_device K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 037/206] Staging: hv: Get rid of some dated comments K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 038/206] Staging: hv: Get rid of some DPRINTS K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 039/206] Staging: hv: Get rid of the forward declaration for storvsc_device_alloc() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 040/206] Staging: hv: Move the function storvsc_merge_bvec() to earlier in the file K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 041/206] Staging: hv: Get rid of the forward declaration for storvsc_device_configure() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 042/206] Staging: hv: Get rid of the forwrd declaration of destroy_bounce_buffer K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 043/206] Staging: hv: Get rid of the forward declaration for do_bounce_buffer() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 044/206] Staging: hv: Get rid of the forward declaration for create_bounce_buffer() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 045/206] Staging: hv: Get rid of the forward declaration of copy_from_bounce_buffer() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 046/206] Staging: hv: Get rid of the forward declaration for copy_to_bounce_buffer() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 047/206] Staging: hv: Get rid of the forward declaration of storvsc_remove() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 048/206] Staging: hv: Get rid of the forward declaration of storvsc_get_chs() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 049/206] Staging: hv: Staging: hv: Rename the function stor_vsc_on_host_reset() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 050/206] Staging: hv: Rename stor_vsc_initialize() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 051/206] Staging: hv: Move the definition of storvsc_host_reset() to earlier in the file K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 052/206] Staging: hv: Get rid of the forward declaration for storvsc_host_reset_handler() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 053/206] Staging: hv: Move the definition of storvsc_ringbuffer_size to earlier in the file K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 054/206] Staging: hv: Move module parameters " K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 055/206] Staging: hv: Move the function storvsc_commmand_completion() " K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 056/206] Staging: hv: Get rid of the forward declaration of storvsc_queuecommand() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 057/206] Staging: hv: Get rid of the forward declaration of storvsc_probe() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 058/206] Staging: hv: Rename the driver variable K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 059/206] Staging: hv: Move the declaration of " K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 060/206] Staging: hv: Statically initialize probe/remove elements of the driver K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 061/206] Staging: hv: Get rid of unnecessary comments/dead code K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 062/206] Staging: hv: Get rid of the indirection in invoking storvsc_dev_remove() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 063/206] Staging: hv: Get rid of the indirection in invoking storvsc_dev_add() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 064/206] Staging: hv: Get rid of the indirection in invoking storvsc_do_io() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 065/206] Staging: hv: Get rid of the code initializing the dispatch table K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 066/206] Staging: hv: Simplify the code for getting the drive parameters K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 067/206] Staging: hv: Make the function netvsc_device_add() non static K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 068/206] Staging: hv: Make netvsc_device_remove " K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 069/206] Staging: hv: Get rid of netvsc_cleanup() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 070/206] Staging: hv: Make rndis_filte_device_add() non static K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 071/206] Staging: hv: Make rndis_filter_device_remove() " K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 072/206] Staging: hv: Get rid of rndis_filter_cleanup() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 073/206] Staging: hv: Get rid of the indirection to invoke rndis_filte_device_add() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 074/206] Staging: hv: Get rid of the indirection to invoke netvsc_device_add() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 075/206] Staging: hv: Get rid of the indirection in invoking rndis_filter_device_remove() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 076/206] Staging: hv: Get rid of the indirection in invoking netvsc_device_remove() K. Y. Srinivasan
2011-05-09 21:55   ` [PATCH 077/206] Staging: hv: Get rid of call to cleanup() K. Y. Srinivasan
2011-05-09 22:53     ` Greg KH
2011-05-09 23:53       ` KY Srinivasan
2011-05-10  0:18         ` Greg KH
2011-05-09 21:56   ` [PATCH 078/206] Staging: hv: Get rid of unnecessary code in netvsc.c K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 079/206] Staging: hv: Get rid of some unnecessary code in rndis_filter.c K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 080/206] Staging: hv: Get rid of the indirection to invoke mousevsc_on_device_add() K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 081/206] Staging: hv: Get rid of the indirection to invoke mousevsc_on_device_remove K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 082/206] Staging: hv: Get rid of the mouse cleanup() function K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 083/206] Staging: hv: Cleanup mouse_vsc_initialize() K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 084/206] Staging: hv: Get rid of dev_add from struct hv_driver K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 085/206] Staging: hv: Get rid of dev_rm " K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 086/206] Staging: hv: Cleanup calls to cleanup in storvsc_drv.c K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 087/206] Staging: hv: Cleanup calls to cleanup() in hv_mouse.c K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 088/206] Staging: hv: Get rid of cleanup from struct hv_driver K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 089/206] Staging: hv: Rename the variable g_netvsc_drv K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 090/206] Staging: hv: Move the declaration of the variable netvsc_drv K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 091/206] Staging: hv: Statically initialize probe/remove K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 092/206] Staging: hv: Rename the variable g_mousevsc_drv K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 093/206] Staging: hv: Move the declaration of the variable mousevsc_drv K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 094/206] Staging: hv: Statically initialize probe/remove K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 095/206] Staging: hv: Rename the function ringbuffer_init K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 096/206] Staging: hv: Rename ringbuffer_cleanup K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 097/206] Staging: hv: Rename ringbuffer_write K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 098/206] Staging: hv: Rename ringbuffer_peek K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 099/206] Staging: hv: Rename ringbuffer_read K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 100/206] Staging: hv: Rename get_ringbuffer_interrupt_mask K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 101/206] Staging: hv: Rename dump_ring_info K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 102/206] Staging: hv: Rename ringbuffer_get_debuginfo K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 103/206] Staging: hv: Rename all static functions in ring_buffer.c K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 104/206] Staging: hv: Cleanup comments " K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 105/206] Staging: hv: Get rid of the forward declaration of hv_copyfrom_ringbuffer K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 106/206] Staging: hv: Get rid of the forward declaration of hv_copyto_ringbuffer() K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 107/206] Staging: hv: Get rid of the volatile qualifier for a variable in ring_buffer.c K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 108/206] Staging: hv: Cleanup ring_buffer.h K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 109/206] Staging: hv: Rename the variable gSupportedDeviceClasses K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 110/206] Staging: hv: Rename the variable messageHandler K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 111/206] Staging: hv: Rename the variable messageType K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 112/206] Staging: hv: Rename the variable gChannelMessageTable K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 113/206] Staging: hv: Use completion abstraction to synchronize in vmbus_channel_msginfo K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 114/206] Staging: hv: Get rid of some unnecessary state from struct vmbus_msginfo K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 115/206] Staging: hv: Use completion abstraction in struct netvsc_device K. Y. Srinivasan
2011-05-10  7:06     ` Christoph Hellwig
2011-05-10 12:52       ` KY Srinivasan
2011-05-09 21:56   ` [PATCH 116/206] Staging: hv: Use the completion abstraction in struct rndis_request K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 117/206] Staging: hv: Get rid of some dead code in channel.c K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 118/206] Staging: hv: Change Cleanup to cleanup K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 119/206] Staging: hv: Get rid of some dead code in connection.c K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 120/206] Staging: hv: Get rid of some dead code from hv.c K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 121/206] Staging: hv: Change Cleanup to cleanup K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 122/206] Staging: hv: Get rid of unnecessary state from struct storvsc_driver K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 123/206] Staging: hv: Get rid unnecessary DPRINT K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 124/206] Staging: hv: Get rid of unnecessary code/comments K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 125/206] Staging: hv: Assign the name directly K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 126/206] Staging: hv: Move the assignment of driver name K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 127/206] Staging: hv: Inline the copying of dev_type guid K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 128/206] Staging: hv: Now get rid of the empty function K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 129/206] Staging: hv: Move the sector size check into blkvsc_drv_init K. Y. Srinivasan
2011-05-10  8:49     ` Christoph Hellwig
2011-05-09 21:56   ` [PATCH 130/206] Staging: hv: Make blkvsc_drv_init the module init function K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 131/206] Staging: hv: Get rid of some unnecessary DPRINTs K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 132/206] Staging: hv: Compute max_outstanding_req_per_channel where it is needed K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 133/206] Staging: hv: Get rid of max_outstanding_req_per_channel from struct storvsc_driver K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 134/206] Staging: hv: Add ring_buffer_size to struct storvsc_device_info K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 135/206] Staging: hv: Use the rinbuffer size info in " K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 136/206] Staging: hv: Get rid of the unnecessary assignment of ring size K. Y. Srinivasan
2011-05-09 21:56   ` [PATCH 137/206] Staging: hv: Get rid of the ring size state from struct storvsc_driver K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 138/206] Staging: hv: Directly assign the driver name K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 139/206] Staging: hv: Move the assignment of name to the hv_driver K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 140/206] Staging: hv: Inline the copying of the dev_type information K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 141/206] Staging: hv: Now get rid of an empty function K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 142/206] Staging: hv: Get rid of some unused functions K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 143/206] Staging: hv: Make storvsc_drv an instance of hv_driver K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 144/206] Staging: hv: Make blkvsc_drv an instance of struct hv_driver K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 145/206] Staging: hv: Get rid of struct storvsc_driver K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 146/206] Staging: hv: Directly assign the driver name K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 147/206] Staging: hv: Move the assignment of name variable K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 148/206] Staging: hv: Move the code to copy dev_type information K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 149/206] Staging: hv: Get rid of an empty function K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 150/206] Staging: hv: Make mousevsc_drv an instance of struct hv_driver K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 151/206] Staging: hv: Get rid of some unused code K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 152/206] Staging: hv: Create a common header for all hyperv drivers to include K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 153/206] Staging: hv:Include the contents of channel.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 154/206] Staging: hv: Include the contents of channel_mgmt.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 155/206] Staging: hv: Include the contents of ring_buffer.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 156/206] Staging: hv: Include the contents of vmbus_channel_interface.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 157/206] Staging: hv: Include the contents of vmbus_packet_format.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 158/206] Staging: hv: Include the contents of logging.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 159/206] Staging: hv: Include the contents of version_info.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 160/206] Staging: hv: Add the contents of vmbus_api.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 161/206] Staging: hv: Include the contents of vmbus.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 162/206] Staging: hv: Cleanup the newly created header file K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 163/206] Staging: hv: Include asm/hyperv.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 164/206] Staging: hv: Add the definition hv_guid K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 165/206] Staging: hv: Add a new header file to include all header files private to vmbus core K. Y. Srinivasan
2011-05-09 21:57   ` K. Y. Srinivasan [this message]
2011-05-09 21:57   ` [PATCH 167/206] Staging: hv: Add the contents of hv_api.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 168/206] Staging: hv: Add the ringbuffer interfaces K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 169/206] Staging: hv: Include the contents of vmbus_private.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 170/206] Staging: hv: Cleanup the newly created header file K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 171/206] Staging: hv: Create a header file that has all the definitions needed to build Hyper-V storage drivers K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 172/206] Staging: hv: Include the contents of vstorage.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 173/206] Staging: hv: Include the contents of storvsc_api.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 174/206] Staging: hv: Create a single header file for hyper-v network drivers K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 175/206] Staging: hv: Include the contents of netvsc_api.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 176/206] Staging: hv: Include the contents of netvsc.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 177/206] Staging: hv: Include the contents of rndis.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 178/206] Staging: hv: Include the contents of rndis_filter.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 179/206] Staging: hv: Include the contents of utils.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 180/206] Staging: hv: Include the newly created header files in blkvsc_drv.c K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 181/206] Staging: hv: Include the newly created header files in storvsc.c K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 182/206] Staging: hv: Include the newly created header files in storvsc_drv.c K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 183/206] Staging: hv: Include the new header files in the network driver K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 184/206] Staging: hv: Include the new header files in vmbus driver K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 185/206] Staging: hv: Include the newly created header file in the util driver K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 186/206] Staging: hv: Include the newly created header file in the mouse driver K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 187/206] Staging: hv: Get rid of channel.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 188/206] Staging: hv: Get rid of channel_mgmt.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 189/206] Staging: hv: Get rid of hv_api.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 190/206] Staging: hv: Get rid of hv.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 191/206] Staging: hv: Get rid of logging.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 192/206] Staging: hv: Get rid of netvsc_api.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 193/206] Staging: hv: Get rid of netvsc.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 194/206] Staging: hv: Get rid of ring_buffer.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 195/206] Staging: hv: Get rid of rndis_filter.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 196/206] Staging: hv: Get rid of rndis.h K. Y. Srinivasan
2011-05-09 21:57   ` [PATCH 197/206] Staging: hv: Get rid of storvsc_api.h K. Y. Srinivasan
2011-05-09 21:58   ` [PATCH 198/206] Staging: hv: Get rid of utils.h K. Y. Srinivasan
2011-05-09 21:58   ` [PATCH 199/206] Staging: hv: Get rid of version_info.h K. Y. Srinivasan
2011-05-09 21:58   ` [PATCH 200/206] Staging: hv: Get rid of vmbus_api.h K. Y. Srinivasan
2011-05-09 21:58   ` [PATCH 201/206] Staging: hv: Get rid of vmbus_channel_interface.h K. Y. Srinivasan
2011-05-09 21:58   ` [PATCH 202/206] Staging: hv: Get rid of vmbus.h K. Y. Srinivasan
2011-05-09 21:58   ` [PATCH 203/206] Staging: hv: Get rid of vmbus_packet_format.h K. Y. Srinivasan
2011-05-09 21:58   ` [PATCH 204/206] Staging: hv: Get rid of vmbus_private.h K. Y. Srinivasan
2011-05-09 21:58   ` [PATCH 205/206] Staging: hv: Get rid of vstorage.h K. Y. Srinivasan
2011-05-09 21:58   ` [PATCH 206/206] Staging: hv: Get rid of the function count_hv_channel() K. Y. Srinivasan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1304978288-22999-166-git-send-email-kys@microsoft.com \
    --to=kys@microsoft.com \
    --cc=devel@linuxdriverproject.org \
    --cc=gregkh@suse.de \
    --cc=haiyangz@microsoft.com \
    --cc=hjanssen@microsoft.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=v-abkane@microsoft.com \
    --cc=virtualization@lists.osdl.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox