From patchwork Fri Jan 4 14:18:50 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Avi Kivity X-Patchwork-Id: 1933081 Return-Path: X-Original-To: patchwork-kvm@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork2.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork2.kernel.org (Postfix) with ESMTP id A41F6E016D for ; Fri, 4 Jan 2013 14:19:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754889Ab3ADOTF (ORCPT ); Fri, 4 Jan 2013 09:19:05 -0500 Received: from mail-wi0-f172.google.com ([209.85.212.172]:51316 "EHLO mail-wi0-f172.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754844Ab3ADOTE (ORCPT ); Fri, 4 Jan 2013 09:19:04 -0500 Received: by mail-wi0-f172.google.com with SMTP id o1so11660348wic.11 for ; Fri, 04 Jan 2013 06:19:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:from:to:cc:subject:date:message-id:x-mailer:in-reply-to :references; bh=DRJis1n21SPI/Y/oreBrNyR46y6CsylVCmztlKbl09A=; b=0FCQ3DUTzwNkFTrZugq5igPhfJzv2BySGpObRhx0r0udYrAVmmFLhjM8yDnOtE5ZyP XRd14aG9DoEFW+DCIOXgPeR25nIhwu5LqZPhsbjeOXAKGx4KSUa6DIniNRoAbMiY3lgw ulMgXeIGc9A/o3wHuYofA6AH5HvGdelGkXyBKoHI8Emd5xqThroJphMesCNSHanC+KvL eET0NQqZ8gbhpDOu0KPYNyCNGNdEtOJ4eFGTVUo0z2VMen8k+0F5TbLYdxiZjaiybzEG gXdFfsN9KiaMCHsT1uLjBBCcJDXoNmpRAhgXpdP2bI6fzJhJfdAmgwZ0WrFU3UxoS9jQ g9gQ== X-Received: by 10.180.86.39 with SMTP id m7mr80946858wiz.1.1357309143181; Fri, 04 Jan 2013 06:19:03 -0800 (PST) Received: from localhost.localdomain (93-172-35-137.bb.netvision.net.il. [93.172.35.137]) by mx.google.com with ESMTPS id ex6sm90494596wid.3.2013.01.04.06.19.01 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 04 Jan 2013 06:19:02 -0800 (PST) From: Avi Kivity To: Marcelo Tosatti , Gleb Natapov Cc: kvm@vger.kernel.org Subject: [PATCH v3 3/7] KVM: x86 emulator: introduce NoWrite flag Date: Fri, 4 Jan 2013 16:18:50 +0200 Message-Id: <1357309134-11944-4-git-send-email-avi.kivity@gmail.com> X-Mailer: git-send-email 1.8.0.1 In-Reply-To: <1357309134-11944-1-git-send-email-avi.kivity@gmail.com> References: <1357309134-11944-1-git-send-email-avi.kivity@gmail.com> Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org Instead of disabling writeback via OP_NONE, just specify NoWrite. Signed-off-by: Avi Kivity --- arch/x86/kvm/emulate.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c index 42c53c8..fe113fb 100644 --- a/arch/x86/kvm/emulate.c +++ b/arch/x86/kvm/emulate.c @@ -151,6 +151,7 @@ #define Unaligned ((u64)1 << 42) /* Explicitly unaligned (e.g. MOVDQU) */ #define Avx ((u64)1 << 43) /* Advanced Vector Extensions */ #define Fastop ((u64)1 << 44) /* Use opcode::u.fastop */ +#define NoWrite ((u64)1 << 45) /* No writeback */ #define X2(x...) x, x #define X3(x...) X2(x), x @@ -1633,6 +1634,9 @@ static int writeback(struct x86_emulate_ctxt *ctxt) { int rc; + if (ctxt->d & NoWrite) + return X86EMUL_CONTINUE; + switch (ctxt->dst.type) { case OP_REG: write_register_operand(&ctxt->dst);