From patchwork Tue Oct 25 14:50:02 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Laurent Vivier X-Patchwork-Id: 9394635 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 B8DDA6077F for ; Tue, 25 Oct 2016 14:54:30 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id AB8A529638 for ; Tue, 25 Oct 2016 14:54:30 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9F87F29644; Tue, 25 Oct 2016 14:54:30 +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.4 required=2.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RCVD_IN_SORBS_SPAM 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 CF37A29638 for ; Tue, 25 Oct 2016 14:54:25 +0000 (UTC) Received: from localhost ([::1]:55205 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bz37Q-0002nw-Cq for patchwork-qemu-devel@patchwork.kernel.org; Tue, 25 Oct 2016 10:54:24 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60244) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bz33n-0008Qs-Ld for qemu-devel@nongnu.org; Tue, 25 Oct 2016 10:50:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bz33i-0005uj-Ki for qemu-devel@nongnu.org; Tue, 25 Oct 2016 10:50:39 -0400 Received: from mout.kundenserver.de ([212.227.126.187]:51013) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1bz33i-0005uF-AA for qemu-devel@nongnu.org; Tue, 25 Oct 2016 10:50:34 -0400 Received: from Quad.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue003) with ESMTPSA (Nemesis) id 0MUjgO-1cQRIG1Vvw-00Y7nZ; Tue, 25 Oct 2016 16:50:28 +0200 From: Laurent Vivier To: qemu-devel@nongnu.org Date: Tue, 25 Oct 2016 16:50:02 +0200 Message-Id: <1477407021-30755-5-git-send-email-laurent@vivier.eu> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1477407021-30755-1-git-send-email-laurent@vivier.eu> References: <1477407021-30755-1-git-send-email-laurent@vivier.eu> MIME-Version: 1.0 X-Provags-ID: V03:K0:4CSlg95Uwm+fEBrPEY5hTWN+GlnVvw32h5XqQk48Db/BWR+s7jl DnwlJv+j+jDuXaOQ3a+6ZNvxcud8aRN+/DfqLgxTnO6HyKddNuZX/2K3R1x1jNNXzPSaU1x 1k1Z/fUyvvj8bqDz6H3vdSUHShYbmVMaKZRfKZ0npGowvmae+2aq1ak1kkMtwaiAUquC1ZX KABUxGzhJFVv+3JhgbAvQ== X-UI-Out-Filterresults: notjunk:1; V01:K0:srehqVYeLEw=:D3hPKFTlTNag+sj53B+Dh6 S3CD485lwiUVItw4Uw1eQ3xkOhNXN0H4bruGgp4Xz9ku+UXZczkcOfAaRfzHrFtoqHeh2g/3T /NJu+nqHDhPTQGm3l5cRUQBB5WcPlJr9OngaxvbS5jkJFs08qze+GgkPi718THZFOHimUAC34 UFSaiFg040JhTgcKJ06zLBsZnygGQDC2zy4eVxfKoNf9yOrRR6eO80EByCty9JGC/xhEQT9jd kN4ghEt3XD2kiWEISKy5ZFiYv44cw/AJm4p6XL4BuYnn8oVBvQOTablSQnzLZz/d68eoa7rEa p42rLRKWGCt1+fU7TLmSRFkvCIiEvG61WDsex+rYTBQk5K7Xufa/UszqE94HgQG4Dh4OPKLwO 7rsKmlHISXKsmpxH/hQWUP7/ix0wZvzjHiAbXO1oT6A0vfS5RIS3OEyccdR3tCPV6Q8zAG8Zz 7X03Bj5a1oeIAM7nDM6EQyBCXC3cZVK5tO14Fpf2RbiQfV7U8pL9mLgWy9gUxZ4c4gtDaGg1C ftBlRFHH6001YrIPN31/nsdePpzUN5AEvpC+sr4ThO2qK0y1pAJ1IW30BZpTNO5MPVSeFl5wY 6mNP5UmsM5HvYoo98iNOLxCs2WbqfbXFxT1DOmwEHwBoeisIzOzG8jfjCYXWmsYd+97Puso73 WPZLlCCsX62zRBqiJyMisx5du6xoYZmJ8k5dIrWPPQw8pAxMVFSMtz7P5KGFb4ndvvJhNIWax J7phYcqGY40a/cy8 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 212.227.126.187 Subject: [Qemu-devel] [PATCH 04/23] target-m68k: manage scaled index 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: Laurent Vivier , gerg@uclinux.org, schwab@linux-m68k.org, agraf@suse.de, Richard Henderson Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP Scaled index is not supported by 68000, 68008, and 68010. EA = (bd + PC) + Xn.SIZE*SCALE + od Ignore it: M68000 FAMILY PROGRAMMER’S REFERENCE MANUAL 2.4 BRIEF EXTENSION WORD FORMAT COMPATIBILITY "If the MC68000 were to execute an instruction that encoded a scaling factor, the scaling factor would be ignored and would not access the desired memory address. The earlier microprocessors do not recognize the brief extension word formats implemented by newer processors. Although they can detect illegal instructions, they do not decode invalid encodings of the brief extension word formats as exceptions." Signed-off-by: Laurent Vivier Reviewed-by: Richard Henderson --- target-m68k/translate.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/target-m68k/translate.c b/target-m68k/translate.c index 3773fb4..d73350c 100644 --- a/target-m68k/translate.c +++ b/target-m68k/translate.c @@ -315,6 +315,11 @@ static TCGv gen_lea_indexed(CPUM68KState *env, DisasContext *s, TCGv base) if ((ext & 0x800) == 0 && !m68k_feature(s->env, M68K_FEATURE_WORD_INDEX)) return NULL_QREG; + if (m68k_feature(s->env, M68K_FEATURE_M68000) && + !m68k_feature(s->env, M68K_FEATURE_SCALED_INDEX)) { + ext &= ~(3 << 9); + } + if (ext & 0x100) { /* full extension word format */ if (!m68k_feature(s->env, M68K_FEATURE_EXT_FULL))