X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fgeekos%2Fmain.c;h=85019d5b7fa7f537db6df41542808fed4754ffef;hb=9be2a31f574121ab4aa0289b7714eefe070b0db0;hp=dce6c85b4c6c4cbc503422480827389056f05337;hpb=7acd54f8c3b30d118d56186a9c6506f21f85096d;p=palacios.git diff --git a/palacios/src/geekos/main.c b/palacios/src/geekos/main.c index dce6c85..85019d5 100644 --- a/palacios/src/geekos/main.c +++ b/palacios/src/geekos/main.c @@ -3,7 +3,7 @@ * Copyright (c) 2001,2003,2004 David H. Hovemeyer * Copyright (c) 2003, Jeffrey K. Hollingsworth * Copyright (c) 2004, Iulian Neamtiu - * $Revision: 1.24 $ + * $Revision: 1.27 $ * * This is free software. You are permitted to use, * redistribute, and modify it as specified in the file "COPYING". @@ -258,9 +258,9 @@ void Main(struct Boot_Info* bootInfo) -#if 0 +#if 1 SerialPrint("Dumping VM kernel Code (first 128 bytes @ 0x%x)\n", 0x100000); - SerialMemDump((unsigned char *)0xfe000, 4096); + SerialMemDump((unsigned char *)0x100000, 256); /* SerialPrint("Dumping kernel Code (first 512 bytes @ 0x%x)\n",KERNEL_START); SerialMemDump((unsigned char *)VM_KERNEL_START, 512); @@ -286,13 +286,13 @@ void Main(struct Boot_Info* bootInfo) { struct vmm_os_hooks os_hooks; struct vmm_ctrl_ops vmm_ops; - guest_info_t vm_info; + struct guest_info vm_info; addr_t rsp; addr_t rip; memset(&os_hooks, 0, sizeof(struct vmm_os_hooks)); memset(&vmm_ops, 0, sizeof(struct vmm_ctrl_ops)); - memset(&vm_info, 0, sizeof(guest_info_t)); + memset(&vm_info, 0, sizeof(struct guest_info)); os_hooks.print_debug = &PrintBoth; os_hooks.print_info = &Print; @@ -309,7 +309,7 @@ void Main(struct Boot_Info* bootInfo) Init_VMM(&os_hooks, &vmm_ops); init_shadow_map(&(vm_info.mem_map)); - init_shadow_page_state(&(vm_info.shadow_page_state)); + init_shadow_page_state(&(vm_info.shdw_pg_state)); vm_info.page_mode = SHADOW_PAGING; vm_info.cpu_mode = REAL; @@ -329,7 +329,7 @@ void Main(struct Boot_Info* bootInfo) vm_info.rip = rip; rsp = (addr_t)Alloc_Page(); - vm_info.rsp = (rsp +4092 );// - 0x2000; + vm_info.vm_regs.rsp = (rsp +4092 );// - 0x2000; } else { @@ -347,11 +347,13 @@ void Main(struct Boot_Info* bootInfo) vm_info.cs.base=0xf000; vm_info.cs.limit=0xffff; */ - vm_info.rip = 0xfff0; - vm_info.rsp = 0x0; + //vm_info.rip = 0xfff0; + + vm_info.rip = 0; + vm_info.vm_regs.rsp = 0x0; } - PrintBoth("Initializing Guest (eip=0x%.8x) (esp=0x%.8x)\n", (uint_t)vm_info.rip,(uint_t)vm_info.rsp); + PrintBoth("Initializing Guest (eip=0x%.8x) (esp=0x%.8x)\n", (uint_t)vm_info.rip,(uint_t)vm_info.vm_regs.rsp); (vmm_ops).init_guest(&vm_info); PrintBoth("Starting Guest\n"); (vmm_ops).start_guest(&vm_info);