From 7848c8d19f8556666df25044bbd5d8b29439c368 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Tue, 29 Apr 2014 16:38:59 -0400 Subject: target-i386: the x86 CPL is stored in CS.selector - auto update hflags accordingly. Instead of manually calling cpu_x86_set_cpl() when the CPL changes, check for CPL changes on calls to cpu_x86_load_seg_cache(R_CS). Every location that called cpu_x86_set_cpl() also called cpu_x86_load_seg_cache(R_CS), so cpu_x86_set_cpl() is no longer required. This fixes the SMM handler code as it was not setting/restoring the CPL level manually. Signed-off-by: Kevin O'Connor Signed-off-by: Paolo Bonzini --- linux-user/main.c | 2 -- 1 file changed, 2 deletions(-) (limited to 'linux-user/main.c') diff --git a/linux-user/main.c b/linux-user/main.c index c38fecfdd9..882186e1a0 100644 --- a/linux-user/main.c +++ b/linux-user/main.c @@ -4051,8 +4051,6 @@ int main(int argc, char **argv, char **envp) #endif #if defined(TARGET_I386) - cpu_x86_set_cpl(env, 3); - env->cr[0] = CR0_PG_MASK | CR0_WP_MASK | CR0_PE_MASK; env->hflags |= HF_PE_MASK; if (env->features[FEAT_1_EDX] & CPUID_SSE) { -- cgit v1.2.3-55-g7522