summary refs log tree commit diff
path: root/protos
diff options
context:
space:
mode:
authorMatt Delco <delco@chromium.org>2020-02-25 18:01:05 -0800
committerCommit Bot <commit-bot@chromium.org>2020-03-05 19:01:24 +0000
commitd2a862b41f07d387926f0b984c56dc838003102c (patch)
treef7f03c7c31673efc0b29cc4bf74804f638dac172 /protos
parentb9f4c9bca30e65eacfb055951fa994ad5127a8f0 (diff)
downloadcrosvm-d2a862b41f07d387926f0b984c56dc838003102c.tar
crosvm-d2a862b41f07d387926f0b984c56dc838003102c.tar.gz
crosvm-d2a862b41f07d387926f0b984c56dc838003102c.tar.bz2
crosvm-d2a862b41f07d387926f0b984c56dc838003102c.tar.lz
crosvm-d2a862b41f07d387926f0b984c56dc838003102c.tar.xz
crosvm-d2a862b41f07d387926f0b984c56dc838003102c.tar.zst
crosvm-d2a862b41f07d387926f0b984c56dc838003102c.zip
crosvm: add handling for hyperv exits
When features for Hyper-V are enabled there's a another type of exit
that can be triggered.  This change attempts to add support for those
types of exits.

BUG=b:150151095
TEST=ran build_test

Change-Id: I3131a2c8d9c610576ac177dbfe82f78e8d5dbfb1
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/2073254
Reviewed-by: Matt Delco <delco@chromium.org>
Tested-by: Matt Delco <delco@chromium.org>
Tested-by: kokoro <noreply+kokoro@google.com>
Commit-Queue: Matt Delco <delco@chromium.org>
Auto-Submit: Matt Delco <delco@chromium.org>
Diffstat (limited to 'protos')
-rw-r--r--protos/src/plugin.proto17
1 files changed, 16 insertions, 1 deletions
diff --git a/protos/src/plugin.proto b/protos/src/plugin.proto
index 442eef0..8e5f3a9 100644
--- a/protos/src/plugin.proto
+++ b/protos/src/plugin.proto
@@ -403,15 +403,30 @@ message VcpuResponse  {
             bytes debugregs = 8;
         }
 
-        // This type of wait reason is only generated after a PuaseVcpus request on this VCPU.
+        // This type of wait reason is only generated after a PauseVcpus request on this VCPU.
         message User {
             uint64 user = 1;
         }
 
+        message HypervCall {
+            uint64 input = 1;
+            uint64 params0 = 2;
+            uint64 params1 = 3;
+        }
+
+        message HypervSynic {
+            uint32 msr = 1;
+            uint64 control = 2;
+            uint64 evt_page = 3;
+            uint64 msg_page = 4;
+        }
+
         oneof exit {
             Init init = 1;
             Io io = 2;
             User user = 3;
+            HypervCall hyperv_call = 4;
+            HypervSynic hyperv_synic = 5;
         }
     }