X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fpalacios%2Fsvm_lowlevel.asm;h=b2966fed74361219344feabafc15ee48195b714d;hb=f9bb3db89469169bb5775dc031d89e570c6fed70;hp=503776f7f5f3197704183ed56e1edec1395c486b;hpb=ace8f0532fa5650c6642a3a7174f3aa19b09095a;p=palacios.git diff --git a/palacios/src/palacios/svm_lowlevel.asm b/palacios/src/palacios/svm_lowlevel.asm index 503776f..b2966fe 100644 --- a/palacios/src/palacios/svm_lowlevel.asm +++ b/palacios/src/palacios/svm_lowlevel.asm @@ -1,5 +1,7 @@ ; -*- fundamental -*- +;; Northwestern University +;; (c) 2008, Jack Lange %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