X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?p=palacios.git;a=blobdiff_plain;f=palacios%2Finclude%2Fpalacios%2Fvm_guest.h;h=86a1cc46b5d51858bcb4fc7d2d85700b26f21278;hp=eb85d7d9eba114b65ef3be3321e85651465463ba;hb=c06413341bf1dca02f22c0502fa5c2d1c2c11eab;hpb=e23a867d9dcecc70fc76adc0f89404dbc50e5b78 diff --git a/palacios/include/palacios/vm_guest.h b/palacios/include/palacios/vm_guest.h index eb85d7d..86a1cc4 100644 --- a/palacios/include/palacios/vm_guest.h +++ b/palacios/include/palacios/vm_guest.h @@ -32,9 +32,17 @@ #include #include #include -#include #include +#include +#include +#ifdef CONFIG_TELEMETRY +#include +#endif + +#ifdef CONFIG_SYMBIOTIC_SWAP +#include +#endif struct v3_gprs { @@ -110,9 +118,14 @@ struct v3_segments { struct shadow_page_state; struct v3_intr_state; -struct v3_profiler; +#ifdef CONFIG_TELEMETRY +struct v3_telemetry; +#endif +#ifdef CONFIG_SYMBIOTIC_SWAP +struct v3_sym_swap_state; +#endif struct guest_info { @@ -142,6 +155,11 @@ struct guest_info { struct v3_msr_map msr_map; + struct v3_cpuid_map cpuid_map; + + // Symbiotic state + struct v3_sym_state sym_state; + v3_hypercall_map_t hcall_map; @@ -166,12 +184,22 @@ struct guest_info { uint64_t yield_cycle_period; uint64_t yield_start_cycle; + uint64_t num_exits; + +#ifdef CONFIG_TELEMETRY + uint_t enable_telemetry; + struct v3_telemetry_state telemetry; +#endif - uint_t enable_profiler; - struct v3_profiler profiler; +#ifdef CONFIG_SYMBIOTIC_SWAP + struct v3_sym_swap_state swap_state; +#endif void * decoder_state; + + // the logical cpu this guest context is executing on + int cpu_id; }; @@ -192,6 +220,4 @@ void v3_print_GPRs(struct guest_info * info); #endif // ! __V3VEE__ - - #endif