X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fpalacios%2Fvmm_lowlevel.asm;fp=palacios%2Fsrc%2Fpalacios%2Fvmm_lowlevel.asm;h=03f8294851a45182b7d3bfc5522414567eac8ee6;hb=a9ba0182142340a2dd7b6a0b7c63727e87b08c89;hp=0000000000000000000000000000000000000000;hpb=28b1d0ae6db40cb3e1f5a9b3596b625d2f2af0e4;p=palacios.releases.git diff --git a/palacios/src/palacios/vmm_lowlevel.asm b/palacios/src/palacios/vmm_lowlevel.asm new file mode 100644 index 0000000..03f8294 --- /dev/null +++ b/palacios/src/palacios/vmm_lowlevel.asm @@ -0,0 +1,72 @@ +; -*- fundamental -*- + + +%ifndef VMM_ASM +%define VMM_ASM + +%include "vmm_symbol.asm" + +EXPORT DisableInts + +EXPORT GetGDTR +EXPORT GetIDTR +EXPORT GetTR + + + + + + +align 8 +DisableInts: + cli + ret + + +align 8 +GetGDTR: + push ebp + mov ebp, esp + pusha + mov ebx, [ebp + 8] + sgdt [ebx] + + popa + pop ebp + ret + + +align 8 +GetIDTR: + push ebp + mov ebp, esp + pusha + + mov ebx, [ebp + 8] + sidt [ebx] + + popa + pop ebp + ret + + + +align 8 +GetTR: + push ebp + mov ebp, esp + pusha + mov ebx, [ebp + 8] + str [ebx] + + popa + pop ebp + ret + + + + + + + +%endif \ No newline at end of file