Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


added hypercall registration and handler
[palacios.git] / palacios / include / palacios / vm_guest.h
index cf75842..64b5a71 100644 (file)
 #include <palacios/vmm_intr.h>
 #include <palacios/vmm_dev_mgr.h>
 #include <palacios/vmm_time.h>
-#include <palacios/vmm_emulator.h>
 #include <palacios/vmm_host_events.h>
 #include <palacios/vmm_msr.h>
 #include <palacios/vmm_profiler.h>
+#include <palacios/vmm_hypercall.h>
 
 
 
@@ -105,10 +105,9 @@ struct v3_segments {
   struct v3_segment gdtr;
   struct v3_segment idtr;
   struct v3_segment tr;
-} ;
+};
 
 struct shadow_page_state;
-struct emulation_state;
 struct v3_intr_state;
 struct v3_profiler;
 
@@ -140,6 +139,9 @@ struct guest_info {
 
   struct v3_msr_map msr_map;
 
+
+  v3_hypercall_map_t hcall_map;
+
   // device_map
   struct vmm_dev_mgr  dev_mgr;
 
@@ -163,14 +165,20 @@ struct guest_info {
 
   void * decoder_state;
 
-  struct v3_msr guest_efer;
+  v3_msr_t guest_efer;
 
   /* Do we need these ? */
-  struct v3_msr guest_star;
-  struct v3_msr guest_lstar;
-  struct v3_msr guest_cstar;
-  struct v3_msr guest_syscall_mask;
-  struct v3_msr guest_gs_base;
+  v3_msr_t guest_star;
+  v3_msr_t guest_lstar;
+  v3_msr_t guest_cstar;
+  v3_msr_t guest_syscall_mask;
+  v3_msr_t guest_gs_base;
+
+
+  uint64_t fs;
+  uint64_t gs;
+
+
 
 };