From patchwork Fri Jun 7 15:37:21 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 166171 Delivered-To: patch@linaro.org Received: by 2002:a92:9e1a:0:0:0:0:0 with SMTP id q26csp857116ili; Fri, 7 Jun 2019 09:35:24 -0700 (PDT) X-Google-Smtp-Source: APXvYqxK6Ji37wIvps8KPAPV5iwOY1aLiqyRYOViPGJUYQj7sqGDESFllbmnTk2ABIqtfWha9WDr X-Received: by 2002:ac8:2cdd:: with SMTP id 29mr46889142qtx.153.1559925324257; Fri, 07 Jun 2019 09:35:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1559925324; cv=none; d=google.com; s=arc-20160816; b=ISXSyXW4SirebZzcD8B3CFsb8jpvclAJKPPJhmDLWx2gBSswZUCAPO470U/kDa9ZjY y9tC387fpZCjOTDu2tPgZBS423v81N+XfiQ41JDP+rTrRB0B+jFsPToDCsPWVrzyo0uT gjcLhyByWlB8EuSGBoFqNbOHbqr9Vk1lZPNd25zkQUqjzTzptFjeUH1g85q+AIvr1h/W koPQJqwWsebnMFYIAzlJeZ5Op+uQffN87Eja7mSQ9mRpz6ZRWWsgtnSRYdFLpXUJomMW sFScmR6xsZtopcV2O26mu6jjqlJwWKRHPxkI/692Ko64hpvxhT5devgq0QJZNfTSuYUG ARnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc: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; bh=fjiHS9xytTkZ9fd06fQEBg4Kt9fDBI24+AHRH/hfj1M=; b=DmRKqqWj2JPNR9rjkERs/75tYbejVWw1ulu+8CoGvnwyI+C8xpHU600o3UM0KTjD0S m7C2Z5cNhEmHf1FluCad/jG5ES/MWAE/XSmXyQiw6pj3agxG8HQMvc6+mp0oFPNHT5om LZjHBXFXQVaRr3txHjhcHGIrPasDgahQYpxACuDwvLIWRK/Y46rk2dvgpBupjXx6P+RN iLI0NvfaZG9PoAatQyoBlPT+YQDmt0bxy6h4mDUrHFHdXkAmKyp8B8qftGca5YvJI4Sa KYdC9s5/fuBCjmEu5H1US/GnKTVBIXd8b7IxrU3lhwHPWRNzICUkQBt4jO/JWaFryyRY 68gw== ARC-Authentication-Results: i=1; mx.google.com; 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=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id q30si585280qvc.39.2019.06.07.09.35.24 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 07 Jun 2019 09:35:24 -0700 (PDT) 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; 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=redhat.com Received: from localhost ([::1]:49460 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hZHpr-0002tv-Qz for patch@linaro.org; Fri, 07 Jun 2019 12:35:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53309) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hZGzf-0003Tv-QZ for qemu-devel@nongnu.org; Fri, 07 Jun 2019 11:41:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hZGy6-0003SP-BD for qemu-devel@nongnu.org; Fri, 07 Jun 2019 11:39:52 -0400 Received: from mx1.redhat.com ([209.132.183.28]:54456) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hZGy6-0003Bm-3c for qemu-devel@nongnu.org; Fri, 07 Jun 2019 11:39:50 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 395EB81122; Fri, 7 Jun 2019 15:39:35 +0000 (UTC) Received: from x1w.redhat.com (unknown [10.40.205.135]) by smtp.corp.redhat.com (Postfix) with ESMTPS id AF0426266B; Fri, 7 Jun 2019 15:39:31 +0000 (UTC) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: Yoshinori Sato , qemu-devel@nongnu.org, Igor Mammedov , Richard Henderson Date: Fri, 7 Jun 2019 17:37:21 +0200 Message-Id: <20190607153725.18055-26-philmd@redhat.com> In-Reply-To: <20190607153725.18055-1-philmd@redhat.com> References: <20190607153725.18055-1-philmd@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Fri, 07 Jun 2019 15:39:35 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH v18 25/29] target/rx: Dump bytes for each insn during disassembly X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson There are so many different forms of each RX instruction that it will be very useful to be able to look at the bytes to see on which path a bug may lie. Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Yoshinori Sato Signed-off-by: Yoshinori Sato Message-Id: <20190607091116.49044-24-ysato@users.sourceforge.jp> Tested-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- target/rx/disas.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) -- 2.20.1 diff --git a/target/rx/disas.c b/target/rx/disas.c index 5a32a87534..d73b53db44 100644 --- a/target/rx/disas.c +++ b/target/rx/disas.c @@ -102,7 +102,21 @@ static int bdsp_s(DisasContext *ctx, int d) /* Include the auto-generated decoder. */ #include "decode.inc.c" -#define prt(...) (ctx->dis->fprintf_func)((ctx->dis->stream), __VA_ARGS__) +static void dump_bytes(DisasContext *ctx) +{ + int i, len = ctx->len; + + for (i = 0; i < len; ++i) { + ctx->dis->fprintf_func(ctx->dis->stream, "%02x ", ctx->bytes[i]); + } + ctx->dis->fprintf_func(ctx->dis->stream, "%*c", (8 - i) * 3, '\t'); +} + +#define prt(...) \ + do { \ + dump_bytes(ctx); \ + ctx->dis->fprintf_func(ctx->dis->stream, __VA_ARGS__); \ + } while (0) #define RX_MEMORY_BYTE 0 #define RX_MEMORY_WORD 1