summaryrefslogtreecommitdiffstats
path: root/target-i386/smm_helper.c
diff options
context:
space:
mode:
authorBlue Swirl2012-04-29 19:54:21 +0200
committerBlue Swirl2012-08-14 21:01:25 +0200
commit608badfc660b1c4d20e67a64b639c7bcd2d5ba16 (patch)
treed1e35ca0f6026be0b35c4b69f6135d543afe7892 /target-i386/smm_helper.c
parentx86: avoid AREG0 for SVM helpers (diff)
downloadqemu-608badfc660b1c4d20e67a64b639c7bcd2d5ba16.tar.gz
qemu-608badfc660b1c4d20e67a64b639c7bcd2d5ba16.tar.xz
qemu-608badfc660b1c4d20e67a64b639c7bcd2d5ba16.zip
x86: avoid AREG0 for SMM helpers
Add an explicit CPUX86State parameter instead of relying on AREG0. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'target-i386/smm_helper.c')
-rw-r--r--target-i386/smm_helper.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/target-i386/smm_helper.c b/target-i386/smm_helper.c
index bc1bfa2a59..8b04eb2e00 100644
--- a/target-i386/smm_helper.c
+++ b/target-i386/smm_helper.c
@@ -18,18 +18,17 @@
*/
#include "cpu.h"
-#include "dyngen-exec.h"
#include "helper.h"
/* SMM support */
#if defined(CONFIG_USER_ONLY)
-void do_smm_enter(CPUX86State *env1)
+void do_smm_enter(CPUX86State *env)
{
}
-void helper_rsm(void)
+void helper_rsm(CPUX86State *env)
{
}
@@ -41,15 +40,11 @@ void helper_rsm(void)
#define SMM_REVISION_ID 0x00020000
#endif
-void do_smm_enter(CPUX86State *env1)
+void do_smm_enter(CPUX86State *env)
{
target_ulong sm_state;
SegmentCache *dt;
int i, offset;
- CPUX86State *saved_env;
-
- saved_env = env;
- env = env1;
qemu_log_mask(CPU_LOG_INT, "SMM: enter\n");
log_cpu_state_mask(CPU_LOG_INT, env, X86_DUMP_CCOP);
@@ -180,10 +175,9 @@ void do_smm_enter(CPUX86State *env1)
cpu_x86_update_cr4(env, 0);
env->dr[7] = 0x00000400;
CC_OP = CC_OP_EFLAGS;
- env = saved_env;
}
-void helper_rsm(void)
+void helper_rsm(CPUX86State *env)
{
target_ulong sm_state;
int i, offset;