X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?p=palacios.git;a=blobdiff_plain;f=palacios%2Fsrc%2Fpalacios%2Fsvm_handler.c;h=cab4dc60e5e786d43c5f6f18fa139b772d5055eb;hp=dbca7a84c0c373a018f4f4375f218f7d8906f0a4;hb=9e15dfbbd7e52361a577101d56adcde35f6bfdcd;hpb=cfcc5717f659b3ed2954f41cf363d3bceae8dc84 diff --git a/palacios/src/palacios/svm_handler.c b/palacios/src/palacios/svm_handler.c index dbca7a8..cab4dc6 100644 --- a/palacios/src/palacios/svm_handler.c +++ b/palacios/src/palacios/svm_handler.c @@ -34,12 +34,18 @@ #include #include +#ifdef CONFIG_VNET +#include +#endif + +#ifdef CONFIG_LINUX_VIRTIO_NET + extern int v3_virtionic_pktprocess(struct guest_info * info); +#endif #ifdef CONFIG_TELEMETRY #include #endif - int v3_handle_svm_exit(struct guest_info * info, addr_t exit_code, addr_t exit_info1, addr_t exit_info2) { #ifdef CONFIG_TELEMETRY @@ -48,7 +54,6 @@ int v3_handle_svm_exit(struct guest_info * info, addr_t exit_code, addr_t exit_i } #endif - //PrintDebug("SVM Returned: Exit Code: %x\n",exit_code); switch (exit_code) { @@ -281,6 +286,15 @@ int v3_handle_svm_exit(struct guest_info * info, addr_t exit_code, addr_t exit_i } // END OF SWITCH (EXIT_CODE) + +#ifdef CONFIG_VNET + v3_vnet_pkt_process(info); +#endif + +#ifdef CONFIG_LINUX_VIRTIO_NET + v3_virtionic_pktprocess(info); +#endif + #ifdef CONFIG_TELEMETRY if (info->enable_telemetry) { v3_telemetry_end_exit(info, exit_code); @@ -291,6 +305,7 @@ int v3_handle_svm_exit(struct guest_info * info, addr_t exit_code, addr_t exit_i if (exit_code == VMEXIT_INTR) { //PrintDebug("INTR ret IP = %x\n", guest_state->rip); } + return 0; }