X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Finclude%2Fgeekos%2Fvm_guest.h;h=f711b3679514f48b72331b6c3ce882b344bdf94a;hb=959ed075fac59969a8dc299e51824166f50bb2d0;hp=aee6182e988da2b84717e0225f0637bf27aa04f7;hpb=8cb3daaded0d8c80be801aa74493006b5a06999f;p=palacios.git diff --git a/palacios/include/geekos/vm_guest.h b/palacios/include/geekos/vm_guest.h index aee6182..f711b36 100644 --- a/palacios/include/geekos/vm_guest.h +++ b/palacios/include/geekos/vm_guest.h @@ -4,38 +4,50 @@ #include #include #include -//#include - - +#include -struct guest_info; +typedef ullong_t gpr_t; -#include +/* + struct guest_gprs { + addr_t rax; + addr_t rbx; + addr_t rcx; + addr_t rdx; + addr_t rsi; + addr_t rdi; + addr_t rbp; + }; +*/ struct guest_gprs { - ullong_t rbx; - ullong_t rcx; - ullong_t rdx; - ullong_t rsi; - ullong_t rdi; - ullong_t rbp; - + gpr_t rdi; + gpr_t rsi; + gpr_t rbp; + gpr_t rsp; + gpr_t rbx; + gpr_t rdx; + gpr_t rcx; + gpr_t rax; }; +struct shadow_page_state; + + typedef enum {SHADOW_PAGING, NESTED_PAGING} vm_page_mode_t; typedef enum {REAL, PROTECTED, PROTECTED_PG, PROTECTED_PAE, PROTECTED_PAE_PG, LONG, LONG_PG} vm_cpu_mode_t; struct guest_info { ullong_t rip; - ullong_t rsp; + shadow_map_t mem_map; vm_page_mode_t page_mode; - struct shadow_page_state shdw_pg_state; + struct shadow_page_state shdw_pg_state; // nested_paging_t nested_page_state;