From patchwork Mon Apr 22 03:33:25 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: liguang X-Patchwork-Id: 238308 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id A5AB02C0119 for ; Mon, 22 Apr 2013 13:53:52 +1000 (EST) Received: from localhost ([::1]:48869 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UU7p8-0007mG-Lv for incoming@patchwork.ozlabs.org; Sun, 21 Apr 2013 23:53:50 -0400 Received: from eggs.gnu.org ([208.118.235.92]:39432) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UU7XS-0000up-4R for qemu-devel@nongnu.org; Sun, 21 Apr 2013 23:35:36 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UU7XP-0006Wi-1z for qemu-devel@nongnu.org; Sun, 21 Apr 2013 23:35:34 -0400 Received: from [222.73.24.84] (port=34682 helo=song.cn.fujitsu.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UU7XO-0006Vd-O1 for qemu-devel@nongnu.org; Sun, 21 Apr 2013 23:35:30 -0400 X-IronPort-AV: E=Sophos;i="4.87,523,1363104000"; d="scan'208";a="7109038" Received: from unknown (HELO tang.cn.fujitsu.com) ([10.167.250.3]) by song.cn.fujitsu.com with ESMTP; 22 Apr 2013 11:32:47 +0800 Received: from fnstmail02.fnst.cn.fujitsu.com (tang.cn.fujitsu.com [127.0.0.1]) by tang.cn.fujitsu.com (8.14.3/8.13.1) with ESMTP id r3M3ZSV0026182; Mon, 22 Apr 2013 11:35:28 +0800 Received: from liguang.fnst.cn.fujitsu.com ([10.167.233.147]) by fnstmail02.fnst.cn.fujitsu.com (Lotus Domino Release 8.5.3) with ESMTP id 2013042211335853-715383 ; Mon, 22 Apr 2013 11:33:58 +0800 From: liguang To: qemu-devel@nongnu.org Date: Mon, 22 Apr 2013 11:33:25 +0800 Message-Id: <1366601610-15429-8-git-send-email-lig.fnst@cn.fujitsu.com> X-Mailer: git-send-email 1.7.2.5 In-Reply-To: <1366601610-15429-1-git-send-email-lig.fnst@cn.fujitsu.com> References: <1366601610-15429-1-git-send-email-lig.fnst@cn.fujitsu.com> X-MIMETrack: Itemize by SMTP Server on mailserver/fnst(Release 8.5.3|September 15, 2011) at 2013/04/22 11:33:58, Serialize by Router on mailserver/fnst(Release 8.5.3|September 15, 2011) at 2013/04/22 11:33:59, Serialize complete at 2013/04/22 11:33:59 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 222.73.24.84 Cc: peter.maydell@linaro.org, ehabkost@redhat.com, blauwirbel@gmail.com, avi@redhat.com, imammedo@redhat.com, pbonzini@redhat.com, afaerber@suse.de, liguang , rth@twiddle.net Subject: [Qemu-devel] [PATCH 07/12] target-i386/helper: remove ESI macro X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Signed-off-by: liguang --- target-i386/cpu.h | 2 -- target-i386/seg_helper.c | 6 +++--- target-i386/smm_helper.c | 8 ++++---- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/target-i386/cpu.h b/target-i386/cpu.h index 9d52939..a7c73bf 100644 --- a/target-i386/cpu.h +++ b/target-i386/cpu.h @@ -1107,8 +1107,6 @@ static inline int cpu_mmu_index (CPUX86State *env) ? MMU_KSMAP_IDX : MMU_KERNEL_IDX; } -#undef ESI -#define ESI (env->regs[R_ESI]) #undef EDI #define EDI (env->regs[R_EDI]) #undef EIP diff --git a/target-i386/seg_helper.c b/target-i386/seg_helper.c index f8115d1..2d4193c 100644 --- a/target-i386/seg_helper.c +++ b/target-i386/seg_helper.c @@ -330,7 +330,7 @@ static void switch_tss(CPUX86State *env, int tss_selector, cpu_stl_kernel(env, env->tr.base + (0x28 + 3 * 4), env->regs[R_EBX]); cpu_stl_kernel(env, env->tr.base + (0x28 + 4 * 4), env->regs[R_ESP]); cpu_stl_kernel(env, env->tr.base + (0x28 + 5 * 4), env->regs[R_EBP]); - cpu_stl_kernel(env, env->tr.base + (0x28 + 6 * 4), ESI); + cpu_stl_kernel(env, env->tr.base + (0x28 + 6 * 4), env->regs[R_ESI]); cpu_stl_kernel(env, env->tr.base + (0x28 + 7 * 4), EDI); for (i = 0; i < 6; i++) { cpu_stw_kernel(env, env->tr.base + (0x48 + i * 4), @@ -346,7 +346,7 @@ static void switch_tss(CPUX86State *env, int tss_selector, cpu_stw_kernel(env, env->tr.base + (0x12 + 3 * 2), env->regs[R_EBX]); cpu_stw_kernel(env, env->tr.base + (0x12 + 4 * 2), env->regs[R_ESP]); cpu_stw_kernel(env, env->tr.base + (0x12 + 5 * 2), env->regs[R_EBP]); - cpu_stw_kernel(env, env->tr.base + (0x12 + 6 * 2), ESI); + cpu_stw_kernel(env, env->tr.base + (0x12 + 6 * 2), env->regs[R_ESI]); cpu_stw_kernel(env, env->tr.base + (0x12 + 7 * 2), EDI); for (i = 0; i < 4; i++) { cpu_stw_kernel(env, env->tr.base + (0x22 + i * 4), @@ -402,7 +402,7 @@ static void switch_tss(CPUX86State *env, int tss_selector, env->regs[R_EBX] = new_regs[3]; env->regs[R_ESP] = new_regs[4]; env->regs[R_EBP] = new_regs[5]; - ESI = new_regs[6]; + env->regs[R_ESI] = new_regs[6]; EDI = new_regs[7]; if (new_eflags & VM_MASK) { for (i = 0; i < 6; i++) { diff --git a/target-i386/smm_helper.c b/target-i386/smm_helper.c index 50c5d99..d051f03 100644 --- a/target-i386/smm_helper.c +++ b/target-i386/smm_helper.c @@ -88,7 +88,7 @@ void do_smm_enter(CPUX86State *env) stq_phys(sm_state + 0x7fe0, env->regs[R_EBX]); stq_phys(sm_state + 0x7fd8, env->regs[R_ESP]); stq_phys(sm_state + 0x7fd0, env->regs[R_EBP]); - stq_phys(sm_state + 0x7fc8, ESI); + stq_phys(sm_state + 0x7fc8, env->regs[R_ESI]); stq_phys(sm_state + 0x7fc0, EDI); for (i = 8; i < 16; i++) { stq_phys(sm_state + 0x7ff8 - i * 8, env->regs[i]); @@ -110,7 +110,7 @@ void do_smm_enter(CPUX86State *env) stl_phys(sm_state + 0x7ff4, cpu_compute_eflags(env)); stl_phys(sm_state + 0x7ff0, env->eip); stl_phys(sm_state + 0x7fec, EDI); - stl_phys(sm_state + 0x7fe8, ESI); + stl_phys(sm_state + 0x7fe8, env->regs[R_ESI]); stl_phys(sm_state + 0x7fe4, env->regs[R_EBP]); stl_phys(sm_state + 0x7fe0, env->regs[R_ESP]); stl_phys(sm_state + 0x7fdc, env->regs[R_EBX]); @@ -219,7 +219,7 @@ void helper_rsm(CPUX86State *env) env->regs[R_EBX] = ldq_phys(sm_state + 0x7fe0); env->regs[R_ESP] = ldq_phys(sm_state + 0x7fd8); env->regs[R_EBP] = ldq_phys(sm_state + 0x7fd0); - ESI = ldq_phys(sm_state + 0x7fc8); + env->regs[R_ESI] = ldq_phys(sm_state + 0x7fc8); EDI = ldq_phys(sm_state + 0x7fc0); for (i = 8; i < 16; i++) { env->regs[i] = ldq_phys(sm_state + 0x7ff8 - i * 8); @@ -245,7 +245,7 @@ void helper_rsm(CPUX86State *env) ~(CC_O | CC_S | CC_Z | CC_A | CC_P | CC_C | DF_MASK)); env->eip = ldl_phys(sm_state + 0x7ff0); EDI = ldl_phys(sm_state + 0x7fec); - ESI = ldl_phys(sm_state + 0x7fe8); + env->regs[R_ESI] = ldl_phys(sm_state + 0x7fe8); env->regs[R_EBP] = ldl_phys(sm_state + 0x7fe4); env->regs[R_ESP] = ldl_phys(sm_state + 0x7fe0); env->regs[R_EBX] = ldl_phys(sm_state + 0x7fdc);