X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?p=palacios.git;a=blobdiff_plain;f=palacios%2Fsrc%2Fpalacios%2Fvmx_handler.c;h=67f03a4f581af919266940bf7fa3f2171e152d0a;hp=3fa4f98bf506902376d2af60dcf412941e304384;hb=5624c95812302f7508c13830966714dba130a4f6;hpb=5bf6d0c260240e314876a2fca8e3fd56bd6a1029 diff --git a/palacios/src/palacios/vmx_handler.c b/palacios/src/palacios/vmx_handler.c index 3fa4f98..67f03a4 100644 --- a/palacios/src/palacios/vmx_handler.c +++ b/palacios/src/palacios/vmx_handler.c @@ -37,6 +37,10 @@ #endif +#ifdef CONFIG_VNET +#include +#endif + /* At this point the GPRs are already copied into the guest_info state */ @@ -133,24 +137,24 @@ int v3_handle_vmx_exit(struct guest_info * info, struct vmx_exit_info * exit_inf if (io_qual->dir == 0) { if (io_qual->string) { - if (v3_handle_vmx_io_outs(info) == -1) { + if (v3_handle_vmx_io_outs(info, exit_info) == -1) { PrintError("Error in outs IO handler\n"); return -1; } } else { - if (v3_handle_vmx_io_out(info) == -1) { + if (v3_handle_vmx_io_out(info, exit_info) == -1) { PrintError("Error in out IO handler\n"); return -1; } } } else { if (io_qual->string) { - if(v3_handle_vmx_io_ins(info) == -1) { + if(v3_handle_vmx_io_ins(info, exit_info) == -1) { PrintError("Error in ins IO handler\n"); return -1; } } else { - if (v3_handle_vmx_io_in(info) == -1) { + if (v3_handle_vmx_io_in(info, exit_info) == -1) { PrintError("Error in in IO handler\n"); return -1; } @@ -222,6 +226,10 @@ int v3_handle_vmx_exit(struct guest_info * info, struct vmx_exit_info * exit_inf return -1; } +#ifdef CONFIG_VNET + v3_vnet_pkt_process(info); +#endif + #ifdef CONFIG_TELEMETRY if (info->enable_telemetry) { v3_telemetry_end_exit(info, exit_info->exit_reason);