x86: avoid AREG0 for SMM helpers

Add an explicit CPUX86State parameter instead of relying on AREG0.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
Blue Swirl 2012-04-29 17:54:21 +00:00
parent 052e80d5e0
commit 608badfc66
4 changed files with 6 additions and 13 deletions

View file

@ -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;