X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=kitten%2Fpalacios-glue%2Fvm.c;h=1d3e32298a7b77574b8debca5d659d4031f64d42;hb=f31fa47b9cc6f4aaa8d082cc18c0c97f016825e2;hp=be49efba9b1d3fb3153d5ab70ca00b27d2fd56d5;hpb=e05033e42323e92783e8c93d77c0e4be63761667;p=palacios-OLD.git diff --git a/kitten/palacios-glue/vm.c b/kitten/palacios-glue/vm.c index be49efb..1d3e322 100644 --- a/kitten/palacios-glue/vm.c +++ b/kitten/palacios-glue/vm.c @@ -26,51 +26,33 @@ #include +int +v3vee_run_vmm( void ) +{ + struct v3_ctrl_ops v3_ops = {}; + Init_V3( &v3vee_os_hooks, &v3_ops ); -int RunVMM() { - struct v3_ctrl_ops v3_ops = {}; - struct guest_info * vm_info = 0; - - void * ramdiskImage=initrd_start; - uintptr_t ramdiskSize=initrd_end-initrd_start; - - - - Init_V3(&v3vee_os_hooks, &v3_ops); - - struct v3_vm_config vm_config = { - .rombios = &rombios_start, - .rombios_size = (&rombios_end)-(&rombios_start), - .vgabios = &vgabios_start, - .vgabios_size = (&vgabios_end)-(&vgabios_start), + .rombios = &rombios_start, + .rombios_size = (&rombios_end)-(&rombios_start), + .vgabios = &vgabios_start, + .vgabios_size = (&vgabios_end)-(&vgabios_start), + .use_ramdisk = 1, + .ramdisk = (void*) initrd_start, + .ramdisk_size = initrd_end - initrd_start, }; - - - if (ramdiskImage != NULL) { - vm_config.use_ramdisk = 1; - vm_config.ramdisk = ramdiskImage; - vm_config.ramdisk_size = ramdiskSize; - } - - - - vm_info = (v3_ops).allocate_guest(); - - Init_Stubs(vm_info); - - //PrintBoth("Allocated Guest\n"); - (v3_ops).config_guest(vm_info, &vm_config); + struct guest_info * vm_info = v3_ops.allocate_guest(); + v3vee_init_stubs(); - //PrintBoth("Configured guest\n"); + v3_ops.config_guest(vm_info, &vm_config); - (v3_ops).init_guest(vm_info); - printk("Starting Guest\n"); - //Clear_Screen(); + v3_ops.init_guest(vm_info); + g_vm_guest = vm_info; - (v3_ops).start_guest(vm_info); + printk("Starting Guest\n"); + v3_ops.start_guest(vm_info); - return 0; + return 0; }