From patchwork Thu Mar 7 18:56:10 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 159913 Delivered-To: patch@linaro.org Received: by 2002:a02:5cc1:0:0:0:0:0 with SMTP id w62csp7797706jad; Thu, 7 Mar 2019 11:10:57 -0800 (PST) X-Google-Smtp-Source: APXvYqyuXa8xCCYBfdYiXj2mZomZuEhxQLqgP7Ub0OrMJXNjU1lkEXExw996pqQ+bigiYPYg7zZc X-Received: by 2002:a81:3d0e:: with SMTP id k14mr11210094ywa.347.1551985857814; Thu, 07 Mar 2019 11:10:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1551985857; cv=none; d=google.com; s=arc-20160816; b=IgdecXFLkKGsv2ZA0onND5yDZu4N7Qf32RX/7djwluvPQCic8MgPlPmLToFFNGswdT bGvc51d/crB0XPMWL26DedVL4X8doYHdGtgKBQUMqcJNAkuQEt0KGgmmm8RRY4w3G2SO JTW4WrnhmTyP+x4Q8BVWNIbCVQKkmZuDAxUFxTX1VoOJ4br9dNTi9O7xJWj/kbLj7wa5 mQJBzVGVq+KVNliHUJgAm8mMVOvecfWcWZ4VRT/FBK4WI6IgeMaZqTIww4YkpXGp4eaY dU1nzFJGoA0LoMv/fZMvN65+QqlNVW/kqoTCk78eh8VemsdzE8bIx/GRYbfcxDcppdLc OxVQ== 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:message-id:date:to:from :dkim-signature; bh=acwsmdPeXTGzM0MyKrNkeZJspsznT2nihme8Amkx5BU=; b=p4CFXAlrS0D9iYphIL4TAt1v96Um82D6Pfp5OLvWrHZLyVgtuDCzjCWWk7NLlirvax dNx2uxG1xicFsxCfczLS0yZ7VoZb13UZ7tHODXfh6ctN8Nz9DvohsUpmbrBBkawAZrUk YRNxOP9rrc/nthO+7NOp5nAMc98gXGlKFEPnV3W9H+wsS49DYCfWPB3sZZcW7ew3Id2d 598pjb3hybuo9W5VTUbaNd7TBR+ecDKs+vPs2XIdTEC8I00XOFSgGd0rx2PpeW2kbWHH WWSs9CDsbTyQxLYVZg+WFPWQ63g9NVr0g4kFlxKoY4LFcCS056iml8URmSHxWTygUeI2 LPVQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=UxAskTWu; 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 i1si3037968ywa.422.2019.03.07.11.10.57 for (version=TLS1 cipher=AES128-SHA bits=128/128); Thu, 07 Mar 2019 11:10:57 -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=UxAskTWu; 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]:57785 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h1yPx-00059k-8p for patch@linaro.org; Thu, 07 Mar 2019 14:10:57 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36508) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h1yBw-0001AZ-UJ for qemu-devel@nongnu.org; Thu, 07 Mar 2019 13:56:29 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h1yBv-0002Kv-Vq for qemu-devel@nongnu.org; Thu, 07 Mar 2019 13:56:28 -0500 Received: from mail-pg1-x52c.google.com ([2607:f8b0:4864:20::52c]:38997) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1h1yBv-0002JE-KF for qemu-devel@nongnu.org; Thu, 07 Mar 2019 13:56:27 -0500 Received: by mail-pg1-x52c.google.com with SMTP id h8so11971413pgp.6 for ; Thu, 07 Mar 2019 10:56:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=acwsmdPeXTGzM0MyKrNkeZJspsznT2nihme8Amkx5BU=; b=UxAskTWuP+9wtFp9SGJzeH1zkRhp3t/6/KZLjix2oTKCKMyeLfzUmM8nWZKPfosH+9 uypgznYjt/6CSL8GBNxqqH8Mf4p559kaqRBCZpLi11MYvTYjljfH1RcTfvu1i1OSQWIb Pj39WTqnmG4i2NZdIXPAR7q2QryxhKg3SFMeawTDe/mV8O1z3+BRSEJ5uRRLW3VOLLmD rHU+sT/eNPxNT1uHvCwyWAbiAvSxLslLQjlujY4IoEpk+z1Sk57NmjoM9OoYX7khycP1 cNRtmUL8W/AIz+8Fvb+PoX8zYkWADMqAuecHoFffg6qo5jbHPrvTDsLRc2fo+/jcQ2ZJ MwOg== 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:mime-version :content-transfer-encoding; bh=acwsmdPeXTGzM0MyKrNkeZJspsznT2nihme8Amkx5BU=; b=qn8YaTP9z4AlBv4eKx4quwwo7A0FO4pdZT3uSPimPcWxf4IF2DUISYlpmIw31X2wJb OCImQwsGWkcYDUnvDY5bz/MN7jhcoZgsU6V++xdI618wGsYjtzBPXVujEoIkJgCOqeWW WvUqED3iONKtbAFn6aoZyn3ZBO6hO2RpKWhF6e9xH3tsIOoa5Bfhk5s1T/CNmyBxc1T+ b7Px9Wk/Kjck/xcUDdEy3emILmMANkKARVBptbtAEEXvB1Lm3ctLc5XDquPZQAkZUbvS cdEgO91jo+Pt2dVZHpvNwo5TmWHL8eZgBAfIWf/D9MoPMJSNZK9wgn47ERAkq94XioMi 15Rg== X-Gm-Message-State: APjAAAU0Fp6naVA8GJqw4lBrM3u4qG8bdCULMbOhrloFTAO2jqKLbuYS GQ8qEB1wSFyeB8Uy99/oQK0P+vS57gk= X-Received: by 2002:aa7:90c1:: with SMTP id k1mr14055006pfk.202.1551984984485; Thu, 07 Mar 2019 10:56:24 -0800 (PST) Received: from cloudburst.twiddle.net (97-113-188-82.tukw.qwest.net. [97.113.188.82]) by smtp.gmail.com with ESMTPSA id g12sm8801973pgr.76.2019.03.07.10.56.23 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 07 Mar 2019 10:56:23 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Date: Thu, 7 Mar 2019 10:56:10 -0800 Message-Id: <20190307185622.29026-1-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.2 MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::52c Subject: [Qemu-devel] [PATCH v3 00/12] decodetree enhacements 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" Changes since v2: * Add some additional tests, based on actual uncaught exceptions I saw while using pattern groups in an ARM32 conversion. * Allow negative numbers in field=number. * Push extraction functions into the namespace of the decoder. I'll probably give a PR for this on the weekend. r~ Bastian Koppelmann (1): test/decode: Add tests for PatternGroups Philippe Mathieu-Daudé (2): MAINTAINERS: Add scripts/decodetree.py to the TCG section decodetree: Ensure build_tree does not include values outside insnmask Richard Henderson (9): decodetree: Move documentation to docs/devel/decodetree.rst decodetree: Document the usefulness of argument sets decodetree: Do not unconditionaly return from Pattern.output_code decodetree: Allow grouping of overlapping patterns decodetree: Add --static-decode option decodetree: Produce clean output for an empty input file decodetree: Allow +- to begin a number initializing a field decodetree: Prefix extract function names with decode_function decodetree: Properly diagnose fields overflowing an insn MAINTAINERS | 2 + docs/devel/decodetree.rst | 221 ++++++++++++ docs/devel/index.rst | 2 +- scripts/decodetree.py | 330 +++++++++--------- tests/decode/check.sh | 6 + tests/decode/err_pattern_group_empty.decode | 6 + tests/decode/err_pattern_group_ident1.decode | 10 + tests/decode/err_pattern_group_ident2.decode | 11 + tests/decode/err_pattern_group_nest1.decode | 13 + .../decode/err_pattern_group_overlap1.decode | 6 + tests/decode/err_width1.decode | 5 + tests/decode/err_width2.decode | 5 + tests/decode/err_width3.decode | 5 + tests/decode/err_width4.decode | 5 + tests/decode/succ_pattern_group_nest1.decode | 22 ++ 15 files changed, 480 insertions(+), 169 deletions(-) create mode 100644 docs/devel/decodetree.rst create mode 100644 tests/decode/err_pattern_group_empty.decode create mode 100644 tests/decode/err_pattern_group_ident1.decode create mode 100644 tests/decode/err_pattern_group_ident2.decode create mode 100644 tests/decode/err_pattern_group_nest1.decode create mode 100644 tests/decode/err_pattern_group_overlap1.decode create mode 100644 tests/decode/err_width1.decode create mode 100644 tests/decode/err_width2.decode create mode 100644 tests/decode/err_width3.decode create mode 100644 tests/decode/err_width4.decode create mode 100644 tests/decode/succ_pattern_group_nest1.decode -- 2.17.2