X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fpalacios%2Fsvm_lowlevel.asm;h=c407a8e6043d6790f290de8252739d0f82356ad4;hb=db45b5a19f672956e8875a116b06d7ed44c9258c;hp=503776f7f5f3197704183ed56e1edec1395c486b;hpb=ace8f0532fa5650c6642a3a7174f3aa19b09095a;p=palacios.releases.git diff --git a/palacios/src/palacios/svm_lowlevel.asm b/palacios/src/palacios/svm_lowlevel.asm index 503776f..c407a8e 100644 --- a/palacios/src/palacios/svm_lowlevel.asm +++ b/palacios/src/palacios/svm_lowlevel.asm @@ -1,5 +1,7 @@ ; -*- fundamental -*- +;; (c) 2008, Jack Lange +;; (c) 2008, The V3VEE Project %ifndef SVM_ASM %define SVM_ASM @@ -11,6 +13,7 @@ SVM_ERROR equ 0xFFFFFFFF SVM_SUCCESS equ 0x00000000 EXPORT DisableInts +EXPORT EnableInts EXPORT exit_test @@ -100,6 +103,10 @@ DisableInts: cli ret +align 8 +EnableInts: + sti + ret align 8 @@ -143,6 +150,8 @@ safe_svm_launch: push ebp mov ebp, esp pushf + push fs + push gs pusha ;; Save Host state @@ -166,6 +175,8 @@ safe_svm_launch: add esp, 4 ;; skip past the gpr ptr popa ;; Restore Host state + pop gs + pop fs popf pop ebp ret