From patchwork Fri Feb 1 16:06:31 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 157270 Delivered-To: patch@linaro.org Received: by 2002:a02:48:0:0:0:0:0 with SMTP id 69csp635691jaa; Fri, 1 Feb 2019 08:21:29 -0800 (PST) X-Google-Smtp-Source: ALg8bN63pJ85Zg1zsSSjhmmVm9udrWCcSnNFKmSF7LEPH8LoHS5CxW8F8aXkqDkrzvZHB6YjTybD X-Received: by 2002:a81:c5:: with SMTP id 188mr37959112ywa.327.1549038089300; Fri, 01 Feb 2019 08:21:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1549038089; cv=none; d=google.com; s=arc-20160816; b=u0nC2qNrkC43gwPmOQY8q5juW46CJhQYSrcsZVnhKSAfRx2W4bUD8/rRhrE0dPiFyt Bkud5/oIZJkhXxP4fqKen25eioUT+XIwLtZQSJ5u1ejBKb0g1jndjpBawXRLZhrftNTh Ua8ZNGYYEM/QmVw7Jm8JlY4bWgRJYqyQmGVn1xsNOEs7pyjY+aypopuGs2sOxoWwMkML TuVg2Cle5H4kAL1phkwgKkYTpH773EladEk5ol9xSCNfxkYHwtE5KzdMFRKHq1YENFA5 aUpc03LE+aYN8p+NqRIPC6W5Xih4nlbFG37s1FT3nd4ZtufPTGO1emdRG9ReiHioDhYR lqwg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:to:from:dkim-signature; bh=JzXbfa/mpewAIZNTdsRet1eOCUFT+GoezAer5VbBH7I=; b=veHBnA8MTyaJKldRPRsQWkRad9OSXQ0a8eeS2uEYjpRv/b8IldoYkK1C99Le14lcki 0COBdfCK4oTQ+OIVN6XSJsIICWSM6WOyOc+OfUj+sqAELIQ0g32bXLMEQNaqIE1tGLKl 3I5YaIBCwYBfzHpMbKHA2DU3LGwvtKNq1x4U9VMo2PSFosjZNIuC/o+cBFEgaovr72wH QDKtDkv2u2DOpy+Iz9Wchn+/1o0FAYf4y2ZfqVRTZi+PYLXj+Aglxs+fNVizom1Z5RwU 1R2tPBKkb3SKTaQpE3XRZRVUDHey7DNSTNYOoPXYOl/5U4KyEHrgtqbq5gx1cygDWLeJ fktA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=Em1QBDHZ; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id v12si4622086ybp.487.2019.02.01.08.21.29 for (version=TLS1 cipher=AES128-SHA bits=128/128); Fri, 01 Feb 2019 08:21:29 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=Em1QBDHZ; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([127.0.0.1]:57446 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gpbZI-00035o-OA for patch@linaro.org; Fri, 01 Feb 2019 11:21:28 -0500 Received: from eggs.gnu.org ([209.51.188.92]:58926) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gpbMB-0008EX-Mr for qemu-devel@nongnu.org; Fri, 01 Feb 2019 11:08:01 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gpbM9-0003hF-NX for qemu-devel@nongnu.org; Fri, 01 Feb 2019 11:07:55 -0500 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]:52134) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gpbM9-0003QW-Ek for qemu-devel@nongnu.org; Fri, 01 Feb 2019 11:07:53 -0500 Received: by mail-wm1-x32c.google.com with SMTP id b11so6677152wmj.1 for ; Fri, 01 Feb 2019 08:07:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=JzXbfa/mpewAIZNTdsRet1eOCUFT+GoezAer5VbBH7I=; b=Em1QBDHZGvH6bgLTx/OleNcTPE+eczmlrARDLL/oTCD/6W79CJCkGW+sEByQlD1zow mbbEhGENfaXwVIet+wCdoezAERB98nHYBsQL2haaf4HrBARzQTAr1r2KsIBICQ0ZC55k pJ2AwgsyrVfB11F9lJvXznN/bwdicecfjAS+Q= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=JzXbfa/mpewAIZNTdsRet1eOCUFT+GoezAer5VbBH7I=; b=r+SA/9e7nCRiLSoP46UIOQx2P1KW5im/WkPj1n+0ZtQ3zg2A1JdxYHg9UbLkLGzNrD mFeHcqyzmM0n59pRkAU+CH71ZCO/RKCxmgH1SxgDLKk7P0s6T8pIv/Vb5N75jZtmhHTf uBBtGLxPB6w35f2FTIFuKIVTGpivmVsBCJEs03DU7OcJ1wTkBUkDlTQAsdbhS2La0ndP +YThy4BSVjgEZBOlOwVecvrT3dtK+WyBoVh2oSJkT00FEcKrsQO5cjS15p0gZPJltkX0 /2IFY78lMTo5hTcs+m5joStQslXy6AeQ49sqyvl5Yo3YvYx+tnPEN/v3kuOs2xetJG/b xdzw== X-Gm-Message-State: AHQUAuYgZjv5InzJZBVOOXLMG/pZ+xHOJi9EkkOkUMSqDTcv1wGAPTNC thJZ905T7pXjuL39R6J8zBe7+WR8sOV/zw== X-Received: by 2002:a1c:d14d:: with SMTP id i74mr2912787wmg.100.1549037248467; Fri, 01 Feb 2019 08:07:28 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id n6sm2847250wmk.9.2019.02.01.08.07.27 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 01 Feb 2019 08:07:27 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Date: Fri, 1 Feb 2019 16:06:31 +0000 Message-Id: <20190201160653.13829-26-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190201160653.13829-1-peter.maydell@linaro.org> References: <20190201160653.13829-1-peter.maydell@linaro.org> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::32c Subject: [Qemu-devel] [PULL 25/47] target/arm/translate-a64: Don't underdecode system instructions X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" The "system instructions" and "system register move" subcategories of "branches, exception generating and system instructions" for A64 only apply if bits [23:22] are zero; other values are currently unallocated. Correctly UNDEF these unallocated encodings. Reported-by: Laurent Desnogues Signed-off-by: Peter Maydell Reviewed-by: Laurent Desnogues Message-id: 20190125182626.9221-2-peter.maydell@linaro.org --- target/arm/translate-a64.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) -- 2.20.1 diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index 4d28a27c3bd..e6df303e321 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -2144,7 +2144,11 @@ static void disas_b_exc_sys(DisasContext *s, uint32_t insn) break; case 0x6a: /* Exception generation / System */ if (insn & (1 << 24)) { - disas_system(s, insn); + if (extract32(insn, 22, 2) == 0) { + disas_system(s, insn); + } else { + unallocated_encoding(s); + } } else { disas_exc(s, insn); }