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.


Resource control extensions to host OS interface
[palacios.git] / palacios / include / palacios / vm_guest.h
index 7a78c0a..84468b2 100644 (file)
@@ -78,7 +78,9 @@ struct v3_sym_core_state;
 #include <palacios/vmm_hvm.h>
 #endif
 
-
+#ifdef V3_CONFIG_CACHEPART
+#include <palacios/vmm_cachepart.h>
+#endif
 
 #include <palacios/vmm_config.h>
 
@@ -99,6 +101,9 @@ struct guest_info {
     struct v3_core_timeouts timeouts;
     void * sched_priv_data;
 
+    // Resource constraints/etc for the thread running this core
+    v3_resource_control_t  resource_control;
+
     v3_paging_mode_t shdw_pg_mode;
     // arch-independent state of shadow pager
     struct v3_shdw_pg_state shdw_pg_state;
@@ -202,6 +207,11 @@ struct v3_vm_info {
     char name[128];
 
     v3_vm_class_t vm_class;
+
+    // Resource control for whole VM - determined early and used
+    // when building the VM, then cloned to each core
+    v3_resource_control_t resource_control;
+
     struct v3_fw_cfg_state fw_cfg_state;
 
     // This is always the total RAM (addresses 0...mem_size)
@@ -280,6 +290,11 @@ struct v3_vm_info {
     // used to implement reset of regular VM and ROS
     v3_counting_barrier_t  reset_barrier;
 
+#ifdef V3_CONFIG_CACHEPART
+    v3_cachepart_t  cachepart_state;
+#endif
+
+
     uint64_t yield_cycle_period;