From: Lei Xia Date: Fri, 6 May 2011 02:50:06 +0000 (-0500) Subject: Merge branch 'devel' of palacios@newskysaw.cs.northwestern.edu:/home/palacios/palacio... X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=commitdiff_plain;h=a57b321b6e608bf4ff2ae7da11b5cba9d35de35f;hp=-c;p=palacios.git Merge branch 'devel' of palacios@newskysaw.cs.northwestern.edu:/home/palacios/palacios into devel Conflicts: palacios/src/vnet/Makefile --- a57b321b6e608bf4ff2ae7da11b5cba9d35de35f diff --combined linux_module/Makefile index 8aa7855,00fcbc4..a1a4349 --- a/linux_module/Makefile +++ b/linux_module/Makefile @@@ -13,7 -13,8 +13,8 @@@ v3vee-objs := palacios.o palacios-dev.o \ palacios-vm.o \ palacios-mm.o \ - palacios-queue.o + palacios-queue.o \ + palacios-hashtable.o ifdef V3_CONFIG_CONSOLE v3vee-objs += palacios-console.o @@@ -33,7 -34,7 +34,7 @@@ ifdef V3_CONFIG_EXT_INSPECTO endif ifdef V3_CONFIG_VNET - v3vee-objs += palacios-vnet.o + v3vee-objs += palacios-vnet.o palacios-vnet-bridge.o endif ifdef V3_CONFIG_PACKET @@@ -44,6 -45,20 +45,20 @@@ ifdef V3_CONFIG_SOCKE v3vee-objs += palacios-socket.o endif + ifdef V3_CONFIG_KEYED_STREAMS + v3vee-objs += palacios-keyed-stream.o + endif + + ifdef V3_CONFIG_HOST_DEVICE + v3vee-objs += palacios-host-dev.o + endif + + ifdef V3_CONFIG_GRAPHICS_CONSOLE + v3vee-objs += palacios-graphics-console.o + endif + + + v3vee-objs += ../libv3vee.a diff --combined palacios/src/palacios/vmm.c index e96bd26,7e77412..abdeeb6 --- a/palacios/src/palacios/vmm.c +++ b/palacios/src/palacios/vmm.c @@@ -33,6 -33,10 +33,6 @@@ #include #endif -#ifdef V3_CONFIG_VNET -#include -#endif - v3_cpu_arch_t v3_cpu_types[V3_CONFIG_MAX_CPUS]; struct v3_os_hooks * os_hooks = NULL; @@@ -119,6 -123,10 +119,6 @@@ void Init_V3(struct v3_os_hooks * hooks #endif -#ifdef V3_CONFIG_VNET - v3_init_vnet(); -#endif - #ifdef V3_CONFIG_MULTITHREAD_OS if ((hooks) && (hooks->call_on_cpu)) { @@@ -149,6 -157,10 +149,6 @@@ void Shutdown_V3() #endif -#ifdef V3_CONFIG_VNET - v3_deinit_vnet(); -#endif - #ifdef V3_CONFIG_MULTITHREAD_OS if ((os_hooks) && (os_hooks->call_on_cpu)) { for (i = 0; i < V3_CONFIG_MAX_CPUS; i++) { @@@ -197,8 -209,8 +197,8 @@@ static int start_core(void * p struct guest_info * core = (struct guest_info *)p; - PrintDebug("virtual core %u: in start_core (RIP=%p)\n", - core->cpu_id, (void *)(addr_t)core->rip); + PrintDebug("virtual core %u (on logical core %u): in start_core (RIP=%p)\n", + core->vcpu_id, core->pcpu_id, (void *)(addr_t)core->rip); switch (v3_cpu_types[0]) { #ifdef V3_CONFIG_SVM @@@ -280,7 -292,6 +280,6 @@@ int v3_start_vm(struct v3_vm_info * vm i--; // We reset the logical core idx. Not strictly necessary I guess... } else { - /* This assumes that the core 0 thread has been mapped to physical core 0 */ if (i == V3_Get_CPU()) { // We skip the local CPU because it is reserved for vcore 0 continue; @@@ -315,6 -326,7 +314,7 @@@ core_idx, start_core, core, core->exec_name); // TODO: actually manage these threads instead of just launching them + core->pcpu_id = core_idx; core_thread = V3_CREATE_THREAD_ON_CPU(core_idx, start_core, core, core->exec_name); if (core_thread == NULL) { @@@ -329,6 -341,8 +329,8 @@@ sprintf(vm->cores[0].exec_name, "%s", vm->name); + vm->cores[0].pcpu_id = V3_Get_CPU(); + if (start_core(&(vm->cores[0])) != 0) { PrintError("Error starting VM core 0\n"); v3_stop_vm(vm); diff --combined palacios/src/vnet/Makefile index 0433652,5140f3e..2b8f357 --- a/palacios/src/vnet/Makefile +++ b/palacios/src/vnet/Makefile @@@ -1,2 -1,3 +1,3 @@@ +obj-$(V3_CONFIG_VNET) += vnet_core.o vnet_host.o vnet_hashtable.o + obj-y += null.o -obj-$(V3_CONFIG_VNET) += vnet_core.o