#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;
// 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++) {
-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);
}
}