X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fgeekos%2Fsvm_lowlevel.asm;h=c468c5af0db6036bb1a132d9e5bd0a8966ac39c5;hb=b4963a8a43ca9103946f926e062e609e4498c2e2;hp=badc8f1a937f5d10afe5093618724ff53e107168;hpb=4d691866d964c028d2b2ca96c2d16489d45dd2b5;p=palacios.git diff --git a/palacios/src/geekos/svm_lowlevel.asm b/palacios/src/geekos/svm_lowlevel.asm index badc8f1..c468c5a 100644 --- a/palacios/src/geekos/svm_lowlevel.asm +++ b/palacios/src/geekos/svm_lowlevel.asm @@ -8,12 +8,56 @@ %include "symbol.asm" + +EXPORT launch_svm + + [BITS 32] +%macro vmrun 0 + db 00fh, 001h, 0d8h +%endmacro + +;VMRUN equ db 0Fh, 01h, D8h +;VMLOAD equ db 0x0F,0x01,0xDA +;VMSAVE equ db 0x0F,0x01,0xDB +;STGI equ db 0x0F,0x01,0xDC +;CLGI equ db 0x0F,0x01,0xDD +; I think its safe to say that there are some pretty serious register issues... +launch_svm: + push ebp + mov ebp, esp + pusha + + mov eax, [ebp + 8] + vmrun +; db 00fh, 001h, 0d8h + popa + pop ebp + ret %endif + + + + +; eventual svm_launch +; pusha +; pushf +; +; .vmm_loop +; vmrun +; push guest GPRs +; call handle_svm_exit +; jz .vmm_loop +; popf +; popa +; ret +; +; +; \ No newline at end of file