From patchwork Wed Sep 6 14:49:32 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 9940931 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id C95F56035F for ; Wed, 6 Sep 2017 14:55:13 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id BD0D928BEE for ; Wed, 6 Sep 2017 14:55:13 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id B1B5728C0E; Wed, 6 Sep 2017 14:55:13 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 934D328BEE for ; Wed, 6 Sep 2017 14:55:12 +0000 (UTC) Received: from localhost ([::1]:36539 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dpbjT-0000QS-PK for patchwork-qemu-devel@patchwork.kernel.org; Wed, 06 Sep 2017 10:55:11 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39960) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dpbeN-0005Rz-2B for qemu-devel@nongnu.org; Wed, 06 Sep 2017 10:49:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dpbeK-0000FP-Ft for qemu-devel@nongnu.org; Wed, 06 Sep 2017 10:49:55 -0400 Received: from mail-pg0-x22b.google.com ([2607:f8b0:400e:c05::22b]:35783) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dpbeK-0000EN-9n for qemu-devel@nongnu.org; Wed, 06 Sep 2017 10:49:52 -0400 Received: by mail-pg0-x22b.google.com with SMTP id 188so12369382pgb.2 for ; Wed, 06 Sep 2017 07:49:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Ga/ap6poeSpokJHLAMcj0qP6q3vxBMmsvZmgjz22F8c=; b=Pw5jAvpqtjsc4ljgvzQmnRJPbZRTCv+4AMeThUKQUt/QKjuBQRR/HdwddFNTX1cQg9 D9e33OQwL6ylnRhWhg5P+gthJfCPQ39FsxO5TgfouSDLuL4WYp1GDBym4Roc5GDfq6Ry fqLhTF/HOzapSa1FP6kJZR1cbXtDHvr1fKimk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Ga/ap6poeSpokJHLAMcj0qP6q3vxBMmsvZmgjz22F8c=; b=VRCEUOV0d58OBRAnepNMJvXngHN85rmeQPSMGyIy/lsUODwMfSjy4iFVL8XktB9p0o iuzlRF+oJe5s/1wsNfuNaGg+uflsGilrbu4YYR2GHfKX0CGzQNzHiBJPkbGC+7JlMLSz /E94iaxInxhDp/LnBEEN0zy/muBKL9uOiYtLIS0O7JX2Rs95GbxFYLJB5sr57aXeB3wr UVWkq4wROIKYfuFa/22AK4arIp2AKpeZWP9wE1Gf/x7eGY5sBkal1m+vQ41wLajMhAKe zI4hs1DOBFfKTDGzn8LYgkPEz3UUn9FWyaX8w7IvgyF9baI2Ywx36eLP5B6+rBVpZYt+ W06A== X-Gm-Message-State: AHPjjUhp8WXDTV1R1HDNuOSx1TbVp9p2qGALfNjvDZIFBIsw5XtzzA5d mmzB2qtwAhK+7BmE/3/x9g== X-Google-Smtp-Source: ADKCNb7VdV8PV1dCpJUgoyKbeVAiIMqVepGpFmqObxlpU0Gi8uFpub0fh/GFq2al7gc3ItBt5P3AYA== X-Received: by 10.98.32.86 with SMTP id g83mr7444437pfg.313.1504709390993; Wed, 06 Sep 2017 07:49:50 -0700 (PDT) Received: from bigtime.twiddle.net (97-126-108-236.tukw.qwest.net. [97.126.108.236]) by smtp.gmail.com with ESMTPSA id h1sm3467646pfg.153.2017.09.06.07.49.49 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 06 Sep 2017 07:49:50 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Wed, 6 Sep 2017 07:49:32 -0700 Message-Id: <20170906144940.30880-7-richard.henderson@linaro.org> X-Mailer: git-send-email 2.13.5 In-Reply-To: <20170906144940.30880-1-richard.henderson@linaro.org> References: <20170906144940.30880-1-richard.henderson@linaro.org> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400e:c05::22b Subject: [Qemu-devel] [PULL 06/14] disas/i386: Add disassembly of rorx 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: , Cc: peter.maydell@linaro.org, Richard Henderson Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP From: Richard Henderson Signed-off-by: Richard Henderson --- disas/i386.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/disas/i386.c b/disas/i386.c index 7eaa378a10..a557e678ec 100644 --- a/disas/i386.c +++ b/disas/i386.c @@ -684,6 +684,7 @@ fetch_data(struct disassemble_info *info, bfd_byte *addr) #define PREGRP106 NULL, { { NULL, USE_PREFIX_USER_TABLE }, { NULL, 106 } } #define PREGRP107 NULL, { { NULL, USE_PREFIX_USER_TABLE }, { NULL, 107 } } #define PREGRP108 NULL, { { NULL, USE_PREFIX_USER_TABLE }, { NULL, 108 } } +#define PREGRP109 NULL, { { NULL, USE_PREFIX_USER_TABLE }, { NULL, 109 } } #define X86_64_0 NULL, { { NULL, X86_64_SPECIAL }, { NULL, 0 } } #define X86_64_1 NULL, { { NULL, X86_64_SPECIAL }, { NULL, 1 } } @@ -1557,7 +1558,7 @@ static const unsigned char threebyte_0x3a_uses_REPNZ_prefix[256] = { /* c0 */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* cf */ /* d0 */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* df */ /* e0 */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* ef */ - /* f0 */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* ff */ + /* f0 */ 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* ff */ /* ------------------------------- */ /* 0 1 2 3 4 5 6 7 8 9 a b c d e f */ }; @@ -2817,6 +2818,14 @@ static const struct dis386 prefix_user_table[][4] = { { "(bad)", { XX } }, { "pdep", { Gv, Bv, Ev } }, }, + + /* PREGRP109 */ + { + { "(bad)", { XX } }, + { "(bad)", { XX } }, + { "(bad)", { XX } }, + { "rorx", { Gv, Ev, Ib } }, + }, }; static const struct dis386 x86_64_table[][2] = { @@ -3403,7 +3412,7 @@ static const struct dis386 three_byte_table[][256] = { { "(bad)", { XX } }, { "(bad)", { XX } }, /* f0 */ - { "(bad)", { XX } }, + { PREGRP109 }, { "(bad)", { XX } }, { "(bad)", { XX } }, { "(bad)", { XX } },