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.


added support for register instrs
[palacios-OLD.git] / palacios / src / geekos / setup.asm
index 56c9938..f4d0ae7 100644 (file)
@@ -1,7 +1,7 @@
 ; -*- fundamental -*-
 ; GeekOS setup code
 ; Copyright (c) 2001,2004 David H. Hovemeyer <daveho@cs.umd.edu>
-; $Revision: 1.1 $
+; $Revision: 1.4 $
 
 ; This is free software.  You are permitted to use,
 ; redistribute, and modify it as specified in the file "COPYING".
@@ -87,6 +87,11 @@ setup_32:
        shl     ebx, 6
        add     eax, ebx
        push    eax             ; memSizeKB
+       
+       mov     eax, VMM_SIZE
+       shl     eax, 9          ; Multiply the vmm size by 512 to get byte size
+       push    ebx             ; size of the VMM
+
        push    dword 8         ; bootInfoSize
 
        ; Pass pointer to Boot_Info struct as argument to kernel
@@ -98,9 +103,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 +111,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]