Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


moved memory hooks out of core memory map implementation,
[palacios.git] / palacios / src / palacios / vmm.c
index 3f5fa6c..5811cba 100644 (file)
 #include <palacios/vmx.h>
 #endif
 
+#ifdef CONFIG_VNET
+#include <palacios/vmm_vnet.h>
+#endif
+
 
 v3_cpu_arch_t v3_cpu_types[CONFIG_MAX_CPUS];
 struct v3_os_hooks * os_hooks = NULL;
@@ -80,10 +84,23 @@ void Init_V3(struct v3_os_hooks * hooks, int num_cpus) {
     // Register all the possible device types
     v3_init_devices();
 
-#ifdef INSTRUMENT_VMM
+    // Register all shadow paging handlers
+    V3_init_shdw_paging();
+
+
+#ifdef CONFIG_SYMMOD
+    V3_init_symmod();
+#endif
+
+#ifdef CONFIG_INSTRUMENT_VMM
     v3_init_instrumentation();
 #endif
 
+
+#ifdef CONFIG_VNET
+    V3_init_vnet();
+#endif
+
     if ((hooks) && (hooks->call_on_cpu)) {
 
        for (i = 0; i < num_cpus; i++) {
@@ -234,11 +251,11 @@ void v3_print_cond(const char * fmt, ...) {
 
 
 
-void v3_interrupt_cpu(struct v3_vm_info * vm, int logical_cpu) {
+void v3_interrupt_cpu(struct v3_vm_info * vm, int logical_cpu, int vector) {
     extern struct v3_os_hooks * os_hooks;
 
     if ((os_hooks) && (os_hooks)->interrupt_cpu) {
-       (os_hooks)->interrupt_cpu(vm, logical_cpu);
+       (os_hooks)->interrupt_cpu(vm, logical_cpu, vector);
     }
 }