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.


Succesful transition to vmxassist, then to the bios, where it dies in keyboard init.
[palacios.git] / palacios / src / palacios / vmx_lowlevel.S
index ee244ed..12aeb4b 100644 (file)
@@ -21,9 +21,9 @@
        movq    %rdx, 40(%rax);         \
        movq    %rcx, 48(%rax);         \
        pushq   %rbx;                   \
-       movq    16(%rsp), %rbx;         \
+       movq    8(%rsp), %rbx;          \
        movq    %rbx, 56(%rax);         \
-       popq    %rbx;                   \
+       popq    %rbx;                       \
                                        \
        movq    %r8, 64(%rax);          \
        movq    %r9, 72(%rax);          \
        
 
 #define restore_registers(location) \
-       push    %rax;                   \
        mov     location, %rax;         \
        mov     (%rax), %rdi;           \
        mov     8(%rax), %rsi;          \
        mov     16(%rax), %rbp;         \
        mov     32(%rax), %rbx;         \
        mov     40(%rax), %rdx;         \
-       mov     48(%rax), %rcx;         \
+       mov 48(%rax), %rcx;             \
                                        \
        mov     64(%rax), %r8;          \
        mov     72(%rax), %r9;          \
        mov     104(%rax), %r13;        \
        mov     112(%rax), %r14;        \
        mov     120(%rax), %r15;        \
-       pop     %rax;
+    pushq %rbx;              \
+    movq 56(%rax), %rbx;     \
+    movq %rbx, %rax;         \
+    popq %rbx;
+
 
 
 
@@ -100,12 +103,14 @@ v3_vmx_exit_handler:
     POPA
     popf
     pushq %rdi
+    pushq %rsi
     call v3_handle_vmx_exit
 
     andq %rax, %rax
     jnz .Lvmm_failure
 
 v3_vmx_vmresume:
+    pop %rsi
     pop %rdi
     pushf
     PUSHA
@@ -162,7 +167,7 @@ v3_vmx_vmlaunch:
     jmp .Lreturn
 
 .Lvmm_failure:
-    addq $8, %rsp
+    addq $16, %rsp
     movq $VMM_FAILURE, %rax
     jmp .Lreturn