From nobody Sat Apr 27 21:20:59 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1641465523174154.8217764791433; Thu, 6 Jan 2022 02:38:43 -0800 (PST) Received: from localhost ([::1]:38600 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1n5QAL-0002DT-NA for importer@patchew.org; Thu, 06 Jan 2022 05:38:41 -0500 Received: from eggs.gnu.org ([209.51.188.92]:58974) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n5Q7g-0008KN-OM for qemu-devel@nongnu.org; Thu, 06 Jan 2022 05:35:56 -0500 Received: from [2607:f8b0:4864:20::12a] (port=36752 helo=mail-il1-x12a.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1n5Q7f-0003K1-7b for qemu-devel@nongnu.org; Thu, 06 Jan 2022 05:35:56 -0500 Received: by mail-il1-x12a.google.com with SMTP id v10so1731132ilj.3 for ; Thu, 06 Jan 2022 02:35:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:from:date:message-id:subject:to:cc; bh=oLE7Y5HZPNOSCx7gzcgnu+XUl+njQJZs9Mxh4w2QmXo=; b=PghNGt9KDyTEdAiAdZvj2xs5tlDHlPJ9sJhdaBfj1pfLaGOOVz7GewcRFSQ+BQM1Bi 9ljpO/PvNcrZv2ZZnpRPj0zZLgPAgDGM+gkFfpmqjk6Z9P0JPnGSlJwpmyzFojH27O4M bVzCTz844LrwMD3l7rKSWt5LEDAB6xQ8J8Ge6P4Xr3ryw4RZ4iPqQ9HuejTgWzA85c1L 2qR+hMvORTEpCV0TBYbOZcoaUOBvh+FOxYFOcajSo+uMek2vMnyQjsbQfDktpBIKmkUa +cOx+Ljt7h1N4BzUatquPy4mLT7VodX2IBFitp+8Xf6cIxC4+7Hmpp+hZxTpDbLLTxqe nNsw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=oLE7Y5HZPNOSCx7gzcgnu+XUl+njQJZs9Mxh4w2QmXo=; b=FCRh2cB9eD/L93l52hd1g8O3q1UL7zBGJWxLiUveIizFecuaqIMtZYytg4K7BJZOWQ +iDo+JzpU2s7n43wlPGABlQh3JM5OFP/5t/y8pjrBmc37o+nufaqDhDpiHaRbu+osjuN ER1SaiZ5HtireSoaUO2dCpXr13kbmNqMVu80O9EEOqIfq2z/oSCk8o5ZHbq0Hb7n3qVx 0QRV8d3xGphWLJ31AMHxF8+7HBtpXPTEf9C4BVVSmo4I6NGUoEtQ/m19bm0zsBFyj5qK VnBd/fYF55Ih2U6WCRHI3Bje2PYrJO+xv9LA+XlfRkSKYGbzxUIJ2ie0g7XQOxkR0AUh H3ng== X-Gm-Message-State: AOAM532K/xG7O5Vs2uWO8wo7NW0y46cHSlzbqkcRznkBwGyJXa4VSZyV fWuzFJ3yvPB8ziEsC2cOhMK3j7A2WbMKEMs8tK4F3cbJWpY= X-Google-Smtp-Source: ABdhPJyXp+nzbaIiSmLby0Zw5FEzheXhoF/8h/BWUbTR8IZ1W29Kn2o4xa4ZUXgx8e46McSrwIjW19ArAlkHi9ZSO/k= X-Received: by 2002:a92:1e0a:: with SMTP id e10mr27981318ile.28.1641465353984; Thu, 06 Jan 2022 02:35:53 -0800 (PST) MIME-Version: 1.0 From: Stevie Lavern Date: Thu, 6 Jan 2022 11:35:42 +0100 Message-ID: Subject: [PATCH] i386/tcg: generate an illegal op when translating AVX instructions To: qemu-devel@nongnu.org Content-Type: multipart/alternative; boundary="00000000000055dfa305d4e76f9b" X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::12a (failed) Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::12a; envelope-from=stevie.lavern@gmail.com; helo=mail-il1-x12a.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: eduardo@habkost.net, Paolo Bonzini , Richard Henderson , stevie.lavern@gmail.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1641465525211100001 Content-Transfer-Encoding: quoted-printable --00000000000055dfa305d4e76f9b MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhlIEFWWCBpbnN0cnVjdGlvbiBzZXQgaXMgbm90IHN1cHBvcnRlZCBieSBRZW11LgpIb3dldmVy LCBzb21lIEFWWCBpbnN0cnVjdGlvbnMgYXJlIHByb3Blcmx5IGRlY29kZWQgYW5kIGVtdWxhdGVk IGFzIHRoZWlyCmxlZ2FjeSBTU0UgdmVyc2lvbi4KVGhpcyBwYXRjaCBwcmV2ZW50IHRoaXMgYnkg Z2VuZXJhdGluZyBhbiBpbGxlZ2FsX29wIGluc3RlYWQgb2YgYSBib2d1cyBTU0UKaW5zdHJ1Y3Rp b24uCgpTaWduZWQtb2ZmLWJ5OiBTdGV2aWUgTGF2ZXJuIDxzdGV2aWUubGF2ZXJuQGdtYWlsLmNv bT4KLS0tCiB0YXJnZXQvaTM4Ni90Y2cvdHJhbnNsYXRlLmMgfCA1ICsrKysrCiAxIGZpbGUgY2hh bmdlZCwgNSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvdGFyZ2V0L2kzODYvdGNnL3RyYW5z bGF0ZS5jIGIvdGFyZ2V0L2kzODYvdGNnL3RyYW5zbGF0ZS5jCmluZGV4IDA1ZjkzMzZjOWIuLjk5 NmZjZTY1YjIgMTAwNjQ0Ci0tLSBhL3RhcmdldC9pMzg2L3RjZy90cmFuc2xhdGUuYworKysgYi90 YXJnZXQvaTM4Ni90Y2cvdHJhbnNsYXRlLmMKQEAgLTQ3MDYsNiArNDcwNiwxMSBAQCBzdGF0aWMg dGFyZ2V0X3Vsb25nIGRpc2FzX2luc24oRGlzYXNDb250ZXh0ICpzLApDUFVTdGF0ZSAqY3B1KQog ICAgICAgICB9CiAgICAgfQoKKyAgICBpZiAocy0+dmV4X2wgJiAxKSB7CisgICAgICAgIC8qIElm IHNldCwgcmVnaXN0ZXJzIGFyZSAyNTZiaXRzLgorICAgICAgICAgICBGYWlsIGFzIEFWWCBleHRl bnNpb24gaXMgbm90IHN1cHBvcnRlZC4gKi8KKyAgICAgICAgZ290byBpbGxlZ2FsX29wOworICAg IH0KICAgICBzLT5wcmVmaXggPTNEIHByZWZpeGVzOwogICAgIHMtPmFmbGFnID0zRCBhZmxhZzsK ICAgICBzLT5kZmxhZyA9M0QgZGZsYWc7Ci0t --00000000000055dfa305d4e76f9b Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
The AVX instruction set is not supported by Qemu.
Howev= er, some AVX instructions are properly decoded and emulated as their
leg= acy SSE version.
This patch prevent this by generating an illegal_op ins= tead of a bogus SSE
instruction.

Signed-off-by: Stevie Lavern <= ;stevie.lavern@gmail.com>=
---
=C2=A0target/i386/tcg/translate.c | 5 +++++
=C2=A01 file chan= ged, 5 insertions(+)

diff --git a/target/i386/tcg/translate.c b/targ= et/i386/tcg/translate.c
index 05f9336c9b..996fce65b2 100644
--- a/tar= get/i386/tcg/translate.c
+++ b/target/i386/tcg/translate.c
@@ -4706,6= +4706,11 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)=
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0}
=C2=A0 =C2=A0 =C2=A0}
=C2=A0<= br>+ =C2=A0 =C2=A0if (s->vex_l & 1) {
+ =C2=A0 =C2=A0 =C2=A0 =C2= =A0/* If set, registers are 256bits.
+ =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 Fail as AVX extension is not supported. */
+ =C2=A0 =C2=A0 =C2=A0 = =C2=A0goto illegal_op;
+ =C2=A0 =C2=A0}
=C2=A0 =C2=A0 =C2=A0s->pre= fix =3D prefixes;
=C2=A0 =C2=A0 =C2=A0s->aflag =3D aflag;
=C2=A0 = =C2=A0 =C2=A0s->dflag =3D dflag;
--=C2=A0
--00000000000055dfa305d4e76f9b--