Merge branch 'arrakis'
[barrelfish] / include / barrelfish_kpi / capabilities.h
index 41b30ed..b980be0 100644 (file)
@@ -166,6 +166,7 @@ enum cnode_cmd {
 enum vnode_cmd {
     VNodeCmd_Map,
     VNodeCmd_Unmap,
+    VNodeCmd_Identify,   ///< Return the physical address of the VNode
 };
 
 /**
@@ -220,6 +221,10 @@ enum dispatcher_cmd {
     DispatcherCmd_SetupGuest,       ///< Set up the DCB of a guest domain
     DispatcherCmd_DumpPTables,      ///< Dump hw page tables of dispatcher
     DispatcherCmd_DumpCapabilities  ///< Dump capabilities of dispatcher
+    DispatcherCmd_Vmread,           ///< Execute vmread on the current and active VMCS      
+    DispatcherCmd_Vmwrite,          ///< Execute vmwrite on the current and active VMCS
+    DispatcherCmd_Vmptrld,          ///< Make VMCS clear and inactive
+    DispatcherCmd_Vmclear           ///< Make VMCS current and active 
 };
 
 /**
@@ -270,6 +275,7 @@ enum perfmon_cmd {
     PerfmonCmd_Write        ///< Read current performance counter values
 };
 
+
 /**
  * ID capability commands.
  */
@@ -298,6 +304,14 @@ struct frame_identity {
     uint8_t bits;      ///< Size of frame, in bits
 };
 
+/**
+ * \brief Values returned from the VNode identify invocation
+ */
+struct vnode_identity {
+    genpaddr_t base;   ///< Physical base address of the VNode
+    uint8_t type;      ///< Type of VNode
+};
+
 #ifdef __scc__
 struct scc_frame_identity {
     uint8_t route, subdest;