Received: by 10.213.65.68 with SMTP id h4csp1579221imn; Sun, 1 Apr 2018 09:15:15 -0700 (PDT) X-Google-Smtp-Source: AIpwx48ntV8olbRlMrPolJWYAthbT5hdaqgbDhJPhNTK4MWz+clpK9Y0nsmMxzG7a/20CzVTlYTc X-Received: by 2002:a17:902:788e:: with SMTP id q14-v6mr6899974pll.396.1522599315872; Sun, 01 Apr 2018 09:15:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1522599315; cv=none; d=google.com; s=arc-20160816; b=mEGkY6EH74LbbtApk6YlyjqremOFd8jr5e21pYcIswP1Za8t5HpuDl1Q/9YOWAQxa4 Ewt0NPLkQjCKAo6fYoh/KCYugURcxCj/Vp04Wu1EMn5JXIOB4jfpbZH4nXLxgJ5SIEbC mLca0/ZKFak2Ou0GGGM9RG7O1eEjpW95sSPBoCwed2+TsVcYKLurZHs70fZBnXzSfjH4 cFMIB54Xc/8T7UKhYjyIC55d8BWY39LyV4sflN+ztRpLr4Go4YtJ4e0rZ/Km1LT8t54D +00/3ypwLSq4z6QRrh+8SBR8JIY0smBr0qBl+Gdwu+1mSb6jYe5GrLvt6JEkwywt5vRk f6Ow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :arc-authentication-results; bh=QsPVaY1KFpdvXVkB0yEYgEeIk3d37dIox3C6IVd3MTQ=; b=pcmEUIusaZRdYGFv0tSp+xmToNdyrp+w1zOkQlCxkgEtCst+0K9AcQFLhG4FGDj3CP qc2n+gNoyQxsEG+vqTtSvkQBH1xVJ5t8Q/xRJO8ORPBGn1C5NV5j2pajEwbIVyfyIjA9 J+QeRJc9yOow7ZgbqjilHN5G6xgEYo8poQkKIZrUvtX20dTrXbtaS5c08eZFRdN/XwGT QO6CR2WU9IBMerJyPZF4k7c/Jb7kCVztFZu6ZYj5gp/YqW0mHv9v+F/rjSoFgB5+fLMA fdl4BWYVAJyuDVImF9ZX1zlMFlzaalJonzJWNBbDuhQQV40qZfJn75Di55C829ImaZZA +37A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e4-v6si86283pls.314.2018.04.01.09.14.32; Sun, 01 Apr 2018 09:15:15 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753642AbeDAQLm (ORCPT + 99 others); Sun, 1 Apr 2018 12:11:42 -0400 Received: from manul.sfritsch.de ([138.201.64.112]:59928 "EHLO manul.sfritsch.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753623AbeDAQLl (ORCPT ); Sun, 1 Apr 2018 12:11:41 -0400 X-Greylist: delayed 1005 seconds by postgrey-1.27 at vger.kernel.org; Sun, 01 Apr 2018 12:11:40 EDT From: Stefan Fritsch To: Paolo Bonzini , =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , x86@kernel.org, kvm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Stefan Fritsch Subject: [PATCH] kvm: Add emulation for movups/movupd Date: Sun, 1 Apr 2018 17:54:44 +0200 Message-Id: <20180401155444.7006-1-sf@sfritsch.de> X-Mailer: git-send-email 2.11.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This is very similar to the aligned versions movaps/movapd. We have seen the corresponding emulation failures with openbsd as guest and with Windows 10 with intel HD graphics pass through. Signed-off-by: Christian Ehrhardt Signed-off-by: Stefan Fritsch --- arch/x86/kvm/emulate.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c index d91eaeb01034..7dda8e38c19a 100644 --- a/arch/x86/kvm/emulate.c +++ b/arch/x86/kvm/emulate.c @@ -4498,6 +4498,10 @@ static const struct gprefix pfx_0f_2b = { ID(0, &instr_dual_0f_2b), ID(0, &instr_dual_0f_2b), N, N, }; +static const struct gprefix pfx_0f_10_0f_11 = { + I(Unaligned, em_mov), I(Unaligned, em_mov), N, N, +}; + static const struct gprefix pfx_0f_28_0f_29 = { I(Aligned, em_mov), I(Aligned, em_mov), N, N, }; @@ -4709,7 +4713,9 @@ static const struct opcode twobyte_table[256] = { DI(ImplicitOps | Priv, invd), DI(ImplicitOps | Priv, wbinvd), N, N, N, D(ImplicitOps | ModRM | SrcMem | NoAccess), N, N, /* 0x10 - 0x1F */ - N, N, N, N, N, N, N, N, + GP(ModRM | DstReg | SrcMem | Mov | Sse, &pfx_0f_10_0f_11), + GP(ModRM | DstMem | SrcReg | Mov | Sse, &pfx_0f_10_0f_11), + N, N, N, N, N, N, D(ImplicitOps | ModRM | SrcMem | NoAccess), N, N, N, N, N, N, D(ImplicitOps | ModRM | SrcMem | NoAccess), /* 0x20 - 0x2F */ -- 2.11.0