From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mohammed Gamal Subject: [PATCH] x86 emulator: Emulate cld and std instructions Date: Thu, 31 Jul 2008 00:08:35 +0300 Message-ID: <20080730210835.GA7447@mohd-laptop> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: avi@qumranet.com, riel@surriel.com To: kvm@vger.kernel.org Return-path: Received: from fk-out-0910.google.com ([209.85.128.187]:16704 "EHLO fk-out-0910.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751387AbYG3VIp (ORCPT ); Wed, 30 Jul 2008 17:08:45 -0400 Received: by fk-out-0910.google.com with SMTP id 18so157408fkq.5 for ; Wed, 30 Jul 2008 14:08:42 -0700 (PDT) Content-Disposition: inline Sender: kvm-owner@vger.kernel.org List-ID: This patch adds instructions 'cld' and 'std' to the emulator. Signed-off-by: Mohammed Gamal --- >>From 23c0868c6a48a5e75693bd4552255a89cf26bdc8 Mon Sep 17 00:00:00 2001 From: Mohammed Gamal Date: Thu, 31 Jul 2008 00:04:34 +0300 Subject: [PATCH] Emulate cld and std instructions --- arch/x86/kvm/x86_emulate.c | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/arch/x86/kvm/x86_emulate.c b/arch/x86/kvm/x86_emulate.c index d5da7f1..9c72a77 100644 --- a/arch/x86/kvm/x86_emulate.c +++ b/arch/x86/kvm/x86_emulate.c @@ -1755,6 +1755,14 @@ special_insn: ctxt->eflags |= X86_EFLAGS_IF; c->dst.type = OP_NONE; /* Disable writeback. */ break; + case 0xfc: /* cld */ + ctxt->eflags &= ~EFLG_DF; + c->dst.type = OP_NONE; /* Disable writeback. */ + break; + case 0xfd: /* std */ + ctxt->eflags |= EFLG_DF; + c->dst.type = OP_NONE; /* Disable writeback. */ + break; case 0xfe ... 0xff: /* Grp4/Grp5 */ rc = emulate_grp45(ctxt, ops); if (rc != 0) -- 1.5.4.3