]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - include/linux/hyperv.h
Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[linux.git] / include / linux / hyperv.h
index b4a017093b697e615b6850860f9d58a8ed65193c..26f3aeeae1cab6cd434e34dac9fc161e91566932 100644 (file)
@@ -182,19 +182,21 @@ static inline u32 hv_get_avail_to_write_percent(
  * 2 . 4  (Windows 8)
  * 3 . 0  (Windows 8 R2)
  * 4 . 0  (Windows 10)
+ * 4 . 1  (Windows 10 RS3)
  * 5 . 0  (Newer Windows 10)
+ * 5 . 1  (Windows 10 RS4)
+ * 5 . 2  (Windows Server 2019, RS5)
  */
 
 #define VERSION_WS2008  ((0 << 16) | (13))
 #define VERSION_WIN7    ((1 << 16) | (1))
 #define VERSION_WIN8    ((2 << 16) | (4))
 #define VERSION_WIN8_1    ((3 << 16) | (0))
-#define VERSION_WIN10  ((4 << 16) | (0))
+#define VERSION_WIN10 ((4 << 16) | (0))
+#define VERSION_WIN10_V4_1 ((4 << 16) | (1))
 #define VERSION_WIN10_V5 ((5 << 16) | (0))
-
-#define VERSION_INVAL -1
-
-#define VERSION_CURRENT VERSION_WIN10_V5
+#define VERSION_WIN10_V5_1 ((5 << 16) | (1))
+#define VERSION_WIN10_V5_2 ((5 << 16) | (2))
 
 /* Make maximum size of pipe payload of 16K */
 #define MAX_PIPE_DATA_PAYLOAD          (sizeof(u8) * 16384)
@@ -932,6 +934,21 @@ struct vmbus_channel {
         * full outbound ring buffer.
         */
        u64 out_full_first;
+
+       /* enabling/disabling fuzz testing on the channel (default is false)*/
+       bool fuzz_testing_state;
+
+       /*
+        * Interrupt delay will delay the guest from emptying the ring buffer
+        * for a specific amount of time. The delay is in microseconds and will
+        * be between 1 to a maximum of 1000, its default is 0 (no delay).
+        * The  Message delay will delay guest reading on a per message basis
+        * in microseconds between 1 to 1000 with the default being 0
+        * (no delay).
+        */
+       u32 fuzz_testing_interrupt_delay;
+       u32 fuzz_testing_message_delay;
+
 };
 
 static inline bool is_hvsock_channel(const struct vmbus_channel *c)
@@ -1180,6 +1197,10 @@ struct hv_device {
 
        struct vmbus_channel *channel;
        struct kset          *channels_kset;
+
+       /* place holder to keep track of the dir for hv device in debugfs */
+       struct dentry *debug_dir;
+
 };