X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fgeekos%2Fsvm.c;h=18ddcb51c9ba46d08a8cf642d735ab6f1680bc96;hb=8cb3daaded0d8c80be801aa74493006b5a06999f;hp=ab2a406458e7ce7a404c38c28880c7ba1a32f0d6;hpb=7acd54f8c3b30d118d56186a9c6506f21f85096d;p=palacios.git diff --git a/palacios/src/geekos/svm.c b/palacios/src/geekos/svm.c index ab2a406..18ddcb5 100644 --- a/palacios/src/geekos/svm.c +++ b/palacios/src/geekos/svm.c @@ -7,6 +7,7 @@ #include #include +#include /* TEMPORARY BECAUSE SVM IS WEIRD */ @@ -160,7 +161,7 @@ vmcb_t * Allocate_VMCB() { } -void Init_VMCB_Real(vmcb_t * vmcb, guest_info_t vm_info) { +void Init_VMCB_Real(vmcb_t * vmcb, struct guest_info vm_info) { vmcb_ctrl_t * ctrl_area = GET_VMCB_CTRL_AREA(vmcb); vmcb_saved_state_t * guest_state = GET_VMCB_SAVE_STATE_AREA(vmcb); uint_t i; @@ -267,10 +268,10 @@ void Init_VMCB_Real(vmcb_t * vmcb, guest_info_t vm_info) { if (vm_info.page_mode == SHADOW_PAGING) { PrintDebug("Creating initial shadow page table\n"); - vm_info.shadow_page_state.shadow_cr3.e_reg.low |= ((addr_t)create_passthrough_pde32_pts(&(vm_info.mem_map)) & ~0xfff); + vm_info.shdw_pg_state.shadow_cr3.e_reg.low |= ((addr_t)create_passthrough_pde32_pts(&vm_info) & ~0xfff); PrintDebug("Created\n"); - guest_state->cr3 = vm_info.shadow_page_state.shadow_cr3.r_reg; + guest_state->cr3 = vm_info.shdw_pg_state.shadow_cr3.r_reg; ctrl_area->cr_reads.crs.cr3 = 1; ctrl_area->cr_writes.crs.cr3 = 1; @@ -306,7 +307,7 @@ void Init_VMCB_Real(vmcb_t * vmcb, guest_info_t vm_info) { } -void Init_VMCB(vmcb_t * vmcb, guest_info_t vm_info) { +void Init_VMCB(vmcb_t * vmcb, struct guest_info vm_info) { vmcb_ctrl_t * ctrl_area = GET_VMCB_CTRL_AREA(vmcb); vmcb_saved_state_t * guest_state = GET_VMCB_SAVE_STATE_AREA(vmcb); uint_t i; @@ -388,10 +389,10 @@ void Init_VMCB(vmcb_t * vmcb, guest_info_t vm_info) { if (vm_info.page_mode == SHADOW_PAGING) { PrintDebug("Creating initial shadow page table\n"); - vm_info.shadow_page_state.shadow_cr3.e_reg.low |= ((addr_t)create_passthrough_pde32_pts(&(vm_info.mem_map)) & ~0xfff); + vm_info.shdw_pg_state.shadow_cr3.e_reg.low |= ((addr_t)create_passthrough_pde32_pts(&vm_info) & ~0xfff); PrintDebug("Created\n"); - guest_state->cr3 = vm_info.shadow_page_state.shadow_cr3.r_reg; + guest_state->cr3 = vm_info.shdw_pg_state.shadow_cr3.r_reg; ctrl_area->cr_reads.crs.cr3 = 1; ctrl_area->cr_writes.crs.cr3 = 1; @@ -426,7 +427,7 @@ void Init_VMCB(vmcb_t * vmcb, guest_info_t vm_info) { } -void Init_VMCB_pe(vmcb_t *vmcb, guest_info_t vm_info) { +void Init_VMCB_pe(vmcb_t *vmcb, struct guest_info vm_info) { vmcb_ctrl_t * ctrl_area = GET_VMCB_CTRL_AREA(vmcb); vmcb_saved_state_t * guest_state = GET_VMCB_SAVE_STATE_AREA(vmcb); uint_t i = 0;