From nobody Tue Nov 18 22:49:06 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.43 as permitted sender) client-ip=209.85.128.43; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f43.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.43 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613325561; cv=none; d=zohomail.com; s=zohoarc; b=Q+jW2hhqbu4mP4EM3UP76l0vEjzeCes7ldFxejJYsWSTgjz/SbqVD1e0J+yhlG1ssORh209QalGB3oV5+b8fGO12uKNANWFY5NOJnjW8Ykin42NWhnJusxEp3Z15jt809pVJv932IMz9ORFXwxMl+78BIkhSuyOIXPGgv3l6QVw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613325561; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=nZcxXspqBVewQw4ag1OM8gZofSFOcA5bVtXjShnotnE=; b=bT7LAKltPrr1PZI8t/Uw88Vfjg3ENiU1diph020W1rtC+ycH/iD5J3758tDEIU+7haAwZHJE9/uYLtxYh0EVrc97R66xebV2rTIgLihcNs5TM6rW/0O+J9yWzZimmki0wlDHkonJHQdia4lG+AI4rIP3oIh+LVnWAxbKpCMzkAY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.43 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) by mx.zohomail.com with SMTPS id 1613325561982570.042259592453; Sun, 14 Feb 2021 09:59:21 -0800 (PST) Received: by mail-wm1-f43.google.com with SMTP id m1so5838612wml.2 for ; Sun, 14 Feb 2021 09:59:21 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id g62sm21881331wmf.46.2021.02.14.09.59.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 09:59:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=nZcxXspqBVewQw4ag1OM8gZofSFOcA5bVtXjShnotnE=; b=ryonp6mwGlI96r9ocK87n767HHxVObCorP2xdMsXWoVLsiDW3yY6yhnSIxQzcDBC+m W1bnRyLY6YpNHUvOSfaUo+Swy4u/DHVbsWtVx82M9ZmZwffCLgjwrEOhLAEAlnLpv8WN BjdKHpSendFgrAruBNzy2H3PLJgHBdHruxXIAetenhFHLBS9NWQYjswz6gc0eLiIy3P9 tgwDnwhMGIJKKi+vl/xijFJTh+9rxIWTr5xGjnVllqLzyY4jWpjf5reZkesiAOwODXuG B4JRBsaMqYUqnP/19vCyisVW55K1d7E6n9h6pdO19FO9SdTk/v6tGbtutOFjJaNRDZy7 Y5Aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=nZcxXspqBVewQw4ag1OM8gZofSFOcA5bVtXjShnotnE=; b=PoUCJzlmG3+F4ju0G1sY4mnPRdjt+Uk1iA8OHhprjsFKcG2kLUkFAm+OWFggB8AoCa IZmf1mqI0o3QXek0mxCVMMJetbk6q6hVeRPa5wZ/h8LKdz5VvWRFx6bkkOqJgT9U8ZBm mDtK9SNj42o39h8azi+ehilkBa23HNdp2ivf8bcl/xiyjwMnT4h9SQzsbRxwa0eAm4C/ 9PYK+OHVQAtK2a3Q5yJz/NdwUrxd1glJQIdu/QNNortbV2ULcgNz7juzV+AVYM6v/GJN T2RZ4P9J60yMn9C4Yk5ym0CUvM0vDSXD/66b1mRWnydsdUz0euGKjo7+hBMjVcojmsBF PCdw== X-Gm-Message-State: AOAM5332vuwkB+FrNgT/XrN5odlnm07t0BNeK/K8oDU3mqZhKFUbZED5 uYRiWlaTSgjxGCjJA5cpNhE= X-Google-Smtp-Source: ABdhPJy4wN4YIBejaHvMV/LDjG9AjzDJMBQozHqmhMqTJxj20esK8wlFC55JMT91AACaCZr9K7b82Q== X-Received: by 2002:a05:600c:2210:: with SMTP id z16mr11051007wml.50.1613325560655; Sun, 14 Feb 2021 09:59:20 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo Subject: [RFC PATCH 01/42] linux-user/mips64: Restore setup_frame() for o32 ABI Date: Sun, 14 Feb 2021 18:58:31 +0100 Message-Id: <20210214175912.732946-2-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) 64-bit MIPS targets lost setup_frame() during the refactor in commit 8949bef18b9. Restore it declaring TARGET_ARCH_HAS_SETUP_FRAME, to be able to build the o32 ABI target. Fixes: 8949bef18b9 ("linux-user: move mips/mips64 signal.c parts to mips di= rectory") Reviewed-by: Richard Henderson Reviewed-by: Laurent Vivier Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- linux-user/mips64/target_signal.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/linux-user/mips64/target_signal.h b/linux-user/mips64/target_s= ignal.h index 799f7a668cd..f1f0ed7f706 100644 --- a/linux-user/mips64/target_signal.h +++ b/linux-user/mips64/target_signal.h @@ -67,4 +67,8 @@ typedef struct target_sigaltstack { #define TARGET_MINSIGSTKSZ 2048 #define TARGET_SIGSTKSZ 8192 =20 +#if defined(TARGET_ABI_MIPSO32) +/* compare linux/arch/mips/kernel/signal.c:setup_frame() */ +#define TARGET_ARCH_HAS_SETUP_FRAME +#endif #endif /* MIPS64_TARGET_SIGNAL_H */ --=20 2.26.2 From nobody Tue Nov 18 22:49:06 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.47 as permitted sender) client-ip=209.85.221.47; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f47.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.47 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1613325725; cv=none; d=zohomail.com; s=zohoarc; b=Wn/PJzETuFvZAPu+rQWVY9tHKbY4M5n8PyHpZIrdfdFL6SO1cdERj7AhPjQBhlmUt03EnptOJrggkkyZm6Ui9LCnA6Zeeo5vWOgcEz+AQ61NktZ+PaJBjcHWJcj2U2TOE0L2hd9N8LMORH0e/9c+RzyieYaViQ1nCApE5WSHDmU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613325725; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=9/cqSvnjsoH/NNZePdyMLOBBlx6690wleUk2PleenZE=; b=D5sfupAAkDlpoGX7niZV+N3bYlwHjCw0xLEMHd5nzcAHdNoOtGLVHU5yA0YKVD8Zb9aZYcavi9j0OzHCY8LTtsEANaFztgO6qouf5FEQBo6BItZdHYUSu4hQUaF8Akwjneyc8IK9enZBX8aJ3ikF9uET4BW1YHZq1Gs+05KUqO4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.47 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.47]) by mx.zohomail.com with SMTPS id 1613325725275597.7399750674196; Sun, 14 Feb 2021 10:02:05 -0800 (PST) Received: by mail-wr1-f47.google.com with SMTP id 7so6158213wrz.0 for ; Sun, 14 Feb 2021 10:02:04 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id c9sm21776048wmb.33.2021.02.14.09.59.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 09:59:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=9/cqSvnjsoH/NNZePdyMLOBBlx6690wleUk2PleenZE=; b=dm9A+RQRX9ewSTex1RyZ+3J9b9P4rPNUXYv5f1afjVs+LEzZtic1obHO13u6vqGCZ6 pSFVQkifJJM+BaqBbm1CCsquwoAUWNMQSj0qxyYwK19NtV6W2QyZXjDkTQFXPnGG7AHt dM2Z3/fBfc0/up/oFv+Uu7kJi4K7IKWSetpaLysvE+84u03yWPYd6CTM+pgnz4nZUDhp EsVWtyEFxQxWXcg3IvmKJrfWWorW0Fl89pN+fEyoRx5qKOQ+1yISJ0gmzkZGHh3MTrN5 euHtZtZLv+ZLcmtRBmpZ7qk44LbRfyko6iiyeIjRSOg5rEWI2H5CGDs65Eik7yRpC3FT LdAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=9/cqSvnjsoH/NNZePdyMLOBBlx6690wleUk2PleenZE=; b=PPod6f8eOEEh7zlLcb6Z4NQQyvnA+BPdg/0hR6mMNNoZ3J+2lPr0ivz8JwOtbF9/EV WrPIe0JORyin7bljmvLH7oPYMawEiUDv5ZoG8TDDdncjszXH/ZiE3efng0SKrqA+15b/ bKvE58bcWrN18JeBgz07rNc9na8NZ+e33sfCQMXj5t+m0dOBhIrUCeEFnjmLLZDF/R1i OeWbNgh+NwgWoauYv6gJ3lMYDEqvdhbm9+D9EzSOz3HHdMcOFVZ5YqOVnf9p48Ziw44M HSARAP9l7AfOdaYYAeqRz55lDshu37HbpY+XZer2uhPG6f/XmkoW42OWwhHW8CifMCQQ mz1A== X-Gm-Message-State: AOAM533LcoIWEkYg1NpnG8CxQTUcV0B2MetmfAd1EDRBew6IsIc4BWBC gOwlr9fc/2KsCfiYbl0FZR8= X-Google-Smtp-Source: ABdhPJxcPohmsCDU10+kIvnODxsU7GHL5qkKrrVDVFu/WDvCBZMsDdD3SY9F1Glh6mY+VLdM6URxmg== X-Received: by 2002:adf:92a6:: with SMTP id 35mr14835392wrn.193.1613325565504; Sun, 14 Feb 2021 09:59:25 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo Subject: [RFC PATCH 02/42] linux-user/mips64: Support o32 ABI syscalls Date: Sun, 14 Feb 2021 18:58:32 +0100 Message-Id: <20210214175912.732946-3-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) o32 ABI syscalls start at offset 4000. Reviewed-by: Richard Henderson Reviewed-by: Laurent Vivier Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- linux-user/mips64/syscall_nr.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/linux-user/mips64/syscall_nr.h b/linux-user/mips64/syscall_nr.h index 672f2fa51cb..6579421fa63 100644 --- a/linux-user/mips64/syscall_nr.h +++ b/linux-user/mips64/syscall_nr.h @@ -1,4 +1,7 @@ -#ifdef TARGET_ABI_MIPSN32 +#if defined(TARGET_ABI_MIPSO32) +#define TARGET_SYSCALL_OFFSET 4000 +#include "syscall_o32_nr.h" +#elif defined(TARGET_ABI_MIPSN32) #define TARGET_SYSCALL_OFFSET 6000 #include "syscall_n32_nr.h" #else --=20 2.26.2 From nobody Tue Nov 18 22:49:06 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.51 as permitted sender) client-ip=209.85.221.51; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f51.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.51 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613325572; cv=none; d=zohomail.com; s=zohoarc; b=IZsqStaBJ1AIepJysrAQg+Ktuo9AnxxNkWGpB+OY6aP67Jq08d7Zy0/GnIIKhY+wEAwQ/xFC3tyJ4WhhUga8Uh/J11xSJmLy75jW49VjYE/kgFTZU1PfdF1VsG/Q3UG+Mozbgm1jka+//OdoE5Scd1+lLFMD0ysVK2vYmU6Z3Ak= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613325572; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=u+P4R7wX8AF+OGlD477IP+Y2yPBUc7P8DSYLD639hCU=; b=auvQULZqfjtjbtceUWRcUuel30F9SxJaTtf16lD1ujRiGlqHiJvhoVU4xc+U+tAzPXgnmUGALlJrYf8EFk3KnfPJa+18LqT4KLMraBCabPAouoi5Xweca+2ZsKTLjaddDvmouCvyOlW6d3/NAXOT6GitfWrFbumGzTdqh6ziDJ8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.51 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com [209.85.221.51]) by mx.zohomail.com with SMTPS id 161332557215978.28913757723797; Sun, 14 Feb 2021 09:59:32 -0800 (PST) Received: by mail-wr1-f51.google.com with SMTP id 7so6158495wrz.0 for ; Sun, 14 Feb 2021 09:59:31 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id o18sm20584458wmp.19.2021.02.14.09.59.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 09:59:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=u+P4R7wX8AF+OGlD477IP+Y2yPBUc7P8DSYLD639hCU=; b=C9WDa3+3bo8STg8qP3QPPL1lTN/AiKQvXfwivEx22TCWccwjEGofl3SOFcTV6Fi7py BMYBvx219SlRBDx1aGKsAJyeOppFB4fVCJDqqACOQmy/nD1mGLkkFV9zIH1bHQAjEJnc 8p3Mnb/WCEP5n3Ia0UZnpnLwzfciqG56gd82+zYDqjxPHn4OIJ++Kg1aZeA/ojR/GZuh bYX/1msuRAsTZP4lRt26unZgMVGCkH4ypE1LmV/QZERiFOxGCbJ3cLTg94BuYE43ZsDt mONlCJUgeSwBJrcKq0nSMyseVxQbXXk1WlOIebs1LwA/LxLA8dc3bCwl1NQ8gQnL1d14 zCpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=u+P4R7wX8AF+OGlD477IP+Y2yPBUc7P8DSYLD639hCU=; b=sgYZe8S9YB3d2iy77O3AEs3QnHt9ODUQxmPeO2xR5SnWQg0WjchMlJGRPS9+zWTxZk b/60hPWE6ggoHP9ulfk8NlkiZUJFFeK9EKtQnZFQkTn6kEqp8fd381taXUO77AGhEctx XJ+puyYyYdp+IWPsdDohZ9xVV1p72dOhXBXO0gri/FEWW/WJCD7ZHGW82OtLz6IewjCG 7lZ1K4BSyxC8le+zUqu8/P0wfWBuX9z5H/lcMWcIAo831QWy1762Fz3JYEob4GdDzxZ8 xROEn70eyWcEEmFwwobz1Rc4mjcwFI+BLM3e9FAggavmUbCYCo8zYi4/K6oL3ENHT3u7 aqdg== X-Gm-Message-State: AOAM533KxVKEstLjhZHY6vE7bVtNy4QwxCV8/0hLfVkNbkLICie5HAe8 gVncFkuOxzRk2bid6eB7OGk= X-Google-Smtp-Source: ABdhPJx4IiSJEthYHKZHTptQtxkWV3xmqNPSeizXe61bQLHeRPmDrVxioGjL9qJRatW6dFfqw0HgWw== X-Received: by 2002:a5d:51d0:: with SMTP id n16mr15428256wrv.382.1613325570755; Sun, 14 Feb 2021 09:59:30 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo Subject: [RFC PATCH 03/42] target/mips/translate: Make cpu_HI/LO registers public Date: Sun, 14 Feb 2021 18:58:33 +0100 Message-Id: <20210214175912.732946-4-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) We will access the cpu_HI/LO registers outside of translate.c. Make them publicly accessible. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/mips/translate.h | 1 + target/mips/translate.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/target/mips/translate.h b/target/mips/translate.h index f47b5f2c8d0..2a1d8f570bb 100644 --- a/target/mips/translate.h +++ b/target/mips/translate.h @@ -145,6 +145,7 @@ bool gen_lsa(DisasContext *ctx, int rd, int rt, int rs,= int sa); bool gen_dlsa(DisasContext *ctx, int rd, int rt, int rs, int sa); =20 extern TCGv cpu_gpr[32], cpu_PC; +extern TCGv cpu_HI[MIPS_DSP_ACC], cpu_LO[MIPS_DSP_ACC]; extern TCGv_i32 fpu_fcr0, fpu_fcr31; extern TCGv_i64 fpu_f64[32]; extern TCGv bcond; diff --git a/target/mips/translate.c b/target/mips/translate.c index a5cf1742a8b..be40f79229f 100644 --- a/target/mips/translate.c +++ b/target/mips/translate.c @@ -2179,7 +2179,7 @@ enum { =20 /* global register indices */ TCGv cpu_gpr[32], cpu_PC; -static TCGv cpu_HI[MIPS_DSP_ACC], cpu_LO[MIPS_DSP_ACC]; +TCGv cpu_HI[MIPS_DSP_ACC], cpu_LO[MIPS_DSP_ACC]; static TCGv cpu_dspctrl, btarget; TCGv bcond; static TCGv cpu_lladdr, cpu_llval; --=20 2.26.2 From nobody Tue Nov 18 22:49:06 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.43 as permitted sender) client-ip=209.85.128.43; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f43.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.43 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613325577; cv=none; d=zohomail.com; s=zohoarc; b=BINJEEinxjWP+b8/9P/p43ianzziHo4tLird25p1oPA3PAAZ9FFap88l7tP0ZOwF5UxeLaxsuNeVZEcB8ootK1RwcX7cmckVUf39eKJyQSBGOQ2ZEaOkbYyIs2VGBBTwwgRBikx6gb5dr93QKcfZyOI0EubEkXAzW5sBdtZe0TE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613325577; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=HIH/Qop6/6k2YrFoaMsBXNf5uQCyB+f+6cDo/DLbLyU=; b=lB3peSD5VQ6regBH6HVbXZ/JFd0AiOs78FCzhDez2MIcFWJDxr2x+c0xStDpUPewrfzCBXuCJHVY16W8rDH+Fw67OHlPZ3ThfhWW9V8rk25hb3rqtkbB8AwFJ8P/2io6rzaYEjvMB9w+l+4S7WDqY3rU6SgMT7l9OB53/M1ihA8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.43 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) by mx.zohomail.com with SMTPS id 1613325577221816.8098336342974; Sun, 14 Feb 2021 09:59:37 -0800 (PST) Received: by mail-wm1-f43.google.com with SMTP id n10so5840997wmq.0 for ; Sun, 14 Feb 2021 09:59:36 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id o83sm22544318wme.37.2021.02.14.09.59.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 09:59:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=HIH/Qop6/6k2YrFoaMsBXNf5uQCyB+f+6cDo/DLbLyU=; b=L1Djrp3EmgbzHIb9r6F91UvVAePOJ/KUe4GuUJBeAGuwcZyHN5VBxSdq0eXUD/xixr pFZZpt6TmYL0dQjyTFwRRUZWIuhjvNRuIGvdFXsAf/rxZyyAaOy5Bm8sP9gSz4vc2U6V GCfwNfVSUbKzTxdmwWdNrqHaTtIcJTH5Fe5f6tx2qA01N0rw9ZUrBcCZWPqAxHzrMlek LTiHE3yaJe9VNCQPHEtfw5U1S6gA9xGzdd/rolWwG3qZZBul/lkqCiAAraIi1pELOQla LiVASQrWvwkcwkTVWXX6slCf7Oa81fUPwgz6+k/WbdSC2CHsAoOrqPyAq1eQ6waJ7u3Z tSvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=HIH/Qop6/6k2YrFoaMsBXNf5uQCyB+f+6cDo/DLbLyU=; b=PF9u2TWPTmn8ujUcsuHugyN8FrYH2uf8loGs2z4XDaSLiVDQ6MUpySb5LI2TtMnmcH k3FaxvrZ2jJkeLJZsefvxbhXHVLepFdTvzLo/Nlr6G5xNB1j43Y8hJM5PVOOT3BHuqh/ +cD0HEVfZVqlb9slKhYjRtREPUcMl03eO6y+M8DNT2kEedP7FPWXqdReF9bPHsZk9nHl CYeFAm/aOFIgXzObLFB3+Ngco7JyCCEzVvSQZaZu49spBk7bFuJQFroN7uGNNOndmXG+ tlWiGtkHJi6BiEca54iaOwdzL/jYc3QpBdyDoHwuJPlj+C1m1F8HgFBjzpbv3QSsPBX6 1pkQ== X-Gm-Message-State: AOAM530EnjROGVJXhtP6eGh3Z2+/WigiSyegD2XSExFuUFGlY039jI5j NTqgyC1LKA7BSCxPb3avcQW44KGmIXg= X-Google-Smtp-Source: ABdhPJxjyYAK7SwPuJeEvhFYA0TmuZjoBKYRb2sGkIQOfU5UnSO9osfJhX8zMVAtRehqs1Oy3tGo+Q== X-Received: by 2002:a1c:20cf:: with SMTP id g198mr10723222wmg.173.1613325575777; Sun, 14 Feb 2021 09:59:35 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo Subject: [RFC PATCH 04/42] target/mips: Promote 128-bit multimedia registers as global ones Date: Sun, 14 Feb 2021 18:58:34 +0100 Message-Id: <20210214175912.732946-5-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) The cpu::mmr[] array contains the upper halves of 128-bit GPR registers. While they are only used by the R5900 CPU, the concept is generic and could be used by another MIPS implementation. Rename 'cpu::mmr' as 'cpu::gpr_hi' and make them global. When the code is similar to the GPR lower halves, move it close by. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/mips/cpu.h | 10 ++++++--- target/mips/translate.h | 3 +++ target/mips/translate.c | 48 ++++++++++++++++++++--------------------- 3 files changed, 34 insertions(+), 27 deletions(-) diff --git a/target/mips/cpu.h b/target/mips/cpu.h index b9e227a30e9..7011d0dc707 100644 --- a/target/mips/cpu.h +++ b/target/mips/cpu.h @@ -460,6 +460,13 @@ typedef struct mips_def_t mips_def_t; typedef struct TCState TCState; struct TCState { target_ulong gpr[32]; +#if defined(TARGET_MIPS64) + /* + * For CPUs using 128-bit GPR registers, we put the lower halves in gp= r[]) + * and the upper halves in gpr_hi[]. + */ + uint64_t gpr_hi[32]; +#endif /* TARGET_MIPS64 */ target_ulong PC; target_ulong HI[MIPS_DSP_ACC]; target_ulong LO[MIPS_DSP_ACC]; @@ -505,9 +512,6 @@ struct TCState { =20 float_status msa_fp_status; =20 - /* Upper 64-bit MMRs (multimedia registers); the lower 64-bit are GPRs= */ - uint64_t mmr[32]; - #define NUMBER_OF_MXU_REGISTERS 16 target_ulong mxu_gpr[NUMBER_OF_MXU_REGISTERS - 1]; target_ulong mxu_cr; diff --git a/target/mips/translate.h b/target/mips/translate.h index 2a1d8f570bb..3014c20cadb 100644 --- a/target/mips/translate.h +++ b/target/mips/translate.h @@ -145,6 +145,9 @@ bool gen_lsa(DisasContext *ctx, int rd, int rt, int rs,= int sa); bool gen_dlsa(DisasContext *ctx, int rd, int rt, int rs, int sa); =20 extern TCGv cpu_gpr[32], cpu_PC; +#if defined(TARGET_MIPS64) +extern TCGv_i64 cpu_gpr_hi[32]; +#endif extern TCGv cpu_HI[MIPS_DSP_ACC], cpu_LO[MIPS_DSP_ACC]; extern TCGv_i32 fpu_fcr0, fpu_fcr31; extern TCGv_i64 fpu_f64[32]; diff --git a/target/mips/translate.c b/target/mips/translate.c index be40f79229f..ab9b0999c93 100644 --- a/target/mips/translate.c +++ b/target/mips/translate.c @@ -2179,6 +2179,11 @@ enum { =20 /* global register indices */ TCGv cpu_gpr[32], cpu_PC; +/* + * For CPUs using 128-bit GPR registers, we put the lower halves in cpu_gp= r[]) + * and the upper halves in cpu_gpr_hi[]. + */ +TCGv_i64 cpu_gpr_hi[32]; TCGv cpu_HI[MIPS_DSP_ACC], cpu_LO[MIPS_DSP_ACC]; static TCGv cpu_dspctrl, btarget; TCGv bcond; @@ -2187,11 +2192,6 @@ static TCGv_i32 hflags; TCGv_i32 fpu_fcr0, fpu_fcr31; TCGv_i64 fpu_f64[32]; =20 -#if defined(TARGET_MIPS64) -/* Upper halves of R5900's 128-bit registers: MMRs (multimedia registers) = */ -static TCGv_i64 cpu_mmr[32]; -#endif - #if !defined(TARGET_MIPS64) /* MXU registers */ static TCGv mxu_gpr[NUMBER_OF_MXU_REGISTERS - 1]; @@ -24784,7 +24784,7 @@ static void gen_mmi_pcpyh(DisasContext *ctx) /* nop */ } else if (rt =3D=3D 0) { tcg_gen_movi_i64(cpu_gpr[rd], 0); - tcg_gen_movi_i64(cpu_mmr[rd], 0); + tcg_gen_movi_i64(cpu_gpr_hi[rd], 0); } else { TCGv_i64 t0 =3D tcg_temp_new(); TCGv_i64 t1 =3D tcg_temp_new(); @@ -24802,7 +24802,7 @@ static void gen_mmi_pcpyh(DisasContext *ctx) =20 tcg_gen_mov_i64(cpu_gpr[rd], t1); =20 - tcg_gen_andi_i64(t0, cpu_mmr[rt], mask); + tcg_gen_andi_i64(t0, cpu_gpr_hi[rt], mask); tcg_gen_movi_i64(t1, 0); tcg_gen_or_i64(t1, t0, t1); tcg_gen_shli_i64(t0, t0, 16); @@ -24812,7 +24812,7 @@ static void gen_mmi_pcpyh(DisasContext *ctx) tcg_gen_shli_i64(t0, t0, 16); tcg_gen_or_i64(t1, t0, t1); =20 - tcg_gen_mov_i64(cpu_mmr[rd], t1); + tcg_gen_mov_i64(cpu_gpr_hi[rd], t1); =20 tcg_temp_free(t0); tcg_temp_free(t1); @@ -24844,9 +24844,9 @@ static void gen_mmi_pcpyld(DisasContext *ctx) /* nop */ } else { if (rs =3D=3D 0) { - tcg_gen_movi_i64(cpu_mmr[rd], 0); + tcg_gen_movi_i64(cpu_gpr_hi[rd], 0); } else { - tcg_gen_mov_i64(cpu_mmr[rd], cpu_gpr[rs]); + tcg_gen_mov_i64(cpu_gpr_hi[rd], cpu_gpr[rs]); } if (rt =3D=3D 0) { tcg_gen_movi_i64(cpu_gpr[rd], 0); @@ -24885,13 +24885,13 @@ static void gen_mmi_pcpyud(DisasContext *ctx) if (rs =3D=3D 0) { tcg_gen_movi_i64(cpu_gpr[rd], 0); } else { - tcg_gen_mov_i64(cpu_gpr[rd], cpu_mmr[rs]); + tcg_gen_mov_i64(cpu_gpr[rd], cpu_gpr_hi[rs]); } if (rt =3D=3D 0) { - tcg_gen_movi_i64(cpu_mmr[rd], 0); + tcg_gen_movi_i64(cpu_gpr_hi[rd], 0); } else { if (rd !=3D rt) { - tcg_gen_mov_i64(cpu_mmr[rd], cpu_mmr[rt]); + tcg_gen_mov_i64(cpu_gpr_hi[rd], cpu_gpr_hi[rt]); } } } @@ -29285,6 +29285,16 @@ void mips_tcg_init(void) offsetof(CPUMIPSState, active_tc.gpr[i]), regnames[i]); +#if defined(TARGET_MIPS64) + cpu_gpr_hi[0] =3D NULL; + + for (unsigned i =3D 1; i < 32; i++) { + cpu_gpr_hi[i] =3D tcg_global_mem_new_i64(cpu_env, + offsetof(CPUMIPSState, + active_tc.gpr_hi[i= ]), + regnames[i]); + } +#endif /* !TARGET_MIPS64 */ for (i =3D 0; i < 32; i++) { int off =3D offsetof(CPUMIPSState, active_fpu.fpr[i].wr.d[0]); =20 @@ -29323,16 +29333,6 @@ void mips_tcg_init(void) cpu_llval =3D tcg_global_mem_new(cpu_env, offsetof(CPUMIPSState, llval= ), "llval"); =20 -#if defined(TARGET_MIPS64) - cpu_mmr[0] =3D NULL; - for (i =3D 1; i < 32; i++) { - cpu_mmr[i] =3D tcg_global_mem_new_i64(cpu_env, - offsetof(CPUMIPSState, - active_tc.mmr[i]), - regnames[i]); - } -#endif - #if !defined(TARGET_MIPS64) for (i =3D 0; i < NUMBER_OF_MXU_REGISTERS - 1; i++) { mxu_gpr[i] =3D tcg_global_mem_new(cpu_env, @@ -29344,7 +29344,7 @@ void mips_tcg_init(void) mxu_CR =3D tcg_global_mem_new(cpu_env, offsetof(CPUMIPSState, active_tc.mxu_cr), mxuregnames[NUMBER_OF_MXU_REGISTERS - 1]); -#endif +#endif /* !TARGET_MIPS64 */ } =20 void restore_state_to_opc(CPUMIPSState *env, TranslationBlock *tb, --=20 2.26.2 From nobody Tue Nov 18 22:49:06 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.50 as permitted sender) client-ip=209.85.128.50; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f50.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.50 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613326320; cv=none; d=zohomail.com; s=zohoarc; b=JspKu0dnDwkuhbREHnbDlcS2d5ebLjhJCOT0gN/WWd2l6RgyvA/ArSLSvV0sVo2fp98jOEue1txA/Uzi7hSLIUcvE1jAgB87FIgHfR8q9qjbJc9LrUTi/9+HYYJ+3PYCrbY5nZg1F3gjMFL53GDHxaTR2Aw/UsrnjgByrwptxfE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613326320; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Q6CNX5Kr5ou+lQ+Lg6GCrWhdQH/cff3hYwGEFQXfNvI=; b=Y+eYLJS8+n579MIGtxfNCxEpis/hlCtwpmM7zw+d7PdxwIDIwxGKI0dDvr5dWcw14fexgSOo+HTUlPsrQYHrfPzQg1aKRa3jXEVnr+giidEKuZURmxnyP2bA2oV0dRcEMPY4a+klk1n76EBQNOaDjyq8A0taqDBpQPQO8wDz2pA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.50 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) by mx.zohomail.com with SMTPS id 1613326320864181.73725983864347; Sun, 14 Feb 2021 10:12:00 -0800 (PST) Received: by mail-wm1-f50.google.com with SMTP id r5so985923wmp.1 for ; Sun, 14 Feb 2021 10:12:00 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id m13sm1444951wmc.22.2021.02.14.09.59.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 09:59:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Q6CNX5Kr5ou+lQ+Lg6GCrWhdQH/cff3hYwGEFQXfNvI=; b=nK7n1LV4o5dnc6aV9bEfLTmWJmi9aMEJi0UmjXjoiD/wkazzyIni6SShSN+SBwYJKR JIKMN/nyUYtUI3EvolYX2dwLv1kgpUgVMjyhJRoINFvYGUZaRyhD2HOnhAfDJ6UUZxmy /H8lD240iw9XanU4frF8ejf3Kut0ccpyz25wx5F7zUMDwtQgqt2xEKPTUSk/ZJ1rmrSG cVAntk2kt6DQxW19P8txK7V1bTfWP8AvKAobKFgc4eLFBvXP+vdv8C8rQyaOcdqH2OrM rqORGZS8cjzZabMPqsFREakeFx2BDMxQtpNQh0uFGYfNjAMgX2T9ONUgOhD2xPiPAn7v 7YkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=Q6CNX5Kr5ou+lQ+Lg6GCrWhdQH/cff3hYwGEFQXfNvI=; b=g/IvG7KSO/+38qIWEhtRKQO0Heim/9uYFH+iXZzf5PYoSTq2Hkcx1q1Wkyo2wpc9pd aO11ACTStnwKuPImVYfdbRl4qhOI/iU3AuLouDR4brtVDhGT6PxYnSRdAP10IH7BnYD3 GQ+pVuuVPqsiJ7PU6Rmr3FItTz+K71L3ROHA2Dn0po5YcJx0vU82DOvdn7ppWpsgnuFT wx3I80RaWkusUVXcpdwe0AeAP0RoIsfT9V+ORioqDPeJQoerZDcMMgszUaTxaM9CAa4E 0OczoFWv5j7TyDtj/WoSNuZ3tLy9sxn+bpg8yUQtO8tEL5iyZ6rm6DehqvTh4A86Rgy6 IiaQ== X-Gm-Message-State: AOAM530bMSBHHf4EAlYyzlCPHhpGbCeFgUb3EO19k1cxk7S9CSRUX6Jl 7zwR0PHzGzP0JvTIeKUBkPGBS3KdgJw= X-Google-Smtp-Source: ABdhPJzCq/Iylo8j8O/9rAR4Fz8/p1HWglFZgdnXrBkMMzZFq6Vu39S9adpEG0GJ22oWqrQ27xMbHw== X-Received: by 2002:a1c:770e:: with SMTP id t14mr11386933wmi.45.1613325580751; Sun, 14 Feb 2021 09:59:40 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo Subject: [RFC PATCH 05/42] target/mips: Rename 128-bit upper halve GPR registers Date: Sun, 14 Feb 2021 18:58:35 +0100 Message-Id: <20210214175912.732946-6-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) TCG displays the upper halve registers with the same name as their lower halves. Rename the upper halves with the '[hi]' suffix. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/mips/translate.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/target/mips/translate.c b/target/mips/translate.c index ab9b0999c93..9c034c934d5 100644 --- a/target/mips/translate.c +++ b/target/mips/translate.c @@ -29289,10 +29289,12 @@ void mips_tcg_init(void) cpu_gpr_hi[0] =3D NULL; =20 for (unsigned i =3D 1; i < 32; i++) { + g_autofree char *rname =3D g_strdup_printf("%s[hi]", regnames[i]); + cpu_gpr_hi[i] =3D tcg_global_mem_new_i64(cpu_env, offsetof(CPUMIPSState, active_tc.gpr_hi[i= ]), - regnames[i]); + rname); } #endif /* !TARGET_MIPS64 */ for (i =3D 0; i < 32; i++) { --=20 2.26.2 From nobody Tue Nov 18 22:49:06 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.51 as permitted sender) client-ip=209.85.128.51; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f51.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.51 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613327968; cv=none; d=zohomail.com; s=zohoarc; b=ejQyYKNOh51jORTFEGBJs69qjcNCw5Uda3T3t0fbjpdrmBeVECcNchx3xA4ZR3HgR78EjzgOlRqsam68RWWM5D74X51iCnjQirPpAWAgHdqxNDGmyS21beOZVXpZ7aMHe1KYgjbkZsmJrf46v4YT1R+vYMeGQM0/AD9AlrqIiOY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613327968; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=5iC/ffrrmyVLY0EDOJ/UkLv4vuk3u7VA9Ue4o0gxHXk=; b=Oyfjjx47xLTXJxaedJ+GcrhxtM81i3Dmp3OEg7jpaIvfdT2yYaTGFILgW80ymGYOgXEAhOMCvqiXtJBN0BhEqQtf7unzvGPuCk6xN8o/U82czpSpyf6p20NYAWzAMwxgy4R6q/ZHpORW35flxLQnGH1INTIJ8CJlc3RomDWgEC0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.51 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) by mx.zohomail.com with SMTPS id 1613327968070408.50663709308594; Sun, 14 Feb 2021 10:39:28 -0800 (PST) Received: by mail-wm1-f51.google.com with SMTP id a16so3406973wmm.0 for ; Sun, 14 Feb 2021 10:39:27 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id t6sm11181283wrn.96.2021.02.14.09.59.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 09:59:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=5iC/ffrrmyVLY0EDOJ/UkLv4vuk3u7VA9Ue4o0gxHXk=; b=k/nhZ3n6V9zl28eL4Q0Nf+yLWMsIrqEBA5Oi34wtYHKKL9aLrnj2kcY21H4QjoOLnx 6507KeP4q6mIMTZDLVrkcSTGJFl7d3DDDTnhjsMpudoxw9ASnpL4dL8y7IT4ox/lNeUE wbfsEWB6DEJM4zjrL/4XlA2hIwY41ezdpkHCTQXOufaJDeK4YXQeG7VxpnCTPfwpF4sm NiWmrW2kgCdooH0luTbAEyk46Z0OWK45nGNwTqzcejizVKIBn8GvMIO5Usc1QxKDF1q/ Phdmi9Khz5VBJ06s2z4i9cFhO2bR6oYoXPr3AY6cc6iKHgy5/BqicHc+NFlLyQe+huVc ki1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=5iC/ffrrmyVLY0EDOJ/UkLv4vuk3u7VA9Ue4o0gxHXk=; b=ZqRb8cHJpBA8R6fj4hlHESXu/0jAj+4UYGvhV1MZZSIBPZOTOJcgYt3XCo4c2TreoG FtX2OAdcqmh6mh6H0YMHINV+UZrN5aTSngezvrGFJvNx7xnLgkeZT3Chdcida1kf8lyB up1GUpc9SXafbwCwfld4mkkaIlXQNdnkuzw6ffuf3wjfpAuyepHTnF9hYd8GeFW+dW1f Fl62nRNnu9zBaMg8cCjfsibi7ZsWlYZzCe0JEL4YlcT/s+g6ngasBwZzeLr+yoanOKe1 itDHLvruhh/SIqAf+6zcWGxoyAq2v8GI9C/fhS5ZxhuLV/ASl8jGu2QwidyDESVjxpUj aHow== X-Gm-Message-State: AOAM530Bdpy8GoWWOXlbXf3v2UHOeMHnVFXSOamBXlm373W2iZC7hTkF el7FfeG0/JMjMmi2g+YdeqF83aCsgcc= X-Google-Smtp-Source: ABdhPJwx2RJ8pNLUw5R+K15D7lp+2uBOVt4SUUpS1JOihS6n9apVrMTK2I8G3/X3bgV7mFCWObYYGw== X-Received: by 2002:a7b:c5cc:: with SMTP id n12mr10929618wmk.123.1613325585575; Sun, 14 Feb 2021 09:59:45 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo Subject: [RFC PATCH 06/42] target/mips: Introduce gen_load_gpr_hi() / gen_store_gpr_hi() helpers Date: Sun, 14 Feb 2021 18:58:36 +0100 Message-Id: <20210214175912.732946-7-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/mips/translate.h | 4 ++++ target/mips/translate.c | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/target/mips/translate.h b/target/mips/translate.h index 3014c20cadb..468e29d7578 100644 --- a/target/mips/translate.h +++ b/target/mips/translate.h @@ -131,6 +131,10 @@ void gen_move_low32(TCGv ret, TCGv_i64 arg); void gen_move_high32(TCGv ret, TCGv_i64 arg); void gen_load_gpr(TCGv t, int reg); void gen_store_gpr(TCGv t, int reg); +#if defined(TARGET_MIPS64) +void gen_load_gpr_hi(TCGv_i64 t, int reg); +void gen_store_gpr_hi(TCGv_i64 t, int reg); +#endif /* TARGET_MIPS64 */ void gen_load_fpr32(DisasContext *ctx, TCGv_i32 t, int reg); void gen_load_fpr64(DisasContext *ctx, TCGv_i64 t, int reg); void gen_store_fpr32(DisasContext *ctx, TCGv_i32 t, int reg); diff --git a/target/mips/translate.c b/target/mips/translate.c index 9c034c934d5..16a731d3f37 100644 --- a/target/mips/translate.c +++ b/target/mips/translate.c @@ -2291,6 +2291,24 @@ void gen_store_gpr(TCGv t, int reg) } } =20 +#if defined(TARGET_MIPS64) +void gen_load_gpr_hi(TCGv_i64 t, int reg) +{ + if (reg =3D=3D 0) { + tcg_gen_movi_i64(t, 0); + } else { + tcg_gen_mov_i64(t, cpu_gpr_hi[reg]); + } +} + +void gen_store_gpr_hi(TCGv_i64 t, int reg) +{ + if (reg !=3D 0) { + tcg_gen_mov_i64(cpu_gpr_hi[reg], t); + } +} +#endif /* TARGET_MIPS64 */ + /* Moves to/from shadow registers. */ static inline void gen_load_srsgpr(int from, int to) { --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.51 as permitted sender) client-ip=209.85.221.51; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f51.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.51 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613325591; cv=none; d=zohomail.com; s=zohoarc; b=PbkS+KlmZTFV8Gt9wVtQjBF29LyeHgXIbCoqHmEqMVFMI0Cr8BW/COeu7pt3C0uL5zKXATpVS+1ZoAvbfRkeUGX2aimLiBB1ZwaSPQumHPqrQoY0NqWkGwu4zT/R7bI/a283eEZjVjf5SrqiBTONnKdnAzAkRUdm5sjO7KWx4AI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613325591; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=FVN4+88EUUq6gz1CpRu7+tWI7TBZoJBeRwTCH0aFxfc=; b=Q+Qfi0SBJvEiSTDU7HtOJzMlPpa9kAuPdhIcOErMWdjR3uQ9rEIWaQNnkadBk2lDVVdHAttWB9U7+Oiab045sxzGDsk8QSHE61R3tcFw6YpHyPJH/qSuYCAA+nyQ4fjJebm/S4szvzrq+QI9Z2R04K/QBjnjsozvii7/iXKoxAg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.51 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com [209.85.221.51]) by mx.zohomail.com with SMTPS id 161332559167854.57414908934072; Sun, 14 Feb 2021 09:59:51 -0800 (PST) Received: by mail-wr1-f51.google.com with SMTP id v7so6058785wrr.12 for ; Sun, 14 Feb 2021 09:59:51 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id w25sm21512304wmc.42.2021.02.14.09.59.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 09:59:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=FVN4+88EUUq6gz1CpRu7+tWI7TBZoJBeRwTCH0aFxfc=; b=IV0wOnXbhtXN9wmDQFvxjVGIW+1egUvcoEI0HAfHqgL2nYS7szCXUDbVwgGXW93qGQ qVIweTOZQEKWEqjuqNZuko0cdsqp02gyV+2y38KBDvIkvdNS0gY91bLBlTzSLWSP4ma3 0When7iYLKwO38sBa+pny/hegFWoK4LrkxvxXrVgtm9Zm0RFZ1/9ifyG8WqO0D7Kn7gc Pg8CXEDBq7Rv+45rMw2BcObGHFjNgZ+JhjKP84gXxrqUf6gCHYacG40JTj48o15Pw+0m 2KPwYhmk/DUp9m/a1nYo4nSwrrmbklyT1vjuzPFkB1NLB11fUzadBi2XxL1yEdRkwTnM z8oA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=FVN4+88EUUq6gz1CpRu7+tWI7TBZoJBeRwTCH0aFxfc=; b=jZuojGKu/h9VIcxiiqBe13jPF/pAGtHQcUXPzyask9Kw0g9Z6MI2cTkXQkOQYxO4AX xdmhTghnGUD/THeTt79C4tcmeP+cvczD70o04PmQP9A7IPEZmejcBgwOIsrGQw2vkM2l c/xIZTMuMJqwQrAHYVphzeJ4KIxOG/vI38MusWr8CWiOU5yKkOmjg/kTn8LI29mKx1OU ZxhlRKuzDtt9YPn7ER660wSJ2Mqy46ldS5ZVlaLze1qAXHRje/Fvnm9CniijxubJzI5X MwBo22dFLPoTJ3nfdr5VXnKZaEU1mIwJJszFLPCp2t37NUBQVZXVhyEtyDNUkGhJAkP0 mvBQ== X-Gm-Message-State: AOAM532r++O1tlRUdzINqqFcH/2hMJxl7TOxKh4ymBAIBMs8F9FUot2z 18BaiQ6lV/rxSgglKdlaPJI= X-Google-Smtp-Source: ABdhPJz+iPc05i5t1XeIgBuCg9r18QCLHyEa4/B8EeLJUtIFR3GbWEPIbAJNxq+c/prFA49XpXRcLQ== X-Received: by 2002:adf:97d3:: with SMTP id t19mr15482042wrb.164.1613325590282; Sun, 14 Feb 2021 09:59:50 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo Subject: [RFC PATCH 07/42] target/mips/translate: Use GPR move functions in gen_HILO1_tx79() Date: Sun, 14 Feb 2021 18:58:37 +0100 Message-Id: <20210214175912.732946-8-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) We have handy functions to access GPR. Use gen_store_gpr() for Move From HI/LO Register and gen_load_gpr() for Move To opcodes. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/mips/translate.c | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/target/mips/translate.c b/target/mips/translate.c index 16a731d3f37..a2994eb0aa6 100644 --- a/target/mips/translate.c +++ b/target/mips/translate.c @@ -4126,31 +4126,18 @@ static void gen_shift(DisasContext *ctx, uint32_t o= pc, /* Copy GPR to and from TX79 HI1/LO1 register. */ static void gen_HILO1_tx79(DisasContext *ctx, uint32_t opc, int reg) { - if (reg =3D=3D 0 && (opc =3D=3D MMI_OPC_MFHI1 || opc =3D=3D MMI_OPC_MF= LO1)) { - /* Treat as NOP. */ - return; - } - switch (opc) { case MMI_OPC_MFHI1: - tcg_gen_mov_tl(cpu_gpr[reg], cpu_HI[1]); + gen_store_gpr(cpu_HI[1], reg); break; case MMI_OPC_MFLO1: - tcg_gen_mov_tl(cpu_gpr[reg], cpu_LO[1]); + gen_store_gpr(cpu_LO[1], reg); break; case MMI_OPC_MTHI1: - if (reg !=3D 0) { - tcg_gen_mov_tl(cpu_HI[1], cpu_gpr[reg]); - } else { - tcg_gen_movi_tl(cpu_HI[1], 0); - } + gen_load_gpr(cpu_HI[1], reg); break; case MMI_OPC_MTLO1: - if (reg !=3D 0) { - tcg_gen_mov_tl(cpu_LO[1], cpu_gpr[reg]); - } else { - tcg_gen_movi_tl(cpu_LO[1], 0); - } + gen_load_gpr(cpu_LO[1], reg); break; default: MIPS_INVAL("mfthilo1 TX79"); --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.54 as permitted sender) client-ip=209.85.221.54; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f54.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.54 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613325596; cv=none; d=zohomail.com; s=zohoarc; b=g8D4Ewk7AOduILBn43issaOWkK16EQlxwBigKF7GW0+P/t/o3Dnsqn3WMbZFRAcmEH6uw9muuTv9XRecBWI6rUTblLvHR7HmmbNObahePOerT7nRpeIj/ZtWbOpIdyFrcG11h1VPtj4gcuKbDZTSFX4Izzl/PrZsYcqUwhjxu4I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613325596; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=vZITEFgnUYwtQ6EJ1PixPBWXKAXmo7nnSQHi00WvakQ=; b=Qjy97p1IVq6mRh7upN2F+g5URrutjB8srQTgfbIHq3dfDE9V5rXPy7XvNwh3VNUtBtliyYDFNf8C9Y1P80hO+OCAlQzyFd2NZjC+GWLMRgROlKe/nlR+6c42n8/x+ckyM934ArpQahjHfYfg05BNsNx7Hq/4lXJDy6MuhvvI+3A= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.54 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f54.google.com (mail-wr1-f54.google.com [209.85.221.54]) by mx.zohomail.com with SMTPS id 161332559647854.42184578910485; Sun, 14 Feb 2021 09:59:56 -0800 (PST) Received: by mail-wr1-f54.google.com with SMTP id v1so6103203wrd.6 for ; Sun, 14 Feb 2021 09:59:56 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id 101sm10400133wrk.4.2021.02.14.09.59.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 09:59:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=vZITEFgnUYwtQ6EJ1PixPBWXKAXmo7nnSQHi00WvakQ=; b=vQsBjiW7CRjK08z7P4rllTClsVDtXur9JOMQnpdrS8/dObG3aQkq2IO2DQJFSlgObO 7f3/9kR7IQ/pr/eCJqR2l/ZeQPrOsaYZEDjoZEXk62KsJVERORHvnfF7i+UGk10FswAe BTgeDX3ZGB6E75oqaOZX6bzpxtu38eAl+SOpHZkv9Hmv5mJPbFfKqCBAwttStmX7xXBZ 793BGfLqZzaipo97u2VTnZCIXdkEqZbsWSnoBkxRhmrm2+hmAtVp6tO22icncD2ZuKZu YXY7/BhyboZySaOU1Uhbs6XPyTt7BpvorQa+zza1yytKZH/XPoDPsMdJT26NKA7Z/zfG mfBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=vZITEFgnUYwtQ6EJ1PixPBWXKAXmo7nnSQHi00WvakQ=; b=Sobh7iW4SNgh5eiUs0WpBpNOqDSaZ6adiXAGWIFhnGNZTAKB4oZJlsNgZR4Ru6RLQv EfV9AF/36GH5cmdoK0mUNw1mWt5lVG0UfmmkPJTw3O8f54bovVV4mpBZ7LIoCtJhV+vZ RCiGnPm0dMVUB9zgJY4sWK4yLSChR+DboH81KJhXMmFDh3l94CRnk10glTloHkUmIVWy 5QKwg/eV2PfNYNh1ixONVJyyaDqGJuIJG17NKORYLfTI3dr50qf40CHB5x91G6RP7fNs DBnwP/9Naaa9heul9jTnrWtaAzEDXkt1n9TTAOC4PL8xs8kaD3WC29SbkCAkBJPzWP3B Yfvw== X-Gm-Message-State: AOAM532XJjhwVdoUHWr6MR3Zlx6YUHxa1dEI5HPKD81Bo9khJkLdB+hz 3wmVpvb8Kx9yoPEbkYJJ1nI= X-Google-Smtp-Source: ABdhPJzcI3vEpDgj2pJIZnb/xr/hgIApmWNL51uOLWyRGLP6qnLPiYxpSmTf550rCD+YsLqQbqghCg== X-Received: by 2002:adf:80c3:: with SMTP id 61mr14818227wrl.100.1613325595054; Sun, 14 Feb 2021 09:59:55 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo Subject: [RFC PATCH 08/42] target/mips/tx79: Move MFHI1 / MFLO1 opcodes to decodetree Date: Sun, 14 Feb 2021 18:58:38 +0100 Message-Id: <20210214175912.732946-9-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Introduce decodetree structure to decode the tx79 opcodes. Start it by moving the existing MFHI1 and MFLO1 opcodes. Remove unnecessary comments. As the TX79 share opcodes with the TX19/TX39/TX49 CPUs, we introduce the decode_ext_txx9() dispatcher where we will add the other decoders later. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/mips/translate.h | 4 ++++ target/mips/tx79.decode | 25 ++++++++++++++++++++++++ target/mips/translate.c | 15 +++------------ target/mips/tx79_translate.c | 37 ++++++++++++++++++++++++++++++++++++ target/mips/txx9_translate.c | 20 +++++++++++++++++++ target/mips/meson.build | 5 +++++ 6 files changed, 94 insertions(+), 12 deletions(-) create mode 100644 target/mips/tx79.decode create mode 100644 target/mips/tx79_translate.c create mode 100644 target/mips/txx9_translate.c diff --git a/target/mips/translate.h b/target/mips/translate.h index 468e29d7578..bc91ac4f53f 100644 --- a/target/mips/translate.h +++ b/target/mips/translate.h @@ -181,5 +181,9 @@ void msa_translate_init(void); /* decodetree generated */ bool decode_isa_rel6(DisasContext *ctx, uint32_t insn); bool decode_ase_msa(DisasContext *ctx, uint32_t insn); +bool decode_ext_txx9(DisasContext *ctx, uint32_t insn); +#if defined(TARGET_MIPS64) +bool decode_ext_tx79(DisasContext *ctx, uint32_t insn); +#endif =20 #endif diff --git a/target/mips/tx79.decode b/target/mips/tx79.decode new file mode 100644 index 00000000000..2e287ebbf36 --- /dev/null +++ b/target/mips/tx79.decode @@ -0,0 +1,25 @@ +# Toshiba C790's instruction set +# +# Copyright (C) 2021 Philippe Mathieu-Daud=C3=A9 +# +# SPDX-License-Identifier: LGPL-2.1-or-later +# +# Toshiba Appendix B C790-Specific Instruction Set Details + +########################################################################### +# Named attribute sets. These are used to make nice(er) names +# when creating helpers common to those for the individual +# instruction patterns. + +&rtype rs rt rd sa + +########################################################################### +# Named instruction formats. These are generally used to +# reduce the amount of duplication between instruction patterns. + +@rd ...... .......... rd:5 ..... ...... &rtype rs=3D0 rt= =3D0 sa=3D0 + +########################################################################### + +MFHI1 011100 0000000000 ..... 00000 010000 @rd +MFLO1 011100 0000000000 ..... 00000 010010 @rd diff --git a/target/mips/translate.c b/target/mips/translate.c index a2994eb0aa6..de67e534121 100644 --- a/target/mips/translate.c +++ b/target/mips/translate.c @@ -1973,9 +1973,7 @@ enum { MMI_OPC_PLZCW =3D 0x04 | MMI_OPC_CLASS_MMI, MMI_OPC_CLASS_MMI0 =3D 0x08 | MMI_OPC_CLASS_MMI, MMI_OPC_CLASS_MMI2 =3D 0x09 | MMI_OPC_CLASS_MMI, - MMI_OPC_MFHI1 =3D 0x10 | MMI_OPC_CLASS_MMI, /* Same minor as OPC_= MFHI */ MMI_OPC_MTHI1 =3D 0x11 | MMI_OPC_CLASS_MMI, /* Same minor as OPC_= MTHI */ - MMI_OPC_MFLO1 =3D 0x12 | MMI_OPC_CLASS_MMI, /* Same minor as OPC_= MFLO */ MMI_OPC_MTLO1 =3D 0x13 | MMI_OPC_CLASS_MMI, /* Same minor as OPC_= MTLO */ MMI_OPC_MULT1 =3D 0x18 | MMI_OPC_CLASS_MMI, /* Same minor as OPC_= MULT */ MMI_OPC_MULTU1 =3D 0x19 | MMI_OPC_CLASS_MMI, /* Same min. as OPC_M= ULTU */ @@ -4127,12 +4125,6 @@ static void gen_shift(DisasContext *ctx, uint32_t op= c, static void gen_HILO1_tx79(DisasContext *ctx, uint32_t opc, int reg) { switch (opc) { - case MMI_OPC_MFHI1: - gen_store_gpr(cpu_HI[1], reg); - break; - case MMI_OPC_MFLO1: - gen_store_gpr(cpu_LO[1], reg); - break; case MMI_OPC_MTHI1: gen_load_gpr(cpu_HI[1], reg); break; @@ -28027,10 +28019,6 @@ static void decode_mmi(CPUMIPSState *env, DisasCon= text *ctx) case MMI_OPC_MTHI1: gen_HILO1_tx79(ctx, opc, rs); break; - case MMI_OPC_MFLO1: - case MMI_OPC_MFHI1: - gen_HILO1_tx79(ctx, opc, rd); - break; case MMI_OPC_PLZCW: /* TODO: MMI_OPC_PLZCW */ case MMI_OPC_PMFHL: /* TODO: MMI_OPC_PMFHL */ case MMI_OPC_PMTHL: /* TODO: MMI_OPC_PMTHL */ @@ -28997,6 +28985,9 @@ static void decode_opc(CPUMIPSState *env, DisasCont= ext *ctx) if (cpu_supports_isa(env, ISA_MIPS_R6) && decode_isa_rel6(ctx, ctx->op= code)) { return; } + if (cpu_supports_isa(env, INSN_R5900) && decode_ext_txx9(ctx, ctx->opc= ode)) { + return; + } =20 if (decode_opc_legacy(env, ctx)) { return; diff --git a/target/mips/tx79_translate.c b/target/mips/tx79_translate.c new file mode 100644 index 00000000000..22bd6033e55 --- /dev/null +++ b/target/mips/tx79_translate.c @@ -0,0 +1,37 @@ +/* + * Toshiba TX79-specific instructions translation routines + * + * Copyright (c) 2018 Fredrik Noring + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "qemu/osdep.h" +#include "tcg/tcg-op.h" +#include "exec/helper-gen.h" +#include "translate.h" + +/* Include the auto-generated decoder. */ +#include "decode-tx79.c.inc" + +bool decode_ext_tx79(DisasContext *ctx, uint32_t insn) +{ + if (TARGET_LONG_BITS =3D=3D 64 && decode_tx79(ctx, insn)) { + return true; + } + return false; +} + +static bool trans_MFHI1(DisasContext *ctx, arg_rtype *a) +{ + gen_store_gpr(cpu_HI[1], a->rd); + + return true; +} + +static bool trans_MFLO1(DisasContext *ctx, arg_rtype *a) +{ + gen_store_gpr(cpu_LO[1], a->rd); + + return true; +} diff --git a/target/mips/txx9_translate.c b/target/mips/txx9_translate.c new file mode 100644 index 00000000000..8a2c0b766bd --- /dev/null +++ b/target/mips/txx9_translate.c @@ -0,0 +1,20 @@ +/* + * Toshiba TXx9 instructions translation routines + * + * Copyright (c) 2021 Philippe Mathieu-Daud=C3=A9 + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "qemu/osdep.h" +#include "translate.h" + +bool decode_ext_txx9(DisasContext *ctx, uint32_t insn) +{ +#if defined(TARGET_MIPS64) + if (decode_ext_tx79(ctx, insn)) { + return true; + } +#endif + return false; +} diff --git a/target/mips/meson.build b/target/mips/meson.build index 9741545440c..8836978e24a 100644 --- a/target/mips/meson.build +++ b/target/mips/meson.build @@ -3,6 +3,7 @@ decodetree.process('mips64r6.decode', extra_args: '--static-decode=3Ddec= ode_mips64r6'), decodetree.process('msa32.decode', extra_args: '--static-decode=3Ddecode= _msa32'), decodetree.process('msa64.decode', extra_args: '--static-decode=3Ddecode= _msa64'), + decodetree.process('tx79.decode', extra_args: '--static-decode=3Ddecode_= tx79'), ] =20 mips_ss =3D ss.source_set() @@ -22,6 +23,10 @@ 'tlb_helper.c', 'translate.c', 'translate_addr_const.c', + 'txx9_translate.c', +)) +mips_ss.add(when: ['CONFIG_TCG', 'TARGET_MIPS64'], if_true: files( + 'tx79_translate.c', )) mips_ss.add(when: 'CONFIG_KVM', if_true: files('kvm.c')) =20 --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.46 as permitted sender) client-ip=209.85.128.46; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f46.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.46 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613325601; cv=none; d=zohomail.com; s=zohoarc; b=PZROsNLE4AMU+T62Mb0COKKOEa3fDqViMCeN7xIF1LGZEzfkjdttgr1PtwXJa4hGNlBJAuj/pRzbJFXUyeqgaiXeTr4DCDWwDmXKLQxHFkyozMRxvw4sUDyFR8mQrWAGbPXFHeSbzdHB0ELy2xGQkZq1yD63CdEVzCCtAqFlRcg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613325601; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=dZm99mVT7JaBB4xmS9yAUoqcDoFfjcDlrtAsNfxgXks=; b=GHGukCdCc1QtBz5GAtttwFsCxjdgUWPYWBjNwCDKUHBfqXEwupZIDq+BT3Fu/QFo+dt5Lfpm7Km3jZEpffZhGuz7eKRB2gwm0dtcNQvsdhqC5oIhkeyfs3XQTK498QfSIIPz6P3QQ2KPAhfOQBzeWB1FOuNR/5WLZMtifxSuWkY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.46 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) by mx.zohomail.com with SMTPS id 16133256017601011.6118299648892; Sun, 14 Feb 2021 10:00:01 -0800 (PST) Received: by mail-wm1-f46.google.com with SMTP id a16so3369877wmm.0 for ; Sun, 14 Feb 2021 10:00:00 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id i10sm26058908wrp.0.2021.02.14.09.59.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 09:59:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=dZm99mVT7JaBB4xmS9yAUoqcDoFfjcDlrtAsNfxgXks=; b=EOs5gU+venZRDc+Y5Ji64oU/91i+AyfEXfHxzxYRTVkFth6Gb63ulj1+EJzlfRwRew 6vjw/y0Mfv/caXtwnVptU9swDKBcmRkIAQJU+EmBgqqHdAWL7vvpg0ibQFDWr7So/7c8 56Fpu54yepoep54PytggYVx/WW7o7i86yfexetRHuXeMg4BYl1QrEVXdFUTBS3Oq+z2+ yZlG9/FrFZ46Pco+2GztsOMetViBFZsYGZBpVHVWUDsK7qA0736ANENavGKQ+gP2jJjJ +xYmn7YMh5s45DMF+ByzjJExFVus1ECiq1wx8zxsgCu2X+E839yMO6xtq2gEfobJavpT S/YA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=dZm99mVT7JaBB4xmS9yAUoqcDoFfjcDlrtAsNfxgXks=; b=TLGMLbSLfouPEXHnyNdZGAZoDdmFlFJrazqjVXtgExg6meCz767uSc4CppZ4pyy10/ C/iRmrYpR+yp7LCV/RVOruEOqU8jCwSsrJpZXAgELoBirlzVF6TBOCsLszS0qdBt3I03 CJJxA3pyd/0RG8LucL9eYRIPOBsjyhSHLRwspy0hGF5PwL+cyU6e+9nzUZPxgtN8gfC5 NzG2KNxJ0yOWdBev3h4F1Ztsh5zz3W1TxKv/+cYSP3SMhnS3mUR7ySnwssl3SUV3sM94 ppSeYTQWbPhN9KhU1dCzxh0+JgyiQX00h1bIud6SICuauZuJcyAY8BezrURt3F0qrjd1 6iXQ== X-Gm-Message-State: AOAM530zzKUBjTnr7diwFk4iYENXhYIalMgC8AyFNYjmlAhOXjKvXfHS TdXEwLEfnlLr5qu9QTFqiic= X-Google-Smtp-Source: ABdhPJxmuFHPLGe36k0Juo0vfNG5z5uuyMK+VRxu04t9ay3yeutSCg0/M864BbODVn39s2yMfX4CFg== X-Received: by 2002:a1c:bd84:: with SMTP id n126mr10550692wmf.173.1613325599959; Sun, 14 Feb 2021 09:59:59 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo Subject: [RFC PATCH 09/42] target/mips/tx79: Move MTHI1 / MTLO1 opcodes to decodetree Date: Sun, 14 Feb 2021 18:58:39 +0100 Message-Id: <20210214175912.732946-10-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/mips/tx79.decode | 3 +++ target/mips/translate.c | 25 ------------------------- target/mips/tx79_translate.c | 14 ++++++++++++++ 3 files changed, 17 insertions(+), 25 deletions(-) diff --git a/target/mips/tx79.decode b/target/mips/tx79.decode index 2e287ebbf36..30737da54e4 100644 --- a/target/mips/tx79.decode +++ b/target/mips/tx79.decode @@ -17,9 +17,12 @@ # Named instruction formats. These are generally used to # reduce the amount of duplication between instruction patterns. =20 +@rs ...... rs:5 ..... .......... ...... &rtype rt=3D0 rd= =3D0 sa=3D0 @rd ...... .......... rd:5 ..... ...... &rtype rs=3D0 rt= =3D0 sa=3D0 =20 ########################################################################### =20 MFHI1 011100 0000000000 ..... 00000 010000 @rd +MTHI1 011100 ..... 0000000000 00000 010001 @rs MFLO1 011100 0000000000 ..... 00000 010010 @rd +MTLO1 011100 ..... 0000000000 00000 010011 @rs diff --git a/target/mips/translate.c b/target/mips/translate.c index de67e534121..7bd951d3a06 100644 --- a/target/mips/translate.c +++ b/target/mips/translate.c @@ -1973,8 +1973,6 @@ enum { MMI_OPC_PLZCW =3D 0x04 | MMI_OPC_CLASS_MMI, MMI_OPC_CLASS_MMI0 =3D 0x08 | MMI_OPC_CLASS_MMI, MMI_OPC_CLASS_MMI2 =3D 0x09 | MMI_OPC_CLASS_MMI, - MMI_OPC_MTHI1 =3D 0x11 | MMI_OPC_CLASS_MMI, /* Same minor as OPC_= MTHI */ - MMI_OPC_MTLO1 =3D 0x13 | MMI_OPC_CLASS_MMI, /* Same minor as OPC_= MTLO */ MMI_OPC_MULT1 =3D 0x18 | MMI_OPC_CLASS_MMI, /* Same minor as OPC_= MULT */ MMI_OPC_MULTU1 =3D 0x19 | MMI_OPC_CLASS_MMI, /* Same min. as OPC_M= ULTU */ MMI_OPC_DIV1 =3D 0x1A | MMI_OPC_CLASS_MMI, /* Same minor as OPC_= DIV */ @@ -4120,25 +4118,6 @@ static void gen_shift(DisasContext *ctx, uint32_t op= c, tcg_temp_free(t1); } =20 -#if defined(TARGET_MIPS64) -/* Copy GPR to and from TX79 HI1/LO1 register. */ -static void gen_HILO1_tx79(DisasContext *ctx, uint32_t opc, int reg) -{ - switch (opc) { - case MMI_OPC_MTHI1: - gen_load_gpr(cpu_HI[1], reg); - break; - case MMI_OPC_MTLO1: - gen_load_gpr(cpu_LO[1], reg); - break; - default: - MIPS_INVAL("mfthilo1 TX79"); - gen_reserved_instruction(ctx); - break; - } -} -#endif - /* Arithmetic on HI/LO registers */ static void gen_HILO(DisasContext *ctx, uint32_t opc, int acc, int reg) { @@ -28015,10 +27994,6 @@ static void decode_mmi(CPUMIPSState *env, DisasCon= text *ctx) case MMI_OPC_DIVU1: gen_div1_tx79(ctx, opc, rs, rt); break; - case MMI_OPC_MTLO1: - case MMI_OPC_MTHI1: - gen_HILO1_tx79(ctx, opc, rs); - break; case MMI_OPC_PLZCW: /* TODO: MMI_OPC_PLZCW */ case MMI_OPC_PMFHL: /* TODO: MMI_OPC_PMFHL */ case MMI_OPC_PMTHL: /* TODO: MMI_OPC_PMTHL */ diff --git a/target/mips/tx79_translate.c b/target/mips/tx79_translate.c index 22bd6033e55..905245cece7 100644 --- a/target/mips/tx79_translate.c +++ b/target/mips/tx79_translate.c @@ -35,3 +35,17 @@ static bool trans_MFLO1(DisasContext *ctx, arg_rtype *a) =20 return true; } + +static bool trans_MTHI1(DisasContext *ctx, arg_rtype *a) +{ + gen_load_gpr(cpu_HI[1], a->rs); + + return true; +} + +static bool trans_MTLO1(DisasContext *ctx, arg_rtype *a) +{ + gen_load_gpr(cpu_LO[1], a->rs); + + return true; +} --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.54 as permitted sender) client-ip=209.85.221.54; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f54.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.54 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613326586; cv=none; d=zohomail.com; s=zohoarc; b=NF9JBO0aExjcMZRe+mBQpnFuQIkmMWaixx5g7xT/ZhX4FuyFMH2oJokhMrRteme3Ww3jUfRzeb6d2emQLLMzdknM2vb59neAnOyMpBV6y1CQulXu5Wd2FDhjqQWhKb0V3AMRpwX9YyM1RlWqRlimKnSn0JewT5Jip74mtq1MZow= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613326586; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=B0DaUMvL1uZYp8k8aX0o70HkV8YrP4Nv25QeZd+p2wA=; b=HE3DJz0fkH+CrFzC15fhBPdmNjFXrCMeBQXVwguQyQozUM07+tWNNZ0KvyCXKQKolac0LRvTyHChaaMPJ3Mos6g9TmwyrIti9JX8RQJ5HaRw9v9iT2wtrBNvi5qdV6eQSycthn1ZK+a2HatPgMmd9uSxpYTSOmM0WZZX39yse2o= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.54 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f54.google.com (mail-wr1-f54.google.com [209.85.221.54]) by mx.zohomail.com with SMTPS id 1613326586337229.20667444551168; Sun, 14 Feb 2021 10:16:26 -0800 (PST) Received: by mail-wr1-f54.google.com with SMTP id u14so6179189wri.3 for ; Sun, 14 Feb 2021 10:16:25 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id a84sm22132594wme.12.2021.02.14.10.00.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 10:00:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=B0DaUMvL1uZYp8k8aX0o70HkV8YrP4Nv25QeZd+p2wA=; b=NMP2fgy1zjpPgtT84U9cilEVBeTtfg4NO5OmhyLEhNtpDGl09f9zzmWgNi0jZYxcme R0ra/+9zGaBwqU4I7AY7KMJ/eJTQZVVigaaZH6N5VrSuHUqHtO2i6k5UdBCmPideHxDq XnS7Lza/hHkESqnbxyJOY4vr/fV3z+xdLHIOceVbVWpnxke9/aQYTH+j8Rn+LmO4I4Fa UH3vRyMmFguiWui+v3+muAX//gWHhL/9fu4enapQmdsWG2Ynowpdj6kh7/BiUP70234O PQ4QpvGT5jyb9Z9ed1zdQsBF9Rze9b//MGhWI4GT6QipyAlsXsZcv3A8ZHEO2V45kBhy MQXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=B0DaUMvL1uZYp8k8aX0o70HkV8YrP4Nv25QeZd+p2wA=; b=kR7NWEbbJLvDFYhd3wxHfAvUt5H1zvWdsJwQpJlM0iJdWzcC5DgeY8/0q6vO9XAHq/ LlPKHzOCk9iZRh2lJG5+9AH4rcF9SoYCjGrxghyKmK4UzZmulKjCzG/h5XeBGvwaTXyq SJ3+TQUgUv7MRkG2byVRY/KIHmoT1/5sMe6Rtb6of3bP5UZNF9S4Dr37Q3QLMbwrxrEo eU3+zN1D+6SUHD/ttDLj6GIB684Ou1yijPGjBbNSTcYVL1eYVxKv2DaSDzuwyyslB5ZY xbihxa920z+K60MEkmgPPZng4JPI0US+jetwTvxfWQMll03mOlrBGM7bZm/2WW3OfgCi FQnA== X-Gm-Message-State: AOAM532h3CnXy0H5FJVzy0/ZA4MEWsJMxotW21ypAhdgQA2WGzykvNdr A+eh0GvbeAkkD9pmBisudwgG//f6+O8= X-Google-Smtp-Source: ABdhPJwlYjc3Gc0XII8yBOWF5dRbtptdBthLb3L4LfZNQ8DpeJXFBYBYZAqehyU8eJ2FCsaUTLXPGw== X-Received: by 2002:a5d:6803:: with SMTP id w3mr8952777wru.300.1613325605050; Sun, 14 Feb 2021 10:00:05 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo Subject: [RFC PATCH 10/42] target/mips/translate: Simplify PCPYH using deposit_i64() Date: Sun, 14 Feb 2021 18:58:40 +0100 Message-Id: <20210214175912.732946-11-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Simplify the PCPYH (Parallel Copy Halfword) instruction by using multiple calls to deposit_i64() which can be optimized by some TCG backends. Suggested-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- v3: Use missing rt, optimize (Richard) --- target/mips/translate.c | 34 ++++------------------------------ 1 file changed, 4 insertions(+), 30 deletions(-) diff --git a/target/mips/translate.c b/target/mips/translate.c index 7bd951d3a06..a13ad4959b4 100644 --- a/target/mips/translate.c +++ b/target/mips/translate.c @@ -24762,36 +24762,10 @@ static void gen_mmi_pcpyh(DisasContext *ctx) tcg_gen_movi_i64(cpu_gpr[rd], 0); tcg_gen_movi_i64(cpu_gpr_hi[rd], 0); } else { - TCGv_i64 t0 =3D tcg_temp_new(); - TCGv_i64 t1 =3D tcg_temp_new(); - uint64_t mask =3D (1ULL << 16) - 1; - - tcg_gen_andi_i64(t0, cpu_gpr[rt], mask); - tcg_gen_movi_i64(t1, 0); - tcg_gen_or_i64(t1, t0, t1); - tcg_gen_shli_i64(t0, t0, 16); - tcg_gen_or_i64(t1, t0, t1); - tcg_gen_shli_i64(t0, t0, 16); - tcg_gen_or_i64(t1, t0, t1); - tcg_gen_shli_i64(t0, t0, 16); - tcg_gen_or_i64(t1, t0, t1); - - tcg_gen_mov_i64(cpu_gpr[rd], t1); - - tcg_gen_andi_i64(t0, cpu_gpr_hi[rt], mask); - tcg_gen_movi_i64(t1, 0); - tcg_gen_or_i64(t1, t0, t1); - tcg_gen_shli_i64(t0, t0, 16); - tcg_gen_or_i64(t1, t0, t1); - tcg_gen_shli_i64(t0, t0, 16); - tcg_gen_or_i64(t1, t0, t1); - tcg_gen_shli_i64(t0, t0, 16); - tcg_gen_or_i64(t1, t0, t1); - - tcg_gen_mov_i64(cpu_gpr_hi[rd], t1); - - tcg_temp_free(t0); - tcg_temp_free(t1); + tcg_gen_deposit_i64(cpu_gpr[rd], cpu_gpr[rt], cpu_gpr[rt], 16, 16); + tcg_gen_deposit_i64(cpu_gpr[rd], cpu_gpr[rd], cpu_gpr[rd], 32, 32); + tcg_gen_deposit_i64(cpu_gpr_hi[rd], cpu_gpr_hi[rt], cpu_gpr_hi[rt]= , 16, 16); + tcg_gen_deposit_i64(cpu_gpr_hi[rd], cpu_gpr_hi[rd], cpu_gpr_hi[rd]= , 32, 32); } } =20 --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.45 as permitted sender) client-ip=209.85.221.45; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f45.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.45 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613325611; cv=none; d=zohomail.com; s=zohoarc; b=nmrquPvJner/RA+cBfK0ZYjvhimR6MrXzCcG52ijpd1JLz4wDS63POfjfF50nF814GTYyl+tGQe7L9/kGp3L7xrK3yxigoSRbUWHnM9BtfemPPzh4U3yKtYLuJbBQdbIEcIUOvSljpg5e6a7f6q6hQykFYZjyN5yLAjRaf917sw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613325611; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Sk3H3tNjhYyZizn2BRPOZozRHHD0lIYvG7jQLlgzeOg=; b=gLfAzC/rxQ1tqvym+ABp2yo/eAKsj84H4eXzT0ptgWRa+bA4XsWKlmpEblcNJwIysyMvHpMf/1JExHEazyipiVhL9pltu/0vBzd+azs/w7vM+oA+WgspT/ByAgWgZ1lnjFlAlRI5qMOud++a9PB+5v60TP6It+NdTVRHVo6+bmM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.45 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f45.google.com (mail-wr1-f45.google.com [209.85.221.45]) by mx.zohomail.com with SMTPS id 1613325611265701.7426059756614; Sun, 14 Feb 2021 10:00:11 -0800 (PST) Received: by mail-wr1-f45.google.com with SMTP id n6so6080907wrv.8 for ; Sun, 14 Feb 2021 10:00:10 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id v204sm22373706wmg.38.2021.02.14.10.00.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 10:00:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Sk3H3tNjhYyZizn2BRPOZozRHHD0lIYvG7jQLlgzeOg=; b=sZGGuxfxbZKnJuPZP0iFDEGUF5EsKNwnm/rV9BLxoknXRHtFgT5oHWLXbhxF1G46AJ UoE81BZL3TqeU1h1ZzKVkqlLUrywX920WTZ+uRE4T6zxdEIsSH9TtZumAbF3s9JIt4qv 1TnRGDW2yvTBJPSZa/E2FWq5Xe3mRfPk4hdv8WLUmi+I/OxjMGh8hajJU0vpiToGQHa0 Fbq1qT+yMWk/3K3Bd2kvj8cjqhppApWdVdncTxYPCL440tX36VeTWj2A8Q6G7lV0pzEb jKpF8e7TXdl6T7mRbXemdkgd9iuuQRtiPVNWqLUbBI+GLcHODtj6hiyJMhBhg7SGBIEC H8vQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=Sk3H3tNjhYyZizn2BRPOZozRHHD0lIYvG7jQLlgzeOg=; b=Vfjp88SmRMdDXQjIzuZqt61qhsnL+qECPMeYPNZ3Vq1FkOyuNPqPgxBsFVAZHE3kwo H2Y0tcv7Ft1VJYaZvmWFvY5ukD3u1jP/XX5ReDuASmBh/cpqwugk+N1JmBNSad3kqeU0 ZNzX1PtIhiCamZ2Np5Da4CLGwYAkxfSiHxr6JgqWv+ou4PSOciBr0//v4PLe2nMzMjdw V28O6Es3nijXSqyBm0jwIymlEBfgW8Ma9aD/z2aRRysmzrgqAsTiDFTf1uiZWlgiI70M A2GD40kqtxN0uADHbZN+UZHdZTDrp64wPoQ3LDJC7gHUhbMvjMC1G5iQXXe1c7Y0+t/T 7IfQ== X-Gm-Message-State: AOAM531gm6BQNrj6OK9w5IDlEfaGrtclsxSjiD3YLPfSfI4EqdcfFj5E YpRI+LXWL82G+ltOwrww5GA= X-Google-Smtp-Source: ABdhPJzuVAfERUQlDJG4n5Dct6jMnm4PkmrsXpJzmBBTZWBwJGT0733x/Bp7CzNT7v6Al9Fv7YtOqg== X-Received: by 2002:adf:ce8a:: with SMTP id r10mr15109728wrn.1.1613325609895; Sun, 14 Feb 2021 10:00:09 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo Subject: [RFC PATCH 11/42] target/mips/tx79: Move PCPYH opcode to decodetree Date: Sun, 14 Feb 2021 18:58:41 +0100 Message-Id: <20210214175912.732946-12-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Move the existing PCPYH opcode (Parallel Copy Halfword) to decodetree. Remove unnecessary code / comments. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/mips/tx79.decode | 5 +++++ target/mips/translate.c | 39 ------------------------------------ target/mips/tx79_translate.c | 22 ++++++++++++++++++++ 3 files changed, 27 insertions(+), 39 deletions(-) diff --git a/target/mips/tx79.decode b/target/mips/tx79.decode index 30737da54e4..7af35458b0a 100644 --- a/target/mips/tx79.decode +++ b/target/mips/tx79.decode @@ -17,6 +17,7 @@ # Named instruction formats. These are generally used to # reduce the amount of duplication between instruction patterns. =20 +@rt_rd ...... ..... rt:5 rd:5 ..... ...... &rtype rs=3D0 sa= =3D0 @rs ...... rs:5 ..... .......... ...... &rtype rt=3D0 rd= =3D0 sa=3D0 @rd ...... .......... rd:5 ..... ...... &rtype rs=3D0 rt= =3D0 sa=3D0 =20 @@ -26,3 +27,7 @@ MFHI1 011100 0000000000 ..... 00000 010000 @= rd MTHI1 011100 ..... 0000000000 00000 010001 @rs MFLO1 011100 0000000000 ..... 00000 010010 @rd MTLO1 011100 ..... 0000000000 00000 010011 @rs + +# MMI3 + +PCPYH 011100 00000 ..... ..... 11011 101001 @rt_rd diff --git a/target/mips/translate.c b/target/mips/translate.c index a13ad4959b4..b81a66ed373 100644 --- a/target/mips/translate.c +++ b/target/mips/translate.c @@ -24733,42 +24733,6 @@ static void decode_opc_special(CPUMIPSState *env, = DisasContext *ctx) * PEXTUW */ =20 -/* - * PCPYH rd, rt - * - * Parallel Copy Halfword - * - * 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 - * +-----------+---------+---------+---------+---------+-----------+ - * | MMI |0 0 0 0 0| rt | rd | PCPYH | MMI3 | - * +-----------+---------+---------+---------+---------+-----------+ - */ -static void gen_mmi_pcpyh(DisasContext *ctx) -{ - uint32_t pd, rt, rd; - uint32_t opcode; - - opcode =3D ctx->opcode; - - pd =3D extract32(opcode, 21, 5); - rt =3D extract32(opcode, 16, 5); - rd =3D extract32(opcode, 11, 5); - - if (unlikely(pd !=3D 0)) { - gen_reserved_instruction(ctx); - } else if (rd =3D=3D 0) { - /* nop */ - } else if (rt =3D=3D 0) { - tcg_gen_movi_i64(cpu_gpr[rd], 0); - tcg_gen_movi_i64(cpu_gpr_hi[rd], 0); - } else { - tcg_gen_deposit_i64(cpu_gpr[rd], cpu_gpr[rt], cpu_gpr[rt], 16, 16); - tcg_gen_deposit_i64(cpu_gpr[rd], cpu_gpr[rd], cpu_gpr[rd], 32, 32); - tcg_gen_deposit_i64(cpu_gpr_hi[rd], cpu_gpr_hi[rt], cpu_gpr_hi[rt]= , 16, 16); - tcg_gen_deposit_i64(cpu_gpr_hi[rd], cpu_gpr_hi[rd], cpu_gpr_hi[rd]= , 32, 32); - } -} - /* * PCPYLD rd, rs, rt * @@ -27923,9 +27887,6 @@ static void decode_mmi3(CPUMIPSState *env, DisasCon= text *ctx) case MMI_OPC_3_PEXCW: /* TODO: MMI_OPC_3_PEXCW */ gen_reserved_instruction(ctx); /* TODO: MMI_OPC_CLASS_MMI3 */ break; - case MMI_OPC_3_PCPYH: - gen_mmi_pcpyh(ctx); - break; case MMI_OPC_3_PCPYUD: gen_mmi_pcpyud(ctx); break; diff --git a/target/mips/tx79_translate.c b/target/mips/tx79_translate.c index 905245cece7..d58b4fcd7b3 100644 --- a/target/mips/tx79_translate.c +++ b/target/mips/tx79_translate.c @@ -49,3 +49,25 @@ static bool trans_MTLO1(DisasContext *ctx, arg_rtype *a) =20 return true; } + +/* Parallel Copy Halfword */ +static bool trans_PCPYH(DisasContext *s, arg_rtype *a) +{ + if (a->rd =3D=3D 0) { + /* nop */ + return true; + } + + if (a->rt =3D=3D 0) { + tcg_gen_movi_i64(cpu_gpr[a->rd], 0); + tcg_gen_movi_i64(cpu_gpr_hi[a->rd], 0); + return true; + } + + tcg_gen_deposit_i64(cpu_gpr[a->rd], cpu_gpr[a->rt], cpu_gpr[a->rt], 16= , 16); + tcg_gen_deposit_i64(cpu_gpr[a->rd], cpu_gpr[a->rd], cpu_gpr[a->rd], 32= , 32); + tcg_gen_deposit_i64(cpu_gpr_hi[a->rd], cpu_gpr_hi[a->rt], cpu_gpr_hi[a= ->rt], 16, 16); + tcg_gen_deposit_i64(cpu_gpr_hi[a->rd], cpu_gpr_hi[a->rd], cpu_gpr_hi[a= ->rd], 32, 32); + + return true; +} --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.44 as permitted sender) client-ip=209.85.221.44; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f44.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.44 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613325616; cv=none; d=zohomail.com; s=zohoarc; b=H18+iAAgIUwPiH47QUJoqwF4N9YOsyYr6nKiEcLifCiYWKZmbPqKB9PAfJYGdMYX4DaAuckuwFU9XVDRJxWouKjMJS+bSjl7B7Ewg/fhwtkpIZ24GJUV3qqxxBg+8WjCur0vYGvYGvZ4dso4vmxnGrNwgkPf+TPmvwgCTm++n+I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613325616; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Ctqh0opI3wSs6g5030R5tpAWxCcfc3trhfuQ734e1Oo=; b=mbYoB9NsxgqNBwEz1o374BZkXI046slUywVxiwfJi0TTNjW3koT1cchLoW4pbFaknAvnUtyL2TKM8Z51RVOJCxtam+Q58ufTVeIScBYLQrNZRBOjwAqtR9YMo49Mdtb8CljhTgW1X9bMPmkrJKtn3vr3HzWGq5VuFIYxIOpyuJE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.44 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) by mx.zohomail.com with SMTPS id 1613325616372776.1686142180633; Sun, 14 Feb 2021 10:00:16 -0800 (PST) Received: by mail-wr1-f44.google.com with SMTP id g6so6063890wrs.11 for ; Sun, 14 Feb 2021 10:00:15 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id r124sm22213789wmr.16.2021.02.14.10.00.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 10:00:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Ctqh0opI3wSs6g5030R5tpAWxCcfc3trhfuQ734e1Oo=; b=psKzm07w/zS7J946H0mss95a1nqk4eZ1GZCf7d1xANT4vGCkhSU9Hl+m8XBwNqdJYu fBGOsIjFS+me66ElagUD0OsMHs/jMaFwkjqTiKi6IFDKnCYR7SgR+J4cd9f3dDoRANWt MSLWvP/DqVO94ZGiIE1C6ims3HKVPIEvJaXrynFvoimerQSpoa3HaOJRaAxYXF9AD4wE 2MV7mKSWRfHnd4wpEBh6eLHA2PR7v8/Y/LWmVnGKrl9d7HjXKKXtv/xSmPGashKr5d+D zLRo+HZwKkNkWH2qVQHoC3rOhxkRJrzb0QHwnfeQau02eMFY19NK5AUucDXhblv2gnBC mnZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=Ctqh0opI3wSs6g5030R5tpAWxCcfc3trhfuQ734e1Oo=; b=VWFsY3zAbCln/UZN+IrHjp80I5qS1RH0Tuu7MOFH7BH7FrzWEmAEcOE2IC3Z9Ol903 6hagSul9r2au22Q785GRGuSbPHdpa4FUJqBtYkd0eE0qQ+pAAywr/Oweum6skFxGjock KQIqM8iy01IoM5UXUvhpsMBSqBVvd2zDsZsphZpEPCJP94FMWe0CCnrKWLLDFPdAkKVc pp4ss7GpkiIqEFJPwvKMdFiNfaO8A/2H2x8Nnj5iv+GPxsIM+HdJMnOW47raXf2FTzJA zk4bvIfGtaMptAR0cjr5x1oCtGHBiKCZpEFA77eSHOjwr7dbnqMH7eQX7Ya13kyAoOFj Jkgw== X-Gm-Message-State: AOAM533adjKOBNigWzc+zlYtHmoVr3Bzm5V+Kz0eWVKQpQ4jLVRblh7S s2+7db/StUAZyYhtQsrIxww= X-Google-Smtp-Source: ABdhPJyg6sBGnQEqLmn0qq4Hlkiiho3KwA9GqAXPQ8fUS4phc/tM/BtAHaTlp4hKD6E0agveKMB9NA== X-Received: by 2002:a05:6000:1788:: with SMTP id e8mr14973825wrg.171.1613325614996; Sun, 14 Feb 2021 10:00:14 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo Subject: [RFC PATCH 12/42] target/mips/tx79: Move PCPYLD / PCPYUD opcodes to decodetree Date: Sun, 14 Feb 2021 18:58:42 +0100 Message-Id: <20210214175912.732946-13-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Move PCPYLD (Parallel Copy Lower Doubleword) and PCPYUD (Parallel Copy Upper Doubleword) to decodetree. Remove unnecessary code / comments. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/mips/tx79.decode | 6 +++ target/mips/translate.c | 84 ------------------------------------ target/mips/tx79_translate.c | 46 ++++++++++++++++++++ 3 files changed, 52 insertions(+), 84 deletions(-) diff --git a/target/mips/tx79.decode b/target/mips/tx79.decode index 7af35458b0a..0f748b53a64 100644 --- a/target/mips/tx79.decode +++ b/target/mips/tx79.decode @@ -17,6 +17,7 @@ # Named instruction formats. These are generally used to # reduce the amount of duplication between instruction patterns. =20 +@rs_rt_rd ...... rs:5 rt:5 rd:5 ..... ...... &rtype sa=3D0 @rt_rd ...... ..... rt:5 rd:5 ..... ...... &rtype rs=3D0 sa= =3D0 @rs ...... rs:5 ..... .......... ...... &rtype rt=3D0 rd= =3D0 sa=3D0 @rd ...... .......... rd:5 ..... ...... &rtype rs=3D0 rt= =3D0 sa=3D0 @@ -28,6 +29,11 @@ MTHI1 011100 ..... 0000000000 00000 010001 = @rs MFLO1 011100 0000000000 ..... 00000 010010 @rd MTLO1 011100 ..... 0000000000 00000 010011 @rs =20 +# MMI2 + +PCPYLD 011100 ..... ..... ..... 01110 001001 @rs_rt_rd + # MMI3 =20 +PCPYUD 011100 ..... ..... ..... 01110 101001 @rs_rt_rd PCPYH 011100 00000 ..... ..... 11011 101001 @rt_rd diff --git a/target/mips/translate.c b/target/mips/translate.c index b81a66ed373..cf5a6a83ae5 100644 --- a/target/mips/translate.c +++ b/target/mips/translate.c @@ -24733,84 +24733,6 @@ static void decode_opc_special(CPUMIPSState *env, = DisasContext *ctx) * PEXTUW */ =20 -/* - * PCPYLD rd, rs, rt - * - * Parallel Copy Lower Doubleword - * - * 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 - * +-----------+---------+---------+---------+---------+-----------+ - * | MMI | rs | rt | rd | PCPYLD | MMI2 | - * +-----------+---------+---------+---------+---------+-----------+ - */ -static void gen_mmi_pcpyld(DisasContext *ctx) -{ - uint32_t rs, rt, rd; - uint32_t opcode; - - opcode =3D ctx->opcode; - - rs =3D extract32(opcode, 21, 5); - rt =3D extract32(opcode, 16, 5); - rd =3D extract32(opcode, 11, 5); - - if (rd =3D=3D 0) { - /* nop */ - } else { - if (rs =3D=3D 0) { - tcg_gen_movi_i64(cpu_gpr_hi[rd], 0); - } else { - tcg_gen_mov_i64(cpu_gpr_hi[rd], cpu_gpr[rs]); - } - if (rt =3D=3D 0) { - tcg_gen_movi_i64(cpu_gpr[rd], 0); - } else { - if (rd !=3D rt) { - tcg_gen_mov_i64(cpu_gpr[rd], cpu_gpr[rt]); - } - } - } -} - -/* - * PCPYUD rd, rs, rt - * - * Parallel Copy Upper Doubleword - * - * 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 - * +-----------+---------+---------+---------+---------+-----------+ - * | MMI | rs | rt | rd | PCPYUD | MMI3 | - * +-----------+---------+---------+---------+---------+-----------+ - */ -static void gen_mmi_pcpyud(DisasContext *ctx) -{ - uint32_t rs, rt, rd; - uint32_t opcode; - - opcode =3D ctx->opcode; - - rs =3D extract32(opcode, 21, 5); - rt =3D extract32(opcode, 16, 5); - rd =3D extract32(opcode, 11, 5); - - if (rd =3D=3D 0) { - /* nop */ - } else { - if (rs =3D=3D 0) { - tcg_gen_movi_i64(cpu_gpr[rd], 0); - } else { - tcg_gen_mov_i64(cpu_gpr[rd], cpu_gpr_hi[rs]); - } - if (rt =3D=3D 0) { - tcg_gen_movi_i64(cpu_gpr_hi[rd], 0); - } else { - if (rd !=3D rt) { - tcg_gen_mov_i64(cpu_gpr_hi[rd], cpu_gpr_hi[rt]); - } - } - } -} - #endif =20 =20 @@ -27859,9 +27781,6 @@ static void decode_mmi2(CPUMIPSState *env, DisasCon= text *ctx) case MMI_OPC_2_PROT3W: /* TODO: MMI_OPC_2_PROT3W */ gen_reserved_instruction(ctx); /* TODO: MMI_OPC_CLASS_MMI2 */ break; - case MMI_OPC_2_PCPYLD: - gen_mmi_pcpyld(ctx); - break; default: MIPS_INVAL("TX79 MMI class MMI2"); gen_reserved_instruction(ctx); @@ -27887,9 +27806,6 @@ static void decode_mmi3(CPUMIPSState *env, DisasCon= text *ctx) case MMI_OPC_3_PEXCW: /* TODO: MMI_OPC_3_PEXCW */ gen_reserved_instruction(ctx); /* TODO: MMI_OPC_CLASS_MMI3 */ break; - case MMI_OPC_3_PCPYUD: - gen_mmi_pcpyud(ctx); - break; default: MIPS_INVAL("TX79 MMI class MMI3"); gen_reserved_instruction(ctx); diff --git a/target/mips/tx79_translate.c b/target/mips/tx79_translate.c index d58b4fcd7b3..de09bb0d314 100644 --- a/target/mips/tx79_translate.c +++ b/target/mips/tx79_translate.c @@ -71,3 +71,49 @@ static bool trans_PCPYH(DisasContext *s, arg_rtype *a) =20 return true; } + +/* Parallel Copy Lower Doubleword */ +static bool trans_PCPYLD(DisasContext *s, arg_rtype *a) +{ + if (a->rd =3D=3D 0) { + /* nop */ + return true; + } + + if (a->rs =3D=3D 0) { + tcg_gen_movi_i64(cpu_gpr_hi[a->rd], 0); + } else { + tcg_gen_mov_i64(cpu_gpr_hi[a->rd], cpu_gpr[a->rs]); + } + + if (a->rt =3D=3D 0) { + tcg_gen_movi_i64(cpu_gpr[a->rd], 0); + } else if (a->rd !=3D a->rt) { + tcg_gen_mov_i64(cpu_gpr[a->rd], cpu_gpr[a->rt]); + } + + return true; +} + +/* Parallel Copy Upper Doubleword */ +static bool trans_PCPYUD(DisasContext *s, arg_rtype *a) +{ + if (a->rd =3D=3D 0) { + /* nop */ + return true; + } + + if (a->rs =3D=3D 0) { + tcg_gen_movi_i64(cpu_gpr[a->rd], 0); + } else { + tcg_gen_mov_i64(cpu_gpr[a->rd], cpu_gpr_hi[a->rs]); + } + + if (a->rt =3D=3D 0) { + tcg_gen_movi_i64(cpu_gpr_hi[a->rd], 0); + } else if (a->rd !=3D a->rt) { + tcg_gen_mov_i64(cpu_gpr_hi[a->rd], cpu_gpr_hi[a->rt]); + } + + return true; +} --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.45 as permitted sender) client-ip=209.85.221.45; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f45.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.45 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613325621; cv=none; d=zohomail.com; s=zohoarc; b=MwdZ2fzDu+vEfTnYiAbFJwaejFIX6eTPGbYi42LbJRgr02kHPCLNLv81YPoCDnUxGtOIYNRb0/OamHk2YJqHpYnRWkwlBaICPAbyEotVR9dEp0x19sjRg2zCRtd2rzowk3KAI6bBDVOYhLIKglm7+xy8MeXhaws938WXyMJzcgY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613325621; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=qDYzgz4nCnzAeAmRqFLDDh2jFjyyR2cEOET9WBNOhTQ=; b=DdsvcriITiorTr30jWiJm3UXbiCJHLGIExL7HolKsiOVqTOvBRejRWyAkYSapTmzsRIz++SLzW6aWj/wuJOcHFm9UkO4WpEZnSUhOM3bp53+is3VbiLh4LJBKjPeNGBEn/fHgsHEv5cPUccFpGw75w5ulaxPl4CqLbaXUppzLYg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.45 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f45.google.com (mail-wr1-f45.google.com [209.85.221.45]) by mx.zohomail.com with SMTPS id 1613325621395724.9244155563719; Sun, 14 Feb 2021 10:00:21 -0800 (PST) Received: by mail-wr1-f45.google.com with SMTP id r21so6077042wrr.9 for ; Sun, 14 Feb 2021 10:00:20 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id o13sm27879362wrs.45.2021.02.14.10.00.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 10:00:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=qDYzgz4nCnzAeAmRqFLDDh2jFjyyR2cEOET9WBNOhTQ=; b=Ch0AW4PVYKP/KtWr0Do6gwKwIwSv9Wwg+SwhS/OX3Fu1AZ8jVVB12lKrWl8KAc1KVO 3TD35mGqC928qz73cB/qEgyEwTfTSPTdztsX6l4eNZaWqpzzJ5TxFqXJCupe9Pkww8CD 1P51Bg6vaFPLBwoY5msk4PPSuLP5Q/qO8D9D+oxPfll5TTEK4sNkZb78v/pbK7XRoe9B fR1778MqjznHWMOG/jrkYET0jeiuC+rQoXkGG5bcq6p0+iVFd5pGLGbS2gA2mll+Rb2u GVoQY5RlqYicCIEv49klHaCsR6cbDGd8kpQ62IAdeHycsbrFeNtZI8v27VU3MwusAtFc aR6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=qDYzgz4nCnzAeAmRqFLDDh2jFjyyR2cEOET9WBNOhTQ=; b=S1DWo+4L7JNF7ThD3LBTyjex0ypT2vZflu7XGhLiY5MstgK1ajIExtukoIkASmm/fk vrrw2eQ1YbYkkH8b9jHzDzM7l2ZN9gXNYR12oI3WrhgXZonKw7yscMQUlNBz6h7EETJ4 6IzOfDKrzI856YbUGOhUWn5RyNd+uk6ESCkC+osDJqm0t+7npZQTZa4ut1WzkwOLm0nW zKoLGKSEdqUyoAOrkHdjFaMcDPEP+ZtzFZfPch5YztcrMiYp1b+yI7EFcHAXDDZdQwKl nWxfS+0TnF01NewtC5D16Bkmg8/x6RKnG8riydpDlOFVuoEWauJX7ys9Lb8S7b49Nfg3 BewA== X-Gm-Message-State: AOAM533abjXCQIwJWxgP76aT/uZFeRX2foQf5SVU0xd+/VTsoN8SNBlR /r5fRcb4K0r5bG1JwRjg5Ak= X-Google-Smtp-Source: ABdhPJxeMmA1LeY4/YyrzsA75YGOh3SPNt4hT32uOhk904Mvvc7kD6tNZplAgmX2YcHpgLi5GqHfTw== X-Received: by 2002:adf:bb54:: with SMTP id x20mr15218449wrg.112.1613325619857; Sun, 14 Feb 2021 10:00:19 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo Subject: [RFC PATCH 13/42] target/mips: Remove 'C790 Multimedia Instructions' dead code Date: Sun, 14 Feb 2021 18:58:43 +0100 Message-Id: <20210214175912.732946-14-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) We have almost 400 lines of code full of /* TODO */ comments which end calling gen_reserved_instruction(). As we are not going to implement them, and all the caller's switch() default cases already call gen_reserved_instruction(), we can remove this altogether. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/mips/translate.c | 372 ---------------------------------------- 1 file changed, 372 deletions(-) diff --git a/target/mips/translate.c b/target/mips/translate.c index cf5a6a83ae5..22d106405c6 100644 --- a/target/mips/translate.c +++ b/target/mips/translate.c @@ -1970,207 +1970,12 @@ enum { enum { MMI_OPC_MADD =3D 0x00 | MMI_OPC_CLASS_MMI, /* Same as OPC_MADD */ MMI_OPC_MADDU =3D 0x01 | MMI_OPC_CLASS_MMI, /* Same as OPC_MADDU = */ - MMI_OPC_PLZCW =3D 0x04 | MMI_OPC_CLASS_MMI, - MMI_OPC_CLASS_MMI0 =3D 0x08 | MMI_OPC_CLASS_MMI, - MMI_OPC_CLASS_MMI2 =3D 0x09 | MMI_OPC_CLASS_MMI, MMI_OPC_MULT1 =3D 0x18 | MMI_OPC_CLASS_MMI, /* Same minor as OPC_= MULT */ MMI_OPC_MULTU1 =3D 0x19 | MMI_OPC_CLASS_MMI, /* Same min. as OPC_M= ULTU */ MMI_OPC_DIV1 =3D 0x1A | MMI_OPC_CLASS_MMI, /* Same minor as OPC_= DIV */ MMI_OPC_DIVU1 =3D 0x1B | MMI_OPC_CLASS_MMI, /* Same minor as OPC_= DIVU */ MMI_OPC_MADD1 =3D 0x20 | MMI_OPC_CLASS_MMI, MMI_OPC_MADDU1 =3D 0x21 | MMI_OPC_CLASS_MMI, - MMI_OPC_CLASS_MMI1 =3D 0x28 | MMI_OPC_CLASS_MMI, - MMI_OPC_CLASS_MMI3 =3D 0x29 | MMI_OPC_CLASS_MMI, - MMI_OPC_PMFHL =3D 0x30 | MMI_OPC_CLASS_MMI, - MMI_OPC_PMTHL =3D 0x31 | MMI_OPC_CLASS_MMI, - MMI_OPC_PSLLH =3D 0x34 | MMI_OPC_CLASS_MMI, - MMI_OPC_PSRLH =3D 0x36 | MMI_OPC_CLASS_MMI, - MMI_OPC_PSRAH =3D 0x37 | MMI_OPC_CLASS_MMI, - MMI_OPC_PSLLW =3D 0x3C | MMI_OPC_CLASS_MMI, - MMI_OPC_PSRLW =3D 0x3E | MMI_OPC_CLASS_MMI, - MMI_OPC_PSRAW =3D 0x3F | MMI_OPC_CLASS_MMI, -}; - -/* - * MMI instructions with opcode field =3D MMI and bits 5..0 =3D MMI0: - * - * 31 26 10 6 5 0 - * +--------+----------------------+--------+--------+ - * | MMI | |function| MMI0 | - * +--------+----------------------+--------+--------+ - * - * function bits 7..6 - * bits | 0 | 1 | 2 | 3 - * 10..8 | 00 | 01 | 10 | 11 - * -------+-------+-------+-------+------- - * 0 000 | PADDW | PSUBW | PCGTW | PMAXW - * 1 001 | PADDH | PSUBH | PCGTH | PMAXH - * 2 010 | PADDB | PSUBB | PCGTB | * - * 3 011 | * | * | * | * - * 4 100 | PADDSW| PSUBSW| PEXTLW| PPACW - * 5 101 | PADDSH| PSUBSH| PEXTLH| PPACH - * 6 110 | PADDSB| PSUBSB| PEXTLB| PPACB - * 7 111 | * | * | PEXT5 | PPAC5 - */ - -#define MASK_MMI0(op) (MASK_OP_MAJOR(op) | ((op) & 0x7FF)) -enum { - MMI_OPC_0_PADDW =3D (0x00 << 6) | MMI_OPC_CLASS_MMI0, - MMI_OPC_0_PSUBW =3D (0x01 << 6) | MMI_OPC_CLASS_MMI0, - MMI_OPC_0_PCGTW =3D (0x02 << 6) | MMI_OPC_CLASS_MMI0, - MMI_OPC_0_PMAXW =3D (0x03 << 6) | MMI_OPC_CLASS_MMI0, - MMI_OPC_0_PADDH =3D (0x04 << 6) | MMI_OPC_CLASS_MMI0, - MMI_OPC_0_PSUBH =3D (0x05 << 6) | MMI_OPC_CLASS_MMI0, - MMI_OPC_0_PCGTH =3D (0x06 << 6) | MMI_OPC_CLASS_MMI0, - MMI_OPC_0_PMAXH =3D (0x07 << 6) | MMI_OPC_CLASS_MMI0, - MMI_OPC_0_PADDB =3D (0x08 << 6) | MMI_OPC_CLASS_MMI0, - MMI_OPC_0_PSUBB =3D (0x09 << 6) | MMI_OPC_CLASS_MMI0, - MMI_OPC_0_PCGTB =3D (0x0A << 6) | MMI_OPC_CLASS_MMI0, - MMI_OPC_0_PADDSW =3D (0x10 << 6) | MMI_OPC_CLASS_MMI0, - MMI_OPC_0_PSUBSW =3D (0x11 << 6) | MMI_OPC_CLASS_MMI0, - MMI_OPC_0_PEXTLW =3D (0x12 << 6) | MMI_OPC_CLASS_MMI0, - MMI_OPC_0_PPACW =3D (0x13 << 6) | MMI_OPC_CLASS_MMI0, - MMI_OPC_0_PADDSH =3D (0x14 << 6) | MMI_OPC_CLASS_MMI0, - MMI_OPC_0_PSUBSH =3D (0x15 << 6) | MMI_OPC_CLASS_MMI0, - MMI_OPC_0_PEXTLH =3D (0x16 << 6) | MMI_OPC_CLASS_MMI0, - MMI_OPC_0_PPACH =3D (0x17 << 6) | MMI_OPC_CLASS_MMI0, - MMI_OPC_0_PADDSB =3D (0x18 << 6) | MMI_OPC_CLASS_MMI0, - MMI_OPC_0_PSUBSB =3D (0x19 << 6) | MMI_OPC_CLASS_MMI0, - MMI_OPC_0_PEXTLB =3D (0x1A << 6) | MMI_OPC_CLASS_MMI0, - MMI_OPC_0_PPACB =3D (0x1B << 6) | MMI_OPC_CLASS_MMI0, - MMI_OPC_0_PEXT5 =3D (0x1E << 6) | MMI_OPC_CLASS_MMI0, - MMI_OPC_0_PPAC5 =3D (0x1F << 6) | MMI_OPC_CLASS_MMI0, -}; - -/* - * MMI instructions with opcode field =3D MMI and bits 5..0 =3D MMI1: - * - * 31 26 10 6 5 0 - * +--------+----------------------+--------+--------+ - * | MMI | |function| MMI1 | - * +--------+----------------------+--------+--------+ - * - * function bits 7..6 - * bits | 0 | 1 | 2 | 3 - * 10..8 | 00 | 01 | 10 | 11 - * -------+-------+-------+-------+------- - * 0 000 | * | PABSW | PCEQW | PMINW - * 1 001 | PADSBH| PABSH | PCEQH | PMINH - * 2 010 | * | * | PCEQB | * - * 3 011 | * | * | * | * - * 4 100 | PADDUW| PSUBUW| PEXTUW| * - * 5 101 | PADDUH| PSUBUH| PEXTUH| * - * 6 110 | PADDUB| PSUBUB| PEXTUB| QFSRV - * 7 111 | * | * | * | * - */ - -#define MASK_MMI1(op) (MASK_OP_MAJOR(op) | ((op) & 0x7FF)) -enum { - MMI_OPC_1_PABSW =3D (0x01 << 6) | MMI_OPC_CLASS_MMI1, - MMI_OPC_1_PCEQW =3D (0x02 << 6) | MMI_OPC_CLASS_MMI1, - MMI_OPC_1_PMINW =3D (0x03 << 6) | MMI_OPC_CLASS_MMI1, - MMI_OPC_1_PADSBH =3D (0x04 << 6) | MMI_OPC_CLASS_MMI1, - MMI_OPC_1_PABSH =3D (0x05 << 6) | MMI_OPC_CLASS_MMI1, - MMI_OPC_1_PCEQH =3D (0x06 << 6) | MMI_OPC_CLASS_MMI1, - MMI_OPC_1_PMINH =3D (0x07 << 6) | MMI_OPC_CLASS_MMI1, - MMI_OPC_1_PCEQB =3D (0x0A << 6) | MMI_OPC_CLASS_MMI1, - MMI_OPC_1_PADDUW =3D (0x10 << 6) | MMI_OPC_CLASS_MMI1, - MMI_OPC_1_PSUBUW =3D (0x11 << 6) | MMI_OPC_CLASS_MMI1, - MMI_OPC_1_PEXTUW =3D (0x12 << 6) | MMI_OPC_CLASS_MMI1, - MMI_OPC_1_PADDUH =3D (0x14 << 6) | MMI_OPC_CLASS_MMI1, - MMI_OPC_1_PSUBUH =3D (0x15 << 6) | MMI_OPC_CLASS_MMI1, - MMI_OPC_1_PEXTUH =3D (0x16 << 6) | MMI_OPC_CLASS_MMI1, - MMI_OPC_1_PADDUB =3D (0x18 << 6) | MMI_OPC_CLASS_MMI1, - MMI_OPC_1_PSUBUB =3D (0x19 << 6) | MMI_OPC_CLASS_MMI1, - MMI_OPC_1_PEXTUB =3D (0x1A << 6) | MMI_OPC_CLASS_MMI1, - MMI_OPC_1_QFSRV =3D (0x1B << 6) | MMI_OPC_CLASS_MMI1, -}; - -/* - * MMI instructions with opcode field =3D MMI and bits 5..0 =3D MMI2: - * - * 31 26 10 6 5 0 - * +--------+----------------------+--------+--------+ - * | MMI | |function| MMI2 | - * +--------+----------------------+--------+--------+ - * - * function bits 7..6 - * bits | 0 | 1 | 2 | 3 - * 10..8 | 00 | 01 | 10 | 11 - * -------+-------+-------+-------+------- - * 0 000 | PMADDW| * | PSLLVW| PSRLVW - * 1 001 | PMSUBW| * | * | * - * 2 010 | PMFHI | PMFLO | PINTH | * - * 3 011 | PMULTW| PDIVW | PCPYLD| * - * 4 100 | PMADDH| PHMADH| PAND | PXOR - * 5 101 | PMSUBH| PHMSBH| * | * - * 6 110 | * | * | PEXEH | PREVH - * 7 111 | PMULTH| PDIVBW| PEXEW | PROT3W - */ - -#define MASK_MMI2(op) (MASK_OP_MAJOR(op) | ((op) & 0x7FF)) -enum { - MMI_OPC_2_PMADDW =3D (0x00 << 6) | MMI_OPC_CLASS_MMI2, - MMI_OPC_2_PSLLVW =3D (0x02 << 6) | MMI_OPC_CLASS_MMI2, - MMI_OPC_2_PSRLVW =3D (0x03 << 6) | MMI_OPC_CLASS_MMI2, - MMI_OPC_2_PMSUBW =3D (0x04 << 6) | MMI_OPC_CLASS_MMI2, - MMI_OPC_2_PMFHI =3D (0x08 << 6) | MMI_OPC_CLASS_MMI2, - MMI_OPC_2_PMFLO =3D (0x09 << 6) | MMI_OPC_CLASS_MMI2, - MMI_OPC_2_PINTH =3D (0x0A << 6) | MMI_OPC_CLASS_MMI2, - MMI_OPC_2_PMULTW =3D (0x0C << 6) | MMI_OPC_CLASS_MMI2, - MMI_OPC_2_PDIVW =3D (0x0D << 6) | MMI_OPC_CLASS_MMI2, - MMI_OPC_2_PCPYLD =3D (0x0E << 6) | MMI_OPC_CLASS_MMI2, - MMI_OPC_2_PMADDH =3D (0x10 << 6) | MMI_OPC_CLASS_MMI2, - MMI_OPC_2_PHMADH =3D (0x11 << 6) | MMI_OPC_CLASS_MMI2, - MMI_OPC_2_PAND =3D (0x12 << 6) | MMI_OPC_CLASS_MMI2, - MMI_OPC_2_PXOR =3D (0x13 << 6) | MMI_OPC_CLASS_MMI2, - MMI_OPC_2_PMSUBH =3D (0x14 << 6) | MMI_OPC_CLASS_MMI2, - MMI_OPC_2_PHMSBH =3D (0x15 << 6) | MMI_OPC_CLASS_MMI2, - MMI_OPC_2_PEXEH =3D (0x1A << 6) | MMI_OPC_CLASS_MMI2, - MMI_OPC_2_PREVH =3D (0x1B << 6) | MMI_OPC_CLASS_MMI2, - MMI_OPC_2_PMULTH =3D (0x1C << 6) | MMI_OPC_CLASS_MMI2, - MMI_OPC_2_PDIVBW =3D (0x1D << 6) | MMI_OPC_CLASS_MMI2, - MMI_OPC_2_PEXEW =3D (0x1E << 6) | MMI_OPC_CLASS_MMI2, - MMI_OPC_2_PROT3W =3D (0x1F << 6) | MMI_OPC_CLASS_MMI2, -}; - -/* - * MMI instructions with opcode field =3D MMI and bits 5..0 =3D MMI3: - * - * 31 26 10 6 5 0 - * +--------+----------------------+--------+--------+ - * | MMI | |function| MMI3 | - * +--------+----------------------+--------+--------+ - * - * function bits 7..6 - * bits | 0 | 1 | 2 | 3 - * 10..8 | 00 | 01 | 10 | 11 - * -------+-------+-------+-------+------- - * 0 000 |PMADDUW| * | * | PSRAVW - * 1 001 | * | * | * | * - * 2 010 | PMTHI | PMTLO | PINTEH| * - * 3 011 |PMULTUW| PDIVUW| PCPYUD| * - * 4 100 | * | * | POR | PNOR - * 5 101 | * | * | * | * - * 6 110 | * | * | PEXCH | PCPYH - * 7 111 | * | * | PEXCW | * - */ - -#define MASK_MMI3(op) (MASK_OP_MAJOR(op) | ((op) & 0x7FF)) -enum { - MMI_OPC_3_PMADDUW =3D (0x00 << 6) | MMI_OPC_CLASS_MMI3, - MMI_OPC_3_PSRAVW =3D (0x03 << 6) | MMI_OPC_CLASS_MMI3, - MMI_OPC_3_PMTHI =3D (0x08 << 6) | MMI_OPC_CLASS_MMI3, - MMI_OPC_3_PMTLO =3D (0x09 << 6) | MMI_OPC_CLASS_MMI3, - MMI_OPC_3_PINTEH =3D (0x0A << 6) | MMI_OPC_CLASS_MMI3, - MMI_OPC_3_PMULTUW =3D (0x0C << 6) | MMI_OPC_CLASS_MMI3, - MMI_OPC_3_PDIVUW =3D (0x0D << 6) | MMI_OPC_CLASS_MMI3, - MMI_OPC_3_PCPYUD =3D (0x0E << 6) | MMI_OPC_CLASS_MMI3, - MMI_OPC_3_POR =3D (0x12 << 6) | MMI_OPC_CLASS_MMI3, - MMI_OPC_3_PNOR =3D (0x13 << 6) | MMI_OPC_CLASS_MMI3, - MMI_OPC_3_PEXCH =3D (0x1A << 6) | MMI_OPC_CLASS_MMI3, - MMI_OPC_3_PCPYH =3D (0x1B << 6) | MMI_OPC_CLASS_MMI3, - MMI_OPC_3_PEXCW =3D (0x1E << 6) | MMI_OPC_CLASS_MMI3, }; =20 /* global register indices */ @@ -24713,29 +24518,6 @@ static void decode_opc_special(CPUMIPSState *env, = DisasContext *ctx) } =20 =20 -#if defined(TARGET_MIPS64) - -/* - * - * MMI (MultiMedia Interface) ASE instructions - * =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D - */ - -/* - * MMI instructions category: data communication - * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - * - * PCPYH PEXCH PEXTLB PINTH PPACB PEXT5 PREVH - * PCPYLD PEXCW PEXTLH PINTEH PPACH PPAC5 PROT3W - * PCPYUD PEXEH PEXTLW PPACW - * PEXEW PEXTUB - * PEXTUH - * PEXTUW - */ - -#endif - - #if !defined(TARGET_MIPS64) =20 /* MXU accumulate add/subtract 1-bit pattern 'aptn1' */ @@ -27682,137 +27464,6 @@ static void decode_opc_special3_legacy(CPUMIPSSta= te *env, DisasContext *ctx) =20 #if defined(TARGET_MIPS64) =20 -static void decode_mmi0(CPUMIPSState *env, DisasContext *ctx) -{ - uint32_t opc =3D MASK_MMI0(ctx->opcode); - - switch (opc) { - case MMI_OPC_0_PADDW: /* TODO: MMI_OPC_0_PADDW */ - case MMI_OPC_0_PSUBW: /* TODO: MMI_OPC_0_PSUBW */ - case MMI_OPC_0_PCGTW: /* TODO: MMI_OPC_0_PCGTW */ - case MMI_OPC_0_PMAXW: /* TODO: MMI_OPC_0_PMAXW */ - case MMI_OPC_0_PADDH: /* TODO: MMI_OPC_0_PADDH */ - case MMI_OPC_0_PSUBH: /* TODO: MMI_OPC_0_PSUBH */ - case MMI_OPC_0_PCGTH: /* TODO: MMI_OPC_0_PCGTH */ - case MMI_OPC_0_PMAXH: /* TODO: MMI_OPC_0_PMAXH */ - case MMI_OPC_0_PADDB: /* TODO: MMI_OPC_0_PADDB */ - case MMI_OPC_0_PSUBB: /* TODO: MMI_OPC_0_PSUBB */ - case MMI_OPC_0_PCGTB: /* TODO: MMI_OPC_0_PCGTB */ - case MMI_OPC_0_PADDSW: /* TODO: MMI_OPC_0_PADDSW */ - case MMI_OPC_0_PSUBSW: /* TODO: MMI_OPC_0_PSUBSW */ - case MMI_OPC_0_PEXTLW: /* TODO: MMI_OPC_0_PEXTLW */ - case MMI_OPC_0_PPACW: /* TODO: MMI_OPC_0_PPACW */ - case MMI_OPC_0_PADDSH: /* TODO: MMI_OPC_0_PADDSH */ - case MMI_OPC_0_PSUBSH: /* TODO: MMI_OPC_0_PSUBSH */ - case MMI_OPC_0_PEXTLH: /* TODO: MMI_OPC_0_PEXTLH */ - case MMI_OPC_0_PPACH: /* TODO: MMI_OPC_0_PPACH */ - case MMI_OPC_0_PADDSB: /* TODO: MMI_OPC_0_PADDSB */ - case MMI_OPC_0_PSUBSB: /* TODO: MMI_OPC_0_PSUBSB */ - case MMI_OPC_0_PEXTLB: /* TODO: MMI_OPC_0_PEXTLB */ - case MMI_OPC_0_PPACB: /* TODO: MMI_OPC_0_PPACB */ - case MMI_OPC_0_PEXT5: /* TODO: MMI_OPC_0_PEXT5 */ - case MMI_OPC_0_PPAC5: /* TODO: MMI_OPC_0_PPAC5 */ - gen_reserved_instruction(ctx); /* TODO: MMI_OPC_CLASS_MMI0 */ - break; - default: - MIPS_INVAL("TX79 MMI class MMI0"); - gen_reserved_instruction(ctx); - break; - } -} - -static void decode_mmi1(CPUMIPSState *env, DisasContext *ctx) -{ - uint32_t opc =3D MASK_MMI1(ctx->opcode); - - switch (opc) { - case MMI_OPC_1_PABSW: /* TODO: MMI_OPC_1_PABSW */ - case MMI_OPC_1_PCEQW: /* TODO: MMI_OPC_1_PCEQW */ - case MMI_OPC_1_PMINW: /* TODO: MMI_OPC_1_PMINW */ - case MMI_OPC_1_PADSBH: /* TODO: MMI_OPC_1_PADSBH */ - case MMI_OPC_1_PABSH: /* TODO: MMI_OPC_1_PABSH */ - case MMI_OPC_1_PCEQH: /* TODO: MMI_OPC_1_PCEQH */ - case MMI_OPC_1_PMINH: /* TODO: MMI_OPC_1_PMINH */ - case MMI_OPC_1_PCEQB: /* TODO: MMI_OPC_1_PCEQB */ - case MMI_OPC_1_PADDUW: /* TODO: MMI_OPC_1_PADDUW */ - case MMI_OPC_1_PSUBUW: /* TODO: MMI_OPC_1_PSUBUW */ - case MMI_OPC_1_PEXTUW: /* TODO: MMI_OPC_1_PEXTUW */ - case MMI_OPC_1_PADDUH: /* TODO: MMI_OPC_1_PADDUH */ - case MMI_OPC_1_PSUBUH: /* TODO: MMI_OPC_1_PSUBUH */ - case MMI_OPC_1_PEXTUH: /* TODO: MMI_OPC_1_PEXTUH */ - case MMI_OPC_1_PADDUB: /* TODO: MMI_OPC_1_PADDUB */ - case MMI_OPC_1_PSUBUB: /* TODO: MMI_OPC_1_PSUBUB */ - case MMI_OPC_1_PEXTUB: /* TODO: MMI_OPC_1_PEXTUB */ - case MMI_OPC_1_QFSRV: /* TODO: MMI_OPC_1_QFSRV */ - gen_reserved_instruction(ctx); /* TODO: MMI_OPC_CLASS_MMI1 */ - break; - default: - MIPS_INVAL("TX79 MMI class MMI1"); - gen_reserved_instruction(ctx); - break; - } -} - -static void decode_mmi2(CPUMIPSState *env, DisasContext *ctx) -{ - uint32_t opc =3D MASK_MMI2(ctx->opcode); - - switch (opc) { - case MMI_OPC_2_PMADDW: /* TODO: MMI_OPC_2_PMADDW */ - case MMI_OPC_2_PSLLVW: /* TODO: MMI_OPC_2_PSLLVW */ - case MMI_OPC_2_PSRLVW: /* TODO: MMI_OPC_2_PSRLVW */ - case MMI_OPC_2_PMSUBW: /* TODO: MMI_OPC_2_PMSUBW */ - case MMI_OPC_2_PMFHI: /* TODO: MMI_OPC_2_PMFHI */ - case MMI_OPC_2_PMFLO: /* TODO: MMI_OPC_2_PMFLO */ - case MMI_OPC_2_PINTH: /* TODO: MMI_OPC_2_PINTH */ - case MMI_OPC_2_PMULTW: /* TODO: MMI_OPC_2_PMULTW */ - case MMI_OPC_2_PDIVW: /* TODO: MMI_OPC_2_PDIVW */ - case MMI_OPC_2_PMADDH: /* TODO: MMI_OPC_2_PMADDH */ - case MMI_OPC_2_PHMADH: /* TODO: MMI_OPC_2_PHMADH */ - case MMI_OPC_2_PAND: /* TODO: MMI_OPC_2_PAND */ - case MMI_OPC_2_PXOR: /* TODO: MMI_OPC_2_PXOR */ - case MMI_OPC_2_PMSUBH: /* TODO: MMI_OPC_2_PMSUBH */ - case MMI_OPC_2_PHMSBH: /* TODO: MMI_OPC_2_PHMSBH */ - case MMI_OPC_2_PEXEH: /* TODO: MMI_OPC_2_PEXEH */ - case MMI_OPC_2_PREVH: /* TODO: MMI_OPC_2_PREVH */ - case MMI_OPC_2_PMULTH: /* TODO: MMI_OPC_2_PMULTH */ - case MMI_OPC_2_PDIVBW: /* TODO: MMI_OPC_2_PDIVBW */ - case MMI_OPC_2_PEXEW: /* TODO: MMI_OPC_2_PEXEW */ - case MMI_OPC_2_PROT3W: /* TODO: MMI_OPC_2_PROT3W */ - gen_reserved_instruction(ctx); /* TODO: MMI_OPC_CLASS_MMI2 */ - break; - default: - MIPS_INVAL("TX79 MMI class MMI2"); - gen_reserved_instruction(ctx); - break; - } -} - -static void decode_mmi3(CPUMIPSState *env, DisasContext *ctx) -{ - uint32_t opc =3D MASK_MMI3(ctx->opcode); - - switch (opc) { - case MMI_OPC_3_PMADDUW: /* TODO: MMI_OPC_3_PMADDUW */ - case MMI_OPC_3_PSRAVW: /* TODO: MMI_OPC_3_PSRAVW */ - case MMI_OPC_3_PMTHI: /* TODO: MMI_OPC_3_PMTHI */ - case MMI_OPC_3_PMTLO: /* TODO: MMI_OPC_3_PMTLO */ - case MMI_OPC_3_PINTEH: /* TODO: MMI_OPC_3_PINTEH */ - case MMI_OPC_3_PMULTUW: /* TODO: MMI_OPC_3_PMULTUW */ - case MMI_OPC_3_PDIVUW: /* TODO: MMI_OPC_3_PDIVUW */ - case MMI_OPC_3_POR: /* TODO: MMI_OPC_3_POR */ - case MMI_OPC_3_PNOR: /* TODO: MMI_OPC_3_PNOR */ - case MMI_OPC_3_PEXCH: /* TODO: MMI_OPC_3_PEXCH */ - case MMI_OPC_3_PEXCW: /* TODO: MMI_OPC_3_PEXCW */ - gen_reserved_instruction(ctx); /* TODO: MMI_OPC_CLASS_MMI3 */ - break; - default: - MIPS_INVAL("TX79 MMI class MMI3"); - gen_reserved_instruction(ctx); - break; - } -} - static void decode_mmi(CPUMIPSState *env, DisasContext *ctx) { uint32_t opc =3D MASK_MMI(ctx->opcode); @@ -27821,18 +27472,6 @@ static void decode_mmi(CPUMIPSState *env, DisasCon= text *ctx) int rd =3D extract32(ctx->opcode, 11, 5); =20 switch (opc) { - case MMI_OPC_CLASS_MMI0: - decode_mmi0(env, ctx); - break; - case MMI_OPC_CLASS_MMI1: - decode_mmi1(env, ctx); - break; - case MMI_OPC_CLASS_MMI2: - decode_mmi2(env, ctx); - break; - case MMI_OPC_CLASS_MMI3: - decode_mmi3(env, ctx); - break; case MMI_OPC_MULT1: case MMI_OPC_MULTU1: case MMI_OPC_MADD: @@ -27845,17 +27484,6 @@ static void decode_mmi(CPUMIPSState *env, DisasCon= text *ctx) case MMI_OPC_DIVU1: gen_div1_tx79(ctx, opc, rs, rt); break; - case MMI_OPC_PLZCW: /* TODO: MMI_OPC_PLZCW */ - case MMI_OPC_PMFHL: /* TODO: MMI_OPC_PMFHL */ - case MMI_OPC_PMTHL: /* TODO: MMI_OPC_PMTHL */ - case MMI_OPC_PSLLH: /* TODO: MMI_OPC_PSLLH */ - case MMI_OPC_PSRLH: /* TODO: MMI_OPC_PSRLH */ - case MMI_OPC_PSRAH: /* TODO: MMI_OPC_PSRAH */ - case MMI_OPC_PSLLW: /* TODO: MMI_OPC_PSLLW */ - case MMI_OPC_PSRLW: /* TODO: MMI_OPC_PSRLW */ - case MMI_OPC_PSRAW: /* TODO: MMI_OPC_PSRAW */ - gen_reserved_instruction(ctx); /* TODO: MMI_OPC_CLASS_MMI */ - break; default: MIPS_INVAL("TX79 MMI class"); gen_reserved_instruction(ctx); --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.46 as permitted sender) client-ip=209.85.128.46; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f46.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.46 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613325926; cv=none; d=zohomail.com; s=zohoarc; b=JFY0eBHnNEPCcu2UWi988wGmWWa+CYxPROGhJ1NktZjP6jP+OYdagpWT+5a53JkeaW08WDtz4jJA3K6lsGi34rI098XHMLvCUnyn22NJhO9liYgodH1iUlS1wHOhINkb/jlhkTougtc3HPMGGfrvZoid5JP2mcJCF1AoIJAJdfU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613325926; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=eeNqpVCPfAsmNmu/UfWttEow0ZyEedVgTFzxxlhV8h4=; b=GxIsDJkuxuXR4eNAduBJ8LPWFem0B7q9xIqwVaiQRWWSWDT0DbjraUCGLM7cfXjF9LU0h5jEmSHrJX8iFZHC05xE/BETOk5DpXSZJ9b7OcGgfgOSWQNhycwxeAFoGmbP9lzCz5SPbwWGIZUGDX0RLdopKFaD00YuXgKT05cBe6o= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.46 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) by mx.zohomail.com with SMTPS id 1613325926472526.9681721531105; Sun, 14 Feb 2021 10:05:26 -0800 (PST) Received: by mail-wm1-f46.google.com with SMTP id o24so5807243wmh.5 for ; Sun, 14 Feb 2021 10:05:26 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id f17sm19694283wrx.57.2021.02.14.10.00.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 10:00:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=eeNqpVCPfAsmNmu/UfWttEow0ZyEedVgTFzxxlhV8h4=; b=YBt38dg1DE3JTkjZ7eOyTNsU3imOZ7aI5pqBkRBJOH16K0xU3+m4ZDe8klDSvsug7A t5nfx6NsnPIdglpxUzUSdo+yBvjZlZ51dgGg7WSVi5UYzUbAwk/zJTufWpK9kfFW9xPR igxCFIfSrovsIfnJhW9iHd2RZ69OkOtdLbZ9AlvJzlm2rD7GxHCsF6uwS/Cn5e76MQTN 6QOc446N36NuC0IGySL02v9PNGc3cuCx8hA8jrbwYUR54eYu2SFMklc/pLNSb7Z49Mav fT8JMuDXY2LTq68GCi+6Oa9hR/Z7tu9MPVjmJTf440CT0a5je8VxLB0IIev3+pBbNwD5 LKwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=eeNqpVCPfAsmNmu/UfWttEow0ZyEedVgTFzxxlhV8h4=; b=tCybpVSWlC0lUHwuZ+11zz4MlFCugOhQy2Wo3zH0XSwWyM1bJrYZnGkxdB74wsErue TeN8Gfax373KYLAQU5oGFDD0I78CY+N/WwuvzGuau7qAJLNKpQmJQEE8KAozB/FwkUp/ sUrSaJsNeKd/EEeaDcjxEOcd7jGKGW2EFAxT1JJuZ59sC3hhIA5A6606TC8UV1XEuSUB s4Vi6cqOil2Q1dTrIm25TZKY0Fn0F0NPnTDijukWmcG3G57XtW8Km78C8oEKeLer3A/V nXBCnWbnCF5Cjn6i4aUWFIh+kMIZiQeOUy8bWKmtaIFu4ksTufeqXEz6wlJahmR736cM cIfw== X-Gm-Message-State: AOAM531uE8t5iosn6GZOIDBd4xjEcxIgBCdi3M9EPUCxIdTx70B5ROmQ ZoKAWWUxRI+wLtrc6YY2OoY= X-Google-Smtp-Source: ABdhPJy38cdmgiQC7W+b2dHuq/2sFfzpsmPtWXVfYjZg8QYIfq7qeAkQhFDanfnjncYs0yCYWZsOQw== X-Received: by 2002:a7b:cb4f:: with SMTP id v15mr11112160wmj.162.1613325625003; Sun, 14 Feb 2021 10:00:25 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo Subject: [RFC PATCH 14/42] target/mips/tx79: Salvage instructions description comment Date: Sun, 14 Feb 2021 18:58:44 +0100 Message-Id: <20210214175912.732946-15-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) This comment describing the tx79 opcodes is helpful. As we will implement these instructions in tx79_translate.c, move the comment there. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/mips/translate.c | 160 ----------------------------- target/mips/tx79_translate.c | 188 +++++++++++++++++++++++++++++++++++ 2 files changed, 188 insertions(+), 160 deletions(-) diff --git a/target/mips/translate.c b/target/mips/translate.c index 22d106405c6..109f7f80f3d 100644 --- a/target/mips/translate.c +++ b/target/mips/translate.c @@ -1743,166 +1743,6 @@ enum { }; =20 /* - * Overview of the TX79-specific instruction set - * =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D - * - * The R5900 and the C790 have 128-bit wide GPRs, where the upper 64 bits - * are only used by the specific quadword (128-bit) LQ/SQ load/store - * instructions and certain multimedia instructions (MMIs). These MMIs - * configure the 128-bit data path as two 64-bit, four 32-bit, eight 16-bit - * or sixteen 8-bit paths. - * - * Reference: - * - * The Toshiba TX System RISC TX79 Core Architecture manual, - * https://wiki.qemu.org/File:C790.pdf - * - * Three-Operand Multiply and Multiply-Add (4 instructions) - * -------------------------------------------------------- - * MADD [rd,] rs, rt Multiply/Add - * MADDU [rd,] rs, rt Multiply/Add Unsigned - * MULT [rd,] rs, rt Multiply (3-operand) - * MULTU [rd,] rs, rt Multiply Unsigned (3-operand) - * - * Multiply Instructions for Pipeline 1 (10 instructions) - * ------------------------------------------------------ - * MULT1 [rd,] rs, rt Multiply Pipeline 1 - * MULTU1 [rd,] rs, rt Multiply Unsigned Pipeline 1 - * DIV1 rs, rt Divide Pipeline 1 - * DIVU1 rs, rt Divide Unsigned Pipeline 1 - * MADD1 [rd,] rs, rt Multiply-Add Pipeline 1 - * MADDU1 [rd,] rs, rt Multiply-Add Unsigned Pipeline 1 - * MFHI1 rd Move From HI1 Register - * MFLO1 rd Move From LO1 Register - * MTHI1 rs Move To HI1 Register - * MTLO1 rs Move To LO1 Register - * - * Arithmetic (19 instructions) - * ---------------------------- - * PADDB rd, rs, rt Parallel Add Byte - * PSUBB rd, rs, rt Parallel Subtract Byte - * PADDH rd, rs, rt Parallel Add Halfword - * PSUBH rd, rs, rt Parallel Subtract Halfword - * PADDW rd, rs, rt Parallel Add Word - * PSUBW rd, rs, rt Parallel Subtract Word - * PADSBH rd, rs, rt Parallel Add/Subtract Halfword - * PADDSB rd, rs, rt Parallel Add with Signed Saturation Byte - * PSUBSB rd, rs, rt Parallel Subtract with Signed Saturation Byte - * PADDSH rd, rs, rt Parallel Add with Signed Saturation Halfword - * PSUBSH rd, rs, rt Parallel Subtract with Signed Saturation Half= word - * PADDSW rd, rs, rt Parallel Add with Signed Saturation Word - * PSUBSW rd, rs, rt Parallel Subtract with Signed Saturation Word - * PADDUB rd, rs, rt Parallel Add with Unsigned saturation Byte - * PSUBUB rd, rs, rt Parallel Subtract with Unsigned saturation By= te - * PADDUH rd, rs, rt Parallel Add with Unsigned saturation Halfword - * PSUBUH rd, rs, rt Parallel Subtract with Unsigned saturation Ha= lfword - * PADDUW rd, rs, rt Parallel Add with Unsigned saturation Word - * PSUBUW rd, rs, rt Parallel Subtract with Unsigned saturation Wo= rd - * - * Min/Max (4 instructions) - * ------------------------ - * PMAXH rd, rs, rt Parallel Maximum Halfword - * PMINH rd, rs, rt Parallel Minimum Halfword - * PMAXW rd, rs, rt Parallel Maximum Word - * PMINW rd, rs, rt Parallel Minimum Word - * - * Absolute (2 instructions) - * ------------------------- - * PABSH rd, rt Parallel Absolute Halfword - * PABSW rd, rt Parallel Absolute Word - * - * Logical (4 instructions) - * ------------------------ - * PAND rd, rs, rt Parallel AND - * POR rd, rs, rt Parallel OR - * PXOR rd, rs, rt Parallel XOR - * PNOR rd, rs, rt Parallel NOR - * - * Shift (9 instructions) - * ---------------------- - * PSLLH rd, rt, sa Parallel Shift Left Logical Halfword - * PSRLH rd, rt, sa Parallel Shift Right Logical Halfword - * PSRAH rd, rt, sa Parallel Shift Right Arithmetic Halfword - * PSLLW rd, rt, sa Parallel Shift Left Logical Word - * PSRLW rd, rt, sa Parallel Shift Right Logical Word - * PSRAW rd, rt, sa Parallel Shift Right Arithmetic Word - * PSLLVW rd, rt, rs Parallel Shift Left Logical Variable Word - * PSRLVW rd, rt, rs Parallel Shift Right Logical Variable Word - * PSRAVW rd, rt, rs Parallel Shift Right Arithmetic Variable Word - * - * Compare (6 instructions) - * ------------------------ - * PCGTB rd, rs, rt Parallel Compare for Greater Than Byte - * PCEQB rd, rs, rt Parallel Compare for Equal Byte - * PCGTH rd, rs, rt Parallel Compare for Greater Than Halfword - * PCEQH rd, rs, rt Parallel Compare for Equal Halfword - * PCGTW rd, rs, rt Parallel Compare for Greater Than Word - * PCEQW rd, rs, rt Parallel Compare for Equal Word - * - * LZC (1 instruction) - * ------------------- - * PLZCW rd, rs Parallel Leading Zero or One Count Word - * - * Quadword Load and Store (2 instructions) - * ---------------------------------------- - * LQ rt, offset(base) Load Quadword - * SQ rt, offset(base) Store Quadword - * - * Multiply and Divide (19 instructions) - * ------------------------------------- - * PMULTW rd, rs, rt Parallel Multiply Word - * PMULTUW rd, rs, rt Parallel Multiply Unsigned Word - * PDIVW rs, rt Parallel Divide Word - * PDIVUW rs, rt Parallel Divide Unsigned Word - * PMADDW rd, rs, rt Parallel Multiply-Add Word - * PMADDUW rd, rs, rt Parallel Multiply-Add Unsigned Word - * PMSUBW rd, rs, rt Parallel Multiply-Subtract Word - * PMULTH rd, rs, rt Parallel Multiply Halfword - * PMADDH rd, rs, rt Parallel Multiply-Add Halfword - * PMSUBH rd, rs, rt Parallel Multiply-Subtract Halfword - * PHMADH rd, rs, rt Parallel Horizontal Multiply-Add Halfword - * PHMSBH rd, rs, rt Parallel Horizontal Multiply-Subtract Halfword - * PDIVBW rs, rt Parallel Divide Broadcast Word - * PMFHI rd Parallel Move From HI Register - * PMFLO rd Parallel Move From LO Register - * PMTHI rs Parallel Move To HI Register - * PMTLO rs Parallel Move To LO Register - * PMFHL rd Parallel Move From HI/LO Register - * PMTHL rs Parallel Move To HI/LO Register - * - * Pack/Extend (11 instructions) - * ----------------------------- - * PPAC5 rd, rt Parallel Pack to 5 bits - * PPACB rd, rs, rt Parallel Pack to Byte - * PPACH rd, rs, rt Parallel Pack to Halfword - * PPACW rd, rs, rt Parallel Pack to Word - * PEXT5 rd, rt Parallel Extend Upper from 5 bits - * PEXTUB rd, rs, rt Parallel Extend Upper from Byte - * PEXTLB rd, rs, rt Parallel Extend Lower from Byte - * PEXTUH rd, rs, rt Parallel Extend Upper from Halfword - * PEXTLH rd, rs, rt Parallel Extend Lower from Halfword - * PEXTUW rd, rs, rt Parallel Extend Upper from Word - * PEXTLW rd, rs, rt Parallel Extend Lower from Word - * - * Others (16 instructions) - * ------------------------ - * PCPYH rd, rt Parallel Copy Halfword - * PCPYLD rd, rs, rt Parallel Copy Lower Doubleword - * PCPYUD rd, rs, rt Parallel Copy Upper Doubleword - * PREVH rd, rt Parallel Reverse Halfword - * PINTH rd, rs, rt Parallel Interleave Halfword - * PINTEH rd, rs, rt Parallel Interleave Even Halfword - * PEXEH rd, rt Parallel Exchange Even Halfword - * PEXCH rd, rt Parallel Exchange Center Halfword - * PEXEW rd, rt Parallel Exchange Even Word - * PEXCW rd, rt Parallel Exchange Center Word - * QFSRV rd, rs, rt Quadword Funnel Shift Right Variable - * MFSA rd Move from Shift Amount Register - * MTSA rs Move to Shift Amount Register - * MTSAB rs, immediate Move Byte Count to Shift Amount Register - * MTSAH rs, immediate Move Halfword Count to Shift Amount Register - * PROT3W rd, rt Parallel Rotate 3 Words - * * MMI (MultiMedia Instruction) encodings * =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D * diff --git a/target/mips/tx79_translate.c b/target/mips/tx79_translate.c index de09bb0d314..243a81c3c5e 100644 --- a/target/mips/tx79_translate.c +++ b/target/mips/tx79_translate.c @@ -14,6 +14,22 @@ /* Include the auto-generated decoder. */ #include "decode-tx79.c.inc" =20 +/* + * Overview of the TX79-specific instruction set + * =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + * + * The R5900 and the C790 have 128-bit wide GPRs, where the upper 64 bits + * are only used by the specific quadword (128-bit) LQ/SQ load/store + * instructions and certain multimedia instructions (MMIs). These MMIs + * configure the 128-bit data path as two 64-bit, four 32-bit, eight 16-bit + * or sixteen 8-bit paths. + * + * Reference: + * + * The Toshiba TX System RISC TX79 Core Architecture manual, + * https://wiki.qemu.org/File:C790.pdf + */ + bool decode_ext_tx79(DisasContext *ctx, uint32_t insn) { if (TARGET_LONG_BITS =3D=3D 64 && decode_tx79(ctx, insn)) { @@ -22,6 +38,30 @@ bool decode_ext_tx79(DisasContext *ctx, uint32_t insn) return false; } =20 +/* + * Three-Operand Multiply and Multiply-Add (4 instructions) + * -------------------------------------------------------- + * MADD [rd,] rs, rt Multiply/Add + * MADDU [rd,] rs, rt Multiply/Add Unsigned + * MULT [rd,] rs, rt Multiply (3-operand) + * MULTU [rd,] rs, rt Multiply Unsigned (3-operand) + */ + +/* + * Multiply Instructions for Pipeline 1 (10 instructions) + * ------------------------------------------------------ + * MULT1 [rd,] rs, rt Multiply Pipeline 1 + * MULTU1 [rd,] rs, rt Multiply Unsigned Pipeline 1 + * DIV1 rs, rt Divide Pipeline 1 + * DIVU1 rs, rt Divide Unsigned Pipeline 1 + * MADD1 [rd,] rs, rt Multiply-Add Pipeline 1 + * MADDU1 [rd,] rs, rt Multiply-Add Unsigned Pipeline 1 + * MFHI1 rd Move From HI1 Register + * MFLO1 rd Move From LO1 Register + * MTHI1 rs Move To HI1 Register + * MTLO1 rs Move To LO1 Register + */ + static bool trans_MFHI1(DisasContext *ctx, arg_rtype *a) { gen_store_gpr(cpu_HI[1], a->rd); @@ -50,6 +90,154 @@ static bool trans_MTLO1(DisasContext *ctx, arg_rtype *a) return true; } =20 +/* + * Arithmetic (19 instructions) + * ---------------------------- + * PADDB rd, rs, rt Parallel Add Byte + * PSUBB rd, rs, rt Parallel Subtract Byte + * PADDH rd, rs, rt Parallel Add Halfword + * PSUBH rd, rs, rt Parallel Subtract Halfword + * PADDW rd, rs, rt Parallel Add Word + * PSUBW rd, rs, rt Parallel Subtract Word + * PADSBH rd, rs, rt Parallel Add/Subtract Halfword + * PADDSB rd, rs, rt Parallel Add with Signed Saturation Byte + * PSUBSB rd, rs, rt Parallel Subtract with Signed Saturation Byte + * PADDSH rd, rs, rt Parallel Add with Signed Saturation Halfword + * PSUBSH rd, rs, rt Parallel Subtract with Signed Saturation Half= word + * PADDSW rd, rs, rt Parallel Add with Signed Saturation Word + * PSUBSW rd, rs, rt Parallel Subtract with Signed Saturation Word + * PADDUB rd, rs, rt Parallel Add with Unsigned saturation Byte + * PSUBUB rd, rs, rt Parallel Subtract with Unsigned saturation By= te + * PADDUH rd, rs, rt Parallel Add with Unsigned saturation Halfword + * PSUBUH rd, rs, rt Parallel Subtract with Unsigned saturation Ha= lfword + * PADDUW rd, rs, rt Parallel Add with Unsigned saturation Word + * PSUBUW rd, rs, rt Parallel Subtract with Unsigned saturation Wo= rd + */ + +/* + * Min/Max (4 instructions) + * ------------------------ + * PMAXH rd, rs, rt Parallel Maximum Halfword + * PMINH rd, rs, rt Parallel Minimum Halfword + * PMAXW rd, rs, rt Parallel Maximum Word + * PMINW rd, rs, rt Parallel Minimum Word + */ + +/* + * Absolute (2 instructions) + * ------------------------- + * PABSH rd, rt Parallel Absolute Halfword + * PABSW rd, rt Parallel Absolute Word + */ + +/* + * Logical (4 instructions) + * ------------------------ + * PAND rd, rs, rt Parallel AND + * POR rd, rs, rt Parallel OR + * PXOR rd, rs, rt Parallel XOR + * PNOR rd, rs, rt Parallel NOR + */ + +/* + * Shift (9 instructions) + * ---------------------- + * PSLLH rd, rt, sa Parallel Shift Left Logical Halfword + * PSRLH rd, rt, sa Parallel Shift Right Logical Halfword + * PSRAH rd, rt, sa Parallel Shift Right Arithmetic Halfword + * PSLLW rd, rt, sa Parallel Shift Left Logical Word + * PSRLW rd, rt, sa Parallel Shift Right Logical Word + * PSRAW rd, rt, sa Parallel Shift Right Arithmetic Word + * PSLLVW rd, rt, rs Parallel Shift Left Logical Variable Word + * PSRLVW rd, rt, rs Parallel Shift Right Logical Variable Word + * PSRAVW rd, rt, rs Parallel Shift Right Arithmetic Variable Word + */ + +/* + * Compare (6 instructions) + * ------------------------ + * PCGTB rd, rs, rt Parallel Compare for Greater Than Byte + * PCEQB rd, rs, rt Parallel Compare for Equal Byte + * PCGTH rd, rs, rt Parallel Compare for Greater Than Halfword + * PCEQH rd, rs, rt Parallel Compare for Equal Halfword + * PCGTW rd, rs, rt Parallel Compare for Greater Than Word + * PCEQW rd, rs, rt Parallel Compare for Equal Word + */ + +/* + * LZC (1 instruction) + * ------------------- + * PLZCW rd, rs Parallel Leading Zero or One Count Word + */ + +/* + * Quadword Load and Store (2 instructions) + * ---------------------------------------- + * LQ rt, offset(base) Load Quadword + * SQ rt, offset(base) Store Quadword + */ + +/* + * Multiply and Divide (19 instructions) + * ------------------------------------- + * PMULTW rd, rs, rt Parallel Multiply Word + * PMULTUW rd, rs, rt Parallel Multiply Unsigned Word + * PDIVW rs, rt Parallel Divide Word + * PDIVUW rs, rt Parallel Divide Unsigned Word + * PMADDW rd, rs, rt Parallel Multiply-Add Word + * PMADDUW rd, rs, rt Parallel Multiply-Add Unsigned Word + * PMSUBW rd, rs, rt Parallel Multiply-Subtract Word + * PMULTH rd, rs, rt Parallel Multiply Halfword + * PMADDH rd, rs, rt Parallel Multiply-Add Halfword + * PMSUBH rd, rs, rt Parallel Multiply-Subtract Halfword + * PHMADH rd, rs, rt Parallel Horizontal Multiply-Add Halfword + * PHMSBH rd, rs, rt Parallel Horizontal Multiply-Subtract Halfword + * PDIVBW rs, rt Parallel Divide Broadcast Word + * PMFHI rd Parallel Move From HI Register + * PMFLO rd Parallel Move From LO Register + * PMTHI rs Parallel Move To HI Register + * PMTLO rs Parallel Move To LO Register + * PMFHL rd Parallel Move From HI/LO Register + * PMTHL rs Parallel Move To HI/LO Register + */ + +/* + * Pack/Extend (11 instructions) + * ----------------------------- + * PPAC5 rd, rt Parallel Pack to 5 bits + * PPACB rd, rs, rt Parallel Pack to Byte + * PPACH rd, rs, rt Parallel Pack to Halfword + * PPACW rd, rs, rt Parallel Pack to Word + * PEXT5 rd, rt Parallel Extend Upper from 5 bits + * PEXTUB rd, rs, rt Parallel Extend Upper from Byte + * PEXTLB rd, rs, rt Parallel Extend Lower from Byte + * PEXTUH rd, rs, rt Parallel Extend Upper from Halfword + * PEXTLH rd, rs, rt Parallel Extend Lower from Halfword + * PEXTUW rd, rs, rt Parallel Extend Upper from Word + * PEXTLW rd, rs, rt Parallel Extend Lower from Word + */ + +/* + * Others (16 instructions) + * ------------------------ + * PCPYH rd, rt Parallel Copy Halfword + * PCPYLD rd, rs, rt Parallel Copy Lower Doubleword + * PCPYUD rd, rs, rt Parallel Copy Upper Doubleword + * PREVH rd, rt Parallel Reverse Halfword + * PINTH rd, rs, rt Parallel Interleave Halfword + * PINTEH rd, rs, rt Parallel Interleave Even Halfword + * PEXEH rd, rt Parallel Exchange Even Halfword + * PEXCH rd, rt Parallel Exchange Center Halfword + * PEXEW rd, rt Parallel Exchange Even Word + * PEXCW rd, rt Parallel Exchange Center Word + * QFSRV rd, rs, rt Quadword Funnel Shift Right Variable + * MFSA rd Move from Shift Amount Register + * MTSA rs Move to Shift Amount Register + * MTSAB rs, immediate Move Byte Count to Shift Amount Register + * MTSAH rs, immediate Move Halfword Count to Shift Amount Register + * PROT3W rd, rt Parallel Rotate 3 Words + */ + /* Parallel Copy Halfword */ static bool trans_PCPYH(DisasContext *s, arg_rtype *a) { --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.44 as permitted sender) client-ip=209.85.221.44; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f44.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.44 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1613325631; cv=none; d=zohomail.com; s=zohoarc; b=itxgmf0nhw34swakdLqPsE33eodHaynNt4e2HXRorp5PHKGksxXoUtTMt7tRu8YpFJnWkSBZlTGepDWFpV0z376b9fThktnes85MJpQQ1zG3OypV9DsMz2XY92NeGfYT/MooUelf8mYD5fjJ08KJMsezkkl7liUVKWKRVzffAh0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613325631; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=FfRtrIVYgrZx8p+x3vP4XGNic7F4mMc3E9YYXBY0pFU=; b=KYuYRNmK6iRIU5aP9dJvXRL8KLf2+x1B3B7aqNxt+peySyO88i5PRwRhHH2VrzmJUAeQygJBQNCCTPXAswvvDpHTIzkv4QoQriznAMfv/IVWG6RRYeSHqecQPmUX8JUoLnhvyV84fnO9N7f0DVBrjlogbgk5ZOUN47cSn7PbmX0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.44 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) by mx.zohomail.com with SMTPS id 1613325631137519.4819343770201; Sun, 14 Feb 2021 10:00:31 -0800 (PST) Received: by mail-wr1-f44.google.com with SMTP id l12so6145695wry.2 for ; Sun, 14 Feb 2021 10:00:30 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id c62sm22338051wmd.43.2021.02.14.10.00.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 10:00:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=FfRtrIVYgrZx8p+x3vP4XGNic7F4mMc3E9YYXBY0pFU=; b=o8WREhb4dKioU1pyB4M8/MK+ycuqhktIENWqKMDL3TIddaoRFYEnmIpL/hZTjiY7Lr nv5uR7FbLHouZe0wj+aUM6HsawirJQN52WM25AIaa7Q4KwgM3rL49hgxrqzfX2pYKAtu zmAkf0Ef/G0P4bR69BC5DZGhGh/vV/NaKSMRpoIDgZNtro4Ie2PpH0IPShQLwyKn4td6 Rj11lH9PAvQOfImte8KG96T8xKwNp/1gI48xluIYX1EE8rIGAPUeIjGbbMsm4tO9DTpu JTsi/URA5r1FncDuQAfFzVp+5oSMs9aDZeXAxG2KOxbqIq7HSd6OKvLkXZPogxNyxfti 1agw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=FfRtrIVYgrZx8p+x3vP4XGNic7F4mMc3E9YYXBY0pFU=; b=Ald+k2tq8DrWjB26unWzsjJGCq7zV8TGcL/Sgl7Y+BHYpcrN/nBP3/Fuz2ObMICNzI /WTbmbGuT9ZQHMoBn/NRQ+jZLlt/nTl7oAriu0EnFLVTm5yW83d3abh+NeGKbHO2Sqac 3x6t/4TjZt/nM/Fn/4BAobRjFO5PJihLu1+y8l666lAISN/xMQG+m48kyHQ2sC08xEG4 oVy1DRekIxPkUwOUjSbWq1hks+8TAgwpQq/ko+yM3v80LFr3pdmzcq9psdPuRB0MZyye e7IuwcPvllBCB9+l83BkOPosJkU9wFM/LacpEIX8ScpXr7jpxgEliMuMigR5LDgdq6l2 j4sQ== X-Gm-Message-State: AOAM530zz3Eqb8No0ftqDNHWXAKkjqqYfJgotZkv4Cv+rot/b9w+iB9t WVUx0PApjDIPkVVpU3pmCgg= X-Google-Smtp-Source: ABdhPJyIXTMd9O46RIT7MQPGfepw9iJJQEIELxVKW4OhecoTcCvUBoT8m/BJhEml5nvu+9z5PWr8/Q== X-Received: by 2002:adf:f941:: with SMTP id q1mr15161235wrr.189.1613325629787; Sun, 14 Feb 2021 10:00:29 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo Subject: [RFC PATCH 15/42] target/mips/tx79: Introduce PAND/POR/PXOR/PNOR opcodes (parallel logic) Date: Sun, 14 Feb 2021 18:58:45 +0100 Message-Id: <20210214175912.732946-16-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Introduce the parallel logic opcodes: - PAND (Parallel AND) - POR (Parallel OR) - PXOR (Parallel XOR) - PNOR (Parallel NOR) Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/mips/tx79.decode | 4 +++ target/mips/tx79_translate.c | 54 ++++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) diff --git a/target/mips/tx79.decode b/target/mips/tx79.decode index 0f748b53a64..26c80b9bce5 100644 --- a/target/mips/tx79.decode +++ b/target/mips/tx79.decode @@ -32,8 +32,12 @@ MTLO1 011100 ..... 0000000000 00000 010011 = @rs # MMI2 =20 PCPYLD 011100 ..... ..... ..... 01110 001001 @rs_rt_rd +PAND 011100 ..... ..... ..... 10010 001001 @rs_rt_rd +PXOR 011100 ..... ..... ..... 10011 001001 @rs_rt_rd =20 # MMI3 =20 PCPYUD 011100 ..... ..... ..... 01110 101001 @rs_rt_rd +POR 011100 ..... ..... ..... 10010 101001 @rs_rt_rd +PNOR 011100 ..... ..... ..... 10011 101001 @rs_rt_rd PCPYH 011100 00000 ..... ..... 11011 101001 @rt_rd diff --git a/target/mips/tx79_translate.c b/target/mips/tx79_translate.c index 243a81c3c5e..28d07baaa73 100644 --- a/target/mips/tx79_translate.c +++ b/target/mips/tx79_translate.c @@ -2,6 +2,7 @@ * Toshiba TX79-specific instructions translation routines * * Copyright (c) 2018 Fredrik Noring + * Copyright (c) 2021 Philippe Mathieu-Daud=C3=A9 * * SPDX-License-Identifier: GPL-2.0-or-later */ @@ -139,6 +140,59 @@ static bool trans_MTLO1(DisasContext *ctx, arg_rtype *= a) * PNOR rd, rs, rt Parallel NOR */ =20 +static bool trans_parallel_logic(DisasContext *ctx, arg_rtype *a, + void (*gen_logic_i64)(TCGv_i64, TCGv_i64,= TCGv_i64)) +{ + TCGv_i64 ax, bx; + + if (a->rd =3D=3D 0) { + /* nop */ + return true; + } + + ax =3D tcg_temp_new_i64(); + bx =3D tcg_temp_new_i64(); + + /* Lower halve */ + gen_load_gpr(ax, a->rs); + gen_load_gpr(bx, a->rt); + gen_logic_i64(cpu_gpr[a->rd], ax, bx); + + /* Upper halve */ + gen_load_gpr_hi(ax, a->rs); + gen_load_gpr_hi(bx, a->rt); + gen_logic_i64(cpu_gpr_hi[a->rd], ax, bx); + + tcg_temp_free(bx); + tcg_temp_free(ax); + + return true; +} + +/* Parallel And */ +static bool trans_PAND(DisasContext *ctx, arg_rtype *a) +{ + return trans_parallel_logic(ctx, a, tcg_gen_and_i64); +} + +/* Parallel Or */ +static bool trans_POR(DisasContext *ctx, arg_rtype *a) +{ + return trans_parallel_logic(ctx, a, tcg_gen_or_i64); +} + +/* Parallel Exclusive Or */ +static bool trans_PXOR(DisasContext *ctx, arg_rtype *a) +{ + return trans_parallel_logic(ctx, a, tcg_gen_xor_i64); +} + +/* Parallel Not Or */ +static bool trans_PNOR(DisasContext *ctx, arg_rtype *a) +{ + return trans_parallel_logic(ctx, a, tcg_gen_nor_i64); +} + /* * Shift (9 instructions) * ---------------------- --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.47 as permitted sender) client-ip=209.85.128.47; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f47.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.47 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613325636; cv=none; d=zohomail.com; s=zohoarc; b=gIJvnnYd3CtoeLOljUo8/yDwZyD8zqptsPoj3E2hKEM1fpdwoXalIvwPKkJqVWF28BC6xrTt6m2heeH+ltlKSEbnR8jtXRvboLfiRcJ7OPonqAhByrBi28jkPzBgsxRQH1VZ25d3CcGC/aWgkS25LS+lg65Bmc7hS/qIQzJacOk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613325636; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=7E2jJiu6LIhE2Ap/QoeyVnqYU2wBaOLlH1WxXmievrY=; b=ndpZPb2fYIkrHo497sbau0mLzI79emB8fJZn6AVI+hU2zmzU9RutC49KC6m+0xQigzJsKGugeTNQyZL/9/ORIxm28bUYm26yYzfCmyGBUOdQqa0K2jUGyJ+AT6FZ0VWGNpoGXNTBfqw94zkAm74vOprhxfvSGPy1rYQFKL3lKs8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.47 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) by mx.zohomail.com with SMTPS id 1613325636128858.9265629743188; Sun, 14 Feb 2021 10:00:36 -0800 (PST) Received: by mail-wm1-f47.google.com with SMTP id n10so5842560wmq.0 for ; Sun, 14 Feb 2021 10:00:35 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id t9sm15791314wrw.76.2021.02.14.10.00.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 10:00:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=7E2jJiu6LIhE2Ap/QoeyVnqYU2wBaOLlH1WxXmievrY=; b=TvAxD6cvjNPwhfwRH/JvPIU+9lLd2hWTFQgN15UKRMijoPvU6kDh54YYE6KCDdk+B1 L2sk6DZnPVo+9GTbpx/XDhGQ1Lg4aVKAcdjLfUtVPr0PhP48/ek9jwD9pt+y4KjjDR3u l1hlmujK28cCqu3aZzqF6bATDZdzdf0nVulawAr+LfdAbvA4RXWW26fFhgDTo7KpZSiP 7Xc7ymuQxq4WsQkttj+jz8sVY7V9fz4K2dultCI5wpaYi8KKh3c3qZkz60iEuHHaigiR 4O6I2UXqkdwvqh8yC3pDmQeGG4QJx8LiUO6WUw9F5jsb2fZFkaOQFFKVNOAEqJQ8EqBS fEeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=7E2jJiu6LIhE2Ap/QoeyVnqYU2wBaOLlH1WxXmievrY=; b=ViDN3a12HH25deDWW93RJz4EzwXgXdOODcBDbo8bi51N3zfXc3NZ7AyeOQqKwvfW05 ivtHqAzxAClvQpohHLowHvSCH5VIgDxUQ7Rr27dJLVhoNAZevZoSZEj0STA5PgiNSBp+ MkQP7yjTDqouWqGHytpbtEh75Vvth98DoYHNcP8TFb9cD0TvVaWmx6dLC2fEHbH4GBmo ZunBX36OwiqaXFEaDpdPKKOQZKj3ywBhQv0S2ZpIgW7Awr8hcdD06gR695MMwmwPdksM ZG7sBiiyVY7shG5HoWMIPxllhKM02UwE9r+c9cxhf4+DPJkMP453lEltJpClQzIvHzfL 9NKw== X-Gm-Message-State: AOAM530/pFsB4Z4bBl2AFMG+ECPsjVliIJ/YPCwje5XMwEq1ZXTIcfCu b/1MZI3Mpj5wfAk2N6jK7ss= X-Google-Smtp-Source: ABdhPJx9jOV5B0JicBnmBcr658AEI18ZGOIttCkT6W6q+voWKUHLESVRR1MjR9esitoDq52hO0lonA== X-Received: by 2002:a1c:4d03:: with SMTP id o3mr11371598wmh.136.1613325634726; Sun, 14 Feb 2021 10:00:34 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo Subject: [RFC PATCH 16/42] target/mips/tx79: Introduce PSUB* opcodes (Parallel Subtract) Date: Sun, 14 Feb 2021 18:58:46 +0100 Message-Id: <20210214175912.732946-17-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Introduce the 'Parallel Subtract' opcodes: - PSUBB (Parallel Subtract Byte) - PSUBH (Parallel Subtract Halfword) - PSUBW (Parallel Subtract Word) Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/mips/tx79.decode | 6 ++++ target/mips/tx79_translate.c | 61 ++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+) diff --git a/target/mips/tx79.decode b/target/mips/tx79.decode index 26c80b9bce5..d1c07c7d901 100644 --- a/target/mips/tx79.decode +++ b/target/mips/tx79.decode @@ -29,6 +29,12 @@ MTHI1 011100 ..... 0000000000 00000 010001 = @rs MFLO1 011100 0000000000 ..... 00000 010010 @rd MTLO1 011100 ..... 0000000000 00000 010011 @rs =20 +# MMI0 + +PSUBW 011100 ..... ..... ..... 00001 001000 @rs_rt_rd +PSUBH 011100 ..... ..... ..... 00101 001000 @rs_rt_rd +PSUBB 011100 ..... ..... ..... 01001 001000 @rs_rt_rd + # MMI2 =20 PCPYLD 011100 ..... ..... ..... 01110 001001 @rs_rt_rd diff --git a/target/mips/tx79_translate.c b/target/mips/tx79_translate.c index 28d07baaa73..23146f6bfac 100644 --- a/target/mips/tx79_translate.c +++ b/target/mips/tx79_translate.c @@ -115,6 +115,67 @@ static bool trans_MTLO1(DisasContext *ctx, arg_rtype *= a) * PSUBUW rd, rs, rt Parallel Subtract with Unsigned saturation Wo= rd */ =20 +static bool trans_parallel_substract(DisasContext *ctx, arg_rtype *a, unsi= gned wlen) +{ + TCGv_i64 ax, bx, t0, t1, t2; + + if (a->rd =3D=3D 0) { + /* nop */ + return true; + } + + ax =3D tcg_temp_new_i64(); + bx =3D tcg_temp_new_i64(); + t0 =3D tcg_temp_new_i64(); + t1 =3D tcg_temp_new_i64(); + t2 =3D tcg_temp_new_i64(); + + /* Lower halve */ + gen_load_gpr(ax, a->rs); + gen_load_gpr(bx, a->rt); + for (int i =3D 0; i < (64 / wlen); i++) { + tcg_gen_sextract_i64(t0, ax, wlen * i, wlen); + tcg_gen_sextract_i64(t1, bx, wlen * i, wlen); + tcg_gen_sub_i64(t2, t0, t1); + tcg_gen_deposit_i64(cpu_gpr[a->rd], cpu_gpr[a->rd], t2, wlen * i, = wlen); + } + /* Upper halve */ + gen_load_gpr_hi(ax, a->rs); + gen_load_gpr_hi(bx, a->rt); + for (int i =3D 0; i < (64 / wlen); i++) { + tcg_gen_sextract_i64(t0, ax, wlen * i, wlen); + tcg_gen_sextract_i64(t1, bx, wlen * i, wlen); + tcg_gen_sub_i64(t2, t0, t1); + tcg_gen_deposit_i64(cpu_gpr_hi[a->rd], cpu_gpr_hi[a->rd], t2, wlen= * i, wlen); + } + + tcg_temp_free(t2); + tcg_temp_free(t1); + tcg_temp_free(t0); + tcg_temp_free(bx); + tcg_temp_free(ax); + + return true; +} + +/* Parallel Subtract Byte */ +static bool trans_PSUBB(DisasContext *ctx, arg_rtype *a) +{ + return trans_parallel_substract(ctx, a, 8); +} + +/* Parallel Subtract Halfword */ +static bool trans_PSUBH(DisasContext *ctx, arg_rtype *a) +{ + return trans_parallel_substract(ctx, a, 16); +} + +/* Parallel Subtract Word */ +static bool trans_PSUBW(DisasContext *ctx, arg_rtype *a) +{ + return trans_parallel_substract(ctx, a, 32); +} + /* * Min/Max (4 instructions) * ------------------------ --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.41 as permitted sender) client-ip=209.85.221.41; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f41.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.41 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613325641; cv=none; d=zohomail.com; s=zohoarc; b=Mvf1iLNAVZ9D+vX5a+KZPWnE3kw2H3erQXv+8w3TC5G9Y1XDJZBIJACLPnkWaFItyJHZQRiLT3uOtew7e5sQ3N6VbPzf35IBJSCHr83uRv7lF2jjkBeSfLrifnVhNHdHJId3g2gjoIkVD2SirrBiH5huJIUFIeZ6SGKj9SqyyZ0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613325641; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=U+V4mgoYQ8a3cKweLkQIShkW02XCP8ivJVee8UjrEHo=; b=UYqipXdaB5J3S1lwdEndC8vhatBA3ZMNM3RGC1iwpC4LXW0mbw4xLcUVyJcOherxiUVceE13xPk64se7SkzyRsy8QoLTOc4aOUcWl4m6F58P/g/UG1RszUGowS41Up6BTCOQSvTQ9tZEKdlF2mnpFxdur3XITzdXxpUnvfGQ5a4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.41 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) by mx.zohomail.com with SMTPS id 1613325641665544.691270687232; Sun, 14 Feb 2021 10:00:41 -0800 (PST) Received: by mail-wr1-f41.google.com with SMTP id n8so6074415wrm.10 for ; Sun, 14 Feb 2021 10:00:40 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id o13sm27880973wrs.45.2021.02.14.10.00.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 10:00:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=U+V4mgoYQ8a3cKweLkQIShkW02XCP8ivJVee8UjrEHo=; b=dlxzrA+zv+GRNm37c1NMndsCwHA7t/eXJkN+TKLQ7L8gf1qet5HCUdeRy5SkIs+vPf mRmq/F9leZx2LnVN5YQ5pkhU2J8u4PDXxPBnFr19zLjHvTMP/xwacLumOs2z7MSAUfLZ 5Wii+rFtl4zk+yLtDiuxLSyU9r5yQwI/DaTCyoFkO1o9vDd2YR/l3u5ug0d2OJ5SgV4O gFK4R3PqlHH4kPiQ5C2aAzSaY+jZOBSY85n8IUaNKRGUn9KwGEN3SGPmnWFVFSHiNUD4 S2O2g4/4VW+dA17wizBM1h9GQCgTJqSaRjZrbu0dcnMFV4lr8qWZasnVXr+boigIJ2Uf qzkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=U+V4mgoYQ8a3cKweLkQIShkW02XCP8ivJVee8UjrEHo=; b=ZHdWzM+Eg8Val+AAfBOvdKPMiFPMm46aa/Nhcvn5hMugS/kr2xRWVNoV09GNT8c63y 22GMpyEnqnwIvh3Ju/tPAnpFysOWj22naSXNHq0b/+MwjEnJwCOk7f9tSr+zlVA5d06f rtWxE+8H0UsnV1rL/xNnEikwCtZ7BHcOc0w9+5hny9TBz+G6S7ap3ADG2htOO9aapjRw lFzbG7LYJhqHl+lEcuieUHqIQSr/cBxAbjgrCE1RgAfiLLzYZNDITHVeK/X2fWVIr0Wl xuRG64M1e6G3Qu9ceTUihSu+2NwEVG/2G9kZ+527yjv0On8F2rmeoQQGjgHhYjRmfcZk wX+g== X-Gm-Message-State: AOAM530udas1l8yQ3EZUflkvheVc0A1+OOPulnOrRhrKTGYRW/1Moaty aCM8D6rVGOvKQfc2yd3Xt4M= X-Google-Smtp-Source: ABdhPJzJKdSKdL74uaZXjTmaKRj0UWLWKTYZmp5FpyuI2vjxI/3BtMw8vUQbjIcgIwDFwfssLRkyjw== X-Received: by 2002:a05:6000:1543:: with SMTP id 3mr15024308wry.254.1613325639825; Sun, 14 Feb 2021 10:00:39 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo Subject: [RFC PATCH 17/42] target/mips/tx79: Introduce PEXTUW (Parallel Extend Upper from Word) Date: Sun, 14 Feb 2021 18:58:47 +0100 Message-Id: <20210214175912.732946-18-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Introduce the PEXTUW opcode (Parallel Extend Upper from Word). Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/mips/tx79.decode | 4 ++++ target/mips/tx79_translate.c | 26 ++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/target/mips/tx79.decode b/target/mips/tx79.decode index d1c07c7d901..ead5f8281e5 100644 --- a/target/mips/tx79.decode +++ b/target/mips/tx79.decode @@ -35,6 +35,10 @@ PSUBW 011100 ..... ..... ..... 00001 001000 = @rs_rt_rd PSUBH 011100 ..... ..... ..... 00101 001000 @rs_rt_rd PSUBB 011100 ..... ..... ..... 01001 001000 @rs_rt_rd =20 +# MMI1 + +PEXTUW 011100 ..... ..... ..... 10010 101000 @rs_rt_rd + # MMI2 =20 PCPYLD 011100 ..... ..... ..... 01110 001001 @rs_rt_rd diff --git a/target/mips/tx79_translate.c b/target/mips/tx79_translate.c index 23146f6bfac..0a2fb28600b 100644 --- a/target/mips/tx79_translate.c +++ b/target/mips/tx79_translate.c @@ -332,6 +332,32 @@ static bool trans_PNOR(DisasContext *ctx, arg_rtype *a) * PEXTLW rd, rs, rt Parallel Extend Lower from Word */ =20 +/* Parallel Extend Upper from Word */ +static bool trans_PEXTUW(DisasContext *ctx, arg_rtype *a) +{ + TCGv_i64 ax, bx; + + if (a->rd =3D=3D 0) { + /* nop */ + return true; + } + + ax =3D tcg_temp_new_i64(); + bx =3D tcg_temp_new_i64(); + + gen_load_gpr_hi(ax, a->rs); + gen_load_gpr_hi(bx, a->rt); + + tcg_gen_deposit_i64(cpu_gpr[a->rd], bx, ax, 32, 32); + tcg_gen_shri_i64(bx, bx, 32); + tcg_gen_deposit_i64(cpu_gpr_hi[a->rd], ax, bx, 0, 32); + + tcg_temp_free(bx); + tcg_temp_free(ax); + + return true; +} + /* * Others (16 instructions) * ------------------------ --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.47 as permitted sender) client-ip=209.85.221.47; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f47.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.47 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1613325646; cv=none; d=zohomail.com; s=zohoarc; b=gDkrR6DlN6nROHAdnTXx4FakXehYAo1sa2o3cKPI/XaZGDhIXn1XMJjqKrmWk0vt5px0NczAGnBv3aA2G1HKLJxiyQS1ZaOW0aWGnB1PQhhpg23GaATXGgfSGD2S8I6fm0Oi3DKsWs5jXgn5Jesze2i1m7XXl9bFPEjGJ6DGkTY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613325646; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=SDHdCg7Mye3AzFKx4ibkRRFtRHfjnUTnAAujz3rX0fg=; b=OOqHHdDIjFc5OGfUGt5IROgI2y2yqGfshBXemfZ+OB/6lAMgioKIikAyHMGnUThKPZTkIlVI9wRxXtF1fKhkf1c137eDn3JePeq3kgd1AMRYj9xz4PSbJ8qAwauVMKIF0rksaLqyHEK3VX9uOGMWnMQHYiUZzWTt/EpEpEqJM2A= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.47 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.47]) by mx.zohomail.com with SMTPS id 1613325646148835.4434692210039; Sun, 14 Feb 2021 10:00:46 -0800 (PST) Received: by mail-wr1-f47.google.com with SMTP id t15so6048142wrx.13 for ; Sun, 14 Feb 2021 10:00:45 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id f7sm10918378wmh.39.2021.02.14.10.00.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 10:00:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=SDHdCg7Mye3AzFKx4ibkRRFtRHfjnUTnAAujz3rX0fg=; b=WXjrqFIBE+198Wt61yI6B5UNkEvJfUx64IhHrzNV1R0qbkJiHB7E3aI9Mr5vVlbMil lDezMOMIOmAw+klnrbpqdOfbX0HG4HpOd0GMQ7Jl9jtkxQCkfdOTJWWt0ff2YrWN3lVd tVTQCdxv3ZuqQTIKYa1xc8jcbPtiuR3dVVfDXsm6rW1iCC8hWYOpYaNDpxlu9UVfo6SP q3r+VkZ73qiDw0PY4Yx7bcRahX4JBqlzj0dn0nUrR1Fb0dokmndsPUE8ytJmORCW8D9i 1gHUmQPoWpy3ntUDlvtURj+22OJIzV9RlFFvvhV6PrgdtWhLKdYjqUepj7UgBCC9oyyb c7wQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=SDHdCg7Mye3AzFKx4ibkRRFtRHfjnUTnAAujz3rX0fg=; b=rl5DBkpFbx7ObNF+gmM4+tC2CzImG04U3M/ESdjvW6UUWEq37QO9bjQiv85tJGaiLp XQceWZN3kOzSTKlPc8vUC/reAHFAQHcXvBcK/CuNDPG+SvMgWT0Zx6+4sAfz9cRDRqUi vmUfimNZ6YLmDvqA/47Vf7fkJWbp/7FZb0EuzInfQeM+WxsmwfLSi2GVilNXJNYfbSao /ey/VqGQCNuc0Py00NTJXt5AxJqb6RM/vJxbwpGFmIVgLUf+I/ddNCceC97AVeqh6tCE YY/aDNug2JSdGgMJ7bhVIxq7ztXc60fiGD5IVG/ujJxLXm+PjuIZlT7poKWbPxpaaF+i JgTQ== X-Gm-Message-State: AOAM530cyARaaOw6enL97sUHohTl7mrEGuJ+74/8vVv5XMSsYfnrJrT2 ZEWdyxE/hM+Ya1LOFXQtP3w= X-Google-Smtp-Source: ABdhPJwxbkOoVkbbuR2FAuCskz60XedGxH9bmv3Yjcz9gbU3/uEUg7mRx+RV60NhDmaPedqK6uEZqQ== X-Received: by 2002:adf:f542:: with SMTP id j2mr7412226wrp.46.1613325644748; Sun, 14 Feb 2021 10:00:44 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo Subject: [RFC PATCH 18/42] target/mips/tx79: Introduce PEXTU[BHW] opcodes (Parallel Extend Lower) Date: Sun, 14 Feb 2021 18:58:48 +0100 Message-Id: <20210214175912.732946-19-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Introduce the 'Parallel Extend Lower' opcodes: - PEXTLB (Parallel Extend Upper from Byte) - PEXTLH (Parallel Extend Upper from Halfword) - PEXTLW (Parallel Extend Upper from Word) Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/mips/tx79.decode | 3 ++ target/mips/tx79_translate.c | 78 ++++++++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+) diff --git a/target/mips/tx79.decode b/target/mips/tx79.decode index ead5f8281e5..98f21d33e3f 100644 --- a/target/mips/tx79.decode +++ b/target/mips/tx79.decode @@ -34,6 +34,9 @@ MTLO1 011100 ..... 0000000000 00000 010011 @= rs PSUBW 011100 ..... ..... ..... 00001 001000 @rs_rt_rd PSUBH 011100 ..... ..... ..... 00101 001000 @rs_rt_rd PSUBB 011100 ..... ..... ..... 01001 001000 @rs_rt_rd +PEXTLW 011100 ..... ..... ..... 10010 001000 @rs_rt_rd +PEXTLH 011100 ..... ..... ..... 10110 001000 @rs_rt_rd +PEXTLB 011100 ..... ..... ..... 11010 001000 @rs_rt_rd =20 # MMI1 =20 diff --git a/target/mips/tx79_translate.c b/target/mips/tx79_translate.c index 0a2fb28600b..11968d6edab 100644 --- a/target/mips/tx79_translate.c +++ b/target/mips/tx79_translate.c @@ -332,6 +332,84 @@ static bool trans_PNOR(DisasContext *ctx, arg_rtype *a) * PEXTLW rd, rs, rt Parallel Extend Lower from Word */ =20 +static bool trans_PEXTLx(DisasContext *ctx, arg_rtype *a, unsigned wlen) +{ + TCGv_i64 ax, bx; + + if (a->rd =3D=3D 0) { + /* nop */ + return true; + } + + ax =3D tcg_temp_new_i64(); + bx =3D tcg_temp_new_i64(); + + gen_load_gpr(ax, a->rs); + gen_load_gpr(bx, a->rt); + + /* Lower halve */ + for (int i =3D 0; i < 64 / (2 * wlen); i++) { + tcg_gen_deposit_i64(cpu_gpr[a->rd], + cpu_gpr[a->rd], bx, 2 * wlen * i, wlen); + tcg_gen_deposit_i64(cpu_gpr[a->rd], + cpu_gpr[a->rd], ax, 2 * wlen * i + wlen, wlen); + tcg_gen_shri_i64(bx, bx, wlen); + tcg_gen_shri_i64(ax, ax, wlen); + } + /* Upper halve */ + for (int i =3D 0; i < 64 / (2 * wlen); i++) { + tcg_gen_deposit_i64(cpu_gpr_hi[a->rd], + cpu_gpr_hi[a->rd], bx, 2 * wlen * i, wlen); + tcg_gen_deposit_i64(cpu_gpr_hi[a->rd], + cpu_gpr_hi[a->rd], ax, 2 * wlen * i + wlen, wl= en); + tcg_gen_shri_i64(bx, bx, wlen); + tcg_gen_shri_i64(ax, ax, wlen); + } + + tcg_temp_free(bx); + tcg_temp_free(ax); + + return true; +} + +/* Parallel Extend Lower from Byte */ +static bool trans_PEXTLB(DisasContext *ctx, arg_rtype *a) +{ + return trans_PEXTLx(ctx, a, 8); +} + +/* Parallel Extend Lower from Halfword */ +static bool trans_PEXTLH(DisasContext *ctx, arg_rtype *a) +{ + return trans_PEXTLx(ctx, a, 16); +} + +/* Parallel Extend Lower from Word */ +static bool trans_PEXTLW(DisasContext *ctx, arg_rtype *a) +{ + TCGv_i64 ax, bx; + + if (a->rd =3D=3D 0) { + /* nop */ + return true; + } + + ax =3D tcg_temp_new_i64(); + bx =3D tcg_temp_new_i64(); + + gen_load_gpr(ax, a->rs); + gen_load_gpr(bx, a->rt); + + tcg_gen_deposit_i64(cpu_gpr[a->rd], bx, ax, 32, 32); + tcg_gen_shri_i64(bx, bx, 32); + tcg_gen_deposit_i64(cpu_gpr_hi[a->rd], ax, bx, 0, 32); + + tcg_temp_free(bx); + tcg_temp_free(ax); + + return true; +} + /* Parallel Extend Upper from Word */ static bool trans_PEXTUW(DisasContext *ctx, arg_rtype *a) { --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.46 as permitted sender) client-ip=209.85.221.46; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f46.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.46 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613325651; cv=none; d=zohomail.com; s=zohoarc; b=byL8g7UPHtBjwWPaLbLv8Ws4PRUqy3BXeX1BQU43NmFDspPI3/MBL0vdxAbyKnYXvBhU+UOfWwWTpaOURH5teeKQaMH6PDBBAJe0JAUwW0ggtn0hrxrfxZQ3FMnG9AZ06lst8mfUku4ujr96NEI/AHm58gGDRgZbQrxZjwB8LJI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613325651; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=MZnb2f0oqLbgB+c7ANHKvpi9xEka37HUd4LIx2gMYzU=; b=KL+RbvlNCk2nJuDays+4qQmZfteyKzU+2Kg8WH1Gzu5SN3kFy0uFw7WFZTJqlR8HCRrW968OkxcmqK2xR0/znJHro/OD50BvsGoMlb78eAPNUWDrVsVuuD7tRJIfECvNvyIFdoxpmYKcj1UETWkjIsIxh17MTy9p/k7UL9Rissg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.46 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) by mx.zohomail.com with SMTPS id 16133256511369.3410011691426; Sun, 14 Feb 2021 10:00:51 -0800 (PST) Received: by mail-wr1-f46.google.com with SMTP id 7so6163022wrz.0 for ; Sun, 14 Feb 2021 10:00:50 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id j40sm20223076wmp.47.2021.02.14.10.00.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 10:00:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=MZnb2f0oqLbgB+c7ANHKvpi9xEka37HUd4LIx2gMYzU=; b=XbXD16rlF+fJtkdoQNBAXecczOqW93y7hSfOKJqIjZ9Euz4v8k0hvFsb/LLwDeICTC J6gzQjbhbPc4omLfRa0hWaEcTir7gM3s8SPwRu69B/2Bd2ETdLypfdwXWcWlRjw7i0kC 3Gd3y4CZPT6NdqVrx6MwSsf9GoXz2lxCI7gonUCyzO4dCI0vD/5Nc3zT+bjcP7gehCtM 6S8KI+KiDlDsWkX1a8JVYfH9/YfiLdJ/Pkn4vDhHa988SyEgYPjN81qaISVfGkI8Y9H7 YRXOGqdZ6BJWDNz37Vh72ed102koNUYXDKYJxnw5M6YQOGduL7cEYqF+XCJHC/Uues0S g1Zw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=MZnb2f0oqLbgB+c7ANHKvpi9xEka37HUd4LIx2gMYzU=; b=jZFSN7qJ7daoFkkr4QWbLNHaDewKNUvRoaZ/vhwKiPvA8CsPEf4rbdUbZubJRStT2g aZLBtZeq9qe4oMTaHNppu741VHBXMm9Va6CdrCkzDVblJqJjGk7u6HR2r3UQASVULPux vnBR+0hgs5rf5Q6i6TE7KME2LM9U5nJfTAfg0uwEoFP7U1uNkftky+7sSlwhOFokRm7H IPNlcu+0xHcNyXWhxLUnUqYL5dFjCGA9yaJpo7igJuorbhqKY2Tr4TIYRk3evetcaD1c iV1FRsA1BlITSrTD9Yoq97hJP30Cu28E+NYn62XfBTS38DJ7D6lvWQFk/eqfsG4wZd5a A00g== X-Gm-Message-State: AOAM531b05Rbe6dL/pejwl565VVeiwoDuVqWM7e78U6prhjQVsTHc8i9 TlD5UV2wPL71xYyiXsABScI= X-Google-Smtp-Source: ABdhPJyXzF5oSjM736azj8MX/79+VOs0g5QWmjaQo/j5SeOh2JZE5X1U2UNofJ1rVeaED6dWk0oASQ== X-Received: by 2002:adf:8544:: with SMTP id 62mr15261450wrh.336.1613325649781; Sun, 14 Feb 2021 10:00:49 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo Subject: [RFC PATCH 19/42] target/mips/tx79: Introduce PCEQ* opcodes (Parallel Compare for Equal) Date: Sun, 14 Feb 2021 18:58:49 +0100 Message-Id: <20210214175912.732946-20-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Introduce the 'Parallel Compare for Equal' opcodes: - PCEQB (Parallel Compare for Equal Byte) - PCEQH (Parallel Compare for Equal Halfword) - PCEQW (Parallel Compare for Equal Word) Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/mips/tx79.decode | 3 ++ target/mips/tx79_translate.c | 66 ++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) diff --git a/target/mips/tx79.decode b/target/mips/tx79.decode index 98f21d33e3f..cfe721755ca 100644 --- a/target/mips/tx79.decode +++ b/target/mips/tx79.decode @@ -40,6 +40,9 @@ PEXTLB 011100 ..... ..... ..... 11010 001000 @= rs_rt_rd =20 # MMI1 =20 +PCEQW 011100 ..... ..... ..... 00010 101000 @rs_rt_rd +PCEQH 011100 ..... ..... ..... 00110 101000 @rs_rt_rd +PCEQB 011100 ..... ..... ..... 01010 101000 @rs_rt_rd PEXTUW 011100 ..... ..... ..... 10010 101000 @rs_rt_rd =20 # MMI2 diff --git a/target/mips/tx79_translate.c b/target/mips/tx79_translate.c index 11968d6edab..f084faa48a7 100644 --- a/target/mips/tx79_translate.c +++ b/target/mips/tx79_translate.c @@ -279,6 +279,72 @@ static bool trans_PNOR(DisasContext *ctx, arg_rtype *a) * PCEQW rd, rs, rt Parallel Compare for Equal Word */ =20 +static bool trans_parallel_compare(DisasContext *ctx, arg_rtype *a, + TCGCond cond, unsigned wlen) +{ + TCGv_i64 c0, c1, ax, bx, t0, t1, t2; + + if (a->rd =3D=3D 0) { + /* nop */ + return true; + } + + c0 =3D tcg_const_tl(0); + c1 =3D tcg_const_tl(0xffffffff); + ax =3D tcg_temp_new_i64(); + bx =3D tcg_temp_new_i64(); + t0 =3D tcg_temp_new_i64(); + t1 =3D tcg_temp_new_i64(); + t2 =3D tcg_temp_new_i64(); + + /* Lower halve */ + gen_load_gpr(ax, a->rs); + gen_load_gpr(bx, a->rt); + for (int i =3D 0; i < (64 / wlen); i++) { + tcg_gen_sextract_i64(t0, ax, wlen * i, wlen); + tcg_gen_sextract_i64(t1, bx, wlen * i, wlen); + tcg_gen_movcond_i64(cond, t2, t1, t0, c1, c0); + tcg_gen_deposit_i64(cpu_gpr[a->rd], cpu_gpr[a->rd], t2, wlen * i, = wlen); + } + /* Upper halve */ + gen_load_gpr_hi(ax, a->rs); + gen_load_gpr_hi(bx, a->rt); + for (int i =3D 0; i < (64 / wlen); i++) { + tcg_gen_sextract_i64(t0, ax, wlen * i, wlen); + tcg_gen_sextract_i64(t1, bx, wlen * i, wlen); + tcg_gen_movcond_i64(cond, t2, t1, t0, c1, c0); + tcg_gen_deposit_i64(cpu_gpr_hi[a->rd], cpu_gpr_hi[a->rd], t2, wlen= * i, wlen); + } + + tcg_temp_free(t2); + tcg_temp_free(t1); + tcg_temp_free(t0); + tcg_temp_free(bx); + tcg_temp_free(ax); + tcg_temp_free(c1); + tcg_temp_free(c0); + + return true; +} + +/* Parallel Compare for Equal Byte */ +static bool trans_PCEQB(DisasContext *ctx, arg_rtype *a) +{ + return trans_parallel_compare(ctx, a, TCG_COND_EQ, 8); +} + +/* Parallel Compare for Equal Halfword */ +static bool trans_PCEQH(DisasContext *ctx, arg_rtype *a) +{ + return trans_parallel_compare(ctx, a, TCG_COND_EQ, 16); +} + +/* Parallel Compare for Equal Word */ +static bool trans_PCEQW(DisasContext *ctx, arg_rtype *a) +{ + return trans_parallel_compare(ctx, a, TCG_COND_EQ, 32); +} + /* * LZC (1 instruction) * ------------------- --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.42 as permitted sender) client-ip=209.85.221.42; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f42.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.42 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613325656; cv=none; d=zohomail.com; s=zohoarc; b=KAvZSHW71/pWCpmSNE27M+PNXdYcZzXzhbnotPBioeSBTMml7NdEfzu4H56ZlRgc+Sg4gq/jl1kJGiCJ6LnOnRutPH2oEb/lQfbmNy5E4wbs0Acc4E04M7lpXGcEVHma9mFLSN3DvIA+ocuHLU3n0WHpMv2RfdZU1hdMm7YSfT4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613325656; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=omFKrMKfMKAUYuqEWFQKfmLF68dd1WCyeAVMWMjtasg=; b=Nhn2MwAKPYQttpkZ3ZBOE9A8YuJawBHb/fXKEnx5O0KRyR9Z/VXVkkn2e+yiM6OOGabm3Y0NhiCxQM2TE3gJEap2DIZQunTchrtQRKDk+h4yjyqcqY7g/6PHpfJ3ndUzGzfIo8C9CgKdrh1oqyNLBMtLWzPS1SEG9H/Elm20D2E= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.42 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) by mx.zohomail.com with SMTPS id 1613325656284116.64370495078867; Sun, 14 Feb 2021 10:00:56 -0800 (PST) Received: by mail-wr1-f42.google.com with SMTP id n8so6075275wrm.10 for ; Sun, 14 Feb 2021 10:00:55 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id v17sm15268445wru.85.2021.02.14.10.00.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 10:00:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=omFKrMKfMKAUYuqEWFQKfmLF68dd1WCyeAVMWMjtasg=; b=G+nwTw8wpnUguA4/wY9mSGUJvHeLI6HW0UNOZI0CcnMbBCtQKY/UgxXSaU9pJJRZ6I 20038Ie8wZ3KjzC3enA3vSamPunm7d7i3F1yPjNEWtYRBlMg3g5l9YrXf7F7G8uqCFWC 5lZoyBASQNlurs8RBufVfFOEYJngWlBGATB3Y3cYWq0c2W84/KJhj3ETuSQalgoyFiV+ f693ahRHcLypiL2uWYgEWOpw/TGV6DBxuYlHg2DeuTt8B5d1B0ZbqPpr4rBm5BVooEte K/DBYq2V8ggVC0icwTUtp/+YZC2rnmRAbs1z7CqurwtHlpU/AYycPeg25KxLWI9hOY2j dC9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=omFKrMKfMKAUYuqEWFQKfmLF68dd1WCyeAVMWMjtasg=; b=JkX8+FtPLg7pry/uDT7iynZ/8G6VGFiY6s0Z4LQJIzcmuWY1uD7NqeMcOtaM0xa8ql l1qWglqAb5jU7+fy0JOc3Rbhrau47Vq06Fp3O3jAPZv2PIB/UTL3B9eJu4G5SGu+tkAy Ab5YEKmXMjL+tHTy4RoSeRRzrfGXrrPX/gZ9d/3W97Opr2whv8qpEYglWlk8HZEutP5K k/XmbBtpBdudlGqFO0NUD08KbrptNjmb1sr8ZUpTJ0W4F4qOKnVj9dIuRPSb0acvFrKn Fm+c26s+thAgehkXyc5/j7UalDzYGmEeeyWEFfTmGs1EzgLN8uVQlZybWfcBQAKolXRp iDNQ== X-Gm-Message-State: AOAM5301azgMz8UQmWZID5whE2ILM5i34bKwAQ22LTc9mNJDonzC4wFA hwuMqiH/ImJBWjnGoUD8hQk= X-Google-Smtp-Source: ABdhPJwAEw2X+suAJ95ukiTka0wYZucudR+mZfAj/KbV8rX+UBpQBoe7YGCtCVm+VGSzXIHFw4bl1w== X-Received: by 2002:adf:f8cf:: with SMTP id f15mr15221119wrq.121.1613325654917; Sun, 14 Feb 2021 10:00:54 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo Subject: [RFC PATCH 20/42] target/mips/tx79: Introduce PCGT* (Parallel Compare for Greater Than) Date: Sun, 14 Feb 2021 18:58:50 +0100 Message-Id: <20210214175912.732946-21-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Introduce the 'Parallel Compare for Greater Than' opcodes: - PCGTB (Parallel Compare for Greater Than Byte) - PCGTH (Parallel Compare for Greater Than Halfword) - PCGTW (Parallel Compare for Greater Than Word) Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/mips/tx79.decode | 3 +++ target/mips/tx79_translate.c | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/target/mips/tx79.decode b/target/mips/tx79.decode index cfe721755ca..63fbe9694bb 100644 --- a/target/mips/tx79.decode +++ b/target/mips/tx79.decode @@ -32,8 +32,11 @@ MTLO1 011100 ..... 0000000000 00000 010011 = @rs # MMI0 =20 PSUBW 011100 ..... ..... ..... 00001 001000 @rs_rt_rd +PCGTW 011100 ..... ..... ..... 00010 001000 @rs_rt_rd PSUBH 011100 ..... ..... ..... 00101 001000 @rs_rt_rd +PCGTH 011100 ..... ..... ..... 00110 001000 @rs_rt_rd PSUBB 011100 ..... ..... ..... 01001 001000 @rs_rt_rd +PCGTB 011100 ..... ..... ..... 01010 001000 @rs_rt_rd PEXTLW 011100 ..... ..... ..... 10010 001000 @rs_rt_rd PEXTLH 011100 ..... ..... ..... 10110 001000 @rs_rt_rd PEXTLB 011100 ..... ..... ..... 11010 001000 @rs_rt_rd diff --git a/target/mips/tx79_translate.c b/target/mips/tx79_translate.c index f084faa48a7..04249b0c20a 100644 --- a/target/mips/tx79_translate.c +++ b/target/mips/tx79_translate.c @@ -327,18 +327,36 @@ static bool trans_parallel_compare(DisasContext *ctx,= arg_rtype *a, return true; } =20 +/* Parallel Compare for Greater Than Byte */ +static bool trans_PCGTB(DisasContext *ctx, arg_rtype *a) +{ + return trans_parallel_compare(ctx, a, TCG_COND_GE, 8); +} + /* Parallel Compare for Equal Byte */ static bool trans_PCEQB(DisasContext *ctx, arg_rtype *a) { return trans_parallel_compare(ctx, a, TCG_COND_EQ, 8); } =20 +/* Parallel Compare for Greater Than Halfword */ +static bool trans_PCGTH(DisasContext *ctx, arg_rtype *a) +{ + return trans_parallel_compare(ctx, a, TCG_COND_GE, 16); +} + /* Parallel Compare for Equal Halfword */ static bool trans_PCEQH(DisasContext *ctx, arg_rtype *a) { return trans_parallel_compare(ctx, a, TCG_COND_EQ, 16); } =20 +/* Parallel Compare for Greater Than Word */ +static bool trans_PCGTW(DisasContext *ctx, arg_rtype *a) +{ + return trans_parallel_compare(ctx, a, TCG_COND_GE, 32); +} + /* Parallel Compare for Equal Word */ static bool trans_PCEQW(DisasContext *ctx, arg_rtype *a) { --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.48 as permitted sender) client-ip=209.85.221.48; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f48.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.48 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613325661; cv=none; d=zohomail.com; s=zohoarc; b=ARwrUb3u7esCcXFSvs2ern4SGrKQn/B4zkjkatXRfi7mLum1Sv9QYVqsdDNrHBC2ZcWqaCaZfrpAd6aS3i9qBYawcGvDrCyI+yjFg+YKUuBhAzsWpZLyfmb1MqF3YxpZT8/aa0N/2jbSwVorY/ljWPWU2B9dnew4S9cat0pI6fM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613325661; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=/yA3MiSiB3uT9Xjxi1oykbexC0jiCz4UetHOuLmN0wM=; b=K7xSzuCgRi+mGQxcuYKqttyBmww2B20vIe3GIGqFRwpncCnPgmk8Um6UGEb0I3I09flvqJgX1XuARx4kE8E6y8vNewW+ToJGWQ/CbWYFERJRiZSLzO+gyMU4RQN7iErH81jxzWgtZw2kfAQsGTkyoP1YNWUBvr1/JeERUnCWSdk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.48 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.48]) by mx.zohomail.com with SMTPS id 1613325661374471.98725922629774; Sun, 14 Feb 2021 10:01:01 -0800 (PST) Received: by mail-wr1-f48.google.com with SMTP id v7so6062972wrr.12 for ; Sun, 14 Feb 2021 10:01:00 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id s10sm20256521wrm.5.2021.02.14.10.00.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 10:00:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=/yA3MiSiB3uT9Xjxi1oykbexC0jiCz4UetHOuLmN0wM=; b=TjzNSbs82iu20bf6vdpCrg/tmk9LD8qup1ZmGFUl1F32zBMNu3bdJdJ0ovPvakEqYZ gbACev4mp/OoM0BD9jnPXAOTDlT8QGqES1C1HbiX8MSOBrT7PCdlCz0J64ZfnJqMh/NG o/jFxOn3O9hTBYKn+u6g/1RwFk7c8AiQsx92PC+X5Oe1hGCzz15YAwlFMELNTg57ZQhD MpOkn/njEJjUM+6dYRN2edKm0iXYd+hZA/RncnpdjY5QGl2yJHqbUyTb+VpjK+9m6cOe U3xG3tMo2/Rgxr2anI9yuIACvJGLZHn6Vij0Ls83Ysqe5DLD8SV8fVFtNiluzm8b1qFi YD9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=/yA3MiSiB3uT9Xjxi1oykbexC0jiCz4UetHOuLmN0wM=; b=O/UEA7BLmMShVJyPsp8mN1325R3lmpOkdHRfd6XfgRMkoUHCBHB6t/sr754IWlb458 d2/Nt2sPvIva2ioq7AS5eaHmvDswMvLyPUnQUZHf/s5OfqyyhL3TnIXcy8r0iv2Td37U z0boqu5NNCytxFThmvgeUu3iJIC1Nzr5BxyzkiWPNfwhdw5IHLTZ3LhETBaq+rJikRqH AgJ/ltvLok7toaqRYNZprKTXr2OQkWP4xbteOT8epNrxcowYaS7mmeoeFlPj1Vdi/Zyg RoHbjEh1fun7Opvcj9BZwvApS+5YTfmKXm/hqc07DYJuVwun/NcDAzWuqFHU6m+OAAb2 mZtA== X-Gm-Message-State: AOAM530/P7NlFrzfSCvEYt92zujJWqKo3CeY8rWoRVXzYeoWiddN65qc OsobuSpaa915tDsRR5a1uXM= X-Google-Smtp-Source: ABdhPJzONsXCB+l4iVwMQBpVTDvHzSE55wTcqRkLLeQzJmym63dncZaoUpnYZzfGFNFfa+s5LdfbJQ== X-Received: by 2002:adf:9031:: with SMTP id h46mr14874490wrh.19.1613325660008; Sun, 14 Feb 2021 10:01:00 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo Subject: [RFC PATCH 21/42] target/mips/tx79: Introduce PPACW opcode (Parallel Pack to Word) Date: Sun, 14 Feb 2021 18:58:51 +0100 Message-Id: <20210214175912.732946-22-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Introduce the PPACW opcode (Parallel Pack to Word). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/mips/tx79.decode | 1 + target/mips/tx79_translate.c | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/target/mips/tx79.decode b/target/mips/tx79.decode index 63fbe9694bb..653910371d2 100644 --- a/target/mips/tx79.decode +++ b/target/mips/tx79.decode @@ -38,6 +38,7 @@ PCGTH 011100 ..... ..... ..... 00110 001000 @= rs_rt_rd PSUBB 011100 ..... ..... ..... 01001 001000 @rs_rt_rd PCGTB 011100 ..... ..... ..... 01010 001000 @rs_rt_rd PEXTLW 011100 ..... ..... ..... 10010 001000 @rs_rt_rd +PPACW 011100 ..... ..... ..... 10011 001000 @rs_rt_rd PEXTLH 011100 ..... ..... ..... 10110 001000 @rs_rt_rd PEXTLB 011100 ..... ..... ..... 11010 001000 @rs_rt_rd =20 diff --git a/target/mips/tx79_translate.c b/target/mips/tx79_translate.c index 04249b0c20a..ac75d95b82b 100644 --- a/target/mips/tx79_translate.c +++ b/target/mips/tx79_translate.c @@ -416,6 +416,36 @@ static bool trans_PCEQW(DisasContext *ctx, arg_rtype *= a) * PEXTLW rd, rs, rt Parallel Extend Lower from Word */ =20 +/* Parallel Pack to Word */ +static bool trans_PPACW(DisasContext *ctx, arg_rtype *a) +{ + TCGv_i64 a0, b0, t0; + + if (a->rd =3D=3D 0) { + /* nop */ + return true; + } + + a0 =3D tcg_temp_new_i64(); + b0 =3D tcg_temp_new_i64(); + t0 =3D tcg_temp_new_i64(); + + gen_load_gpr(a0, a->rs); + gen_load_gpr(b0, a->rt); + + gen_load_gpr_hi(t0, a->rt); /* b1 */ + tcg_gen_deposit_i64(cpu_gpr[a->rd], b0, t0, 32, 32); + + gen_load_gpr_hi(t0, a->rs); /* a1 */ + tcg_gen_deposit_i64(cpu_gpr_hi[a->rd], a0, t0, 32, 32); + + tcg_temp_free(t0); + tcg_temp_free(b0); + tcg_temp_free(a0); + + return true; +} + static bool trans_PEXTLx(DisasContext *ctx, arg_rtype *a, unsigned wlen) { TCGv_i64 ax, bx; --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1613326850; cv=none; d=zohomail.com; s=zohoarc; b=NJvo8OWq/Sanpnw/VFnnn+i1nsco6/eBgttx/66oHJyFLGjY5mHVbXjSvSmvUHl6ACw3SGH/rJBZ4v3tPiavciFvPJFVRHHTviy2bXKFF1/bwz7mqxis4Pp4IXEKOGaVCs19rbJLDoBu5X4TcGl7ofslthjrti/agK0jLrCMSYQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613326850; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=KD7zKDAIpqYvoyadZCB9BrYro5MBJJgbdXFdh49s7K8=; b=PpwVbqfX5yu9OotDHrjz8seBhE97ZJQIuSrPNsE0xE+p7paWU/KeUkQO044ljADJekSeu12Xb8aCLfMpwUrkessGOQ7geS60mTJH8jpNk/C9XFW/09poO5rRsXebh2e3DX7I3K8ia2gYxm5CcunixwFHwE0HSSZ5qhVT5ejQobo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1613326850324606.0871990544921; Sun, 14 Feb 2021 10:20:50 -0800 (PST) Received: from localhost ([::1]:57522 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lBM0l-0004KT-Q9 for importer@patchew.org; Sun, 14 Feb 2021 13:20:49 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:33982) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lBLhk-0008G1-Tf for qemu-devel@nongnu.org; Sun, 14 Feb 2021 13:01:08 -0500 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]:33149) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lBLhi-0004Zg-Nt for qemu-devel@nongnu.org; Sun, 14 Feb 2021 13:01:08 -0500 Received: by mail-wm1-x32a.google.com with SMTP id a16so3371138wmm.0 for ; Sun, 14 Feb 2021 10:01:06 -0800 (PST) Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id h18sm5547186wmm.30.2021.02.14.10.01.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 10:01:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=KD7zKDAIpqYvoyadZCB9BrYro5MBJJgbdXFdh49s7K8=; b=nDBax0z5FE+J5ZLC30dbZRhed3FoCQCMk9KsIXuVBKjChLwOC3OSMnZ3L2Sc6bAPvX KXzQblzF74HrfuhQI5HV1mVJAYRSuXiyr5lq7j3IKY6VDoi/zZ8ZZO0yqOL0f6ZrdwFh XyHHOl3gr7WS84hK4D653x3RID+AGbD9LWDPDOkWDVdQAHgmeu+P3NAGGD/Iqmxku81i uXtYbxXFKMPYfZzjEsbQDF+QnfMs/IOAvfpZo2SYeQkNv/uhj9E/IcYcYme22GsBpGMw qE0YpxvkzPZ/bUtb5FRy/NdRBzPYGsfuXNzWg+55z1xrwWoqCTV9rVmuTDMxNawW5Fpc eweg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=KD7zKDAIpqYvoyadZCB9BrYro5MBJJgbdXFdh49s7K8=; b=qGNvoTjiIohK4s7bt0ex9d/r/1Ybb8VyHLon9oKqIDs8kML9twmpwby+OycCntPts+ k4/E//HLL4Sh3DPYgNja79RcAs9XY27acN4N4kgljgETF7Qa7bi4PZs1Vlc5aowLN6Lo 5BKdn5ZPEI6+lCe3oagjDERcwGxvR0EiDFEcCDLTnKpTFcOHUVcaJgqu3Y8SSMi3kFAF DREheqkR/4wFSt/rM/Fsc9Vs4ylNtcnJ8NCrvg+Iq2pXIQSFhRq4wytgSvmOJehZ/d2O RyTr3/FLa5vkHDGcp3JupVvkbWF6TSPMI6h5tDef7Vg7buh8UMPF70DcnUcyc4ommmQy XhKA== X-Gm-Message-State: AOAM532NoHkcj8GvGkDMTRWFkAUSp8mgfJvVJd+YTgNbbH9oMlD9RfpZ roKsDfVmTfmhA64//xe1isonA+E4jbc= X-Google-Smtp-Source: ABdhPJziBj2/aCy0Amue9gd77ctdSUk+C6W+IPZk85GDiRmOKy7sKALjPdj6zyFirFJbTXa9hd+c2w== X-Received: by 2002:a7b:c76e:: with SMTP id x14mr10654327wmk.17.1613325665258; Sun, 14 Feb 2021 10:01:05 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [RFC PATCH 22/42] target/mips/tx79: Introduce PINTEH (Parallel Interleave Even Halfword) Date: Sun, 14 Feb 2021 18:58:52 +0100 Message-Id: <20210214175912.732946-23-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-x32a.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: Fredrik Noring , Aleksandar Rikalo , Richard Henderson , Laurent Vivier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Thomas Huth , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aurelien Jarno , "Maciej W. Rozycki" Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Introduce the PINTEH opcode (Parallel Interleave Even Halfword). Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/mips/tx79.decode | 1 + target/mips/tx79_translate.c | 45 ++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/target/mips/tx79.decode b/target/mips/tx79.decode index 653910371d2..fbd2be569ad 100644 --- a/target/mips/tx79.decode +++ b/target/mips/tx79.decode @@ -57,6 +57,7 @@ PXOR 011100 ..... ..... ..... 10011 001001 @= rs_rt_rd =20 # MMI3 =20 +PINTEH 011100 ..... ..... ..... 01010 101001 @rs_rt_rd PCPYUD 011100 ..... ..... ..... 01110 101001 @rs_rt_rd POR 011100 ..... ..... ..... 10010 101001 @rs_rt_rd PNOR 011100 ..... ..... ..... 10011 101001 @rs_rt_rd diff --git a/target/mips/tx79_translate.c b/target/mips/tx79_translate.c index ac75d95b82b..47d84c465a2 100644 --- a/target/mips/tx79_translate.c +++ b/target/mips/tx79_translate.c @@ -638,3 +638,48 @@ static bool trans_PCPYUD(DisasContext *s, arg_rtype *a) =20 return true; } + +/* Parallel Interleave Even Halfword */ +static bool trans_PINTEH(DisasContext *ctx, arg_rtype *a) +{ + TCGv_i64 ax, bx; + + if (a->rd =3D=3D 0) { + /* nop */ + return true; + } + + if (unlikely(a->rs =3D=3D 0 && a->rt =3D=3D 0)) { + tcg_gen_movi_i64(cpu_gpr[a->rd], 0); + tcg_gen_movi_i64(cpu_gpr_hi[a->rd], 0); + return true; + } + + ax =3D tcg_temp_new_i64(); + bx =3D tcg_temp_new_i64(); + + /* Lower halve */ + gen_load_gpr(ax, a->rs); + gen_load_gpr(bx, a->rt); + if (a->rd !=3D a->rt) { + tcg_gen_mov_i64(cpu_gpr[a->rd], bx); + } + tcg_gen_deposit_i64(cpu_gpr[a->rd], cpu_gpr[a->rd], ax, 16, 16); + tcg_gen_shri_i64(ax, ax, 32); + tcg_gen_deposit_i64(cpu_gpr[a->rd], cpu_gpr[a->rd], ax, 48, 16); + + /* Upper halve */ + gen_load_gpr_hi(ax, a->rs); + gen_load_gpr_hi(bx, a->rt); + if (a->rd !=3D a->rt) { + tcg_gen_mov_i64(cpu_gpr_hi[a->rd], bx); + } + tcg_gen_deposit_i64(cpu_gpr_hi[a->rd], cpu_gpr_hi[a->rd], ax, 16, 16); + tcg_gen_shri_i64(ax, ax, 32); + tcg_gen_deposit_i64(cpu_gpr_hi[a->rd], cpu_gpr_hi[a->rd], ax, 48, 16); + + tcg_temp_free(bx); + tcg_temp_free(ax); + + return true; +} --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.42 as permitted sender) client-ip=209.85.128.42; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f42.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.42 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613325671; cv=none; d=zohomail.com; s=zohoarc; b=CTNmjhpP10ooM1kYhEvUduif+xVFPnpxKVNdrR+tQkuLJBnxvlZOsrutEVg4uvjLMjHvyXRGmnHmvxVnfvTcIAE8ZcGaje8m7BdIb1Gg+CFlwB5kcrsW38kMH5kqJ1vY22gujZ/eFwYkwC0VDSwO7mvTXl37alDRktJDxLtzI+0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613325671; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=bI06XcKqe7voqlmnN0Ni9BCHVcOL6c8u6SgLqvaJdHk=; b=VRd491d1RQkwmHnfPkfg41XPK1uPjppJ0Cg4Kl+7fjfR7QmTyY5ldkqfs82HMVzGCAaQX/6JSbDFIam6HJVRz/NLKHNtf/NxRNVtL1ebhcSmT5ZQIl+UITpXeumPUqk7q8mA0RbnTZytIalK6REBZ7K9MqDS1SN1nowGiFJhcG4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.42 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) by mx.zohomail.com with SMTPS id 1613325671650219.51826921829434; Sun, 14 Feb 2021 10:01:11 -0800 (PST) Received: by mail-wm1-f42.google.com with SMTP id o15so4191373wmq.5 for ; Sun, 14 Feb 2021 10:01:11 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id t198sm12710979wmt.7.2021.02.14.10.01.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 10:01:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=bI06XcKqe7voqlmnN0Ni9BCHVcOL6c8u6SgLqvaJdHk=; b=Zm7pmnLFU1Bwl4D7ELqV3AoaZFQZvr8I5WFqtHkXC6bEKZ1s55WzUpL8hfzZQB8gSV YqpBJJb+9GOkqvl7C41GLZcnh+h/YkKwLhSvkHAz6vEOMx/ZK7dF0yQgeZQVspPJR1X8 KOYisSUdOUssgVoTTzY9FHPrWABzxNVr+wbQNcFPWime5hvkOc/yaWQFWLHLjvIU0Fnu Kzm3W2yT29qzisZ5bzj53hkBrOG8fEzWrVdXyjm8yDHfdOmJKXnlEjHmzu6tnEXoPkyu mJ3S+0tNOd0rne0A7LXWB1n1UDounF6vA4kv2QGO9qakJOsHOy0WHUgjhkyLbcM6vLXm FMoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=bI06XcKqe7voqlmnN0Ni9BCHVcOL6c8u6SgLqvaJdHk=; b=Rs7WKy57hypZNTC/KqcNmFeD3X7XlgiWJYs+xdqlIiE93vcKMAt2eBXjRB1VkUiaa3 lldyv+mThwDUSTfpfI8/yL+8og9GQnAyDn+fsCsnSXsJ9Fxym8fID0MDcVKUvSLCnjCs R0zbsp+GumCCneRHiQcuEhmGm8VRLlj4buPVRUuIM7ZP/bnHOGT6FMd3kCLR0VhXPJb6 Fel6vEffpgWvhpVPTJbs86nFb9TEcHyoPWmcwe6eHNWQT9gv5MH9r7Q5W7VGLxqoMnNR q3l74fEMNpeXrXaPt2gtczzyvVq/HfZMZg9uSis6K0AaHEuJ9dEkMLylW7u7IbHlf8Zr HJPw== X-Gm-Message-State: AOAM533XcjAcmcE+pbx2aU06tEVltfK41Rs+PYozuMpojjjGZnbmOdPY jY+xSisg7nN6cH9fXw03+so= X-Google-Smtp-Source: ABdhPJwKfjnk7tT1zArmHlDM1zls0c8BFfsZytZCACcy6TBsJ0l9vqWIcHXYDrKHAapLFuNvGhTkSg== X-Received: by 2002:a7b:c08f:: with SMTP id r15mr10864259wmh.113.1613325670286; Sun, 14 Feb 2021 10:01:10 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo Subject: [RFC PATCH 23/42] target/mips/tx79: Introduce PEXE[HW] opcodes (Parallel Exchange Even) Date: Sun, 14 Feb 2021 18:58:53 +0100 Message-Id: <20210214175912.732946-24-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Introduce the PEXEH (Parallel Exchange Even Halfword) and PEXEW (Parallel Exchange Even Word) opcodes. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/mips/tx79.decode | 2 ++ target/mips/tx79_translate.c | 70 ++++++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+) diff --git a/target/mips/tx79.decode b/target/mips/tx79.decode index fbd2be569ad..0ea9fc95568 100644 --- a/target/mips/tx79.decode +++ b/target/mips/tx79.decode @@ -54,6 +54,8 @@ PEXTUW 011100 ..... ..... ..... 10010 101000 @= rs_rt_rd PCPYLD 011100 ..... ..... ..... 01110 001001 @rs_rt_rd PAND 011100 ..... ..... ..... 10010 001001 @rs_rt_rd PXOR 011100 ..... ..... ..... 10011 001001 @rs_rt_rd +PEXEH 011100 00000 ..... ..... 11010 001001 @rt_rd +PEXEW 011100 00000 ..... ..... 11110 001001 @rt_rd =20 # MMI3 =20 diff --git a/target/mips/tx79_translate.c b/target/mips/tx79_translate.c index 47d84c465a2..59451a043a4 100644 --- a/target/mips/tx79_translate.c +++ b/target/mips/tx79_translate.c @@ -683,3 +683,73 @@ static bool trans_PINTEH(DisasContext *ctx, arg_rtype = *a) =20 return true; } + +/* Parallel Exchange Even Halfword */ +static bool trans_PEXEH(DisasContext *ctx, arg_rtype *a) +{ + TCGv_i64 ax; + + if (a->rd =3D=3D 0) { + /* nop */ + return true; + } + if (a->rt =3D=3D 0) { + tcg_gen_movi_i64(cpu_gpr[a->rd], 0); + tcg_gen_movi_i64(cpu_gpr_hi[a->rd], 0); + return true; + } + + ax =3D tcg_temp_new_i64(); + + /* Lower halve */ + tcg_gen_mov_i64(ax, cpu_gpr[a->rt]); + if (a->rd !=3D a->rt) { + tcg_gen_mov_i64(cpu_gpr[a->rd], cpu_gpr[a->rt]); + } + tcg_gen_deposit_i64(cpu_gpr[a->rd], cpu_gpr[a->rd], ax, 32, 16); + tcg_gen_shri_i64(ax, ax, 32); + tcg_gen_deposit_i64(cpu_gpr[a->rd], cpu_gpr[a->rd], ax, 0, 16); + + /* Upper halve */ + tcg_gen_mov_i64(ax, cpu_gpr_hi[a->rt]); + if (a->rd !=3D a->rt) { + tcg_gen_mov_i64(cpu_gpr_hi[a->rd], cpu_gpr_hi[a->rt]); + } + tcg_gen_deposit_i64(cpu_gpr_hi[a->rd], cpu_gpr_hi[a->rd], ax, 32, 16); + tcg_gen_shri_i64(ax, ax, 32); + tcg_gen_deposit_i64(cpu_gpr_hi[a->rd], cpu_gpr_hi[a->rd], ax, 0, 16); + + tcg_temp_free(ax); + + return true; +} + +/* Parallel Exchange Even Word */ +static bool trans_PEXEW(DisasContext *ctx, arg_rtype *a) +{ + TCGv_i64 ah, al; + + if (a->rd =3D=3D 0) { + /* nop */ + return true; + } + if (a->rt =3D=3D 0) { + tcg_gen_movi_i64(cpu_gpr[a->rd], 0); + tcg_gen_movi_i64(cpu_gpr_hi[a->rd], 0); + return true; + } + + ah =3D tcg_temp_new_i64(); + al =3D tcg_temp_new_i64(); + + gen_load_gpr(ah, a->rt); + gen_load_gpr_hi(al, a->rt); + + tcg_gen_deposit_i64(cpu_gpr[a->rd], ah, al, 0, 32); + tcg_gen_deposit_i64(cpu_gpr_hi[a->rd], al, ah, 0, 32); + + tcg_temp_free(al); + tcg_temp_free(ah); + + return true; +} --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.49 as permitted sender) client-ip=209.85.221.49; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f49.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.49 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613325976; cv=none; d=zohomail.com; s=zohoarc; b=cOxsLsiLpWTzaSc3V+4qvxluj30m7nDrlqsVjgj6RwE48tclZgWgB43Ex8Van+60J2LXrW8wc0w/BD68TwgvESNcz2lh26I52NpN3IIv6ruDfq6Y6hHsbSMwBqiZwkzzPNvwQB+JG+I3JzDyXrZjRxO3XrvkAuPoKEXlF3MsPKE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613325976; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=G3/ym6u6v63O1H9s9Yezp8ui+y1bj86FlTiPhugIplI=; b=dgQkQU2I/1cLtpvu4xuco+/i5CX/BeOEFAtEYCKCwolWPDy90LiM8lAr3VIZU107aogpjJAkxda69ULKNxuAPT59WAXf7cZ24bBofSUoTcCfoOgJaHXJCVoha745y5GALV2MOLTEduhYiGEqW3Rq2rvXNUaJHqlPt9XGIsQ+qes= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.49 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49]) by mx.zohomail.com with SMTPS id 1613325976580707.8970055361234; Sun, 14 Feb 2021 10:06:16 -0800 (PST) Received: by mail-wr1-f49.google.com with SMTP id g6so6067475wrs.11 for ; Sun, 14 Feb 2021 10:06:16 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id g136sm7512538wme.10.2021.02.14.10.01.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 10:01:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=G3/ym6u6v63O1H9s9Yezp8ui+y1bj86FlTiPhugIplI=; b=Klo5Y6mKfHvyILZ5JrhNLmNVHQV/tVIJMBaluYcqZUgc8xXApkOjxedpHbeq2IIDOK jcmATjqesYhYDquY8OS9h3Q2cm3SWFB7T4t4RtSVWh44rrH2RON41WeFjRc5RdTrN5dh tFvUMAX77Yt76y6cn1OQzXUInPOWU90mAbxZH3WMJDkcCjD5M8uZIpMai5YD3SvKYwz/ CR98OsNJTMR0Rv31+Bv6MSOQUdRwjlJAm1MZqxXEIlOqjqdwRS0VX4RSIATaLsuvEvQd J7HQneW/YW/vfs+g0mneOvJi6FAbmAlleYdWL4W8SdFKYMQHqMFgBlwKTILKpii7PWfj VQoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=G3/ym6u6v63O1H9s9Yezp8ui+y1bj86FlTiPhugIplI=; b=ZMe6hHIjxu9mic+E4zd7FHP8lfizfTlvVNCvyAfFpmxaZ5wVfx5RSVVOo9ieMu99vp xMMFeLxf9P0EEEqfJMpwkyjO4YeEDTuyXWkUKhRHb7DIdgqYvAa5RSFTRHG7VQshlAsQ kWHIm5VgA4BbDWqcZAHCcm0peEYvSOPZKglV8pFGaDm69AXiqXYhuig3fqsVyZjJyBWY oEZz5zY/65ngaoY8SRX89pCvmnf5YqQlui+cyaHYbPb+W2n4tTGhrVwO+PuPryOZoLZg OWp22PxhhMlVc5GCr33fUmvUtGPHYBZMt6USn62dPel4xM7hl1lbl2QmoAE8kfmZ8OiG N2hg== X-Gm-Message-State: AOAM5304zXozg2S4NqcOHRLjWUMLC0WhNaB47R/z4BgHjp/Ou+r4pZe4 rD39Wf3Oek9/W+Z+eGIAoTk= X-Google-Smtp-Source: ABdhPJwzc+W5UUGlMaKt6SZ8lq1DqKMn4gFNtGPGy7QldaeTcQ+CaP1Av8ch5re5tgzzspXoxoFHig== X-Received: by 2002:adf:f089:: with SMTP id n9mr15162924wro.98.1613325675275; Sun, 14 Feb 2021 10:01:15 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo Subject: [RFC PATCH 24/42] target/mips/tx79: Introduce PROT3W opcode (Parallel Rotate 3 Words) Date: Sun, 14 Feb 2021 18:58:54 +0100 Message-Id: <20210214175912.732946-25-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Introduce the PROT3W opcode (Parallel Rotate 3 Words). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/mips/tx79.decode | 1 + target/mips/tx79_translate.c | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/target/mips/tx79.decode b/target/mips/tx79.decode index 0ea9fc95568..79001359242 100644 --- a/target/mips/tx79.decode +++ b/target/mips/tx79.decode @@ -56,6 +56,7 @@ PAND 011100 ..... ..... ..... 10010 001001 @= rs_rt_rd PXOR 011100 ..... ..... ..... 10011 001001 @rs_rt_rd PEXEH 011100 00000 ..... ..... 11010 001001 @rt_rd PEXEW 011100 00000 ..... ..... 11110 001001 @rt_rd +PROT3W 011100 00000 ..... ..... 11111 001001 @rt_rd =20 # MMI3 =20 diff --git a/target/mips/tx79_translate.c b/target/mips/tx79_translate.c index 59451a043a4..c25f61d382c 100644 --- a/target/mips/tx79_translate.c +++ b/target/mips/tx79_translate.c @@ -753,3 +753,31 @@ static bool trans_PEXEW(DisasContext *ctx, arg_rtype *= a) =20 return true; } + +/* Parallel Rotate 3 Words Left */ +static bool trans_PROT3W(DisasContext *ctx, arg_rtype *a) +{ + TCGv_i64 ax; + + if (a->rd =3D=3D 0) { + /* nop */ + return true; + } + if (a->rt =3D=3D 0) { + tcg_gen_movi_i64(cpu_gpr[a->rd], 0); + tcg_gen_movi_i64(cpu_gpr_hi[a->rd], 0); + return true; + } + + ax =3D tcg_temp_new_i64(); + + tcg_gen_mov_i64(ax, cpu_gpr_hi[a->rt]); + tcg_gen_deposit_i64(cpu_gpr_hi[a->rd], ax, cpu_gpr[a->rt], 0, 32); + + tcg_gen_deposit_i64(cpu_gpr[a->rd], cpu_gpr[a->rt], ax, 0, 32); + tcg_gen_rotri_i64(cpu_gpr[a->rd], cpu_gpr[a->rd], 32); + + tcg_temp_free(ax); + + return true; +} --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.42 as permitted sender) client-ip=209.85.221.42; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f42.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.42 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613325681; cv=none; d=zohomail.com; s=zohoarc; b=iuHnRWFnbBoGDVGNPgg69DJt/exANDnvyWhouME7GO9599KvpKy5Y+f0IXV48umSKVzquMe4dUWPDdrVnL/zm2pMl+VJKMjPUYrrkV810VZgiacIlxkaxxvknRj9eLIJKkvyBc21RwQ5QUPPA18cdXNaJuKLtMk278C15lR4yEE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613325681; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=u/wEPKUWVvF3Au5VTI/1Dl8n/cS8vH0tcjl9xMfLNXs=; b=ML5U0PTQULqqWpk4QVnLW1ouBPk/BLKCwmIdl2b0TrhqzEQQHqYf5/KwkPa5//oZLZ9gidiI5gJ1wYZHJiHodFqYj89Ww5Skx5LbWmOOlpxwizKq4d7l4ILt/oFtl6AflxIXLXPdGmmiauwholbEsn+RL/5gN+q7tyA7+X1l+fU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.42 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) by mx.zohomail.com with SMTPS id 1613325681568353.6420236954384; Sun, 14 Feb 2021 10:01:21 -0800 (PST) Received: by mail-wr1-f42.google.com with SMTP id v15so6107009wrx.4 for ; Sun, 14 Feb 2021 10:01:21 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id x4sm19853110wrn.64.2021.02.14.10.01.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 10:01:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=u/wEPKUWVvF3Au5VTI/1Dl8n/cS8vH0tcjl9xMfLNXs=; b=R9WH9p3i5LPJpjNrvtzsWpCoRmx1g0vX32QUTut9fskN0a0U2lLXZ6RkFaGgwn1imq ItzdEKvD4EISD6L26yLgfWyMpVLy0mzFCKaeDc9rI+UpUF0z4PxeFjhzTfhG8By/iVw4 03dvEl93H19BKxzKIlt2EkfGLk5aDYOYLS0rP20DsDFQz19J7LggpMXjLaJvhsyhIzsc FWZzdMzvrresoCYK18A3rfAUxOEfu1dKZr0yYcZ5Z07i0QpE75aIvdaW9T9KyDPsaM4N j7EzYWyqk62ZTF5Y+RvLDRB2VCk8jvAbRCnJnCBKRvd+MCbVWK4V6cwxExW1Jz+Jkn6q e58Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=u/wEPKUWVvF3Au5VTI/1Dl8n/cS8vH0tcjl9xMfLNXs=; b=Qq3qRrlZoVDIDA3w18OD9xK/PgBwYf/Dq2fVBEGcPgvkR6EMrijHGvoERUnwM7JetP uWWixjo4H/yI7xeMZVRKUshsIftvefYHtL8st+i1B7DwtLMJAT1nQ88tX6lKAT3QRkyz h1JRyWZ4erlq2rBe2L2mNj8AjZ3KCFD62lRHNabkOXyD9jqEyQLmj31N7khDmMRli475 TuhKeYHPYueyKWcLEAUSnYcC2Y01G9ZLaF6lqC0ecXvk4J/2MX97K03t4daPRginwz5V EaHSUZL1knq4WIwCWfrE89Pu8L+EkOAQueZTiYv5S505chr4BaltI5pHYY5N5TRELB/A eXMQ== X-Gm-Message-State: AOAM532fXYAyTO3nzbSA7EMjd01nxC/XfqORJAABqq2xtqckjFUEJlDd voBPc5W8ypa7qKzCD1mrbUg= X-Google-Smtp-Source: ABdhPJw8jcaXCiCTea/OB+QboMcRRduC+W4fDyy7ALcJtnnp39B62XdPnNh5/jwCH6EjNe/WboI4nw== X-Received: by 2002:a5d:67c2:: with SMTP id n2mr8802098wrw.298.1613325680153; Sun, 14 Feb 2021 10:01:20 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo Subject: [RFC PATCH 25/42] target/mips/tx79: Introduce LQ opcode (Load Quadword) Date: Sun, 14 Feb 2021 18:58:55 +0100 Message-Id: <20210214175912.732946-26-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Introduce the LQ opcode (Load Quadword) and remove unreachable code. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/mips/tx79.decode | 8 ++++++++ target/mips/translate.c | 16 ++-------------- target/mips/tx79_translate.c | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 45 insertions(+), 14 deletions(-) diff --git a/target/mips/tx79.decode b/target/mips/tx79.decode index 79001359242..b5396f48c2d 100644 --- a/target/mips/tx79.decode +++ b/target/mips/tx79.decode @@ -13,6 +13,8 @@ =20 &rtype rs rt rd sa =20 +&itype base rt offset + ########################################################################### # Named instruction formats. These are generally used to # reduce the amount of duplication between instruction patterns. @@ -22,6 +24,8 @@ @rs ...... rs:5 ..... .......... ...... &rtype rt=3D0 rd= =3D0 sa=3D0 @rd ...... .......... rd:5 ..... ...... &rtype rs=3D0 rt= =3D0 sa=3D0 =20 +@ldst ...... base:5 rt:5 offset:16 &itype + ########################################################################### =20 MFHI1 011100 0000000000 ..... 00000 010000 @rd @@ -65,3 +69,7 @@ PCPYUD 011100 ..... ..... ..... 01110 101001 @= rs_rt_rd POR 011100 ..... ..... ..... 10010 101001 @rs_rt_rd PNOR 011100 ..... ..... ..... 10011 101001 @rs_rt_rd PCPYH 011100 00000 ..... ..... 11011 101001 @rt_rd + +# SPECIAL + +LQ 011110 ..... ..... ................ @ldst diff --git a/target/mips/translate.c b/target/mips/translate.c index 109f7f80f3d..bed0489997a 100644 --- a/target/mips/translate.c +++ b/target/mips/translate.c @@ -1780,7 +1780,6 @@ enum { =20 enum { MMI_OPC_CLASS_MMI =3D 0x1C << 26, /* Same as OPC_SPECIAL2 */ - MMI_OPC_LQ =3D 0x1E << 26, /* Same as OPC_MSA */ MMI_OPC_SQ =3D 0x1F << 26, /* Same as OPC_SPECIAL3 */ }; =20 @@ -27331,11 +27330,6 @@ static void decode_mmi(CPUMIPSState *env, DisasCon= text *ctx) } } =20 -static void gen_mmi_lq(CPUMIPSState *env, DisasContext *ctx) -{ - gen_reserved_instruction(ctx); /* TODO: MMI_OPC_LQ */ -} - static void gen_mmi_sq(DisasContext *ctx, int base, int rt, int offset) { gen_reserved_instruction(ctx); /* TODO: MMI_OPC_SQ */ @@ -28229,14 +28223,8 @@ static bool decode_opc_legacy(CPUMIPSState *env, D= isasContext *ctx) gen_compute_branch(ctx, op, 4, rs, rt, offset, 4); } break; - case OPC_MDMX: /* MMI_OPC_LQ */ - if (ctx->insn_flags & INSN_R5900) { -#if defined(TARGET_MIPS64) - gen_mmi_lq(env, ctx); -#endif - } else { - /* MDMX: Not implemented. */ - } + case OPC_MDMX: + /* MDMX: Not implemented. */ break; case OPC_PCREL: check_insn(ctx, ISA_MIPS_R6); diff --git a/target/mips/tx79_translate.c b/target/mips/tx79_translate.c index c25f61d382c..293efd7bd06 100644 --- a/target/mips/tx79_translate.c +++ b/target/mips/tx79_translate.c @@ -376,6 +376,41 @@ static bool trans_PCEQW(DisasContext *ctx, arg_rtype *= a) * SQ rt, offset(base) Store Quadword */ =20 +static bool trans_LQ(DisasContext *ctx, arg_itype *a) +{ + TCGv_i64 t0; + TCGv addr; + + if (a->rt =3D=3D 0) { + /* nop */ + return true; + } + + t0 =3D tcg_temp_new_i64(); + addr =3D tcg_temp_new(); + + gen_base_offset_addr(ctx, addr, a->base, a->offset); + /* + * Clear least-significant four bits of the effective + * address, effectively creating an aligned address. + */ + tcg_gen_andi_tl(addr, addr, ~0xf); + + /* Lower halve */ + tcg_gen_qemu_ld_i64(t0, addr, ctx->mem_idx, MO_TEQ); + gen_store_gpr(t0, a->rt); + + /* Upper halve */ + tcg_gen_addi_i64(addr, addr, 8); + tcg_gen_qemu_ld_i64(t0, addr, ctx->mem_idx, MO_TEQ); + gen_store_gpr_hi(t0, a->rt); + + tcg_temp_free(t0); + tcg_temp_free(addr); + + return true; +} + /* * Multiply and Divide (19 instructions) * ------------------------------------- --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.53 as permitted sender) client-ip=209.85.128.53; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f53.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.53 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613325686; cv=none; d=zohomail.com; s=zohoarc; b=ghL8O1hbUkdZrSRyZjaw5fbkW8pKBZu/m2c63XBqAH8V9im5iOiJ+nnRzeJxZPxhuoLkaJbyzyQVx0/iomSXlHHgreJJo1DLgpklNvlI4A1VTJ0hDLJ+rE3kOAU7lnfvGejXEhLC2CD8HRFugqvPICMndyd3Tn7Erq/F/8TiGpY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613325686; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=OHI9+2iJLTvRrWFTQN2s8ImAvRqlxsnv2mLO+JxxUWA=; b=hE/UTlMZeEssEjy1vFQqB18BLk7m3GZcrxIowkE05aWm3AyQ2Ng31izwkPOP1xPkLBICYIGSPCwoSfMyGZ+zkWkeO4VcsmLO8oz1Jg/huB9MaEEtsfBr6XGDSnGthc1PfUnat5kckohfNbjQGKA2DBORULRjvslOlPwMhVp9LUg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.53 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) by mx.zohomail.com with SMTPS id 1613325686489416.9705796403713; Sun, 14 Feb 2021 10:01:26 -0800 (PST) Received: by mail-wm1-f53.google.com with SMTP id z63so540963wmg.4 for ; Sun, 14 Feb 2021 10:01:26 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id d15sm16117354wru.80.2021.02.14.10.01.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 10:01:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=OHI9+2iJLTvRrWFTQN2s8ImAvRqlxsnv2mLO+JxxUWA=; b=H5Br+EJ7FHHEJL5ifZ7ef5dlAsBMr9Zl4Ry0J2stKzhQWhcNHmAtbkaLPbfkdTRcrM sS4ALuIaY7ggtNjvoVuz5OcEPy8rpiBwy1wZGQh9IypFMQucmL8kEl4itAa0j6zG91cJ +EAScVVN7eC/iKdUw5rQNr4c6R9FwbdElBwKh2aHHxoy9qkwsmpJul/lf2WjmMKJvWZZ xw73Mdol7USRfYfCfEOmRofW56ZtveWqu02+Rj0XwcPziXPFQzw4nzbQ3N/1LRGAt0Tq 9+GDLgSQzakgyIZ2wykCkz9KSzbAR7iRyL382/vECig55I0i0U6bOjSu4aZ2hHnEbBL5 aEUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=OHI9+2iJLTvRrWFTQN2s8ImAvRqlxsnv2mLO+JxxUWA=; b=oQ2DCmXvj3u49BUEAKLEYobQD3hC836VpR7/CwXWIhq7KVCQjDcsai9xTijQc1L1k8 GGfu9dV0WtaqYtJw3b0Ag65aqzdI7Dgw2G2JECDTYxr+bcQ/y9yCOGjpVwdVzYbNPYKR aYsQigi+/uxBxcQacvOhBCK4cbT0R+4P2QZWZCMwaEk3FLY0olS2WZlrmu4aB/ywsZqX 1eTuZcq0GhJm1CXdA1W13rSRuxz+wbqigNUFmejQi01je/V7lgJlRyQYvfdFvY32+8QH KGOh4lOeYL1fgOq43KE4nSVJ5uLtUoTOGHUdUCsaddFPR9RWtKoFwc+A4bbvNAHgc+Bx XYmg== X-Gm-Message-State: AOAM532lk/jNj6mtnOKyvZdbpNN8M5EbKRoAw+X3CZTJ2bBZCRNcDC+B SNtXwD1e4M0FljkvoTW3Yto= X-Google-Smtp-Source: ABdhPJxvSDW8F1/5k9Lq5SpQr/y819cLaiv48VAcuLz01Vc73xr28V2TYBrKs3h0J4/gRzV+RdT8RQ== X-Received: by 2002:a1c:f203:: with SMTP id s3mr11048487wmc.152.1613325685147; Sun, 14 Feb 2021 10:01:25 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo Subject: [RFC PATCH 26/42] target/mips/tx79: Introduce SQ opcode (Store Quadword) Date: Sun, 14 Feb 2021 18:58:56 +0100 Message-Id: <20210214175912.732946-27-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Introduce the SQ opcode (Store Quadword). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/mips/tx79.decode | 1 + target/mips/tx79_translate.c | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/target/mips/tx79.decode b/target/mips/tx79.decode index b5396f48c2d..f1cb7ebfa3c 100644 --- a/target/mips/tx79.decode +++ b/target/mips/tx79.decode @@ -73,3 +73,4 @@ PCPYH 011100 00000 ..... ..... 11011 101001 @= rt_rd # SPECIAL =20 LQ 011110 ..... ..... ................ @ldst +SQ 011111 ..... ..... ................ @ldst diff --git a/target/mips/tx79_translate.c b/target/mips/tx79_translate.c index 293efd7bd06..386bae7808b 100644 --- a/target/mips/tx79_translate.c +++ b/target/mips/tx79_translate.c @@ -411,6 +411,33 @@ static bool trans_LQ(DisasContext *ctx, arg_itype *a) return true; } =20 +static bool trans_SQ(DisasContext *ctx, arg_itype *a) +{ + TCGv_i64 t0 =3D tcg_temp_new_i64(); + TCGv addr =3D tcg_temp_new(); + + gen_base_offset_addr(ctx, addr, a->base, a->offset); + /* + * Clear least-significant four bits of the effective + * address, effectively creating an aligned address. + */ + tcg_gen_andi_tl(addr, addr, ~0xf); + + /* Lower halve */ + gen_load_gpr(t0, a->rt); + tcg_gen_qemu_st_i64(t0, addr, ctx->mem_idx, MO_TEQ); + + /* Upper halve */ + tcg_gen_addi_i64(addr, addr, 8); + gen_load_gpr_hi(t0, a->rt); + tcg_gen_qemu_st_i64(t0, addr, ctx->mem_idx, MO_TEQ); + + tcg_temp_free(addr); + tcg_temp_free(t0); + + return true; +} + /* * Multiply and Divide (19 instructions) * ------------------------------------- --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.52 as permitted sender) client-ip=209.85.221.52; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f52.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.52 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613325691; cv=none; d=zohomail.com; s=zohoarc; b=iQFwagyhMiEXOvSixZMhsm3mxpkh/a1ZGrR0S/86Jo4LGtlOjAdTBvUfI0gNNQbl7Fcdwc/tbzBl4qLVzl/ZCRiZyeXLAgHDU5Ff4dxe60K1aT8psVMGtKcM1soykSwZvH23Hm5c1EZyYUR0kVymLVty6osukVxiLvSbXAOsoAw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613325691; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=PPT/TRs9DBVuqLk8C2ogWVWxOhu3RGD/8/rw9TJVxIU=; b=eH9G46LVV95/Py4gCbA7IKY+lMS5C/L+suYr9pictdg93IXTBuPfeOzTjZE1C/pik3B8tix7ncHvlrm2wnf7utHr4VBKBtBX3nqSk8f3RpgiDkFYXU4pZJRmghwT11nMVoJMC4KS+eMHEuIdeDlsF44bmA/836USqD8dGTJgBg4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.52 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) by mx.zohomail.com with SMTPS id 16133256914568.027916322689862; Sun, 14 Feb 2021 10:01:31 -0800 (PST) Received: by mail-wr1-f52.google.com with SMTP id u14so6130929wri.3 for ; Sun, 14 Feb 2021 10:01:31 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id f8sm20100594wrp.65.2021.02.14.10.01.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 10:01:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=PPT/TRs9DBVuqLk8C2ogWVWxOhu3RGD/8/rw9TJVxIU=; b=kmg3JYetKuNtVr4bE5YlKtDqDturHRJrWJsiNxo+KgjXLv+CwpNRAwPrzjser4lLrw 6NaiQ6mG+DbSpJFdw1PuZYQr5r4eAG3jNTol4TcOtt1IEiQh0kDSQZoJOWiigTx6zzfv BbhrT2vcooPDiyO3qBwZ81DhJNXvvsVAgF9KxclXbgEC3/Hr+Gaj4/M5O//risuTuaMA H7Jj7PHZtHqPUBxs99wDjY4i0/0jyzTkKojMJmw4/kIWkfbE9aUex+WAyCURE9kO8vep +owvm5zLowTlQ4FJglP4OnqQD3ChK5iuWIrOA5IoEmlZ3rulPFLeP3Sxy+RVJ7+KUkrB 5pgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=PPT/TRs9DBVuqLk8C2ogWVWxOhu3RGD/8/rw9TJVxIU=; b=ciVx/ns3bWpdcUet/zOhx1RqgLbkntf+xmAt3Wdl56mSIJ1MfA//8T5p4RsIIWyShf rWbj5xtalUAu2KfnaukG4UY7Ir3iHJAZWrUHY4enmgB6Oz4jV/7R6w6dHbfGV61B5YYx cyj4TmUssHGNzQElT7U99LuCPiiEh7MIjkuF4wd+xb/qDqSFrTEUgUEvk+2JtBR3UgJB b6E95ceR0bu9rcOVXv1PuN7C3CpBQ+7YwAKmlnNVU5QgyAOBjgNsRduLNBVM9mBQbMCw JSwlGyo1MWwImq+I+pN1via4zmysJ8DlGndlEv0a4FYsCOKjut3MGqAGjs9/5LjEWKxc Agog== X-Gm-Message-State: AOAM530flX8WD/afXUmB7HRftvdUObUiKn62OrxlTar7/8+m8KBVAafb e9YPm6xpdS8N59sCFDInmXw= X-Google-Smtp-Source: ABdhPJwyR9fdsY0cMiiAavx+t/mW4Qh9ul3o2Kmu+CUAJg+hz5h2wKsmta8gZ/O1fP8waUPwuhaifA== X-Received: by 2002:adf:f5c7:: with SMTP id k7mr14992669wrp.313.1613325690148; Sun, 14 Feb 2021 10:01:30 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo Subject: [RFC PATCH 27/42] target/mips/translate: Make gen_rdhwr() public Date: Sun, 14 Feb 2021 18:58:57 +0100 Message-Id: <20210214175912.732946-28-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) We will use gen_rdhwr() outside of translate.c, make it public. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/mips/translate.h | 2 ++ target/mips/translate.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/target/mips/translate.h b/target/mips/translate.h index bc91ac4f53f..d2ba3524b51 100644 --- a/target/mips/translate.h +++ b/target/mips/translate.h @@ -148,6 +148,8 @@ void gen_op_addr_add(DisasContext *ctx, TCGv ret, TCGv = arg0, TCGv arg1); bool gen_lsa(DisasContext *ctx, int rd, int rt, int rs, int sa); bool gen_dlsa(DisasContext *ctx, int rd, int rt, int rs, int sa); =20 +void gen_rdhwr(DisasContext *ctx, int rt, int rd, int sel); + extern TCGv cpu_gpr[32], cpu_PC; #if defined(TARGET_MIPS64) extern TCGv_i64 cpu_gpr_hi[32]; diff --git a/target/mips/translate.c b/target/mips/translate.c index bed0489997a..c1d07a4591d 100644 --- a/target/mips/translate.c +++ b/target/mips/translate.c @@ -12655,7 +12655,7 @@ static void gen_flt3_arith(DisasContext *ctx, uint3= 2_t opc, } } =20 -static void gen_rdhwr(DisasContext *ctx, int rt, int rd, int sel) +void gen_rdhwr(DisasContext *ctx, int rt, int rd, int sel) { TCGv t0; =20 --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.43 as permitted sender) client-ip=209.85.128.43; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f43.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.43 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613326335; cv=none; d=zohomail.com; s=zohoarc; b=Kv/zDZO7dH96cpcA4d56GrRru3EVR71KEVtUfdf/oRGHwHgi1oJN6whN4exSa2lUj2KKYbNDm9F0p9kXf8D2iAfLGDKAUvq//SUfbYvTLXG/sZ+fdOYvTihY7wRN2aPRtqT6jhGf6EvaYWbvROWzJtWQbvyslILSu92d3XOq828= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613326335; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=d546qymlao/rzWtR36sSyopsQgU3D8u3O18dLCPSATQ=; b=Ly1+Yy81rMgZgIaiwFLJOQqbQfmFUevYxeEHn2eL3iREOsh+9m4hgDLizfVXI5zmr6LwBl4GGfGUM5IZOiwut++/2IXmJj+olFOD0GcJQHUNkpxr2WrADbcyh27Ua41KlIlNiJgVLHe03xoHi7F+LzyPvzFp7osbEJocBPU4/Zw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.43 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) by mx.zohomail.com with SMTPS id 1613326335961164.80734161510725; Sun, 14 Feb 2021 10:12:15 -0800 (PST) Received: by mail-wm1-f43.google.com with SMTP id n10so5857823wmq.0 for ; Sun, 14 Feb 2021 10:12:15 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id c3sm7167927wrr.29.2021.02.14.10.01.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 10:01:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=d546qymlao/rzWtR36sSyopsQgU3D8u3O18dLCPSATQ=; b=ZMjnLcRY1+EILKAApUubkZ0uzZnVCg5UfW1UOttGln5PJ5eR2aAQoWXTkcuBIbUeQG /fGFj4raEFC4n4aOP92hwOTIzhIm4cgAZcWb1hwUvd8AMIZoZ82WgTLef/nhIq1TOE+r UEs7dhEnhaNj9CYtTc2FGMgdTYcUu+QwZMKOtuXblLvl/KhYpXcKPANdD41BDdnZqJOv TIdbqzqAvPid0aO2EOsy2U6LnfLcV3t1wwEHXL3/OZdxiuBL7Qq9V2mMwLIIbvo2+nZZ 2exF/t0zNoroX61qmi9sbqD+xU9yL+J3VJFw/yHkGs3NBoCtwdjxhNgR7YsTNMFCb5Jg nGJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=d546qymlao/rzWtR36sSyopsQgU3D8u3O18dLCPSATQ=; b=Yim2t53Wn0Oxg+rxkINABnDcFkkWSgaYDd5HiXzBU8o/32lnhqnVBvyZ+ru2D4QP+/ B2k4/YGbKUwwdoNLwEU1N+t8roRel4RgtDm/VWy/mSXM1xR1EZFKQmQauBWrKTZFPAWo ANL4+pi+B5kLesPvy89LRh4oHyxRnAv/SK1lQrjBFPnUT9+dISNOMStNqPjuDLXaEvWO KfkdSrxQhfdKhEXkfnbqiFtTdqNCx17rAilka3RihLHm/C0U4UWSJZUOqK+KDxWEi0N9 FDzpQybDYyh0s2wgyOQsWuIWtQHKZCHYwLzeH7Yrca1B5/OdJOlQ+JrXs5HFS9dVk3Yk D3Ng== X-Gm-Message-State: AOAM530NjV+/D94u9wnUbPhWGdeyCbRw6Faufn61HafySmYweJMcKf8b dUUG66zfIfgLxmQKrlv6EA3/Dy8Os+U= X-Google-Smtp-Source: ABdhPJzIEuXfnUmiISWhrN/Tu/rLJ0f60OjCGa57Eq49WB5yvf3BShtly44I8uakgAerqc4H+Jjf+A== X-Received: by 2002:a7b:cf33:: with SMTP id m19mr11031041wmg.53.1613325695015; Sun, 14 Feb 2021 10:01:35 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo Subject: [RFC PATCH 28/42] target/mips/tx79: Move RDHWR usermode kludge to trans_SQ() Date: Sun, 14 Feb 2021 18:58:58 +0100 Message-Id: <20210214175912.732946-29-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Now than SQ is properly implemented, we can move the RDHWR kludge required to have usermode working with recent glibc. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/mips/translate.c | 56 ------------------------------------ target/mips/tx79_translate.c | 34 +++++++++++++++++++++- 2 files changed, 33 insertions(+), 57 deletions(-) diff --git a/target/mips/translate.c b/target/mips/translate.c index c1d07a4591d..0fa2b3bcc15 100644 --- a/target/mips/translate.c +++ b/target/mips/translate.c @@ -1780,7 +1780,6 @@ enum { =20 enum { MMI_OPC_CLASS_MMI =3D 0x1C << 26, /* Same as OPC_SPECIAL2 */ - MMI_OPC_SQ =3D 0x1F << 26, /* Same as OPC_SPECIAL3 */ }; =20 /* @@ -27330,53 +27329,6 @@ static void decode_mmi(CPUMIPSState *env, DisasCon= text *ctx) } } =20 -static void gen_mmi_sq(DisasContext *ctx, int base, int rt, int offset) -{ - gen_reserved_instruction(ctx); /* TODO: MMI_OPC_SQ */ -} - -/* - * The TX79-specific instruction Store Quadword - * - * +--------+-------+-------+------------------------+ - * | 011111 | base | rt | offset | SQ - * +--------+-------+-------+------------------------+ - * 6 5 5 16 - * - * has the same opcode as the Read Hardware Register instruction - * - * +--------+-------+-------+-------+-------+--------+ - * | 011111 | 00000 | rt | rd | 00000 | 111011 | RDHWR - * +--------+-------+-------+-------+-------+--------+ - * 6 5 5 5 5 6 - * - * that is required, trapped and emulated by the Linux kernel. However, all - * RDHWR encodings yield address error exceptions on the TX79 since the SQ - * offset is odd. Therefore all valid SQ instructions can execute normally. - * In user mode, QEMU must verify the upper and lower 11 bits to distingui= sh - * between SQ and RDHWR, as the Linux kernel does. - */ -static void decode_mmi_sq(CPUMIPSState *env, DisasContext *ctx) -{ - int base =3D extract32(ctx->opcode, 21, 5); - int rt =3D extract32(ctx->opcode, 16, 5); - int offset =3D extract32(ctx->opcode, 0, 16); - -#ifdef CONFIG_USER_ONLY - uint32_t op1 =3D MASK_SPECIAL3(ctx->opcode); - uint32_t op2 =3D extract32(ctx->opcode, 6, 5); - - if (base =3D=3D 0 && op2 =3D=3D 0 && op1 =3D=3D OPC_RDHWR) { - int rd =3D extract32(ctx->opcode, 11, 5); - - gen_rdhwr(ctx, rt, rd, 0); - return; - } -#endif - - gen_mmi_sq(ctx, base, rt, offset); -} - #endif =20 static void decode_opc_special3(CPUMIPSState *env, DisasContext *ctx) @@ -27561,15 +27513,7 @@ static bool decode_opc_legacy(CPUMIPSState *env, D= isasContext *ctx) } break; case OPC_SPECIAL3: -#if defined(TARGET_MIPS64) - if (ctx->insn_flags & INSN_R5900) { - decode_mmi_sq(env, ctx); /* MMI_OPC_SQ */ - } else { - decode_opc_special3(env, ctx); - } -#else decode_opc_special3(env, ctx); -#endif break; case OPC_REGIMM: op1 =3D MASK_REGIMM(ctx->opcode); diff --git a/target/mips/tx79_translate.c b/target/mips/tx79_translate.c index 386bae7808b..2aa3182d21d 100644 --- a/target/mips/tx79_translate.c +++ b/target/mips/tx79_translate.c @@ -411,7 +411,7 @@ static bool trans_LQ(DisasContext *ctx, arg_itype *a) return true; } =20 -static bool trans_SQ(DisasContext *ctx, arg_itype *a) +static bool trans_SQ_real(DisasContext *ctx, arg_itype *a) { TCGv_i64 t0 =3D tcg_temp_new_i64(); TCGv addr =3D tcg_temp_new(); @@ -438,6 +438,38 @@ static bool trans_SQ(DisasContext *ctx, arg_itype *a) return true; } =20 +static bool trans_SQ(DisasContext *ctx, arg_itype *a) +{ + /* + * The TX79-specific instruction Store Quadword + * + * +--------+-------+-------+------------------------+ + * | 011111 | base | rt | offset | SQ + * +--------+-------+-------+------------------------+ + * 6 5 5 16 + * + * has the same opcode as the Read Hardware Register instruction + * + * +--------+-------+-------+-------+-------+--------+ + * | 011111 | 00000 | rt | rd | 00000 | 111011 | RDHWR + * +--------+-------+-------+-------+-------+--------+ + * 6 5 5 5 5 6 + * + * that is required, trapped and emulated by the Linux kernel. However= , all + * RDHWR encodings yield address error exceptions on the TX79 since th= e SQ + * offset is odd. Therefore all valid SQ instructions can execute norm= ally. + * In user mode, QEMU must verify the upper and lower 13 bits to disti= nguish + * between SQ and RDHWR, as the Linux kernel does. + */ +#if defined(CONFIG_USER_ONLY) + if (!a->base && extract32(a->offset, 0, 11) =3D=3D 0b00000111011) { + gen_rdhwr(ctx, a->rt, extract32(ctx->opcode, 11, 5), 0); + return true; + } +#endif + return trans_SQ_real(ctx, a); +} + /* * Multiply and Divide (19 instructions) * ------------------------------------- --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.50 as permitted sender) client-ip=209.85.221.50; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f50.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.50 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613325701; cv=none; d=zohomail.com; s=zohoarc; b=KMzRh7RqNCQOttmAfHZxkBQkwgSHYboNQjR68VoJ0GVe1YNReXb9P2jZb1VcV2KE4kouCCdMrHo5Ed5sS7P55r5D6SCPrSCNJJm/NUXTBDypKioJg+ioid3qtkm5RggJqhvPf2/r/2vUjJ05dA/sBI8Um1LFjJXEBu0piFvL9ho= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613325701; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=TFe7rNxsyeddhlBqR6Hor/4xHDWb1CnQmr8o6p9Au7E=; b=KApq6/eVxSWZNzrgwnWYbYapK+KDwBbadz/vT/H75vrmuwD1KFRwQbMzf06fQr6c9eeu/sVtufEmP9qW5/NqJGyFUhAEJqSUR28TbdLOd0zKRFgMSgti1tgKCz7vRKxsptJeeGCtaIQ2qTyHXn9MXMjP9ojp71124JcIoh22vb0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.50 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.50]) by mx.zohomail.com with SMTPS id 1613325701778728.0239408043246; Sun, 14 Feb 2021 10:01:41 -0800 (PST) Received: by mail-wr1-f50.google.com with SMTP id r21so6081387wrr.9 for ; Sun, 14 Feb 2021 10:01:40 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id q20sm22392771wmc.14.2021.02.14.10.01.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 10:01:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=TFe7rNxsyeddhlBqR6Hor/4xHDWb1CnQmr8o6p9Au7E=; b=J3Dpl81YbZnCLeorYdgQJY+bXN2UQr0AiYPkE/6GrElm43ZY5kVLzVTpJH21XtwKcU j2GeRSkLkU8cCHn5i+nj/O9w0Yj61bAEpp7dZENMJa6WBmpaOeiRPgfraKQngDOYoWWl 8SbN2QuY8phZy5SfwmEIVfTN1b5fOutyGcM3vyzsYLonluIxZiT5MQRrj4Pa8IBVcOh6 fQNXCXJaTh/4Fl0bQ/su9YxbtAivlDJPGCPCXbSe/TDN0GU2EdjdX3g2RpkPE0IF0bzK jpdHiTkDp9K0uycgnjVLQMNNQETVOaN/+dR9u2ZvjLAtvFcyPrVSiR6XMFmUK867uRlh h2Cw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=TFe7rNxsyeddhlBqR6Hor/4xHDWb1CnQmr8o6p9Au7E=; b=Snm3UbF31pYNFRv360Dmlcp+Ej396CpYopmdr4a8EdYGTgazLESpPDEAprUQ7MOhQD 0AwDrm7vh2jrUV2n3jrEZQH20h7IWaLkCyK7kLgR01JHkEq+u1HW3yqUsOS7M103Veej Qtu/FjLNoSL5qK+tZvo88eprlUUR9Cx5YRyY7DfBD4JF0bSgP0o8QT01auKVXWFpdP7f OQDyngKWfCAAQI4r14Ego4RWHfHOIWLB+KTv4gqdlDEQXIL9uAtNvMZDlOt4J0FuonqT tAIGPutxJxxo9E6itHbpO0yntPSblGxzewyxCQdwKs9nBfqQNBLuVsve3BRFhYzfW4Aq YLDA== X-Gm-Message-State: AOAM530/ABghX4+rVdV3q4ZtpmJ4Tw3TifTPB4pGp941DPo464Vv6e5k I0alLRunXPmQbwxbPjqK3UU= X-Google-Smtp-Source: ABdhPJyQblBH1j/6HA1/BuXe53lnWPfN4LBzEaZgB75nUkPamE6oeXlBQzb/kCb09DVb6rzp0WT21A== X-Received: by 2002:adf:fc4e:: with SMTP id e14mr2032831wrs.310.1613325700084; Sun, 14 Feb 2021 10:01:40 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo Subject: [RFC PATCH 29/42] linux-user/mips64: Support the n32 ABI for the R5900 Date: Sun, 14 Feb 2021 18:58:59 +0100 Message-Id: <20210214175912.732946-30-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) From: Fredrik Noring Recognise the R5900, which reports itself as MIPS III, as a 64-bit CPU supporting the n32 ABI. Signed-off-by: Fredrik Noring Reviewed-by: Laurent Vivier Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Philippe Mathieu-Daud=C3=A9 Message-Id: <5bea109f0c140da6a821aa7f9705d4b3717e86dc.1541701393.git.noring= @nocrew.org> Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- linux-user/mips64/target_elf.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/linux-user/mips64/target_elf.h b/linux-user/mips64/target_elf.h index ec55d8542ae..5f2f2df29f7 100644 --- a/linux-user/mips64/target_elf.h +++ b/linux-user/mips64/target_elf.h @@ -12,6 +12,9 @@ static inline const char *cpu_get_model(uint32_t eflags) if ((eflags & EF_MIPS_ARCH) =3D=3D EF_MIPS_ARCH_64R6) { return "I6400"; } + if ((eflags & EF_MIPS_MACH) =3D=3D EF_MIPS_MACH_5900) { + return "R5900"; + } return "5KEf"; } #endif --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.41 as permitted sender) client-ip=209.85.128.41; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f41.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.41 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613326659; cv=none; d=zohomail.com; s=zohoarc; b=h4M07wMV1N0LVsTB1hL69G7AHhuRU+SzeDuNXF8lELGbGqLe21fUtcRDDuUEuPiy00A3FVqCPu4COqSVWR3C39+eY+/Y5a96KxgdhcDCidFqgP+d0H6qne46AcD/lGD7oNYBEEfyBNwcbZfrM5Eziz+wIwS8K7cWluk4kATHgtY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613326659; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=w8KBiau7pxpcFArtHKInYNOJC++ctebYYHvQWPSfPYU=; b=IZ5jczNPiLqiVBKLAco6PL72zCtI1yYtDr/iuW1WgM57SITwWmpxjPTmGqKx0pWJ58HXvg53VOxNGNFlbTgcDdS7OoEHbIjp/5oHuqq13n6F8p7M69aRLQqvpkaNN99FDDwp+vtK4hSwimEgMxqKa956rZw9cuyLmQSN7Q1sZ/g= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.41 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) by mx.zohomail.com with SMTPS id 1613326659361128.76668035729745; Sun, 14 Feb 2021 10:17:39 -0800 (PST) Received: by mail-wm1-f41.google.com with SMTP id h67so1036626wmh.1 for ; Sun, 14 Feb 2021 10:17:38 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id z63sm22397684wme.8.2021.02.14.10.01.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 10:01:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=w8KBiau7pxpcFArtHKInYNOJC++ctebYYHvQWPSfPYU=; b=HFdo+YCVCeJ/csdY//CBARPlfmAksJ1IKm2NJZifRVqfWyruj2TJ9kwxnMoTNB9HHi UakyMFbl+3cr1hjhKAF+mcj6W+K4BVGRc95ylg1HAARrzwjujNm5VoYB5pDcgco8j816 cC8svLcDPDPV5jPJ90YO6KhAbb7aBMkLYrJzPKXgpDPvEqWVBGTcbubvu8r3rUPALBQf elkDo9UaZvikzKnFEqzpEXrxrZyc7VQNMJhxdk/l8mPPz6+8/r4aq+bKqFK9cQSGtqQC gSN5jdj36O3L+Msu+G1FI1YdimVQ749/TnRxFkmt9skbLb/401kD4MKWa9eGoIYvnq/N 3hbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=w8KBiau7pxpcFArtHKInYNOJC++ctebYYHvQWPSfPYU=; b=d49iC6bCFsVFReZ1G7tBN02rhsnPtfttG8oh8B63NZyFV58wrk7GMufWF4B4cMrLtS HNyW9p4LEz1eHi6OWwWuGWpc7v3EoahipiXTM2e9B9kAE1VosFUt0Qaljhhf4gIUANdG RwLNNjDkmPDYdduDWLhcO8xTcOrheHqZG873SfTqVF2/07Ocwzh29Ld22B0bA4F6A0j8 m7/D8ednTT4plTm08nFlukHiVx+CzP3QvPJk3OYi79dXvkcRvsELH3OAQkRRWrMw9xAI HWK7bmRUZwM6k4ATdvDFj6jyXUR29PWBMZdhKxDAppMSpQK9fjRrEO343QoL+goisTbV +9aQ== X-Gm-Message-State: AOAM531dmETBoPZ8x636OLqjQoZj9uD1wsi32zHzUyYrRdPYtDq4Pxkw x5M4B1tkRLHEqnwhVTzHi3O9QEd+g7g= X-Google-Smtp-Source: ABdhPJxQJdlN7FbDv8GKNWVb5qfez/7eV3JRoX5jnu0HHpAr4+3zZSIfv7ZprKR5KiwDXqwISbGiHQ== X-Received: by 2002:a05:600c:33a7:: with SMTP id o39mr11131253wmp.10.1613325705039; Sun, 14 Feb 2021 10:01:45 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo Subject: [RFC PATCH 30/42] target/mips: Reintroduce the R5900 CPU Date: Sun, 14 Feb 2021 18:59:00 +0100 Message-Id: <20210214175912.732946-31-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Now that we have the minimum prerequisites to support the R5900 CPU, we can reintroduce it. While we are reverting commit 823f2897bdd ("Disable R5900 support"), we effectively cherry-pick commit ed4f49ba9bb ("target/mips: Define the R5900 CPU"). This reverts commit 823f2897bdd78185f3ba33292a25105ba8bad1b5. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/mips/cpu-defs.c.inc | 59 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/target/mips/cpu-defs.c.inc b/target/mips/cpu-defs.c.inc index e03b2a998cd..1a73b5409f0 100644 --- a/target/mips/cpu-defs.c.inc +++ b/target/mips/cpu-defs.c.inc @@ -411,6 +411,65 @@ const mips_def_t mips_defs[] =3D .insn_flags =3D CPU_MIPS32R5, .mmu_type =3D MMU_TYPE_R4000, }, + { + /* + * The Toshiba TX System RISC TX79 Core Architecture manual + * + * https://wiki.qemu.org/File:C790.pdf + * + * describes the C790 processor that is a follow-up to the R5900. + * There are a few notable differences in that the R5900 FPU + * + * - is not IEEE 754-1985 compliant, + * - does not implement double format, and + * - its machine code is nonstandard. + */ + .name =3D "R5900", + .CP0_PRid =3D 0x00002E00, + /* No L2 cache, icache size 32k, dcache size 32k, uncached coheren= cy. */ + .CP0_Config0 =3D (0x3 << 9) | (0x3 << 6) | (0x2 << CP0C0_K0), + .CP0_Status_rw_bitmask =3D 0xF4C79C1F, +#ifdef CONFIG_USER_ONLY + /* + * R5900 hardware traps to the Linux kernel for IEEE 754-1985 and = LL/SC + * emulation. For user only, QEMU is the kernel, so we emulate the= traps + * by simply emulating the instructions directly. + * + * Note: Config1 is only used internally, the R5900 has only Confi= g0. + */ + .CP0_Config1 =3D (1 << CP0C1_FP) | (47 << CP0C1_MMU), + .CP0_LLAddr_rw_bitmask =3D 0xFFFFFFFF, + .CP0_LLAddr_shift =3D 4, + .CP1_fcr0 =3D (0x38 << FCR0_PRID) | (0x0 << FCR0_REV), + .CP1_fcr31 =3D 0, + .CP1_fcr31_rw_bitmask =3D 0x0183FFFF, +#else + /* + * The R5900 COP1 FPU implements single-precision floating-point + * operations but is not entirely IEEE 754-1985 compatible. In + * particular, + * + * - NaN (not a number) and +/- infinities are not supported; + * - exception mechanisms are not fully supported; + * - denormalized numbers are not supported; + * - rounding towards nearest and +/- infinities are not supported; + * - computed results usually differs in the least significant bit; + * - saturations can differ more than the least significant bit. + * + * Since only rounding towards zero is supported, the two least + * significant bits of FCR31 are hardwired to 01. + * + * FPU emulation is disabled here until it is implemented. + * + * Note: Config1 is only used internally, the R5900 has only Confi= g0. + */ + .CP0_Config1 =3D (47 << CP0C1_MMU), +#endif /* !CONFIG_USER_ONLY */ + .SEGBITS =3D 32, + .PABITS =3D 32, + .insn_flags =3D CPU_MIPS3 | INSN_R5900 | ASE_MMI, + .mmu_type =3D MMU_TYPE_R4000, + }, { /* A generic CPU supporting MIPS32 Release 6 ISA. FIXME: Support IEEE 754-2008 FP. --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.49 as permitted sender) client-ip=209.85.128.49; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f49.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.49 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613325711; cv=none; d=zohomail.com; s=zohoarc; b=mppedppCz+aiOVZHHvQBWcQdJHhE5RQ1jhmTcIoUjV97G5KYEZhH8qNif8w/ensQ51UP0oC3Tc69SvMjsZSYDu+kRHWgp9fnOxlCmRRTfKCvdQiSusxf3/4Wm6JLEfx0nOgILSNDpvnMX77rv6AzkdIe0waqodF7/jy8j/+jYKA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613325711; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=n3Ruy+Xz1agjPvsuiBU7vncCZhEJuePdDDqrAtuEmMk=; b=BxKYJJBrhPFHmzoKLuUap+WR//ghpt87yKxfWP/V+kUDTu13coELi/zrUrbtDeNP+tcsFTL1572dKNSOuLqM2/fMIt6b2WtI2gy1+2epKZxmlo4IdXaLdg4KuSwX73rA0s0/cTkl6y86ls/bKHZzrlg3WwdNBNkJNl0dCi3V/N4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.49 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) by mx.zohomail.com with SMTPS id 1613325711442640.2811270256934; Sun, 14 Feb 2021 10:01:51 -0800 (PST) Received: by mail-wm1-f49.google.com with SMTP id u5so1454933wmj.0 for ; Sun, 14 Feb 2021 10:01:51 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id l1sm20040169wmi.48.2021.02.14.10.01.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 10:01:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=n3Ruy+Xz1agjPvsuiBU7vncCZhEJuePdDDqrAtuEmMk=; b=aOPQCOR5VVDODm+YYA2dWOcWVSqjP82C64DlckI4snPkGSq5SqDsnBo4yLvmg9zhrb KfkzkS0zyo6PNTww8FRQ/hiQ/Gtu6I88zjZb12daqJcxsq5AEZQpp3D/OsXvVXunsu16 qzNXz5N/BhngNxaUJGJgbIJraOJKIKCC11NQVbvAAvkCl7oKKpXmhy1XPV/l8U5ys9QH 7zD7siIx5kN9TIdnbeHI6vWzAY/eWVgBDs7eFNBfR4bhgp88nT4bPMGME6fvwEpoTfNH XkTRZ2Ux1wFS+jD5D1B6l2+CV/NNQgPUjOzIfpX/9D978NGdpAF8D84MzdtBg1Yv9xQX 8+vg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=n3Ruy+Xz1agjPvsuiBU7vncCZhEJuePdDDqrAtuEmMk=; b=Xz/PgMusN7gQxFAZMcvF1HRah7j+bNZhIxx65qRjLgEj5BudZ2Savuf0M1mJund1VN UXEIHnU5WdbmddgTYOY/js9Bo4SdvwFgArqRbFJPsExLPOO2xeYaBBvIaNMG8YN4thQ0 ZkQ/olSBwYjC09gkhxh9WiydKEuI02FZEivG6vD+bJLArJhEGJ56/AvAlm8Z/mJjdny5 gaK6sB2k8cYF/7fu+kEZxV11LoJ5xY9+5TKbtdg+pZZOTw0JGgy8nqByp1RYZAJ4r+MI NtHU5QL37R21ZIYakEM9o7J4Ud1Um6r93XjbdYdHRzUuPf4t6TMxC8o34nf2FEuNkHJT zsGA== X-Gm-Message-State: AOAM533VvB7fz2Jbs41lAm/oTeKyV5Gv0TEYTjl/WFa4zo1RPinb4Df6 qc+Gj+njRyZsL93YNzDEV4o= X-Google-Smtp-Source: ABdhPJzjdZf/c25iP5AS3GOJtk1l6iNOF7TOdb1z21ywbVQUqdcF/P7C2bT7qmyQ7FyhrorFxQkJ6w== X-Received: by 2002:a1c:c904:: with SMTP id f4mr11173025wmb.14.1613325710056; Sun, 14 Feb 2021 10:01:50 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo , Richard Henderson Subject: [RFC PATCH 31/42] default-configs: Support o32 ABI with R5900 64-bit MIPS CPU Date: Sun, 14 Feb 2021 18:59:01 +0100 Message-Id: <20210214175912.732946-32-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) MIPS o32 ABI on 64-bit CPUs looks like a ILP32-on-64bit data model, allowing 64-bit arithmetic and data movement instructions. Since this ABI seems to have only ever been used for the development of the PS2 with the "Sony Linux Toolkit for Playstation 2" targetting the R5900 CPU (little-endian), we name this user-mode target 'r5900o32el'. Inspired-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- v2: Rename qemu-mips64o32el -> qemu-r5900o32el (Fredrik) --- docs/user/main.rst | 3 +++ default-configs/targets/r5900o32el-linux-user.mak | 7 +++++++ 2 files changed, 10 insertions(+) create mode 100644 default-configs/targets/r5900o32el-linux-user.mak diff --git a/docs/user/main.rst b/docs/user/main.rst index 8dfe232a3af..405acb8155e 100644 --- a/docs/user/main.rst +++ b/docs/user/main.rst @@ -221,6 +221,9 @@ Other binaries * ``qemu-mipsn32el`` executes 32-bit little endian MIPS binaries (MIPS = N32 ABI). =20 + * ``qemu-r5900o32el`` executes 64-bit little endian MIPS R5900 binaries= (MIPS + O32 ABI). + - user mode (NiosII) =20 * ``qemu-nios2`` TODO. diff --git a/default-configs/targets/r5900o32el-linux-user.mak b/default-co= nfigs/targets/r5900o32el-linux-user.mak new file mode 100644 index 00000000000..ecd57ff949f --- /dev/null +++ b/default-configs/targets/r5900o32el-linux-user.mak @@ -0,0 +1,7 @@ +TARGET_ARCH=3Dmips64 +TARGET_BASE_ARCH=3Dmips +TARGET_ABI_MIPSO32=3Dy +TARGET_ABI32=3Dy +TARGET_SYSTBL_ABI=3Do32 +TARGET_SYSTBL=3D../mips/syscall_o32.tbl +TARGET_ALIGNED_ONLY=3Dy --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.52 as permitted sender) client-ip=209.85.128.52; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f52.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.52 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613330457; cv=none; d=zohomail.com; s=zohoarc; b=SeYdB21luh7kkdMYUp74wJHrcz+T2KUIPV8nA28nw3FUnRNi8csT1s29aUy7Vobm5qkeNNOnop0gCFsugo5SJcqB2XEWnAXC5GPB6KHTnm/jO76Q++I2NBNogad+LM7MHmBzXcs2AbcZOOGhtpOL68F54TJElnsrr6xk4YkOQtg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613330457; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=0AWEhq001McQAH/89WIBVS1NfSah7AxRRJlHmFbgoT8=; b=IgS/qiwHP7sNtnZJ2IG5CUYHDzz8+Lq73yn2HTGGdzJp+9y/87LYwirL4LJs6WIWNKSrPStZC3U6sMpeKWKnHT2eFgqlasPXgrgUoqpTpyPDjYM8GAjoBgGImKfPR7K46fw4/5pNM+1hawZoEtIPjmY5oehTo+0d4sLmUHNHd+Q= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.52 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) by mx.zohomail.com with SMTPS id 1613330457167476.3337469555295; Sun, 14 Feb 2021 11:20:57 -0800 (PST) Received: by mail-wm1-f52.google.com with SMTP id l17so4322400wmq.2 for ; Sun, 14 Feb 2021 11:20:56 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id w3sm9097130wrr.62.2021.02.14.10.01.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 10:01:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=0AWEhq001McQAH/89WIBVS1NfSah7AxRRJlHmFbgoT8=; b=PRa62vJbssrp3t/XYnAjmm+m9WM+b/JWW5S5ciaRMs4Vw5VI4I/eM/eHRBLXpOR4fa bVsmEbN8SxMqnKv2zLAPYqYffDhD14zaoYCbCaxtVsGHuneSsTYgDMuFzlu6dCfred42 /SCIFc+MCXgH50tbQ3cXlCaunVjeuVYj4l2eGpGzKVDjDwlVQzbh/VosfYDrpAs17mgz BD2uY0UlpeOOB04EKC3Ev5pGNizPv0W+YOP8Kk/jAvrJAf/g6eUa5HOrEJ3kToYEKDjw AAA5D/F+Y36Y/X4+XDfv6UqNbpSwQPLM8wvPrvIHiitkyigqi1BXNfuImJnIGDFq8Rvh dZDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=0AWEhq001McQAH/89WIBVS1NfSah7AxRRJlHmFbgoT8=; b=s8RGign7Ix7YidYEJgP6HcZE4suwKvbZAGl4kOxKQHuyfetNWLomL1ZuOQZkCbyWiw pY0Zp1WJm2QION6aPd9Fi3op0jXDNf80jzS2cJWxrhXkdRo7D+ME8JqALT057P494+93 jF2AXRvnzUOzOmCGZCjwRuqnZR4RBEp8Stn1Ec2SH628WTLHJtnpXQy3wepfTn4NLlQA FRm6/+17zg53XOa/Yk8db93sGr4KbJbU/y+p8JDzXxrsQh4ORQuUgsp9tnVV8C6qFoL/ T3cCQHl/4lD5RDnlsSkaSlKSn+gjRlp1rW85h5dGxrSctMlBHzWg7qEiqbkhOcdfaYff Hsug== X-Gm-Message-State: AOAM5311LV/MiBA/an8JfcncEUvv+VkF8O3LOMRlXPFURisjSdpKO2Em RDFvz0TG2pJoUTtt9Ccz8gSWDgYlvbc= X-Google-Smtp-Source: ABdhPJxW1jlZvwa9CaxhVXwWI/9uEiydyU2itHORIgIsLFlWGYPim7sMBRr84NJPF32hf0Y81lrtPw== X-Received: by 2002:a05:600c:4fcb:: with SMTP id o11mr10893805wmq.88.1613325715239; Sun, 14 Feb 2021 10:01:55 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo , Fam Zheng , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [RFC PATCH 32/42] docker: Add gentoo-mipsr5900el-cross image Date: Sun, 14 Feb 2021 18:59:02 +0100 Message-Id: <20210214175912.732946-33-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Add a Docker image providing cross toolchain for the MIPS R5900 CPU (used on the Sony PS2). This image is based on Gentoo and the toolchain is built using crossdev. Recipe from: https://lists.gnu.org/archive/html/qemu-devel/2018-09/msg03944.html Suggested-by: Fredrik Noring Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- tests/docker/Makefile.include | 3 ++ .../gentoo-mipsr5900el-cross.docker | 35 +++++++++++++++++++ .../crossdev.conf | 5 +++ 3 files changed, 43 insertions(+) create mode 100644 tests/docker/dockerfiles/gentoo-mipsr5900el-cross.docker create mode 100644 tests/docker/dockerfiles/gentoo-mipsr5900el-cross.docke= r.d/crossdev.conf diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include index 93b29ad823e..3d6306c7728 100644 --- a/tests/docker/Makefile.include +++ b/tests/docker/Makefile.include @@ -146,6 +146,9 @@ docker-image-debian-riscv64-cross: docker-image-debian10 docker-image-debian-s390x-cross: docker-image-debian10 docker-image-debian-sh4-cross: docker-image-debian10 docker-image-debian-sparc64-cross: docker-image-debian10 +docker-image-gentoo-mipsr5900el-cross: EXTRA_FILES:=3D$(addprefix \ + $(SRC_PATH)/tests/docker/dockerfiles/gentoo-mipsr5900el-cross.docker.d/= ,\ + crossdev.conf) =20 docker-image-travis: NOUSER=3D1 =20 diff --git a/tests/docker/dockerfiles/gentoo-mipsr5900el-cross.docker b/tes= ts/docker/dockerfiles/gentoo-mipsr5900el-cross.docker new file mode 100644 index 00000000000..88ada20623d --- /dev/null +++ b/tests/docker/dockerfiles/gentoo-mipsr5900el-cross.docker @@ -0,0 +1,35 @@ +# +# Docker mipsel (r5900) cross-compiler target +# +# Using multi-stage builds, this image requires docker-17.05.0 or later. +# (See: https://github.com/gentoo/gentoo-docker-images) +# +# SPDX-License-Identifier: GPL-2.0-or-later + +# name the portage image +FROM gentoo/portage:20201121 as portage + +# image is based on stage3-amd64 +FROM gentoo/stage3:latest + +# copy the entire portage volume in +COPY --from=3Dportage /var/db/repos/gentoo /var/db/repos/gentoo + +MAINTAINER Philippe Mathieu-Daud=C3=A9 + +# set CROSSDEV_OVERLAY to /usr/local/portage-crossdev +RUN mkdir -p /usr/local/portage-crossdev/{profiles,metadata} && \ + echo 'crossdev' > /usr/local/portage-crossdev/profiles/repo_name && \ + echo 'masters =3D gentoo' > /usr/local/portage-crossdev/metadata/layou= t.conf && \ + chown -R portage:portage /usr/local/portage-crossdev && \ + mkdir -p /etc/portage/repos.conf +ADD crossdev.conf /etc/portage/repos.conf/crossdev.conf + +RUN emerge -qv \ + dev-vcs/git ">=3Ddev-libs/glib-2.0" \ + sys-devel/crossdev \ + sys-libs/zlib dev-lang/python + +RUN crossdev -s4 -t mipsr5900el-unknown-linux-gnu + +ENV QEMU_CONFIGURE_OPTS --cross-prefix=3Dmipsr5900el-unknown-linux-gnu- diff --git a/tests/docker/dockerfiles/gentoo-mipsr5900el-cross.docker.d/cro= ssdev.conf b/tests/docker/dockerfiles/gentoo-mipsr5900el-cross.docker.d/cro= ssdev.conf new file mode 100644 index 00000000000..b8fa368c1c3 --- /dev/null +++ b/tests/docker/dockerfiles/gentoo-mipsr5900el-cross.docker.d/crossdev.c= onf @@ -0,0 +1,5 @@ +[crossdev] +location =3D /usr/local/portage-crossdev +priority =3D 10 +masters =3D gentoo +auto-sync =3D no --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.167.49 as permitted sender) client-ip=209.85.167.49; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-lf1-f49.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.167.49 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613326328; cv=none; d=zohomail.com; s=zohoarc; b=mbPsupoWR0Ml5F6i3A577C5YAYsxGjqv7y8IDLsRA/HIYng6hZEsIxLMNbcweJxSebJZ5fuk6X5+ySNREMzgg1zoQ7f7x2+ad2Sj8tOfb0Tr0iCFo2IFcrtG5lw9GzmuJ0sRUBOyWnZ2QaDCcKAs8QDZE6A+3vPAIn3lZaFRw+c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613326328; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=mkWyAtTNih1SiLyNenBvY33a3fDFwrFdz2sJ8roLmlQ=; b=NX4GUd3FjclD9EOqXhyCTHFHTwJAmoTWjxO+MchnPO7Tuv2hbqqYvtvcI1OUsWOgzd/7EMbGmIzwk39dsJ9qCeJ5zBmuNy7pMubk3qP1bJLTXmp65O1a1ept6TXRw5Jhw1pK4fRdbmaQfo9U1l/OfBRhE0xFhwOc+SvLJf5Salc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.167.49 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-lf1-f49.google.com (mail-lf1-f49.google.com [209.85.167.49]) by mx.zohomail.com with SMTPS id 1613326328704870.9975731719601; Sun, 14 Feb 2021 10:12:08 -0800 (PST) Received: by mail-lf1-f49.google.com with SMTP id h26so6970654lfm.1 for ; Sun, 14 Feb 2021 10:12:07 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id l2sm21551953wmf.15.2021.02.14.10.01.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 10:01:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=mkWyAtTNih1SiLyNenBvY33a3fDFwrFdz2sJ8roLmlQ=; b=ld/Qv1fTQ8DagOv3MRhc+TdISAknasL8/TDDYKNbawhinUXIFhsz9/DBOiNxTVKBl3 tsES6NQaEH/zl3vmsOTh5wNNt2QoQuTJPGSGBiQFDuViNLBos238L0uddl9iYbPmXczX MgbHOEGh+HYRC6ejS/mhHW6/+tNu/1I+3GhOzdm9eizvRvGTjAfv+S66Wgln0RD4CJ0C l0I4wDkp1GMap8A8OBUgErqC+vFGE2znxlKfgO1XvqrLFCzBOTtv/d5WUwb1KYyxL+Bg tk/CKs1b7v6S5B92YhyT8dh3kTyx00O2Uz13dHzh/eOmgaUNk86VhYJ9CEf8zmX/wRcw Xd9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=mkWyAtTNih1SiLyNenBvY33a3fDFwrFdz2sJ8roLmlQ=; b=riMlc8vv4HfrYwnHWgEVVWn5H038CIf/c0cgUTZNzZ1JRDXnehcw6D5bM+3ZrO7qv7 Vc+MIeVRblLZWrps/gudlLa7S+vw7LTv+bTJpshajXGzpMqZPUDRanqbBdtCdgd8ONGw CCgrw5h3jtcda7HUukvSmXn3+6J+N0szjxbLOVh/7Vh3762GUc3Gu7bjlgUhBMEL9ZlZ wQSvjV3HotVnWkYNGY2UncJzQXmm8CVXwRUbG0SMGVqbETHSqGikLuyKjVY8us8LtAQb Go+v77HdYNibGGYU0iNmqSpx5PlB+4f0LgdvMn5yaLhOKV0tprm1EjbhIifMR0KjXS5o fxQw== X-Gm-Message-State: AOAM533SUgKM7NTflMrCxMT/OHq0rljagu7xfakA6H3ernJ+ScW4SNea Ret2Hyq7TXK86vv5xC9XagZpWy6OLIc= X-Google-Smtp-Source: ABdhPJyvfLPXKLBWmqD8mDDh/vxhoPLrVDdV1KxWa0ZGoCVR7YHQxortDd9p9RWEiRZ9+wBd9LfBhQ== X-Received: by 2002:adf:f206:: with SMTP id p6mr13576873wro.337.1613325720028; Sun, 14 Feb 2021 10:02:00 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo Subject: [RFC PATCH 33/42] gitlab-ci: Pass optional EXTRA_FILES when building docker images Date: Sun, 14 Feb 2021 18:59:03 +0100 Message-Id: <20210214175912.732946-34-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Pass EXTRA_FILES to tests/docker/docker.py to use its --extra-files command line option. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- .gitlab-ci.d/containers.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml index 90fac85ce46..587bd4ba2e3 100644 --- a/.gitlab-ci.d/containers.yml +++ b/.gitlab-ci.d/containers.yml @@ -16,6 +16,7 @@ - ./tests/docker/docker.py --engine docker build -t "qemu/$NAME" -f "tests/docker/dockerfiles/$NAME.docker" -r $CI_REGISTRY_IMAGE + $(test -n "$EXTRA_FILES" && echo "--extra-files $EXTRA_FILES") - docker tag "qemu/$NAME" "$TAG" - docker push "$TAG" after_script: --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.42 as permitted sender) client-ip=209.85.221.42; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f42.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.42 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613325726; cv=none; d=zohomail.com; s=zohoarc; b=fkfOZ0THQpU4O3C77PPHbnvdC2ovqRyAGipi89FQbKcrL+xfftrOaK+wGeY9WU3kPNaD4WT/PE8HAryLRsoXZDd9a2p6mhwbeBHduxUJyf6SisvMSrHvuovrQOnaItxZPp+/eQMc6nnYoZz0p99RTBjDuoihI7aFUv1lbb66uFA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613325726; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Twme+gWXDR778jC4YebnrwyqPShuK2VSIsTo2Civx54=; b=YGmyn134VY1JIOkLvNSD7F23EIGWlt0gNuoucPIjXLlWeKmXegxvlHcJ+ygu2pLhAt1+mWJXOD7luk9NMXFFQs5eZOvIT5mBuv9hJkaGFgy+phKVs85TQ0G+NE2Whly0RpeadvjkEvrHaxYl9jvIvfM05aSWySgHmaQroRQTDug= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.42 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) by mx.zohomail.com with SMTPS id 1613325726393598.6306223522756; Sun, 14 Feb 2021 10:02:06 -0800 (PST) Received: by mail-wr1-f42.google.com with SMTP id b3so6110372wrj.5 for ; Sun, 14 Feb 2021 10:02:05 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id r124sm22218427wmr.16.2021.02.14.10.02.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 10:02:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Twme+gWXDR778jC4YebnrwyqPShuK2VSIsTo2Civx54=; b=VwmE/3r1M2iBkyrkmvuLhDibJN6OXHSVINP8i7r9044dgZHmXhQNj3f9wfPe+AWs7d RXoD2pRw5RTUn+INffLlrk42WGf3wcd/A+knkNVHsP4Kj6pLojzJ6o5ZLl6NRqoDMqHD rU74d/aUemUOUhXzQwtVf3xvD9SENZcOO/2h12CRYPdHq+rOc2aqkoRP+N1fh2aqEBd4 ECmeT4aKXXGZlFVwwb79pncqrDgdNEIE3whWyRT2XMV2IfYSRdXjXegQLdhiFqNEOfBD z+yk4a1qkIfJn/9DOIPEagXqc7/0J5Lr8t7/4AAijcW4h1atsb7Bdiu6MyUZk8Ldd2fH 7zxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=Twme+gWXDR778jC4YebnrwyqPShuK2VSIsTo2Civx54=; b=S46/gyXUvxEBRhx2Oe87zzXDqTKD7HdOOpX+8S6cG3z7Eb+7Rz8eKkh60vnV4kNtca O7b4W4nmJLdtYjUs0K4iZ84GucOXyj8ceI23DLZpo1NGubbA1cRsoQ2w1HqpzgiBCPfq xYxoeHja4+s1j4Y7h6I3jdkGxjDCQ0zZqnJ2v+DTwPPBZ15BRgDIhDw+TBAyFzYkDuog ttZjSB+l5cYqSvPoP192xcZlDvWr9xGClQVj4aFV/WobEr9RmdTUTXFKnGIEZnda8u0r XfqNhwNIvPkSnjI6Y07B+n2Gpptg7QHt87rM4LJ6KfZHuiHlYRCI4wzqHwQBnEK9eBoO YADw== X-Gm-Message-State: AOAM5337xyWYSl24vmfqvmt7InObSkqro8h2DfiY3OJ+cKOvsAMMfQcS Tu4zHfloDoJRPk0ojqbIF2k= X-Google-Smtp-Source: ABdhPJwrap/KMyoG7tgmtAtQVe2cC4NvXaIEDYyGbRp7pLiEY7sC5J9RuoVnCD3Tvstr9jpudWx9Gg== X-Received: by 2002:adf:e98d:: with SMTP id h13mr15198324wrm.246.1613325725056; Sun, 14 Feb 2021 10:02:05 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo Subject: [RFC PATCH 34/42] gitlab-ci: Build MIPS R5900 cross-toolchain (Gentoo based) Date: Sun, 14 Feb 2021 18:59:04 +0100 Message-Id: <20210214175912.732946-35-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Add a job to build the Gentoo based MIPS R5900 cross-toolchain image. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- .gitlab-ci.d/containers.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml index 587bd4ba2e3..f441e608446 100644 --- a/.gitlab-ci.d/containers.yml +++ b/.gitlab-ci.d/containers.yml @@ -152,6 +152,13 @@ mipsel-debian-cross-container: variables: NAME: debian-mipsel-cross =20 +mipsr5900el-gentoo-cross-container: + <<: *container_job_definition + variables: + NAME: gentoo-mipsr5900el-cross + EXTRA_FILES: tests/docker/dockerfiles/gentoo-mipsr5900el-cross.docker.= d/crossdev.conf + timeout: 1h 30m + powerpc-debian-cross-container: <<: *container_job_definition stage: containers-layer2 --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.218.54 as permitted sender) client-ip=209.85.218.54; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-ej1-f54.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.218.54 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613326357; cv=none; d=zohomail.com; s=zohoarc; b=jiIrbjqXWF6fMmJyNSLqk3xyiVqShiJ12XClVSgnwJmBolIOjfOMo0W5+IYWQaE04R1eai68OMCX5etVLGRFGfaS1bXykthQwi/vUmkyQBvzPHlxDIcBiepf8GhktanlJhSAYTmwNjw9kfRtUrvoxLIP9Ov6t/xTCfNFbgiMdrU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613326357; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=UDYGyb10B7bTg3SKlpM1Yb6/DaGZTJ05b5VgebX2EjE=; b=f7EVLfAKy1F6YgsU6NpmBzstVgfZJjdtkqi8ugs8PK1SQo/h+m35i6OvGae3JZcqpuGpjpV57cZdpUp3DSjsYeyyTy3LwJ3eZsBez7QdgdsFl8FHFUVnO62LDpBhCRHRiYebpXPDXc/8VmYUTWdXMDlqVlFNqVCBrbg3usDN0X0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.218.54 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-ej1-f54.google.com (mail-ej1-f54.google.com [209.85.218.54]) by mx.zohomail.com with SMTPS id 1613326357348634.259971568161; Sun, 14 Feb 2021 10:12:37 -0800 (PST) Received: by mail-ej1-f54.google.com with SMTP id n13so1109285ejx.12 for ; Sun, 14 Feb 2021 10:12:36 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id s14sm1972355wmj.23.2021.02.14.10.02.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 10:02:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=UDYGyb10B7bTg3SKlpM1Yb6/DaGZTJ05b5VgebX2EjE=; b=sySQiFU9wJDs3qW27aidVdde/yZIOxFLR0vgsC6CfafJpn3FYjMYSg+Fi/7HgjSuqw Tw1uIxUJ+s47saCTwZpi4NgASB1kvO0d5OU7njoMz/s+f2a20MVJ28smOyGoGZQDn5N4 Lg1jsB9hbd3i2i0Ec+FoLoAbEGjn7b8BDnSD7T9m3/HoRyW8Hy7tpXVYPjjqzXWXchEr k0NJ3nkYOwsgGqUYMsxxoQL1MCfqY2CnrknoMGeIa82TwMx41u9NJlNBVbxe3W+4REqE r0FFr61kIRjMkDvEH2aeGldbyX9yv+oqsjuUisKAqgW2L0JB18oOqEkZxx+3OJLZhk59 dLBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=UDYGyb10B7bTg3SKlpM1Yb6/DaGZTJ05b5VgebX2EjE=; b=Mth9DOI+o7nr3rchm6hLtbvqK5hQs9dlCD2kgLfJWvCks64JyiJlvgPaiDPe2QArzg CePl2gd6S08ymqvCob6obwmKV3AETNF5qcZx5Y/+3srN+cCi6gjmCuOW5R0K9i5kxaV+ D/+hfLcmzaWRTQ0edXLPRfJAu3s4R5aEcp3btZZRTtwoPrbuMfort6fWtpBGYmjIdte6 UtHyNGPXaWomBF+/pjGp1qPgTUaCw93vunbw/88/USjjdnDFq8L6y1QNIN05Sq225tFV 5ZioiweMn63GoSyaFwGanQs+I5YqsKIcZxtzxITdUmWr57UWc2aKGD20mwtO7y1R04/I hSEw== X-Gm-Message-State: AOAM532DpiJmxk1iPE4brzbbbcdMZv8UEEMMXg4bDAR7Lsf9ZQALHkQT 5rsUUSQOtC7PE3zNLWDLmVNfYa2+bQE= X-Google-Smtp-Source: ABdhPJwLnSi+M/p2dMnLjHgfbd8pf6kJDrmKWtotRdHD/DVKrb4Y9zq/3qFrNfedXPrNVnFFwPOdMQ== X-Received: by 2002:adf:82b3:: with SMTP id 48mr14549616wrc.22.1613325730024; Sun, 14 Feb 2021 10:02:10 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo Subject: [RFC PATCH 35/42] tests/tcg: Add MIPS R5900 to arches filter Date: Sun, 14 Feb 2021 18:59:05 +0100 Message-Id: <20210214175912.732946-36-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- tests/tcg/configure.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tests/tcg/configure.sh b/tests/tcg/configure.sh index e1b70e25f23..64796ee11fc 100755 --- a/tests/tcg/configure.sh +++ b/tests/tcg/configure.sh @@ -57,6 +57,8 @@ fi : $(cross_cc_mips64=3D"mips64-linux-gnuabi64-gcc") : $(cross_cc_mipsel=3D"mipsel-linux-gnu-gcc") : $(cross_cc_mips=3D"mips-linux-gnu-gcc") +: $(cross_cc_r5900o32el=3D"mipsr5900el-unknown-linux-gnu-gcc") +: ${cross_cc_cflags_r5900o32el=3D"-mabi=3D32 -march=3Dr5900"} : ${cross_cc_ppc=3D"powerpc-linux-gnu-gcc"} : ${cross_cc_cflags_ppc=3D"-m32"} : ${cross_cc_ppc64=3D"powerpc64-linux-gnu-gcc"} @@ -79,7 +81,7 @@ for target in $target_list; do aarch64|aarch64_be) arches=3D"aarch64 arm" ;; - mips*) + mips*|r5900o32el*) arches=3Dmips ;; ppc*) @@ -150,6 +152,10 @@ for target in $target_list; do container_image=3Ddebian-mips-cross container_cross_cc=3Dmips-linux-gnu-gcc ;; + r5900o32el-*) + container_image=3Dgentoo-mipsr5900el-cross + container_cross_cc=3Dmipsr5900el-unknown-linux-gnu-gcc + ;; ppc-*|ppc64abi32-*) container_image=3Ddebian-powerpc-cross container_cross_cc=3Dpowerpc-linux-gnu-gcc --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.46 as permitted sender) client-ip=209.85.221.46; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f46.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.46 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613325736; cv=none; d=zohomail.com; s=zohoarc; b=YaRozKiBef+/Tq/nCmnt1Eh/QXf4byH7yK9XTRbSFtNyegUbmsAk/l+1DUuhPLyDqCcRsCWAShEvBxvxQJIGdZ/Cg2Abfd0JTuk4gWsiZ8p/uKBJtAu546Ux/NEs561h5siX6mw+70PiImkK3y+jcQ3oI1H4ndMRA1DHH4uqna0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613325736; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=2vMyIhd6/VBZs5ihm1NaO9PG2ec31gzKDVWlQG7z8HU=; b=N0RoBwebMNKtr6tbctw0jJkXFJTiznFDzvYPLzzm/SF8II1xjhw5HFClW4GHb3GJzKa9X//uP6MQGYEs3a2fk5O6jX272LzdmFFvlg3e355n/RVzkscabAA0uF/BYIoUGDKyvF+IQkIdYx/DuPnJnBa6WIuB5+b2c1/sbs8V6X4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.46 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) by mx.zohomail.com with SMTPS id 1613325736372943.0137031156336; Sun, 14 Feb 2021 10:02:16 -0800 (PST) Received: by mail-wr1-f46.google.com with SMTP id t15so6053098wrx.13 for ; Sun, 14 Feb 2021 10:02:15 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id k11sm20150228wrl.84.2021.02.14.10.02.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 10:02:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=2vMyIhd6/VBZs5ihm1NaO9PG2ec31gzKDVWlQG7z8HU=; b=r3R1W83eptrSLJql6b+Bx6N2/n4fwaszbEkWzmiumAKJfaiiArM6KbU2Ai9TUUdn9b +49A3iJqqPb98lNeOKnNymwteN6hd/cxbu1mISpOJZ9MBevZcCCe9AgEaTotSpR52jIy xwfrUDrjV56F1s2uuvdqPIYktjZGs/srDKBrrqlVZv96hlowDAJT6k1mASlNuxC0fuxS NRfUlYHoprWWZtqFLiUZuUacOYeSlBzD2I1wue0z26T/g/I4wdeDGPPpceecFMHaaYh/ Akj5licEsoMVpdTv5Rqugkz9bH94qpA63KS+xL6g20aZl8ey97L9EcUG9KfPS3C3zTdg mTlg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=2vMyIhd6/VBZs5ihm1NaO9PG2ec31gzKDVWlQG7z8HU=; b=TyfDLxfsY89p2RQhdIpo9Bx5BwLzRjvDLhJoi03ZKGIOw8ORZwwzd6c2hhDS6zv9H7 QtMwx/Kgczg4qHD4zd+I+J37/YDBwoWmUbcGpZT8hkktHYH/PMZAQcN7xFjMJjTXf5iR 04E/Blc86GTkIFUZJuU8SlmwMlDiPZnzkIaV/sFFjdAzTQaZIJ6y8ridmRHI15GZY1tU D21rnJxJV5GrPpZfIVb6i6qcURcwgDPPSv+pScNFN7xSAdA66AwPhS1eS+UDz+IxguPx Ijf1QZ0CLLJIU+8VKFcRCQUDT5cCgLLcElNTMwEAqRaBpLSvUp7Sr87gSqg1j3A9ThVS Lmjg== X-Gm-Message-State: AOAM533PT4ZL+j7hDeIDnSV/b6ylFmmjV2YyyzOdsHCzHe2ngCguGlRf vPlJS0c7tsEKht18jm9xa5+ruXk6SxA= X-Google-Smtp-Source: ABdhPJxKuWc+zHmYIJFlZbqSkrb38ulUg+e4f8WKu8hLaqGvaMun3AsWWCoBGCQqzu9R1zpvILkH+Q== X-Received: by 2002:a5d:6942:: with SMTP id r2mr9563940wrw.222.1613325735005; Sun, 14 Feb 2021 10:02:15 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo Subject: [RFC PATCH 36/42] tests/tcg/mips: Test user mode DMULT for the R5900 Date: Sun, 14 Feb 2021 18:59:06 +0100 Message-Id: <20210214175912.732946-37-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) From: Fredrik Noring The R5900 reports itself as MIPS III but does not implement DMULT. Verify that DMULT is emulated properly in user mode by multiplying two 64-bit numbers to produce a 128-bit number. Signed-off-by: Fredrik Noring Message-Id: Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- tests/tcg/mips/mipsn32r5900/dmult.c | 40 ++++++++++++++++++++++++++++ tests/tcg/mips/mipsn32r5900/Makefile | 25 +++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 tests/tcg/mips/mipsn32r5900/dmult.c create mode 100644 tests/tcg/mips/mipsn32r5900/Makefile diff --git a/tests/tcg/mips/mipsn32r5900/dmult.c b/tests/tcg/mips/mipsn32r5= 900/dmult.c new file mode 100644 index 00000000000..2827ab5358f --- /dev/null +++ b/tests/tcg/mips/mipsn32r5900/dmult.c @@ -0,0 +1,40 @@ +/* + * Test DMULT. + */ + +#include +#include +#include + +struct hi_lo { int64_t hi; uint64_t lo; }; + +static struct hi_lo dmult(int64_t rs, int64_t rt) +{ + int64_t hi; + uint64_t lo; + + /* + * The R5900 reports itself as MIPS III but does not implement DMULT. + * Verify that DMULT is emulated properly in user mode. + */ + __asm__ __volatile__ ( + " .set mips3\n" + " dmult %2, %3\n" + " mfhi %0\n" + " mflo %1\n" + : "=3Dr" (hi), "=3Dr" (lo) + : "r" (rs), "r" (rt)); + + return (struct hi_lo) { .hi =3D hi, .lo =3D lo }; +} + +int main() +{ + /* Verify that multiplying two 64-bit numbers yields a 128-bit number.= */ + struct hi_lo r =3D dmult(2760727302517, 5665449960167); + + assert(r.hi =3D=3D 847887); + assert(r.lo =3D=3D 7893651516417804947); + + return 0; +} diff --git a/tests/tcg/mips/mipsn32r5900/Makefile b/tests/tcg/mips/mipsn32r= 5900/Makefile new file mode 100644 index 00000000000..7dd16723fea --- /dev/null +++ b/tests/tcg/mips/mipsn32r5900/Makefile @@ -0,0 +1,25 @@ +-include ../../config-host.mak + +CROSS=3Dmips64r5900el-unknown-linux-gnu- + +SIM=3Dqemu-mipsn32el +SIM_FLAGS=3D-cpu R5900 + +CC =3D $(CROSS)gcc +CFLAGS =3D -Wall -mabi=3Dn32 -march=3Dr5900 -static + +TESTCASES =3D dmult.tst + +all: $(TESTCASES) + +%.tst: %.c + $(CC) $(CFLAGS) $< -o $@ + +check: $(TESTCASES) + @for case in $(TESTCASES); do \ + echo $(SIM) $(SIM_FLAGS) ./$$case;\ + $(SIM) $(SIM_FLAGS) ./$$case; \ + done + +clean: + $(RM) -rf $(TESTCASES) --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.49 as permitted sender) client-ip=209.85.221.49; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f49.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.49 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613325741; cv=none; d=zohomail.com; s=zohoarc; b=jUYXXdQAGgvr3KZ7rQb359GxeU3RoxqmKM/TxxevFgD0OY8SC8MQyDSzahfAe9vRmLLslay6vyFNl9ENaV2ms2c4ntiZOwO541Me62yLT2GOAuHOEqjpsDXrSc+6yNgIzmIc8x/sdayZndabtFTXK0Qq+FFat6wz28JTGUtOdHU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613325741; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=M+j+BVGySGAa3lvQGoFM7jpkYTYESTvRi/KTVNqdSs8=; b=gjFuJriFNoBQNVx9aCizX7hGzjhXfdoAsCq32UG72GE/hFraMWOFmbvpI7YekfMo39XtCIzbnG4BMa8pDZoBDgoGsJLYJW7MVJCn1HmX46KDZArsZTo2J2QKvAzCJg2oo3MEXhVYlfhUKCEq7XssG8gylJTi6HZA+6dgme/WtX8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.49 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49]) by mx.zohomail.com with SMTPS id 1613325741575331.4011597081694; Sun, 14 Feb 2021 10:02:21 -0800 (PST) Received: by mail-wr1-f49.google.com with SMTP id b3so6111297wrj.5 for ; Sun, 14 Feb 2021 10:02:21 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id q2sm14134539wrx.79.2021.02.14.10.02.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 10:02:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=M+j+BVGySGAa3lvQGoFM7jpkYTYESTvRi/KTVNqdSs8=; b=J5fOJ2isLg+gvT457xhylzISXF49EV+l532C7OC3MjEDrvQOedksYuNF5WWi7ITzxI MgIpkU+7dOdH7tpbtkmqZgydvvfYcgVIJVFfgI4gXG4qCkMBEpJTakGW4eMB0iAHXb/V WgMK5ZL5OUs83z6HIyQN5Tb0UHr9qdJNK9QQUNeLtFkU/ZaXaBCxshFJExsjDCC0lR7H 4LXiz3zCev/GKUNuAp0H56Wasg7+GLSOsTw/60zMdWa0AIVxQ65NrVFpy34MC6VY7Hvq up/5IJtW/lmvdQlhIk/i4uKMoRwi2MWe4SGgk0VBxoZ32NTdl5WSNbmCJrNtKiJSFSad 2SlA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=M+j+BVGySGAa3lvQGoFM7jpkYTYESTvRi/KTVNqdSs8=; b=AWLchuLMaFS9FDtFNoN/cRojgZBwxlw9ZNothDNbpvbU6HHN7RpbOx+sxAWVbeYkmC XoyDH0KHt+YLWKJ2IbYrcXTfuqcLa79lfQuNgItl048nx5ny50GP/kMn/U11nE3a9Mpr BmB75zqVj1ZEGSSU1a0blaEyuxkpmzBRd4dplelQzORGlwLprphKFgJm25WnaF0ergxF ef8lXhn7cd7+2Ft4+VwkKkmu3ByEhlaFpZ5ACrkWsxFZADkHEdX4QU9wqPijrseC1CLU 8wZzHWseH0i+SneQzQnHWs4ssLs5DtKSBAySKpDGxKxMRA/nu7lsJOECu3Une5YCdQOf /HDQ== X-Gm-Message-State: AOAM533OPlGfrNGnq3J2dzgQAEven0S2lTco4+fgnEOHKXBHfHyFuHlV NkOIS8Clp66zKOE/N+bQV0o= X-Google-Smtp-Source: ABdhPJzlVdQvKjhbrTIbHneJg48k1+M5mOvoZ3sm+zztUPtamwlKZLNT2I9iQAb4/kkdHXatN2I/wg== X-Received: by 2002:adf:e988:: with SMTP id h8mr13786390wrm.2.1613325740213; Sun, 14 Feb 2021 10:02:20 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Wainer dos Santos Moschetta Subject: [RFC PATCH 37/42] gitlab-ci: Add job to test the MIPS r5900o32el target Date: Sun, 14 Feb 2021 18:59:07 +0100 Message-Id: <20210214175912.732946-38-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Add a job to build the MIPS r5900o32el (linux-user) target and run the TCG tests. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- .gitlab-ci.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 28a83afb914..7d7559416e3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -622,6 +622,18 @@ build-without-default-features: --target-list-exclude=3Darm-softmmu,i386-softmmu,mipsel-softmmu,mi= ps64-softmmu,ppc-softmmu MAKE_CHECK_ARGS: check-unit =20 +build-r5900-user: + <<: *native_build_job_definition + variables: + IMAGE: fedora + CONFIGURE_ARGS: --disable-tools --disable-docs --disable-blobs --enabl= e-debug-tcg + TARGETS: r5900o32el-linux-user + MAKE_CHECK_ARGS: run-tcg-tests-r5900o32el-linux-user + artifacts: + expire_in: 2 days + paths: + - build + check-patch: stage: build image: $CI_REGISTRY_IMAGE/qemu/centos8:latest --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1613333321; cv=none; d=zohomail.com; s=zohoarc; b=OgKRbIkwbuGpEX3KpY2+pbdhgJAWQdeWGbuIQ2sb543Yy0BHkF0BqP/0ULQo1lrT/W4A8/kWeCmVY1F0fCnoaRv+xI2HdYLDHeRvDCTzqw+yL4gMS6ockuKIxaO4Jh7pRKS4MVNIGHQ9nPKM/4WzBjnMWqoFgWz0UiBstcl5DPU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613333321; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=tAIy7FUQhIbkzhnlwKrYWaoIdkoCcq/sJqrD/3OuL28=; b=LBPZzFuY+vfXAlM7h6PcUaitmsszqZR3IfnuV6wRLgGBMUN3B/PC6uUIxaVN18m1U/CMs177YZ0lR2dK2M3/U0bAvHnISc2SVZuEkXaC8zEqEifctyycje2MQ+f92UXySLZIYqehC0ETm6qWrYsvnvsxg2TRB1tKYGhEqBHqqr4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1613333321565793.0161994655773; Sun, 14 Feb 2021 12:08:41 -0800 (PST) Received: from localhost ([::1]:58692 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lBMCd-0000UI-GW for importer@patchew.org; Sun, 14 Feb 2021 13:33:03 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:34588) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lBLj2-0001Hw-EE for qemu-devel@nongnu.org; Sun, 14 Feb 2021 13:02:28 -0500 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]:37193) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lBLj0-0004hT-UU for qemu-devel@nongnu.org; Sun, 14 Feb 2021 13:02:28 -0500 Received: by mail-wm1-x32c.google.com with SMTP id m1so5842922wml.2 for ; Sun, 14 Feb 2021 10:02:26 -0800 (PST) Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id v11sm20863355wrr.3.2021.02.14.10.02.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 10:02:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=tAIy7FUQhIbkzhnlwKrYWaoIdkoCcq/sJqrD/3OuL28=; b=L7kU2i88pK4c1X1MYEzU2BgcBam0+Ky3HFvwlyl47piV557P6LyLhIN0RhcfCPrsVN zz2FqWSQhyfjx56vN0pzKgmez3hZdemnKo7J34quLLvH8GnUf7sYHlGNm2M1/u6qUoUk yvWEkuYKxb2yneZ3LSDby2AojTi1aDBV9f6VQK+A6WZ0ee7o3NOphe9L7ZxO/KuT5IgC WIXWiB42HAjyGMJ/VV+fdU7mvgU3ijIa3bTYxpOGfbs9lkmIjKhjtErgRqSzpEsl6oSr 92GdaeYOUsY1j4msrpGre8gz/sXj+L79lVSC6qWrNAwpwdZ3vTDiAUCCe7Hiiug40siy yghg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=tAIy7FUQhIbkzhnlwKrYWaoIdkoCcq/sJqrD/3OuL28=; b=Z9+f4XA9rRiD2aiEtPBxNk4+KKIloIbaYazKhRGr9STA9FlY2d4WgRYexW6hpn69Aj +lOwyAM9nZKAC+J9O4CTeUb3XEaHH5BKbo6tCtaqPwhJXFS4b1PtNta3rk/r85Uz5Kzl 0OLybhxrUHaH3M1QOgkkxDEi0b7n5jDy05fkqHeT602QOlFj3TFoLOZUYwRaCE/BPYqE CejjzxIO1vNwtXTP5VdtIf3f8eaUkOc9OfeH6ewsoGe7p0i2+eIJjwkacdPDjHNG5HI5 Te2l40IdCzmEhye7VQHOqt3YwmGkdpcRhOTzjppgSVRJMw8o4rcRnFJBUnwKDy16XUvT JazQ== X-Gm-Message-State: AOAM533OXqGZ3WeVwWulXVQVEKnnuy/1EOSVrM81igmSGd05UiPxVcT9 8LZsH3tj8VpcbV7glKPVrW67fVERkak= X-Google-Smtp-Source: ABdhPJwhDsBPJJSpjDEErKfL4N7mN8WOG2ORpQYzFWPtVwOowa3xwqF9LM0C6J27pI5wfsMV36v0AA== X-Received: by 2002:a1c:de08:: with SMTP id v8mr11126032wmg.143.1613325745249; Sun, 14 Feb 2021 10:02:25 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [RFC PATCH 38/42] tests/acceptance: Extract QemuBaseTest from Test Date: Sun, 14 Feb 2021 18:59:08 +0100 Message-Id: <20210214175912.732946-39-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32c; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-x32c.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: Fredrik Noring , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Richard Henderson , Laurent Vivier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Wainer dos Santos Moschetta , Cleber Rosa , Thomas Huth , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Aurelien Jarno , "Maciej W. Rozycki" Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) The Avocado Test::fetch_asset() is handy to download artifacts before running tests. The current class is named Test but only tests system emulation. As we want to test user emulation, refactor the common code as QemuBaseTest. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- tests/acceptance/avocado_qemu/__init__.py | 35 +++++++++++++---------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/tests/acceptance/avocado_qemu/__init__.py b/tests/acceptance/a= vocado_qemu/__init__.py index bf54e419da2..31b7064c0e5 100644 --- a/tests/acceptance/avocado_qemu/__init__.py +++ b/tests/acceptance/avocado_qemu/__init__.py @@ -145,7 +145,7 @@ def exec_command_and_wait_for_pattern(test, command, """ _console_interaction(test, success_message, failure_message, command += '\r') =20 -class Test(avocado.Test): +class QemuBaseTest(avocado.Test): def _get_unique_tag_val(self, tag_name): """ Gets a tag value, if unique for a key @@ -156,8 +156,6 @@ def _get_unique_tag_val(self, tag_name): return None =20 def setUp(self): - self._vms =3D {} - self.arch =3D self.params.get('arch', default=3Dself._get_unique_tag_val('ar= ch')) =20 @@ -170,6 +168,25 @@ def setUp(self): if self.qemu_bin is None: self.cancel("No QEMU binary defined or found in the build tree= ") =20 + + def fetch_asset(self, name, + asset_hash=3DNone, algorithm=3DNone, + locations=3DNone, expire=3DNone, + find_only=3DFalse, cancel_on_missing=3DTrue): + return super(QemuBaseTest, self).fetch_asset(name, + asset_hash=3Dasset_hash, + algorithm=3Dalgorithm, + locations=3Dlocations, + expire=3Dexpire, + find_only=3Dfind_only, + cancel_on_missing=3Dcancel_on_missing) + +# a.k.a. QemuSystemTest for system emulation... +class Test(QemuBaseTest): + def setUp(self): + self._vms =3D {} + super(Test, self).setUp() + def _new_vm(self, *args): self._sd =3D tempfile.TemporaryDirectory(prefix=3D"avo_qemu_sock_") vm =3D QEMUMachine(self.qemu_bin, sock_dir=3Dself._sd.name) @@ -194,15 +211,3 @@ def tearDown(self): for vm in self._vms.values(): vm.shutdown() self._sd =3D None - - def fetch_asset(self, name, - asset_hash=3DNone, algorithm=3DNone, - locations=3DNone, expire=3DNone, - find_only=3DFalse, cancel_on_missing=3DTrue): - return super(Test, self).fetch_asset(name, - asset_hash=3Dasset_hash, - algorithm=3Dalgorithm, - locations=3Dlocations, - expire=3Dexpire, - find_only=3Dfind_only, - cancel_on_missing=3Dcancel_on_missing) --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.48 as permitted sender) client-ip=209.85.221.48; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f48.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.48 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613325751; cv=none; d=zohomail.com; s=zohoarc; b=lL17dc0qbvsHWGkwxl5jthN6HOoaAl25gmCw9zEBrUWdzin3MHmPoc/mALLNZYauWt/xoNtcEaaQA1/kNjOXIic3shdx3tpsC0qLpDLVY/2ahtppIBowLm07VqtYVg2OrcraewYN8sLgvrnslsTCGG3U1it5JayjMTnC3cRUibE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613325751; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=xbl9/61wM37nBJWaz7/wAXPCJcp3ey0kqtBTl5rgBR4=; b=ZqAXOYZnyTil6ObPg3GdNqrkqU79QPV8Avfk22QYca0Nr7BtnQk+RXAADGA3akWgpjAN3MNPheOCcKjwRgJaYkFLqNwYNtse8aCK18etR7ncpy1dy+ks9Jnw765z3M3Cedsz/pvI2Gs3n4XEZs1BLUZ9zJFVhTUwQPMTxy2UXFo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.48 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.48]) by mx.zohomail.com with SMTPS id 1613325751641655.3712349416659; Sun, 14 Feb 2021 10:02:31 -0800 (PST) Received: by mail-wr1-f48.google.com with SMTP id l12so6152515wry.2 for ; Sun, 14 Feb 2021 10:02:31 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id u4sm19386083wrr.37.2021.02.14.10.02.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 10:02:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=xbl9/61wM37nBJWaz7/wAXPCJcp3ey0kqtBTl5rgBR4=; b=qGzTr9/PvCuaprwZhrz3F1W4/R4yIE/+GKJtiZD8Y0jeV5DjPHVdPLXMTusB/oiOfl q/FnShDy481dTAftmHSQq3xx9BCgdGge48Ox5TjC1e+1hWdpZaWqTrXCdx8DIrCMMTNG iohrcjua+bm7zkAYSiaBtKEoytBxfg42Ve7w9M+rU3y6XfS2IkIhtYAoupZZDQWK/NwZ +zmahm8vahEDZOGQnbqaKZMdCcEhAXqhBnnUq1JCSbp3mUAZhAViuNfLhY5HH17OvxzI eHn4U6qVvjmwXFQjdneRmmzyUZb5dEtp3PbBP+89AH1ksIMtmeFJ5vKojLnffRFLCaT/ PK+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=xbl9/61wM37nBJWaz7/wAXPCJcp3ey0kqtBTl5rgBR4=; b=W2YS8K4C3INaeOhT2+wJcDZ+sEde/1eJQ2svJaNqKoQaRT40gd+QqgDY0kEBTvmSRe DSHKhLS6FSPgcK5yWa0qEOyfcY9ixDio7K+6n6dYmGb+AIrnx1HH/Ybe9qgJ4p5ZjZQY qoTcLEQdlpFjN+30ffKdp+Oi885EHX0HVrokXPxKFn/xTVkDtg+BH8gMAIVVNM+Ay0JD hWGDzgtxZKCCQhxEK33/Ksw9c2KALc4K4TlQQLfWpIaysi/Cm1UvFF7Ibns081GN6s+A JH+zQXLwlzKP8toQtNsN6776aq3x0dsQ+RbJrB4rkMBQ77COFyAji+OZcPinHRPmx4O/ okaQ== X-Gm-Message-State: AOAM531jtYRu68PctrOD/MjpRy489d38NUWEgS68pmkivdE5nU0l7aEI NYBxwf7mcvq6i+FGvh5jXdE= X-Google-Smtp-Source: ABdhPJwXS2FCGdhgqLXj/yRSvfRTIPhHY70AMqN/giruUifvEZc58fbjyMGJzRAKJeK8aE3JwP2rTw== X-Received: by 2002:a05:6000:143:: with SMTP id r3mr14787333wrx.357.1613325750310; Sun, 14 Feb 2021 10:02:30 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo , Cleber Rosa , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Wainer dos Santos Moschetta Subject: [RFC PATCH 39/42] tests/acceptance: Make pick_default_qemu_bin() more generic Date: Sun, 14 Feb 2021 18:59:09 +0100 Message-Id: <20210214175912.732946-40-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Make pick_default_qemu_bin() generic to find qemu-system or qemu-user binaries. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- tests/acceptance/avocado_qemu/__init__.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/acceptance/avocado_qemu/__init__.py b/tests/acceptance/a= vocado_qemu/__init__.py index 31b7064c0e5..e0067abca61 100644 --- a/tests/acceptance/avocado_qemu/__init__.py +++ b/tests/acceptance/avocado_qemu/__init__.py @@ -38,7 +38,7 @@ def is_readable_executable_file(path): return os.path.isfile(path) and os.access(path, os.R_OK | os.X_OK) =20 =20 -def pick_default_qemu_bin(arch=3DNone): +def pick_default_qemu_bin(bin_fmt, arch=3DNone): """ Picks the path of a QEMU binary, starting either in the current working directory or in the source tree root directory. @@ -57,7 +57,7 @@ def pick_default_qemu_bin(arch=3DNone): # qemu binary path does not match arch for powerpc, handle it if 'ppc64le' in arch: arch =3D 'ppc64' - qemu_bin_relative_path =3D "./qemu-system-%s" % arch + qemu_bin_relative_path =3D os.path.join(".", bin_fmt % arch) if is_readable_executable_file(qemu_bin_relative_path): return qemu_bin_relative_path =20 @@ -155,14 +155,14 @@ def _get_unique_tag_val(self, tag_name): return vals.pop() return None =20 - def setUp(self): + def setUp(self, bin_fmt): self.arch =3D self.params.get('arch', default=3Dself._get_unique_tag_val('ar= ch')) =20 self.machine =3D self.params.get('machine', default=3Dself._get_unique_tag_val(= 'machine')) =20 - default_qemu_bin =3D pick_default_qemu_bin(arch=3Dself.arch) + default_qemu_bin =3D pick_default_qemu_bin(bin_fmt, arch=3Dself.ar= ch) self.qemu_bin =3D self.params.get('qemu_bin', default=3Ddefault_qemu_bin) if self.qemu_bin is None: @@ -185,7 +185,7 @@ def fetch_asset(self, name, class Test(QemuBaseTest): def setUp(self): self._vms =3D {} - super(Test, self).setUp() + super(Test, self).setUp("qemu-system-%s") =20 def _new_vm(self, *args): self._sd =3D tempfile.TemporaryDirectory(prefix=3D"avo_qemu_sock_") --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.52 as permitted sender) client-ip=209.85.128.52; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f52.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.52 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613325756; cv=none; d=zohomail.com; s=zohoarc; b=F/CTSfrwbRXUh4RVso7jhwfmU+vBS/feAXUUOl9mUYrY8r1ulHftYJLjX5oEFAz+NgrgdJgJzt1Md6jFQTG3EFzHqkVCTgAainiUqvk/9THUCkGo+6JVTy84ePTRqRWDVsN3D7GkmIH13Z+CTNv+awUylTjsCntExJ6A2Z8+eSI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613325756; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=+cZfbBSXi4Z9o9LLnkjECQmd20GFE8Z07Hn7lNqThho=; b=i+ipr6FbBQARFHmxyd/s40YL/4LMGWFk6jnvxkwy+sIQ7q0H/4omVnmBgj2HQFBLWAWLG77a0PjP+qEQMqMhW6D+ft0fAt3JEZ+OLY8j2MZQPh6VjckELvL7GKUyjmwltAj3fYFRHMEB0cm3XflqAQi39M/iNpknPKyPP4JCUNY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.52 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) by mx.zohomail.com with SMTPS id 1613325756593203.87282947778647; Sun, 14 Feb 2021 10:02:36 -0800 (PST) Received: by mail-wm1-f52.google.com with SMTP id n10so5845410wmq.0 for ; Sun, 14 Feb 2021 10:02:36 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id n186sm4728191wmn.22.2021.02.14.10.02.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 10:02:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=+cZfbBSXi4Z9o9LLnkjECQmd20GFE8Z07Hn7lNqThho=; b=KI59o3Gjm1IkC0lZcR7O24Aa/dmZfbhYzKvR02FUgoF67vhPjH42Sn5xnZxc28pLVn Ce5f/GyHBXRJMkt5QamBJQS4O4nhu5wOYFC/T0SHHJiyQmsI9CddizSz9mhuNjFqFu0d 78zOKxxLqDQhzSGLCcuS+RZPZsR0KL4SZdcC+E6J0O+gMH0HjOK2HAYssEauzNKWWKKd fn2g4oADG8fBxfFNFso2I++2hf/BIVH/33k11+zgbm2X6BXfdm4/9spZhJSurFH2wlAP Il5Cn+ice6jIN8tQR2wk65vWw142kNKS+SSWvT+o7PIypAMnhLRqDBWOHhUAhFknQgOI zVsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=+cZfbBSXi4Z9o9LLnkjECQmd20GFE8Z07Hn7lNqThho=; b=i8a52vXvAdR+6wg4euMnwOI8YsocjDjFmzWxrPxfuXiccAONSXTu6g5RG7AZIQWVyo n2+7zLjfLFwzX8NrD7O9xRb7fb4trXmfhpPBXMFr/BHhARhJ5+K8UvzhffCvW+9UGI/T l1eJb9mXgUUYZ48Lsbq9XLKwczQ5h8GY4Ney8yHGDKO78Kf0MBtWE8s1U0o0I9F4XoU9 SOaA9lGDHdRp4LzB7a7zxrvGHG0PsEKs4aDNT2Yfi1JS5Aj+mC9SyIduB/MxpOIhGAnJ b9DsstlZOei9Pu+z8Gv0HFyTWwpcq44StMxboqB1MHLVUKgRJs1of2aFNIZgnGBVQR8B fpUw== X-Gm-Message-State: AOAM5303o2mqy8rME7xpngkX9dmIMto2J+djHTJFtYK9azMQ5vWgfIdW 4Ky56ak9lZdB5VRcvCVTS+Q= X-Google-Smtp-Source: ABdhPJxYo+adgBsrVCRP0mlymx98Z/ToQ3zYqO/gpkNAvvyWXjSwucxpep3anJ38dLYbhFgN9Hh7Ng== X-Received: by 2002:a1c:3804:: with SMTP id f4mr8843697wma.115.1613325755252; Sun, 14 Feb 2021 10:02:35 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo , Cleber Rosa , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Wainer dos Santos Moschetta Subject: [RFC PATCH 40/42] tests/acceptance: Introduce QemuUserTest base class Date: Sun, 14 Feb 2021 18:59:10 +0100 Message-Id: <20210214175912.732946-41-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Similarly to the 'System' Test base class with methods for testing system emulation, the QemuUserTest class contains methods useful to test user-mode emulation. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- tests/acceptance/avocado_qemu/__init__.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tests/acceptance/avocado_qemu/__init__.py b/tests/acceptance/a= vocado_qemu/__init__.py index e0067abca61..a293d228140 100644 --- a/tests/acceptance/avocado_qemu/__init__.py +++ b/tests/acceptance/avocado_qemu/__init__.py @@ -15,6 +15,7 @@ import tempfile =20 import avocado +from avocado.utils import process =20 #: The QEMU build root directory. It may also be the source directory #: if building from the source dir, but it's safer to use BUILD_DIR for @@ -211,3 +212,17 @@ def tearDown(self): for vm in self._vms.values(): vm.shutdown() self._sd =3D None + +class QemuUserTest(QemuBaseTest): + def setUp(self): + self._ldpath =3D [] + super(QemuUserTest, self).setUp("qemu-%s") + + def add_ldpath(self, ldpath): + self._ldpath +=3D [os.path.abspath(ldpath)] + + def run(self, bin_path, args=3D[]): + qemu_args =3D " ".join(["-L %s" % ldpath for ldpath in self._ldpat= h]) + bin_args =3D " ".join(args) + return process.run("%s %s %s %s" % (self.qemu_bin, qemu_args, + bin_path, bin_args)) --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.208.173 as permitted sender) client-ip=209.85.208.173; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-lj1-f173.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.208.173 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613328226; cv=none; d=zohomail.com; s=zohoarc; b=DusLo+bdeokC6IbC4ElOtmwwN12bNuOLq/iZ6Q+b6EJidYA6P3KnO+C6zPz06ldUH3j1Lh5RdA3+2DiboUXCXIMulzn+UljHXI36sDUY/1QNJypHjJLfMCOCww9oYPsZNU7v0rAXwxJnVesAzGhVFi4aiqmTFAfaAsA8J8SWEnQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613328226; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=gZSzBZ5cwzLEMl1m4ueqOFOq71K8++arIDvi8B+RYEY=; b=Pl7KL6DTPv0Qm/dqnJVMEu2lvZmR66VEeGcMOzMbGz2TojxoMicXWByFDKoD/cVy6Zj++BViIpI2JRYo83j2yXZ+TNXzYlVaVz8DtkOFs1uq5BYbyuL68MYV4p1Hsj5cz66r2fqcLfStGBj/Ij2JxF6iBTL4JDAT+MNhs6cC8KI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.208.173 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-lj1-f173.google.com (mail-lj1-f173.google.com [209.85.208.173]) by mx.zohomail.com with SMTPS id 1613328226534150.43292373146016; Sun, 14 Feb 2021 10:43:46 -0800 (PST) Received: by mail-lj1-f173.google.com with SMTP id e17so5216423ljl.8 for ; Sun, 14 Feb 2021 10:43:43 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id x18sm8701695wrs.16.2021.02.14.10.02.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 10:02:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=gZSzBZ5cwzLEMl1m4ueqOFOq71K8++arIDvi8B+RYEY=; b=ZJmI9sTO3d9Js+k0LaDPnWAlUubc7e4so0JyvQgsOxqnyDlcm/O/BqNAdy5G3maddK d74hzd6EMrVyrClBRKwEjCgtQsFbNguvDoJqMZGgRYaedWzrGWpfioej3s1L7a1ZKOuX vp3E6HaIZTYkWyNvofEU8xxPnUpFb/5BsMCiBjCg91LzvD+CZWWQlyLzLGMOmo2J/Kgj PnGN07o/uUjq0qAblADcwrg4PF3i1SBlqxXFKB7q/14WSpoyjUtquqYhtG/aK/WhaaxM EB5xuvzDeWNb1GGLXI0+vWOGxiv2Qo2l5ET2XH66JGuVAXfKy9xfCbUDkA5Ee7dIGzit PjeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=gZSzBZ5cwzLEMl1m4ueqOFOq71K8++arIDvi8B+RYEY=; b=aeaZenwMePh4YsXAfOGQ6Lv8TeNrDc06+a9XwDzdQKb8tSf9o8U8bSZST2dbSZugxb 7iSKqjPf9jTLKvIBpFuhLrmARYzjksTE3ypHhNMlmtGqHy62KJucQLX0nir2DywRG3TI V+/Hmi/06kjTztpqxgwuXCRL0dK/n9wPRYu41gZ8lM2pQJEFFgxfRfmu+ITGTXaKRz1E IqSfp+/BLVqwUkKMtinGrQMa7tqq7es9Gn4c5uDL0T9TAPjNEKy17ZSp8TdrhW/VwXNA kiKoGXtjocOo/rdcvS/5zXmF+170P+YqOqoApdkVorb6HexDtzAHpKm9RbO5TsJsnzd+ y5Gw== X-Gm-Message-State: AOAM530uUR9aBjqstQuS1WyJKvpujBswmBYcP+CyYRVqpEMf4TgWUuFB Gw/6Kv0PGULs6EDgEqgxuH/VOa9464s= X-Google-Smtp-Source: ABdhPJxGGozT7vVqFV87EM4Q6sd89GQ48EFSrEmraPjq4VV4K0SdCNJoTC2ZI1/Hj7qd9j+GycaIfA== X-Received: by 2002:a5d:5910:: with SMTP id v16mr4258464wrd.304.1613325760376; Sun, 14 Feb 2021 10:02:40 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo , Cleber Rosa , Wainer dos Santos Moschetta Subject: [RFC PATCH 41/42] tests/acceptance: Test R5900 CPU with BusyBox from Sony PS2 Date: Sun, 14 Feb 2021 18:59:11 +0100 Message-Id: <20210214175912.732946-42-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Test BusyBox on the R5900 CPU with 2 different binaries: - o32 32-bit (statically linked) - o32 64-bit (dynamically linked, uses multimedia instructions) Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- MAINTAINERS | 1 + tests/acceptance/mips_r5900_ps2.py | 69 ++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 tests/acceptance/mips_r5900_ps2.py diff --git a/MAINTAINERS b/MAINTAINERS index de5fe1c65f5..1a23f471b0e 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -242,6 +242,7 @@ F: include/hw/mips/ F: include/hw/misc/mips_* F: include/hw/timer/mips_gictimer.h F: tests/tcg/mips/ +F: tests/acceptance/mips_r5900_ps2.py K: ^Subject:.*(?i)mips =20 MIPS TCG CPUs (nanoMIPS ISA) diff --git a/tests/acceptance/mips_r5900_ps2.py b/tests/acceptance/mips_r59= 00_ps2.py new file mode 100644 index 00000000000..ff73f994e59 --- /dev/null +++ b/tests/acceptance/mips_r5900_ps2.py @@ -0,0 +1,69 @@ +# Test the MIPS R5900 CPU +# +# Copyright (C) 2021 Philippe Mathieu-Daud=C3=A9 +# +# SPDX-License-Identifier: GPL-2.0-or-later + +import os +import lzma +import shutil + +from avocado import skipUnless + +from avocado.utils import archive +from avocado_qemu import QemuUserTest + +class R5900(QemuUserTest): + + @skipUnless(os.getenv('AVOCADO_ALLOW_UNTRUSTED_CODE'), 'untrusted code= ') + def test_gentoo_busybox_32bit(self): + """ + :avocado: tags=3Darch:r5900o32el + :avocado: tags=3Dlinux_user + :avocado: tags=3Dquick + """ + busybox_url =3D ('https://raw.githubusercontent.com/philmd' + '/qemu-testing-blob/bf6a300cf0bc56e4a2c5b' + '/mips/ps2/busybox-gentoo-v1.32.0.xz') + busybox_hash =3D 'd2a0abc2c7c3adb6b2fdd63356be78bc5e99f324' + busybox_path_xz =3D self.fetch_asset(busybox_url, asset_hash=3Dbus= ybox_hash) + + busybox_path =3D os.path.join(self.workdir, "busybox") + with lzma.open(busybox_path_xz, 'rb') as f_in: + with open(busybox_path, 'wb') as f_out: + shutil.copyfileobj(f_in, f_out) + os.chmod(busybox_path, 0o755) + + res =3D self.run(busybox_path) + ver =3D 'BusyBox v1.32.0 (2021-02-09 15:13:23 -00) multi-call bina= ry' + self.assertIn(ver, res.stdout_text) + + res =3D self.run(busybox_path, ['uname', '-a']) + unm =3D 'mips64 mips64 mips64 GNU/Linux' + self.assertIn(unm, res.stdout_text) + + @skipUnless(os.getenv('AVOCADO_ALLOW_UNTRUSTED_CODE'), 'untrusted code= ') + def test_ps2_busybox_64bit(self): + """ + :avocado: tags=3Darch:r5900o32el + :avocado: tags=3Dlinux_user + :avocado: tags=3Dquick + """ + rootfs_url =3D ('https://raw.githubusercontent.com/philmd' + '/qemu-testing-blob/bf6a300cf0bc56e4a2c5b/mips' + '/ps2/ps2linux_live_v5_pal_netsurf_usb_busybox.tar.= gz') + rootfs_hash =3D '9aa8fdd974cd3332c7167bceb6dd7137853d3a10' + rootfs_path_tgz =3D self.fetch_asset(rootfs_url, asset_hash=3Droot= fs_hash) + + archive.extract(rootfs_path_tgz, self.workdir) + busybox_path =3D self.workdir + "/bin/busybox" + + self.add_ldpath(self.workdir) + + res =3D self.run(busybox_path) + ver =3D 'BusyBox v0.60.5 (2010.06.06-16:16+0000) multi-call binary' + self.assertIn(ver, res.stderr_text) + + res =3D self.run(busybox_path, ['uname', '-a']) + unm =3D 'mips64 unknown' + self.assertIn(unm, res.stdout_text) --=20 2.26.2 From nobody Tue Nov 18 22:49:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.44 as permitted sender) client-ip=209.85.128.44; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f44.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.44 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1613326066; cv=none; d=zohomail.com; s=zohoarc; b=LpRW2+cyAYhDPcslZ5V3EbX5+VVg0sqi4/F8v1TKLns0ipCGgVbbvpUPCoRQrkBq5J40A0qh6Mzbf92L30VoLOizijr7V0xi+piAGoFyU/CWOjtbzXu+2cNjYoneASNNuc3u+Bl0yThT3nqB9+F58GU91qqD395m70CwNw+5SwY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613326066; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=nxDyeAiOtIOg4Km2cDeEloX2dq5583+sbAG5kYYYpp4=; b=S978dg5yL+5ygNK2K3wrjBudhpBp3HPLfCuqpiapglGw7f5XxbrWaQN7VGqkZt2FV1SByx3aUvrYS/iLxVJcDt8ZSpHSi4Cyl7ahX63WGxKsm7gHglfHGyxLeqhsRjVXu5opUHt1q1cYmw3x0VTqccDH/VPC1gsOuoFwFzu6WJM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.44 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) by mx.zohomail.com with SMTPS id 1613326066747921.8416089440852; Sun, 14 Feb 2021 10:07:46 -0800 (PST) Received: by mail-wm1-f44.google.com with SMTP id o24so5810440wmh.5 for ; Sun, 14 Feb 2021 10:07:46 -0800 (PST) Return-Path: Return-Path: Received: from localhost.localdomain (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id y15sm20280181wrm.93.2021.02.14.10.02.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Feb 2021 10:02:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=nxDyeAiOtIOg4Km2cDeEloX2dq5583+sbAG5kYYYpp4=; b=TTE9v9cheqbi2RayUNZBxdQ2jER0Al+UnOiCj1qBGiJ9Nov59nxUfCE0FSBi+nUXST 5HVuYTvGuxVq05WUh6xRNGMjvEN+Ixp7Cb8BxbfZ+N3P06qHU9Q5AAFlrxHN3a4Ai+hC aLSPo/hlLyi7ajF+RYMT2WIr+ydEmJxWTP10KeD59qQw8A+sDKXpYKPFg5DsXsW6E0Un LVUiqUojizOVzhRYSU0SUKJGvi5bp3HbD0mu05mQgHzdVaM4UHNmI2zuR6IwvXjPWCLa o5VIJAJkclVChLiDYFH+NqXSYpMowvv4ThCLqf/yCu78J75jcNNzQqexUSSQIofMjkNF 2M+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=nxDyeAiOtIOg4Km2cDeEloX2dq5583+sbAG5kYYYpp4=; b=uobor3dgz536ZYzKyuJGKNJPPde+VKldh41qnolI1dmzCcrC5//xQ9W6/l5Uc+0eUQ nnLuwuKOXO833VffjrHF4Nt8TtXcdjbNkaBon5zte1HNGJInai2NKHx6jl5m6d4HqAYo gCzCElvqKjBs7wyZK2rJN5Oc6ZF8s7fCok0BaXCX00OvmJLvZep2BOV49lRWvgfSNfvh EXjkdtLPmx9s+PF0IR12tWqXkjLslaYYS5t0LQ90+FjJleHGNrIyg2Jl214nQsXFPymm tdaFY069bMbjlkxlamYF0kcLu88MWf5XkDtLYatEOuwtLscmFWlk9E5FhVrtzhOJfXdL eolw== X-Gm-Message-State: AOAM533tlIFW/CDEtENxfJygEXXuh5KbK+xXV08x5yNby9+2ZwChVezE v0rCQKwPs5Z6PV37tbBVokU= X-Google-Smtp-Source: ABdhPJxUclavaG0LtBxINpiDTHxYhynxi+8BK1s32M1v1VN8vz2FcRjWhZiY0rwM+HFp7p9CgdmTRg== X-Received: by 2002:a7b:c442:: with SMTP id l2mr11012859wmi.69.1613325765349; Sun, 14 Feb 2021 10:02:45 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Fredrik Noring , Laurent Vivier , Jiaxun Yang , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Maciej W. Rozycki" , Thomas Huth , Aurelien Jarno , Richard Henderson , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Wainer dos Santos Moschetta Subject: [RFC PATCH 42/42] gitlab-ci: Add job to run integration tests for the r5900o32el target Date: Sun, 14 Feb 2021 18:59:12 +0100 Message-Id: <20210214175912.732946-43-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210214175912.732946-1-f4bug@amsat.org> References: <20210214175912.732946-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Run some integration tests for the r5900o32el-linux-user target. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- .gitlab-ci.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7d7559416e3..ba2c9ac0b4d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -634,6 +634,16 @@ build-r5900-user: paths: - build =20 +acceptance-r5900-user: + <<: *native_test_job_definition + needs: + - job: build-r5900-user + artifacts: true + variables: + IMAGE: fedora + MAKE_CHECK_ARGS: check-acceptance + <<: *acceptance_definition + check-patch: stage: build image: $CI_REGISTRY_IMAGE/qemu/centos8:latest --=20 2.26.2