X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fgeekos%2Fsetup.asm;h=9ddfcb3de91c4f33f1c865184cf5d778a2a1d77d;hb=fc90c3287f85c66e1f6616685b66a8339145c3ee;hp=56c99382bed63984aab20fb37fbf1d8177312bac;hpb=626595465a2c6987606a6bc697df65130ad8c2d3;p=palacios.git diff --git a/palacios/src/geekos/setup.asm b/palacios/src/geekos/setup.asm index 56c9938..9ddfcb3 100644 --- a/palacios/src/geekos/setup.asm +++ b/palacios/src/geekos/setup.asm @@ -1,7 +1,7 @@ ; -*- fundamental -*- ; GeekOS setup code ; Copyright (c) 2001,2004 David H. Hovemeyer -; $Revision: 1.1 $ +; $Revision: 1.3 $ ; This is free software. You are permitted to use, ; redistribute, and modify it as specified in the file "COPYING". @@ -87,6 +87,18 @@ setup_32: shl ebx, 6 add eax, ebx push eax ; memSizeKB + + mov eax, GUEST_SIZE + shl eax, 9 ; Multiply the guest size by 512 to get byte size + push eax ; Size of the guest kernel + + mov eax, 0x100000 + push eax ; Load address of the guest + + mov eax, VMM_SIZE + shl eax, 9 ; Multiply the vmm size by 512 to get byte size + push eax ; size of the VMM + push dword 8 ; bootInfoSize ; Pass pointer to Boot_Info struct as argument to kernel @@ -98,9 +110,6 @@ setup_32: push dword (SETUPSEG<<4)+.returnAddr - ; Copy VMM kernel and VMM Boot Package to final location - call copy_vmm - ; Far jump into kernel jmp KERNEL_CS:ENTRY_POINT @@ -109,24 +118,6 @@ setup_32: .here: jmp .here -copy_vmm: - pusha - - mov ebx, KERNSEG<<4 - mov ecx, VMM_FINAL_ADDR - mov edx, VMM_SIZE -repeat: - mov eax, [ebx] - mov [ecx], eax - add ebx, $4 - add ecx, $4 - sub edx, $4 - jnz repeat - - popa - - ret - [BITS 16]