From nobody Fri Nov 14 17:01:17 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1760718796; cv=none; d=zohomail.com; s=zohoarc; b=i2rEXZJmeTCBNZWxkVOvZKI7nZBNxokRQZiZYKZjC824nRqYYOv6VPOjiIqi4it21c6UogiSxr47ZWXQo1sTJwSpisisZkqOQq2e+mMNGj64FmFvVM9O+sR2HjrV+VtWp6rTMtavzyImb0212Nmh1UqEWYjqS7zkzkvDg5JWs/Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760718796; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=llxq6qfqlHF5luVrkm+L5VreeqcrRVzoabCRD01R3N4=; b=DgGDznMbJ08K2ho5ClktIKbulugGHLib3O32mADVPC9IlDRsrUyR4f5soKOP06mapQCZ3Kr4NqbAw6rKExDpUPbORH4Bf5RtPIUumoQy22guCTFx1pi6XmDMfIkpgRTRfVKmszWhjy6zuisrcb4DpWqWFA+209cZEtZahoDXP40= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1760718796683418.91019384406013; Fri, 17 Oct 2025 09:33:16 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v9nNN-0004oO-Vx; Fri, 17 Oct 2025 12:32:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v9nNJ-0004m6-HJ for qemu-devel@nongnu.org; Fri, 17 Oct 2025 12:32:17 -0400 Received: from mail-pl1-x62c.google.com ([2607:f8b0:4864:20::62c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1v9nNF-0001Be-QZ for qemu-devel@nongnu.org; Fri, 17 Oct 2025 12:32:17 -0400 Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-290d14e5c9aso13851175ad.3 for ; Fri, 17 Oct 2025 09:32:11 -0700 (PDT) Received: from stoup.. ([71.212.157.132]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-29099a7d1bbsm68667715ad.65.2025.10.17.09.32.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 09:32:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1760718729; x=1761323529; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=llxq6qfqlHF5luVrkm+L5VreeqcrRVzoabCRD01R3N4=; b=EDzwvSJQGeygXbAA+K2hXaWqvnXVb9D7eKv2w9bmsCQusoxJPSyT7QbxYyiGhQO1Hq 4LBKUulCFTZUvWoC7jFReEQIvECB4KFqsmq+bm8R0WabixdFH0XoiCNUqlfiUpHmsIws y5dP30i1A97S46VH3DhUQ0aiMPXrcSMpjtlR9z500SSMWFoI2kSTsBKl63c5svxpgBxq 1WeRrrhoIXEt23H48hCE9NX+ofNghSu3Q5aHASMxkCsvStSxA6jaxkUTEuP0/4FLM2sy EKBNxHnPg0SdXAfcvocbu6ckPGKagEf15R1cOU/wA9BOjxw2xotki+xjp7NgYCMVmZ3t NKmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760718729; x=1761323529; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=llxq6qfqlHF5luVrkm+L5VreeqcrRVzoabCRD01R3N4=; b=uTZ2ixKLmDvHIChvIa7Y2ToazH2yH5FOgcQprOUg2xSgvifdCRFlOhItkOh7uMmFTC /CLobSYTzD7uCZBS9NGQKdFtdx5LjPNFHOisQKGZtmr1I1gidzFIDmK76UwapMHiyEU9 nYCTlk2uu7YHh7oZ8GPDKD9nJsRUmpF1QWqNG3j4GUDE0HzGHKJ4vq5+F2A3RRP3uhG4 lQ+iqxB0scwrU8VEk3OQtDL0WKYaHiu4YvjeL3HNKyooVLmKlu9v3F5ZX+AjuPZbaOk4 agRXKIhkwTakHS6yJTYyyM0hNoZhntKkddG8vAx3poNclJGDqY5Tmed6gm93K/Ps9iS7 JVbA== X-Gm-Message-State: AOJu0YycXjoQcLkMTJDRRk4wykxB4m3vT6ayV2WtzVU/PfALCn2IqNGE xN6MUIQIvk9WHa7Emi6o27p0FIKOS7ilHnwjLsQv8BD+2Lf81DyEDQm0weAe9lZxOqcOL5/lT17 +yDjzVIs= X-Gm-Gg: ASbGncuVzMMJElMmEn96dT096F0MSDtV0FzHn+f8O/Khca6nzCN2v7COwiQptBsV+Z9 elGN0PvT4tUNm8TGXs1UofHa9mUZ8leynCWDUvkuaaIU7WtPehVfnAaH+gvAtSgWEl4PQ6hi8pl vZn1lmUhCp8ZO2KSjYz3aJROzQpZIUsOUf1651NcLxu5qYmVEDrwGaOEsGFwZbWcBvdbZvQrOOd QQUipUxQFyf3KuRr5BBRNd++6zx62RRjhzhjlHUN/2Y2m/JhLnQRSqg64pbk7wXZmQfFDofNRFJ 5rVShHQKXSZjpOS+gmqdE5P/so/tuEy0wurOU+nldMgDq1MWmecZPfAyS0zJUYy2mHXG6gakenL 3sL5nHW+zyNzuvcRfKZ6qHG2FbTpgUynXDltHsFIN0rMESgr8ymkodHTq4Xx70qX3cJFbsRjKtJ CBqg6c2rfF9Z8gN93I X-Google-Smtp-Source: AGHT+IEddZ7IMALJHGmel1ZMGcv0lihxdp8yIcVy5jsxxbYPQjiyoAwnKRNE3YI9g/x/EGzD/mMM+w== X-Received: by 2002:a17:903:19e5:b0:265:89c:251b with SMTP id d9443c01a7336-290caf8519dmr51275065ad.29.1760718728603; Fri, 17 Oct 2025 09:32:08 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Thomas Huth Subject: [PATCH v3 1/9] gitlab: Stop cross-testing for 32-bit MIPS hosts Date: Fri, 17 Oct 2025 09:31:58 -0700 Message-ID: <20251017163206.344542-2-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251017163206.344542-1-richard.henderson@linaro.org> References: <20251017163206.344542-1-richard.henderson@linaro.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=2607:f8b0:4864:20::62c; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x62c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1760718799991154100 From: Philippe Mathieu-Daud=C3=A9 32-bit host support is deprecated since commit 6d701c9bac1 ("meson: Deprecate 32-bit host support"). Next commits will remove support for 32-bit MIPS hosts. Stop cross-building QEMU on our CI. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Thomas Huth Signed-off-by: Richard Henderson Message-ID: <20251009195210.33161-3-philmd@linaro.org> --- .gitlab-ci.d/container-cross.yml | 6 ------ .gitlab-ci.d/crossbuilds.yml | 14 -------------- 2 files changed, 20 deletions(-) diff --git a/.gitlab-ci.d/container-cross.yml b/.gitlab-ci.d/container-cros= s.yml index 8d3be53b75..0fd7341afa 100644 --- a/.gitlab-ci.d/container-cross.yml +++ b/.gitlab-ci.d/container-cross.yml @@ -52,12 +52,6 @@ mips64el-debian-cross-container: variables: NAME: debian-mips64el-cross =20 -mipsel-debian-cross-container: - extends: .container_job_template - stage: containers - variables: - NAME: debian-mipsel-cross - ppc64el-debian-cross-container: extends: .container_job_template stage: containers diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml index 8ff0c27f74..99dfa7eea6 100644 --- a/.gitlab-ci.d/crossbuilds.yml +++ b/.gitlab-ci.d/crossbuilds.yml @@ -68,20 +68,6 @@ cross-i686-tci: # would otherwise be using a parallelism of 9. MAKE_CHECK_ARGS: check check-tcg -j2 =20 -cross-mipsel-system: - extends: .cross_system_build_job - needs: - - job: mipsel-debian-cross-container - variables: - IMAGE: debian-mipsel-cross - -cross-mipsel-user: - extends: .cross_user_build_job - needs: - - job: mipsel-debian-cross-container - variables: - IMAGE: debian-mipsel-cross - cross-mips64el-system: extends: .cross_system_build_job needs: --=20 2.43.0 From nobody Fri Nov 14 17:01:17 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1760718844; cv=none; d=zohomail.com; s=zohoarc; b=Vn50vp3TstEYKOSBB0AM7+TMoypwKWnjHh9ywrSHvS+j/0WIEVj0dT1H25J9RB4aKyRA82EYzwlOh8ZKfOQWWMPmB4V2IT6y4ubbp/PJZbeJK36I/F6TH1WESBjp/s08E//lhtscbaGTR/42iy3nDNJDyevxL1jSjjwX5feuKAw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760718844; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=EAYhbIEVnqIpv3UM3lZTlnJP6T433ZQvfgE/KFwrBAE=; b=Jmr6ZXmbgWKOeJGfEHOKew00YFvsjEBPU5exPA0sUGO/NfvOoYdH4qPmbYQwsTgEqsjizEFGMy9EoHktxd6Ge9vQO/vtyQSAOxDE0UrIoXNxH/Qg2fdtC22eLCZljBYj3CrROKOOw2OQWqOXKTrdDu9emKw1itNChJCHYejB6Dg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1760718844765821.2331941622733; Fri, 17 Oct 2025 09:34:04 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v9nNM-0004mw-EC; Fri, 17 Oct 2025 12:32:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v9nNH-0004lj-H1 for qemu-devel@nongnu.org; Fri, 17 Oct 2025 12:32:15 -0400 Received: from mail-pl1-x631.google.com ([2607:f8b0:4864:20::631]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1v9nNF-0001Bg-4Q for qemu-devel@nongnu.org; Fri, 17 Oct 2025 12:32:15 -0400 Received: by mail-pl1-x631.google.com with SMTP id d9443c01a7336-279e2554c8fso20774585ad.2 for ; Fri, 17 Oct 2025 09:32:11 -0700 (PDT) Received: from stoup.. ([71.212.157.132]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-29099a7d1bbsm68667715ad.65.2025.10.17.09.32.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 09:32:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1760718729; x=1761323529; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=EAYhbIEVnqIpv3UM3lZTlnJP6T433ZQvfgE/KFwrBAE=; b=NqXgEVL+KNzvxNFCX738fWd6Xr9OJvN7Qv3kN7SWMpv8qkngG1l16ga5iZNsXzFBoX wxOxjZ1HtxMTHUOenDp4nVlJpj+uX8syAS9gg1puzWibVoj/J3qYUBdUmXr/HORj93eG nWufDbYFRaAVR8Vgt94UgueisTB0Nk9CE00Jn9P9Buu10jpU8ZlaRasOG88Y000dnYdF deEv7V9Nlc6yXT4jLouHNaOvrFEyiFgY3Dzf+DgqFZrWMEZXSPC7Qfp3UUI2gG5ZypOr 6UfDRVHCNoNIPyCvAlUeQfdbFhzDlTL7oqjmWOzad/ZqaeUXInM5UIp891/b5Jsgb5Gw JpEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760718729; x=1761323529; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=EAYhbIEVnqIpv3UM3lZTlnJP6T433ZQvfgE/KFwrBAE=; b=OG0ex/ovKeE2nOh7q2+kpZ/Y6l6EOwT5Ce+iXiQ46F+4KdKbfwM/lx67/aZfgZrZSb gghzXvbOTxVlDd2f7/q76Z6iszGnbhxZpj4aSRc9cmSjaaT8TfyB5cQzal5Fxa3Fgd56 gDj1OmosIODdSYtu7s74ETVy4uqenXk4cI1WLCrDBc2iPj7nNbmFnae9aKk94oHqDDy2 Kc3asuwEVZAszDz4j2u9E6u/wPZggEZFN5sAo6rECPGUElLgKbN5F2w6ESirikAZNpne uIn+2t48MUmImpqMfDw06EqaAuTvhi0D2v7ZZNu3ieAJlfnMHUtN+aVJfccCvo+KNzO0 O3Pg== X-Gm-Message-State: AOJu0Yy654hI4X/lqjTtQkzhr6nsAwhRYBqmVNKKKs1JTbHAkbpfWb7V 0/QNZi8kONSHfXJVJFriOvyu6PMBTYanCi/Y66/fiv2rL+SSg0AqObcORfFUSYsaumUlyokfjMg BF59W8EA= X-Gm-Gg: ASbGncvIGSB8RkPlaGYpUw8+L/tFJfm3SAUSmGmPCgpi4bMU/PUO6ADL+xGP5HPU9bC bg4KUgJQ5RAeLBowIHytKTE5X7rLCuZhrxFfXDCoPtNMpH3/HKp/IX00RRXlXXjHavhPs99hYnc lQprTOlEN+aPU9oueO9eu1PlPEeDncCDqIFKEmxS6J79DF8E5QSSLX7CN4I3sKddBDy5oVNUpRx TmgDZ2Zqxar5Hv+dqGtmko2d5waGDruV+rpUYhLqNYumHVtrqlnetH0GVOqUC+RQ4BcgQpac3nR aqd2aY/Uc7XcW6FSNhTKg2yRHFjzA2e3oJEni6Qtir7MbnX9GcGPXwN/dEgyF1T7/K05oKlRa8S Z591MxtLtEM8micgVwGXD+/OfPSkNqq0M8t+apP+LVhkD59BbRhuWUW99T636Lo1V9sOpGc5PCR DoUcXH8Q== X-Google-Smtp-Source: AGHT+IGncTkqFvTDR+3AtItiCzSirQciXtQkwSwnIMJmL4NGuW9hHSQ7whyxFZyI8zO6JyvkVqMBqA== X-Received: by 2002:a17:903:1111:b0:269:82a5:f9e9 with SMTP id d9443c01a7336-290ca1214d6mr52898605ad.29.1760718729279; Fri, 17 Oct 2025 09:32:09 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Thomas Huth Subject: [PATCH v3 2/9] buildsys: Remove support for 32-bit MIPS hosts Date: Fri, 17 Oct 2025 09:31:59 -0700 Message-ID: <20251017163206.344542-3-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251017163206.344542-1-richard.henderson@linaro.org> References: <20251017163206.344542-1-richard.henderson@linaro.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=2607:f8b0:4864:20::631; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x631.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1760718848245158501 From: Philippe Mathieu-Daud=C3=A9 Stop detecting 32-bit MIPS host as supported, update the deprecation document. See previous commit for rationale. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Thomas Huth Signed-off-by: Richard Henderson Message-ID: <20251009195210.33161-8-philmd@linaro.org> --- configure | 7 ------- docs/about/deprecated.rst | 13 +++++-------- docs/about/removed-features.rst | 6 ++++++ 3 files changed, 11 insertions(+), 15 deletions(-) diff --git a/configure b/configure index 461b53dd60..8263f81370 100755 --- a/configure +++ b/configure @@ -404,8 +404,6 @@ elif check_define _ARCH_PPC ; then elif check_define __mips__ ; then if check_define __mips64 ; then cpu=3D"mips64" - else - cpu=3D"mips" fi elif check_define __s390__ ; then if check_define __s390x__ ; then @@ -473,11 +471,6 @@ case "$cpu" in host_arch=3Dmips linux_arch=3Dmips ;; - mips*) - cpu=3Dmips - host_arch=3Dmips - linux_arch=3Dmips - ;; =20 ppc) host_arch=3Dppc diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index 98361f5832..dacf2882e4 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -172,17 +172,14 @@ This argument has always been ignored. Host Architectures ------------------ =20 -Big endian MIPS since 7.2; 32-bit little endian MIPS since 9.2, MIPS since= 11.0 -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''= ''''' +MIPS (since 11.0) +''''''''''''''''' =20 -As Debian 10 ("Buster") moved into LTS the big endian 32 bit version of -MIPS moved out of support making it hard to maintain our -cross-compilation CI tests of the architecture. As we no longer have -CI coverage support may bitrot away before the deprecation process +MIPS is not supported by Debian 13 ("Trixie") and newer, making it hard to +maintain our cross-compilation CI tests of the architecture. As we no long= er +have CI coverage support may bitrot away before the deprecation process completes. =20 -Likewise, MIPS is not supported by Debian 13 ("Trixie") and newer. - System emulation on 32-bit x86 hosts (since 8.0) '''''''''''''''''''''''''''''''''''''''''''''''' =20 diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.= rst index a5338e44c2..53829f59e6 100644 --- a/docs/about/removed-features.rst +++ b/docs/about/removed-features.rst @@ -896,6 +896,12 @@ work around the atomicity issues in system mode by run= ning all vCPUs in a single thread context; in user mode atomicity was simply broken. From 10.0, QEMU has disabled configuration of 64-bit guests on 32-bit host= s. =20 +32-bit MIPS (since 11.0) +'''''''''''''''''''''''' + +Debian 12 "Bookworm" removed support for 32-bit MIPS, making it hard to +maintain our cross-compilation CI tests of the architecture. + Guest Emulator ISAs ------------------- =20 --=20 2.43.0 From nobody Fri Nov 14 17:01:17 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1760718841; cv=none; d=zohomail.com; s=zohoarc; b=PteWwxKJ2xtBc9jOWYGRDv9m2ror2XOmDXMmKJUkpkEzQj8jNF/71d2jQ+EYd8jVpXH9qZegAw9gHAoGaIwSlCodUPCwBTb7tCE7EAsvD2tJit7oZYwix6nv8xW5qiyrxM/DYj5w8fJge/V6vJKbu1NCKvwi5q8SAVH65roc6v8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760718841; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=+w5No0Ep1LX3XR7FDPjD+GZNr16ogOShPRDBWgvVMw0=; b=iVT2mUnmd2ViRmmQs5sRku32B36KuZjAjOqChL1ZapLlHV8a+CcCx5RYOKUsugHIT5xEPasZRYNJ7IKtE4XZhtOF2+gQqzUf3yu1mj+qmU7jVEXnhWizYgGmPY2mAGpeHVVbmYnXVzukHLdq5fNykLt5bNhCxhJmNCU1MvyK8L0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1760718841310491.61392326012253; Fri, 17 Oct 2025 09:34:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v9nNN-0004nx-BY; Fri, 17 Oct 2025 12:32:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v9nNJ-0004m3-D1 for qemu-devel@nongnu.org; Fri, 17 Oct 2025 12:32:17 -0400 Received: from mail-pg1-x52a.google.com ([2607:f8b0:4864:20::52a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1v9nNF-0001Bl-2q for qemu-devel@nongnu.org; Fri, 17 Oct 2025 12:32:17 -0400 Received: by mail-pg1-x52a.google.com with SMTP id 41be03b00d2f7-b6271ea3a6fso1377650a12.0 for ; Fri, 17 Oct 2025 09:32:12 -0700 (PDT) Received: from stoup.. ([71.212.157.132]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-29099a7d1bbsm68667715ad.65.2025.10.17.09.32.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 09:32:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1760718730; x=1761323530; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=+w5No0Ep1LX3XR7FDPjD+GZNr16ogOShPRDBWgvVMw0=; b=yDiXWyeoct5wRxpDWrOjMWaao7b6Md99AhY9HjgPSH8nN/J6BUx+fMWglMOV/KvJt3 IA7w14yRJ2ds0zsq4q2jWWZhAWPQyDARl+4NeFiF4CZwYINB25WNbutgc5afvBsaIQvP 4+nxUsFl4RhAaXxojiTmgha0y0LU0OP0zmAgb+NtEJAhgKU00F6OpbHha+3L8uWHZtA/ vGlsyh3HNf3JESTfbnESr5I2MIIuA8NxF5CaEDqFJfhJzrHvUAY0UdxOXqkYiBWwJ5Bi 0P3jyX13zt/ZXHBYlUiuuN9bFlipUheQj4RU34Hr7uhAnmh/v/+0qol7Fod291uYjbhm QjEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760718730; x=1761323530; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+w5No0Ep1LX3XR7FDPjD+GZNr16ogOShPRDBWgvVMw0=; b=e0OHZGKPgcYKkClf4USokNRXlm9RgItfFSHB0Dkw/jeYS8hwrGfDP1aXDaLMK20j6i tEwwvpUK+19NJDNvHctAh2sgid7obthbu6ipl23M92Y+JWEIOleOuGcGOI2Y0djqf10W mvsXTiBlXLWXFGz6mADQUY2sCfWEqAECQg7ArggUoE5TUqTnYwgCnjSOmfTtR+vZPxLO PqE68LMisB9tlKRXCIaaCiS+0OeJnBvc+o6C38NvEvT9x/RB8njJnldwX2vO/w+l7GJp 62Olevnm+TF7qhwNOChJB0omSQGclpiW7WDacErSRS8U2PLeY6ZxNviAPHRHih1Yi2x8 iKHQ== X-Gm-Message-State: AOJu0YzvvPLkDcQavyDyyxkR0oNArYx4iq263A9cJs9S4x2JIHWT0yl/ PrE25GF91VpTFH1HXjhc6jwZBG4TSV66s/YKPS68ketDZBXoSDSvtCDI0b0pNHHE/nYTjP94b4V 7iq9RV5Y= X-Gm-Gg: ASbGncvZ2m1gLtiiA8JZ95Bl7FwQvmwpQkmxycI57AKD/+fgzR8/NRkaHi+YteKs3Ab ffFZhTfmFVHi0cIibOzJxqAa5j/zkUXGKpkqUWEkqt5HPdo0JjpoV0dIxpIErP2VYfbE/9OAOiu oIP1Aw5oimWLuWeQbbbKBa9FSJQS50P8Nrozw4YnpvzAjg+JPyuBd3hPKDkPf0AvT1J2kVqXTWH L7YNW3rh8c7iFmNRQB5dSq77GzPyrsN1cQV/nCypL0J82ZGiI/7sFakwueCm82L2rpsEwvduYqa zXZC2JlNtX4mOtiRP9aYGG4Kd/hmK8ANv7vNpyPk8MigFxLuQLu4py9pL2G2+X4uWw5zdWREoUI pSyr7qdngduWpNaPlMCzDhGiawiKBBZURLAZTHEaBpOTDYIXpdPfj/5jZ3DN5KhZ4MT8FKTzOEd aNsXh8jw== X-Google-Smtp-Source: AGHT+IGHIyOF8131dxJslO5u9lN/8eRSx10M45MtPuQvyC0hEMmOdmBn2nm2ldIDQ4VZWsSsZo9h0g== X-Received: by 2002:a17:902:e5cf:b0:290:91b1:2a69 with SMTP id d9443c01a7336-290cb7560b8mr60958515ad.52.1760718729875; Fri, 17 Oct 2025 09:32:09 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Thomas Huth Subject: [PATCH v3 3/9] kvm/mips: Remove support for 32-bit hosts Date: Fri, 17 Oct 2025 09:32:00 -0700 Message-ID: <20251017163206.344542-4-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251017163206.344542-1-richard.henderson@linaro.org> References: <20251017163206.344542-1-richard.henderson@linaro.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=2607:f8b0:4864:20::52a; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x52a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1760718842452154100 From: Philippe Mathieu-Daud=C3=A9 See previous commit for rationale. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Thomas Huth Signed-off-by: Richard Henderson Message-ID: <20251009195210.33161-7-philmd@linaro.org> --- meson.build | 2 -- 1 file changed, 2 deletions(-) diff --git a/meson.build b/meson.build index afaefa0172..c5710a6a47 100644 --- a/meson.build +++ b/meson.build @@ -295,8 +295,6 @@ elif cpu =3D=3D 'ppc' kvm_targets =3D ['ppc-softmmu'] elif cpu =3D=3D 'ppc64' kvm_targets =3D ['ppc-softmmu', 'ppc64-softmmu'] -elif cpu =3D=3D 'mips' - kvm_targets =3D ['mips-softmmu', 'mipsel-softmmu'] elif cpu =3D=3D 'mips64' kvm_targets =3D ['mips-softmmu', 'mipsel-softmmu', 'mips64-softmmu', 'mi= ps64el-softmmu'] elif cpu =3D=3D 'riscv32' --=20 2.43.0 From nobody Fri Nov 14 17:01:17 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1760718876; cv=none; d=zohomail.com; s=zohoarc; b=XeAea8cRCngN2NSwE0eLFzcYSSdgC6dR5w0RkBVIrTLxtVQ/ptCQK4NQtqYC85IuzwukDHPoKTjL8bAr7qeFIRkp2AWxyTXZgklk/Jt+qBUO3g5Lpg2x9zg116NgUc0I1qvC4zIxC+Er45M17qkf/+hRUhlpuq+z042yswaVwG0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760718876; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=+klw1qSTazAtmpLZcTp4xmaIM2w3pdybISxZjtuBn6w=; b=K3yz7tpRmT0HyHcapkxboL/115bnclYcM8pLgMccXM481hT+naS9xd230voMkyWY4jc8SCzMAzeo5tavkKSJCW6YrUP2sxdrMkwftTxH6E/uLU5ME/mUF+nNWUObZe9GIjp+lP7J47AxgjpdUMhIQ3dIHlJ1xELujgESgyPB4yY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1760718876292484.5213038825134; Fri, 17 Oct 2025 09:34:36 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v9nNN-0004nG-8N; Fri, 17 Oct 2025 12:32:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v9nNK-0004mj-KS for qemu-devel@nongnu.org; Fri, 17 Oct 2025 12:32:18 -0400 Received: from mail-pl1-x636.google.com ([2607:f8b0:4864:20::636]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1v9nNF-0001Bu-8K for qemu-devel@nongnu.org; Fri, 17 Oct 2025 12:32:18 -0400 Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-290aaff555eso20151485ad.2 for ; Fri, 17 Oct 2025 09:32:12 -0700 (PDT) Received: from stoup.. ([71.212.157.132]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-29099a7d1bbsm68667715ad.65.2025.10.17.09.32.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 09:32:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1760718731; x=1761323531; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=+klw1qSTazAtmpLZcTp4xmaIM2w3pdybISxZjtuBn6w=; b=gxkXglywFSs+1z8tve0OzZD/IZmxvlMBYsqt0NZusXsjhGtS2D1NLrViTItcR2nCRf OV5NonoPpe/JwXXdDjNArhDG9D0UDYOiy2xij4Edjh651h7elmMxjivHCb38cHp71b4V RfYRI2VrpNol9coPY478qPsFGtnEszhG5h+oWk2DhEDcDGDK2M/0BrkvGNFYMHqvKzTV Cdcii5jD3bGvTFxNGOGVyB+7mM7LYgElKdiNlrLCza+zMVg8VqPQKo1U9jjHWRJzq16R cyIsfjbevqVLFONiTBN2fKH/eqCoZCJZUrBlkL0itWsYLDo6w37d7kySsShgxGqFVI1I NdGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760718731; x=1761323531; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+klw1qSTazAtmpLZcTp4xmaIM2w3pdybISxZjtuBn6w=; b=dpcsWXWeJJ1FvY50BbxJ0PoY51sapoCY5twzPIXbzB5wBHY5+/diCS4HBshopUr95U ap6H+P8NtjMGh8B3fPTo5z0Z48zAEgPcOxaLOEj0PaFwN0Ovfnf8xRcNYsU3WJQCyAZp 3Js81a57jNSsliIPAKQ8wH7B2HVZtV9qRQwTPU1ZnzpITHpgXrHtEu/gHXi8bs8R/hgZ II1O5ojgyWqV8OackTpqPUCbh76GJ00nf3KuI8rh9Xw8Vh89Dm3TY+2phCr+gtONkT5e zwSc1E/4i4d4KBJYdpJJulw/viTCIbUJI7kYfnG0xeYWjp3F8m29qefnfFV93wfVrqXL 9PEw== X-Gm-Message-State: AOJu0YxWj/3f3+CqOnhI29Dk+CJHjtez785NXAj2lGSE31RoiqSG1K01 naItiZxm4XClGLI4jXU1Zqtg0NtDAETN3JbyJ4mzKSpoBByvGRILTf1KZMkxi+j8VKJMCgioZQH Tq2qRfrw= X-Gm-Gg: ASbGncsJwOOdsgJtRCntPRyBVW1jndl2LIV6D14vjTWFsdN/y/Aqb7pPDfvAAKhexub 9HI/ZJpO7zbQHpo7VNv5ABUzJYkF88QdJYWtfz6xhOCrQajYnBggehdEVPnwSpRG6v81QHL5Dam SwklVZ5YUUmSM1togpgEAQZHKAuvKQDqyGCI4tuHR3+MkjirjHwZ3/cCPwIxIx4bXWqNMekrs0d z8GWlWh5YbmGlLRZEC+AV8fgodaHvaRdlRG4phzMvNbnopyRlSycpQsHZkltsZZeAC0jtExveDx OzfGJBBHxqPP8JcHPqY3/CEzthZVVKp/0URmmr6dMJ8VQh4irecWTRNZtvQ2btmEOMrmv/peP9b py1uWMqakA6ZEVI5QKeEMTXtSeT1gpwfwwTK+x7bz6uR/vme3YyFUb3oJyRarr6gtuATy3V5nFA UqmylUxrzwsud8FQIW X-Google-Smtp-Source: AGHT+IEF0K745Vfi37TH8AG+vmFXorN4ladXhcfP0TwEUxP8A35flQYEOiONWjTvXfCufZe6uqU+mg== X-Received: by 2002:a17:903:acb:b0:25e:78db:4a0d with SMTP id d9443c01a7336-290cba4eefdmr54349065ad.36.1760718730760; Fri, 17 Oct 2025 09:32:10 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Thomas Huth Subject: [PATCH v3 4/9] tcg/mips: Remove support for O32 and N32 ABIs Date: Fri, 17 Oct 2025 09:32:01 -0700 Message-ID: <20251017163206.344542-5-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251017163206.344542-1-richard.henderson@linaro.org> References: <20251017163206.344542-1-richard.henderson@linaro.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=2607:f8b0:4864:20::636; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x636.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1760718878861154100 From: Philippe Mathieu-Daud=C3=A9 See previous commit for rationale. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Thomas Huth Signed-off-by: Richard Henderson Message-ID: <20251009195210.33161-5-philmd@linaro.org> --- tcg/mips/tcg-target-reg-bits.h | 8 ++---- common-user/host/mips/safe-syscall.inc.S | 35 ------------------------ tcg/mips/tcg-target.c.inc | 26 ++++-------------- 3 files changed, 9 insertions(+), 60 deletions(-) diff --git a/tcg/mips/tcg-target-reg-bits.h b/tcg/mips/tcg-target-reg-bits.h index 56fe0a725e..ee346a3f25 100644 --- a/tcg/mips/tcg-target-reg-bits.h +++ b/tcg/mips/tcg-target-reg-bits.h @@ -7,12 +7,10 @@ #ifndef TCG_TARGET_REG_BITS_H #define TCG_TARGET_REG_BITS_H =20 -#if _MIPS_SIM =3D=3D _ABIO32 -# define TCG_TARGET_REG_BITS 32 -#elif _MIPS_SIM =3D=3D _ABIN32 || _MIPS_SIM =3D=3D _ABI64 -# define TCG_TARGET_REG_BITS 64 -#else +#if !defined(_MIPS_SIM) || _MIPS_SIM !=3D _ABI64 # error "Unknown ABI" #endif =20 +#define TCG_TARGET_REG_BITS 64 + #endif diff --git a/common-user/host/mips/safe-syscall.inc.S b/common-user/host/mi= ps/safe-syscall.inc.S index 6a44614970..3b196cc634 100644 --- a/common-user/host/mips/safe-syscall.inc.S +++ b/common-user/host/mips/safe-syscall.inc.S @@ -30,15 +30,9 @@ * arguments being syscall arguments (also 'long'). */ =20 -#if _MIPS_SIM =3D=3D _ABIO32 -/* 8 * 4 =3D 32 for outgoing parameters; 1 * 4 for s0 save; 1 * 4 for alig= n. */ -#define FRAME 40 -#define OFS_S0 32 -#else /* 1 * 8 for s0 save; 1 * 8 for align. */ #define FRAME 16 #define OFS_S0 0 -#endif =20 =20 NESTED(safe_syscall_base, FRAME, ra) @@ -47,34 +41,6 @@ NESTED(safe_syscall_base, FRAME, ra) .cfi_adjust_cfa_offset FRAME REG_S s0, OFS_S0(sp) .cfi_rel_offset s0, OFS_S0 -#if _MIPS_SIM =3D=3D _ABIO32 - /* - * The syscall calling convention is nearly the same as C: - * we enter with a0 =3D=3D &signal_pending - * a1 =3D=3D syscall number - * a2, a3, stack =3D=3D syscall arguments - * and return the result in a0 - * and the syscall instruction needs - * v0 =3D=3D syscall number - * a0 ... a3, stack =3D=3D syscall arguments - * and returns the result in v0 - * Shuffle everything around appropriately. - */ - move s0, a0 /* signal_pending pointer */ - move v0, a1 /* syscall number */ - move a0, a2 /* syscall arguments */ - move a1, a3 - lw a2, FRAME+16(sp) - lw a3, FRAME+20(sp) - lw t4, FRAME+24(sp) - lw t5, FRAME+28(sp) - lw t6, FRAME+32(sp) - lw t7, FRAME+40(sp) - sw t4, 16(sp) - sw t5, 20(sp) - sw t6, 24(sp) - sw t7, 28(sp) -#else /* * The syscall calling convention is nearly the same as C: * we enter with a0 =3D=3D &signal_pending @@ -95,7 +61,6 @@ NESTED(safe_syscall_base, FRAME, ra) move a3, a5 move a4, a6 move a5, a7 -#endif =20 /* * This next sequence of code works in conjunction with the diff --git a/tcg/mips/tcg-target.c.inc b/tcg/mips/tcg-target.c.inc index 400eafbab4..4d9d029844 100644 --- a/tcg/mips/tcg-target.c.inc +++ b/tcg/mips/tcg-target.c.inc @@ -26,16 +26,10 @@ =20 /* used for function call generation */ #define TCG_TARGET_STACK_ALIGN 16 -#if _MIPS_SIM =3D=3D _ABIO32 -# define TCG_TARGET_CALL_STACK_OFFSET 16 -# define TCG_TARGET_CALL_ARG_I64 TCG_CALL_ARG_EVEN -# define TCG_TARGET_CALL_RET_I128 TCG_CALL_RET_BY_REF -#else -# define TCG_TARGET_CALL_STACK_OFFSET 0 -# define TCG_TARGET_CALL_ARG_I64 TCG_CALL_ARG_NORMAL -# define TCG_TARGET_CALL_RET_I128 TCG_CALL_RET_NORMAL -#endif +#define TCG_TARGET_CALL_STACK_OFFSET 0 #define TCG_TARGET_CALL_ARG_I32 TCG_CALL_ARG_NORMAL +#define TCG_TARGET_CALL_ARG_I64 TCG_CALL_ARG_NORMAL +#define TCG_TARGET_CALL_RET_I128 TCG_CALL_RET_NORMAL #define TCG_TARGET_CALL_ARG_I128 TCG_CALL_ARG_EVEN =20 #if TCG_TARGET_REG_BITS =3D=3D 32 @@ -135,12 +129,10 @@ static const TCGReg tcg_target_call_iarg_regs[] =3D { TCG_REG_A1, TCG_REG_A2, TCG_REG_A3, -#if _MIPS_SIM =3D=3D _ABIN32 || _MIPS_SIM =3D=3D _ABI64 TCG_REG_T0, TCG_REG_T1, TCG_REG_T2, TCG_REG_T3, -#endif }; =20 static TCGReg tcg_target_call_oarg_reg(TCGCallReturnKind kind, int slot) @@ -1053,17 +1045,11 @@ static void tcg_out_call_int(TCGContext *s, const t= cg_insn_unit *arg, bool tail) * Note that __mips_abicalls requires the called function's address * to be loaded into $25 (t9), even if a direct branch is in range. * - * For n64, always drop the pointer into the constant pool. - * We can re-use helper addresses often and do not want any - * of the longer sequences tcg_out_movi may try. + * We can re-use helper addresses often; always drop the pointer + * into the constant pool. */ - if (sizeof(uintptr_t) =3D=3D 8) { - tcg_out_movi_pool(s, TCG_REG_T9, (uintptr_t)arg, TCG_REG_TB); - } else { - tcg_out_movi(s, TCG_TYPE_PTR, TCG_REG_T9, (uintptr_t)arg); - } + tcg_out_movi_pool(s, TCG_REG_T9, (uintptr_t)arg, TCG_REG_TB); =20 - /* But do try a direct branch, allowing the cpu better insn prefetch. = */ if (tail) { if (!tcg_out_opc_jmp(s, OPC_J, arg)) { tcg_out_opc_reg(s, OPC_JR, 0, TCG_REG_T9, 0); --=20 2.43.0 From nobody Fri Nov 14 17:01:17 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1760718869; cv=none; d=zohomail.com; s=zohoarc; b=VFVX57F2Y+bfqUfp8RDumJXOIxSXbLQJb/RikNaXsy02V2ng2s0jvb7kNEBYwOrtuxIPw00W8m2/oZjNZOo5oXGGvxLIXUoNwVj3Pv5iahAU83LJ+Op+vq3hcn4+0jqwFvPlVmuUifb3BSx8CU8atcl+e9tVVoccCottJTULKNs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760718869; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=zZPHG+rU99S38CzFhmJwBnWR59SoKAXZRpLng6h/VHA=; b=nzPHOODfy/TqpZc5Zli4DzBAW0nBbv+IyW9eY+U59bUKY/yb1usLkeb4rd/gXU/YjKKnZZ/4fcVRyj+yXOClI2w2dPgZ5LPMDLOiPWeUjDbW/YOM6jN7JrqMMBoIAiqMuKEsM+qmrBEe5jdBTSTTfnMq7TbbiTmxGu4gAnilcrw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1760718869276204.06911199021488; Fri, 17 Oct 2025 09:34:29 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v9nNO-0004oY-PV; Fri, 17 Oct 2025 12:32:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v9nNN-0004ns-0C for qemu-devel@nongnu.org; Fri, 17 Oct 2025 12:32:21 -0400 Received: from mail-pl1-x629.google.com ([2607:f8b0:4864:20::629]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1v9nNH-0001By-Fx for qemu-devel@nongnu.org; Fri, 17 Oct 2025 12:32:20 -0400 Received: by mail-pl1-x629.google.com with SMTP id d9443c01a7336-290c2b6a6c2so16937925ad.1 for ; Fri, 17 Oct 2025 09:32:13 -0700 (PDT) Received: from stoup.. ([71.212.157.132]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-29099a7d1bbsm68667715ad.65.2025.10.17.09.32.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 09:32:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1760718732; x=1761323532; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=zZPHG+rU99S38CzFhmJwBnWR59SoKAXZRpLng6h/VHA=; b=BbGox5ur9r/1cP7aYOdKBmCmcfgqv7UZ9870H6kUFAf2Iu4CPOYydVSgmtQqy4AhUz qG2TpUTOGV6xXEfItNOwRtrDmnWfUKtLMlxsPtX/8gyO2zwRIj9tc5A00ieiINZV0zSW swb7WnePtVjdZeVybExAeP3rp03hGrRYq511/cNDhgGrUK1eOzTH3hvAvTkoUlBgxf0o wHOXL1AxjDDTemGa7MhKX82MRH9lvn9hcNM76b7ByM7TxP+7Z+Fw1HBiP9wrgA8FVwPQ peuwXLoxYwCKo1SQSINgQN3aSLMI0NYQiQliOGJlAe+gqdh6NRSgT04+Z3Uq9R1/oPE6 8iSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760718732; x=1761323532; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zZPHG+rU99S38CzFhmJwBnWR59SoKAXZRpLng6h/VHA=; b=u6LxbXs4AZf1YT2Ul0V43Rwb+mKMkLf/nMUyGJRoyOVANW9OAB1n8XULqQRiXEhdcG ahKZ+/Wui/1hxjr7FlzDSHcGlBL4hCLuWl1D3uRZa/2dnhQOyf5dsLYmR/9DSS+Jf5iL vqh7spVEtKPrBSaLeA9QPRR5Ul+Vky6NSHSCYJJtGeTjL3F2Ucx0OetwR85RA0jksI90 xesSfDtcfQiArJ0u9FzqAoQb/c6s80pCydI8TM6VhFzUzCGiqdtyB9gRQ5WQ3/qidZi3 CFQ4HQJtELO/mgV9utrR0+lIXelNRVcoiGEj1kHu64dPvQfVAxuDmyQJMY7vJfb+n6To gS4g== X-Gm-Message-State: AOJu0YzzRDgxwau0ZUnECksdkJK6lAcQ2ZqxHTx9/ESUJUiHwl15Vlxz tvy8GOINJAQK34UgQvj4Fdl9e7lqxg1ZwX8Jywm9wuh+qyG9LZaKKOPywB0fQCMxdzU2suKSkCs 6D9Cbb4s= X-Gm-Gg: ASbGnctq4J/aFotgYWIpa3d5hzaHRA/yWgpg+tMyoMJ6P5nTUtZF0SwXt7qYsvIDyEu 5RJ+kb35Q6gmTnveVj3DgGLIiqVnn9yV0WcNlQ8RzcKw1T9ngLgwSvLHdFsZEl8X27N5CZ6G06e lDMNuzsQExJKHDignHJ2/+wM6UhYI430T/Z6i1qe/907t4QmOhmFtQ/WqAuFtLbWYrswhCXpZO8 5q4ObdW6w03OIB98ZJ4w0Ejw4Gjt8QWph6udKwt8ybqsZmSI8wblTiTPhxVaa6dW4p9iRPXhSwt /K+UlTJ24WM7m05IK3e59uMupRHmVC/CQ4qTxmrZfW8DdsBxximN+fgn9h9FOAGCBhovfcmHUTl JszgZIyxMLB25wjLdoLWDQY0+o3q/LxaDk2Vw+JK2lTajgmUiR2BnFHIEP5ldkDhSTOpEjj/TK1 3wXUj0OBQDVuVBsIa2 X-Google-Smtp-Source: AGHT+IGC6U52wb6I1doGEEW2I0vSKCLX17JaMRSIKyWNaVN5HmGoSjVFxufoFDjgn7V5bPgf82KHaQ== X-Received: by 2002:a17:902:fc4b:b0:28e:8c3a:fb02 with SMTP id d9443c01a7336-290c9cba178mr54592545ad.14.1760718731560; Fri, 17 Oct 2025 09:32:11 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Thomas Huth Subject: [PATCH v3 5/9] tcg/mips: Remove support for 32-bit hosts Date: Fri, 17 Oct 2025 09:32:02 -0700 Message-ID: <20251017163206.344542-6-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251017163206.344542-1-richard.henderson@linaro.org> References: <20251017163206.344542-1-richard.henderson@linaro.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=2607:f8b0:4864:20::629; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x629.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1760718872644158500 From: Philippe Mathieu-Daud=C3=A9 32-bit host support is deprecated since commit 6d701c9bac1 ("meson: Deprecate 32-bit host support"), released as v10.0. The next release being v10.2, we can remove the TCG backend for 32-bit MIPS hosts. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Thomas Huth Signed-off-by: Richard Henderson Message-ID: <20251009195210.33161-6-philmd@linaro.org> --- tcg/mips/tcg-target-has.h | 2 - tcg/mips/tcg-target.c.inc | 285 +++++--------------------------------- 2 files changed, 38 insertions(+), 249 deletions(-) diff --git a/tcg/mips/tcg-target-has.h b/tcg/mips/tcg-target-has.h index b9eb338528..88f0145efb 100644 --- a/tcg/mips/tcg-target-has.h +++ b/tcg/mips/tcg-target-has.h @@ -39,11 +39,9 @@ extern bool use_mips32r2_instructions; #endif =20 /* optional instructions */ -#if TCG_TARGET_REG_BITS =3D=3D 64 #define TCG_TARGET_HAS_extr_i64_i32 1 #define TCG_TARGET_HAS_ext32s_i64 1 #define TCG_TARGET_HAS_ext32u_i64 1 -#endif =20 /* optional instructions detected at runtime */ #define TCG_TARGET_HAS_qemu_ldst_i128 0 diff --git a/tcg/mips/tcg-target.c.inc b/tcg/mips/tcg-target.c.inc index 4d9d029844..51a15705cb 100644 --- a/tcg/mips/tcg-target.c.inc +++ b/tcg/mips/tcg-target.c.inc @@ -32,15 +32,6 @@ #define TCG_TARGET_CALL_RET_I128 TCG_CALL_RET_NORMAL #define TCG_TARGET_CALL_ARG_I128 TCG_CALL_ARG_EVEN =20 -#if TCG_TARGET_REG_BITS =3D=3D 32 -# define LO_OFF (HOST_BIG_ENDIAN * 4) -# define HI_OFF (4 - LO_OFF) -#else -/* Assert at compile-time that these values are never used for 64-bit. */ -# define LO_OFF ({ qemu_build_not_reached(); 0; }) -# define HI_OFF ({ qemu_build_not_reached(); 0; }) -#endif - #ifdef CONFIG_DEBUG_TCG static const char * const tcg_target_reg_names[TCG_TARGET_NB_REGS] =3D { "zero", @@ -84,11 +75,7 @@ static const char * const tcg_target_reg_names[TCG_TARGE= T_NB_REGS] =3D { #define TCG_TMP3 TCG_REG_T7 =20 #define TCG_GUEST_BASE_REG TCG_REG_S7 -#if TCG_TARGET_REG_BITS =3D=3D 64 #define TCG_REG_TB TCG_REG_S6 -#else -#define TCG_REG_TB ({ qemu_build_not_reached(); TCG_REG_ZERO; }) -#endif =20 /* check if we really need so many registers :P */ static const int tcg_target_reg_alloc_order[] =3D { @@ -559,7 +546,7 @@ static void tcg_out_movi_int(TCGContext *s, TCGType typ= e, TCGReg ret, tcg_target_long tmp; int sh, lo; =20 - if (TCG_TARGET_REG_BITS =3D=3D 64 && type =3D=3D TCG_TYPE_I32) { + if (type =3D=3D TCG_TYPE_I32) { arg =3D (int32_t)arg; } =20 @@ -567,7 +554,6 @@ static void tcg_out_movi_int(TCGContext *s, TCGType typ= e, TCGReg ret, if (tcg_out_movi_two(s, ret, arg)) { return; } - assert(TCG_TARGET_REG_BITS =3D=3D 64); =20 /* Load addresses within 2GB of TB with 1 or 3 insns. */ tmp =3D tcg_tbrel_diff(s, (void *)arg); @@ -630,8 +616,7 @@ static void tcg_out_movi_int(TCGContext *s, TCGType typ= e, TCGReg ret, static void tcg_out_movi(TCGContext *s, TCGType type, TCGReg ret, tcg_target_long arg) { - TCGReg tbreg =3D TCG_TARGET_REG_BITS =3D=3D 64 ? TCG_REG_TB : 0; - tcg_out_movi_int(s, type, ret, arg, tbreg); + tcg_out_movi_int(s, type, ret, arg, TCG_REG_TB); } =20 static void tcg_out_ext8s(TCGContext *s, TCGType type, TCGReg rd, TCGReg r= s) @@ -658,7 +643,6 @@ static void tcg_out_ext16u(TCGContext *s, TCGReg rd, TC= GReg rs) =20 static void tcg_out_ext32s(TCGContext *s, TCGReg rd, TCGReg rs) { - tcg_debug_assert(TCG_TARGET_REG_BITS =3D=3D 64); tcg_out_opc_sa(s, OPC_SLL, rd, rs, 0); } =20 @@ -701,7 +685,6 @@ static void tcg_out_bswap_subr(TCGContext *s, const tcg= _insn_unit *sub) =20 static void tcg_out_ext32u(TCGContext *s, TCGReg ret, TCGReg arg) { - tcg_debug_assert(TCG_TARGET_REG_BITS =3D=3D 64); if (use_mips32r2_instructions) { tcg_out_opc_bf(s, OPC_DEXT, ret, arg, 31, 0); } else { @@ -727,20 +710,14 @@ static void tcg_out_ldst(TCGContext *s, MIPSInsn opc,= TCGReg data, static void tcg_out_ld(TCGContext *s, TCGType type, TCGReg arg, TCGReg arg1, intptr_t arg2) { - MIPSInsn opc =3D OPC_LD; - if (TCG_TARGET_REG_BITS =3D=3D 32 || type =3D=3D TCG_TYPE_I32) { - opc =3D OPC_LW; - } + MIPSInsn opc =3D type =3D=3D TCG_TYPE_I32 ? OPC_LW : OPC_LD; tcg_out_ldst(s, opc, arg, arg1, arg2); } =20 static void tcg_out_st(TCGContext *s, TCGType type, TCGReg arg, TCGReg arg1, intptr_t arg2) { - MIPSInsn opc =3D OPC_SD; - if (TCG_TARGET_REG_BITS =3D=3D 32 || type =3D=3D TCG_TYPE_I32) { - opc =3D OPC_SW; - } + MIPSInsn opc =3D type =3D=3D TCG_TYPE_I32 ? OPC_SW : OPC_SD; tcg_out_ldst(s, opc, arg, arg1, arg2); } =20 @@ -918,72 +895,6 @@ void tcg_out_br(TCGContext *s, TCGLabel *l) tgen_brcond(s, TCG_TYPE_I32, TCG_COND_EQ, TCG_REG_ZERO, TCG_REG_ZERO, = l); } =20 -static int tcg_out_setcond2_int(TCGContext *s, TCGCond cond, TCGReg ret, - TCGReg al, TCGReg ah, TCGReg bl, TCGReg bh) -{ - int flags =3D 0; - - switch (cond) { - case TCG_COND_EQ: - flags |=3D SETCOND_INV; - /* fall through */ - case TCG_COND_NE: - flags |=3D SETCOND_NEZ; - tcg_out_opc_reg(s, OPC_XOR, TCG_TMP0, al, bl); - tcg_out_opc_reg(s, OPC_XOR, TCG_TMP1, ah, bh); - tcg_out_opc_reg(s, OPC_OR, ret, TCG_TMP0, TCG_TMP1); - break; - - default: - tgen_setcond(s, TCG_TYPE_I32, TCG_COND_EQ, TCG_TMP0, ah, bh); - tgen_setcond(s, TCG_TYPE_I32, tcg_unsigned_cond(cond), - TCG_TMP1, al, bl); - tcg_out_opc_reg(s, OPC_AND, TCG_TMP1, TCG_TMP1, TCG_TMP0); - tgen_setcond(s, TCG_TYPE_I32, tcg_high_cond(cond), TCG_TMP0, ah, b= h); - tcg_out_opc_reg(s, OPC_OR, ret, TCG_TMP0, TCG_TMP1); - break; - } - return ret | flags; -} - -static void tgen_setcond2(TCGContext *s, TCGCond cond, TCGReg ret, - TCGReg al, TCGReg ah, - TCGArg bl, bool const_bl, - TCGArg bh, bool const_bh) -{ - int tmpflags =3D tcg_out_setcond2_int(s, cond, ret, al, ah, bl, bh); - tcg_out_setcond_end(s, ret, tmpflags); -} - -#if TCG_TARGET_REG_BITS !=3D 32 -__attribute__((unused)) -#endif -static const TCGOutOpSetcond2 outop_setcond2 =3D { - .base.static_constraint =3D C_O1_I4(r, r, r, rz, rz), - .out =3D tgen_setcond2, -}; - -static void tgen_brcond2(TCGContext *s, TCGCond cond, TCGReg al, TCGReg ah, - TCGArg bl, bool const_bl, - TCGArg bh, bool const_bh, TCGLabel *l) -{ - int tmpflags =3D tcg_out_setcond2_int(s, cond, TCG_TMP0, al, ah, bl, b= h); - TCGReg tmp =3D tmpflags & ~SETCOND_FLAGS; - MIPSInsn b_opc =3D tmpflags & SETCOND_INV ? OPC_BEQ : OPC_BNE; - - tcg_out_reloc(s, s->code_ptr, R_MIPS_PC16, l, 0); - tcg_out_opc_br(s, b_opc, tmp, TCG_REG_ZERO); - tcg_out_nop(s); -} - -#if TCG_TARGET_REG_BITS !=3D 32 -__attribute__((unused)) -#endif -static const TCGOutOpBrcond2 outop_brcond2 =3D { - .base.static_constraint =3D C_O0_I4(r, r, rz, rz), - .out =3D tgen_brcond2, -}; - static void tgen_movcond(TCGContext *s, TCGType type, TCGCond cond, TCGReg ret, TCGReg c1, TCGArg c2, bool const_c2, TCGArg v1, bool const_v1, TCGArg v2, bool const_v= 2) @@ -1183,7 +1094,7 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext= *s, HostAddress *h, tcg_out_ld(s, TCG_TYPE_PTR, TCG_TMP1, TCG_AREG0, table_off); =20 /* Extract the TLB index from the address into TMP3. */ - if (TCG_TARGET_REG_BITS =3D=3D 32 || addr_type =3D=3D TCG_TYPE_I32= ) { + if (addr_type =3D=3D TCG_TYPE_I32) { tcg_out_opc_sa(s, OPC_SRL, TCG_TMP3, addr, TARGET_PAGE_BITS - CPU_TLB_ENTRY_BITS); } else { @@ -1195,7 +1106,7 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext= *s, HostAddress *h, tcg_out_opc_reg(s, ALIAS_PADD, TCG_TMP3, TCG_TMP3, TCG_TMP1); =20 /* Load the tlb comparator. */ - if (TCG_TARGET_REG_BITS =3D=3D 64 && addr_type =3D=3D TCG_TYPE_I32= ) { + if (addr_type =3D=3D TCG_TYPE_I32) { tcg_out_ld(s, TCG_TYPE_I32, TCG_TMP0, TCG_TMP3, cmp_off + HOST_BIG_ENDIAN * 4); } else { @@ -1212,8 +1123,7 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext= *s, HostAddress *h, */ tcg_out_movi(s, addr_type, TCG_TMP1, TARGET_PAGE_MASK | a_mask); if (a_mask < s_mask) { - tcg_out_opc_imm(s, (TCG_TARGET_REG_BITS =3D=3D 32 - || addr_type =3D=3D TCG_TYPE_I32 + tcg_out_opc_imm(s, (addr_type =3D=3D TCG_TYPE_I32 ? OPC_ADDIU : OPC_DADDIU), TCG_TMP2, addr, s_mask - a_mask); tcg_out_opc_reg(s, OPC_AND, TCG_TMP1, TCG_TMP1, TCG_TMP2); @@ -1222,7 +1132,7 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext= *s, HostAddress *h, } =20 /* Zero extend a 32-bit guest address for a 64-bit host. */ - if (TCG_TARGET_REG_BITS =3D=3D 64 && addr_type =3D=3D TCG_TYPE_I32= ) { + if (addr_type =3D=3D TCG_TYPE_I32) { tcg_out_ext32u(s, TCG_TMP2, addr); addr =3D TCG_TMP2; } @@ -1255,7 +1165,7 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext= *s, HostAddress *h, } =20 base =3D addr; - if (TCG_TARGET_REG_BITS =3D=3D 64 && addr_type =3D=3D TCG_TYPE_I32= ) { + if (addr_type =3D=3D TCG_TYPE_I32) { tcg_out_ext32u(s, TCG_REG_A0, base); base =3D TCG_REG_A0; } @@ -1291,7 +1201,7 @@ static void tcg_out_qemu_ld_direct(TCGContext *s, TCG= Reg lo, TCGReg hi, tcg_out_opc_imm(s, OPC_LH, lo, base, 0); break; case MO_UL: - if (TCG_TARGET_REG_BITS =3D=3D 64 && type =3D=3D TCG_TYPE_I64) { + if (type =3D=3D TCG_TYPE_I64) { tcg_out_opc_imm(s, OPC_LWU, lo, base, 0); break; } @@ -1300,16 +1210,7 @@ static void tcg_out_qemu_ld_direct(TCGContext *s, TC= GReg lo, TCGReg hi, tcg_out_opc_imm(s, OPC_LW, lo, base, 0); break; case MO_UQ: - /* Prefer to load from offset 0 first, but allow for overlap. */ - if (TCG_TARGET_REG_BITS =3D=3D 64) { - tcg_out_opc_imm(s, OPC_LD, lo, base, 0); - } else if (HOST_BIG_ENDIAN ? hi !=3D base : lo =3D=3D base) { - tcg_out_opc_imm(s, OPC_LW, hi, base, HI_OFF); - tcg_out_opc_imm(s, OPC_LW, lo, base, LO_OFF); - } else { - tcg_out_opc_imm(s, OPC_LW, lo, base, LO_OFF); - tcg_out_opc_imm(s, OPC_LW, hi, base, HI_OFF); - } + tcg_out_opc_imm(s, OPC_LD, lo, base, 0); break; default: g_assert_not_reached(); @@ -1351,21 +1252,14 @@ static void tcg_out_qemu_ld_unalign(TCGContext *s, = TCGReg lo, TCGReg hi, case MO_32: tcg_out_opc_imm(s, lw1, lo, base, 0); tcg_out_opc_imm(s, lw2, lo, base, 3); - if (TCG_TARGET_REG_BITS =3D=3D 64 && type =3D=3D TCG_TYPE_I64 && != sgn) { + if (type =3D=3D TCG_TYPE_I64 && !sgn) { tcg_out_ext32u(s, lo, lo); } break; =20 case MO_64: - if (TCG_TARGET_REG_BITS =3D=3D 64) { - tcg_out_opc_imm(s, ld1, lo, base, 0); - tcg_out_opc_imm(s, ld2, lo, base, 7); - } else { - tcg_out_opc_imm(s, lw1, HOST_BIG_ENDIAN ? hi : lo, base, 0 + 0= ); - tcg_out_opc_imm(s, lw2, HOST_BIG_ENDIAN ? hi : lo, base, 0 + 3= ); - tcg_out_opc_imm(s, lw1, HOST_BIG_ENDIAN ? lo : hi, base, 4 + 0= ); - tcg_out_opc_imm(s, lw2, HOST_BIG_ENDIAN ? lo : hi, base, 4 + 3= ); - } + tcg_out_opc_imm(s, ld1, lo, base, 0); + tcg_out_opc_imm(s, ld2, lo, base, 7); break; =20 default: @@ -1401,36 +1295,8 @@ static const TCGOutOpQemuLdSt outop_qemu_ld =3D { .out =3D tgen_qemu_ld, }; =20 -static void tgen_qemu_ld2(TCGContext *s, TCGType type, TCGReg datalo, - TCGReg datahi, TCGReg addr, MemOpIdx oi) -{ - MemOp opc =3D get_memop(oi); - TCGLabelQemuLdst *ldst; - HostAddress h; - - tcg_debug_assert(TCG_TARGET_REG_BITS =3D=3D 32); - ldst =3D prepare_host_addr(s, &h, addr, oi, true); - - if (use_mips32r6_instructions || h.aa.align >=3D (opc & MO_SIZE)) { - tcg_out_qemu_ld_direct(s, datalo, datahi, h.base, opc, type); - } else { - tcg_out_qemu_ld_unalign(s, datalo, datahi, h.base, opc, type); - } - - if (ldst) { - ldst->type =3D type; - ldst->datalo_reg =3D datalo; - ldst->datahi_reg =3D datahi; - ldst->raddr =3D tcg_splitwx_to_rx(s->code_ptr); - } -} - static const TCGOutOpQemuLdSt2 outop_qemu_ld2 =3D { - /* Ensure that the mips32 code is compiled but discarded for mips64. */ - .base.static_constraint =3D - TCG_TARGET_REG_BITS =3D=3D 32 ? C_O2_I1(r, r, r) : C_NotImplemente= d, - .out =3D - TCG_TARGET_REG_BITS =3D=3D 32 ? tgen_qemu_ld2 : NULL, + .base.static_constraint =3D C_NotImplemented, }; =20 static void tcg_out_qemu_st_direct(TCGContext *s, TCGReg lo, TCGReg hi, @@ -1447,12 +1313,7 @@ static void tcg_out_qemu_st_direct(TCGContext *s, TC= GReg lo, TCGReg hi, tcg_out_opc_imm(s, OPC_SW, lo, base, 0); break; case MO_64: - if (TCG_TARGET_REG_BITS =3D=3D 64) { - tcg_out_opc_imm(s, OPC_SD, lo, base, 0); - } else { - tcg_out_opc_imm(s, OPC_SW, HOST_BIG_ENDIAN ? hi : lo, base, 0); - tcg_out_opc_imm(s, OPC_SW, HOST_BIG_ENDIAN ? lo : hi, base, 4); - } + tcg_out_opc_imm(s, OPC_SD, lo, base, 0); break; default: g_assert_not_reached(); @@ -1480,15 +1341,8 @@ static void tcg_out_qemu_st_unalign(TCGContext *s, T= CGReg lo, TCGReg hi, break; =20 case MO_64: - if (TCG_TARGET_REG_BITS =3D=3D 64) { - tcg_out_opc_imm(s, sd1, lo, base, 0); - tcg_out_opc_imm(s, sd2, lo, base, 7); - } else { - tcg_out_opc_imm(s, sw1, HOST_BIG_ENDIAN ? hi : lo, base, 0 + 0= ); - tcg_out_opc_imm(s, sw2, HOST_BIG_ENDIAN ? hi : lo, base, 0 + 3= ); - tcg_out_opc_imm(s, sw1, HOST_BIG_ENDIAN ? lo : hi, base, 4 + 0= ); - tcg_out_opc_imm(s, sw2, HOST_BIG_ENDIAN ? lo : hi, base, 4 + 3= ); - } + tcg_out_opc_imm(s, sd1, lo, base, 0); + tcg_out_opc_imm(s, sd2, lo, base, 7); break; =20 default: @@ -1524,36 +1378,8 @@ static const TCGOutOpQemuLdSt outop_qemu_st =3D { .out =3D tgen_qemu_st, }; =20 -static void tgen_qemu_st2(TCGContext *s, TCGType type, TCGReg datalo, - TCGReg datahi, TCGReg addr, MemOpIdx oi) -{ - MemOp opc =3D get_memop(oi); - TCGLabelQemuLdst *ldst; - HostAddress h; - - tcg_debug_assert(TCG_TARGET_REG_BITS =3D=3D 32); - ldst =3D prepare_host_addr(s, &h, addr, oi, false); - - if (use_mips32r6_instructions || h.aa.align >=3D (opc & MO_SIZE)) { - tcg_out_qemu_st_direct(s, datalo, datahi, h.base, opc); - } else { - tcg_out_qemu_st_unalign(s, datalo, datahi, h.base, opc); - } - - if (ldst) { - ldst->type =3D type; - ldst->datalo_reg =3D datalo; - ldst->datahi_reg =3D datahi; - ldst->raddr =3D tcg_splitwx_to_rx(s->code_ptr); - } -} - static const TCGOutOpQemuLdSt2 outop_qemu_st2 =3D { - /* Ensure that the mips32 code is compiled but discarded for mips64. */ - .base.static_constraint =3D - TCG_TARGET_REG_BITS =3D=3D 32 ? C_O0_I3(rz, rz, r) : C_NotImplemen= ted, - .out =3D - TCG_TARGET_REG_BITS =3D=3D 32 ? tgen_qemu_st2 : NULL, + .base.static_constraint =3D C_NotImplemented, }; =20 static void tcg_out_mb(TCGContext *s, unsigned a0) @@ -1578,22 +1404,14 @@ static void tcg_out_exit_tb(TCGContext *s, uintptr_= t a0) int16_t lo =3D 0; =20 if (a0) { - intptr_t ofs; - if (TCG_TARGET_REG_BITS =3D=3D 64) { - ofs =3D tcg_tbrel_diff(s, (void *)a0); - lo =3D ofs; - if (ofs =3D=3D lo) { - base =3D TCG_REG_TB; - } else { - base =3D TCG_REG_V0; - tcg_out_movi(s, TCG_TYPE_PTR, base, ofs - lo); - tcg_out_opc_reg(s, ALIAS_PADD, base, base, TCG_REG_TB); - } + intptr_t ofs =3D tcg_tbrel_diff(s, (void *)a0); + lo =3D ofs; + if (ofs =3D=3D lo) { + base =3D TCG_REG_TB; } else { - ofs =3D a0; - lo =3D ofs; base =3D TCG_REG_V0; tcg_out_movi(s, TCG_TYPE_PTR, base, ofs - lo); + tcg_out_opc_reg(s, ALIAS_PADD, base, base, TCG_REG_TB); } } if (!tcg_out_opc_jmp(s, OPC_J, tb_ret_addr)) { @@ -1610,35 +1428,24 @@ static void tcg_out_goto_tb(TCGContext *s, int whic= h) TCGReg base, dest; =20 /* indirect jump method */ - if (TCG_TARGET_REG_BITS =3D=3D 64) { - dest =3D TCG_REG_TB; - base =3D TCG_REG_TB; - ofs =3D tcg_tbrel_diff(s, (void *)ofs); - } else { - dest =3D TCG_TMP0; - base =3D TCG_REG_ZERO; - } + dest =3D TCG_REG_TB; + base =3D TCG_REG_TB; + ofs =3D tcg_tbrel_diff(s, (void *)ofs); tcg_out_ld(s, TCG_TYPE_PTR, dest, base, ofs); tcg_out_opc_reg(s, OPC_JR, 0, dest, 0); /* delay slot */ tcg_out_nop(s); =20 set_jmp_reset_offset(s, which); - if (TCG_TARGET_REG_BITS =3D=3D 64) { - /* For the unlinked case, need to reset TCG_REG_TB. */ - tcg_out_ldst(s, ALIAS_PADDI, TCG_REG_TB, TCG_REG_TB, - -tcg_current_code_size(s)); - } + /* For the unlinked case, need to reset TCG_REG_TB. */ + tcg_out_ldst(s, ALIAS_PADDI, TCG_REG_TB, TCG_REG_TB, + -tcg_current_code_size(s)); } =20 static void tcg_out_goto_ptr(TCGContext *s, TCGReg a0) { tcg_out_opc_reg(s, OPC_JR, 0, a0, 0); - if (TCG_TARGET_REG_BITS =3D=3D 64) { - tcg_out_mov(s, TCG_TYPE_PTR, TCG_REG_TB, a0); - } else { - tcg_out_nop(s); - } + tcg_out_mov(s, TCG_TYPE_PTR, TCG_REG_TB, a0); } =20 void tb_target_set_jmp_target(const TranslationBlock *tb, int n, @@ -1833,7 +1640,6 @@ static const TCGOutOpBinary outop_eqv =3D { .base.static_constraint =3D C_NotImplemented, }; =20 -#if TCG_TARGET_REG_BITS =3D=3D 64 static void tgen_extrh_i64_i32(TCGContext *s, TCGType t, TCGReg a0, TCGReg= a1) { tcg_out_dsra(s, a0, a1, 32); @@ -1843,7 +1649,6 @@ static const TCGOutOpUnary outop_extrh_i64_i32 =3D { .base.static_constraint =3D C_O1_I1(r, r), .out_rr =3D tgen_extrh_i64_i32, }; -#endif =20 static void tgen_mul(TCGContext *s, TCGType type, TCGReg a0, TCGReg a1, TCGReg a2) @@ -2232,7 +2037,6 @@ static const TCGOutOpBswap outop_bswap32 =3D { .out_rr =3D tgen_bswap32, }; =20 -#if TCG_TARGET_REG_BITS =3D=3D 64 static void tgen_bswap64(TCGContext *s, TCGType type, TCGReg ret, TCGReg a= rg) { if (use_mips32r2_instructions) { @@ -2250,7 +2054,6 @@ static const TCGOutOpUnary outop_bswap64 =3D { .base.static_constraint =3D C_O1_I1(r, r), .out_rr =3D tgen_bswap64, }; -#endif /* TCG_TARGET_REG_BITS =3D=3D 64 */ =20 static void tgen_neg(TCGContext *s, TCGType type, TCGReg a0, TCGReg a1) { @@ -2378,7 +2181,6 @@ static const TCGOutOpLoad outop_ld16s =3D { .out =3D tgen_ld16s, }; =20 -#if TCG_TARGET_REG_BITS =3D=3D 64 static void tgen_ld32u(TCGContext *s, TCGType type, TCGReg dest, TCGReg base, ptrdiff_t offset) { @@ -2400,7 +2202,6 @@ static const TCGOutOpLoad outop_ld32s =3D { .base.static_constraint =3D C_O1_I1(r, r), .out =3D tgen_ld32s, }; -#endif =20 static void tgen_st8_r(TCGContext *s, TCGType type, TCGReg data, TCGReg base, ptrdiff_t offset) @@ -2539,7 +2340,7 @@ static tcg_insn_unit *align_code_ptr(TCGContext *s) } =20 /* Stack frame parameters. */ -#define REG_SIZE (TCG_TARGET_REG_BITS / 8) +#define REG_SIZE 8 #define SAVE_SIZE ((int)ARRAY_SIZE(tcg_target_callee_save_regs) * REG_SIZ= E) #define TEMP_SIZE (CPU_TEMP_BUF_NLONGS * (int)sizeof(long)) =20 @@ -2571,17 +2372,15 @@ static void tcg_target_qemu_prologue(TCGContext *s) * with the address of the prologue, so we can use that instead * of TCG_REG_TB. */ -#if TCG_TARGET_REG_BITS =3D=3D 64 && !defined(__mips_abicalls) +#if !defined(__mips_abicalls) # error "Unknown mips abi" #endif tcg_out_movi_int(s, TCG_TYPE_PTR, TCG_GUEST_BASE_REG, guest_base, - TCG_TARGET_REG_BITS =3D=3D 64 ? TCG_REG_T9 : 0); + TCG_REG_T9); tcg_regset_set_reg(s->reserved_regs, TCG_GUEST_BASE_REG); } =20 - if (TCG_TARGET_REG_BITS =3D=3D 64) { - tcg_out_mov(s, TCG_TYPE_PTR, TCG_REG_TB, tcg_target_call_iarg_regs= [1]); - } + tcg_out_mov(s, TCG_TYPE_PTR, TCG_REG_TB, tcg_target_call_iarg_regs[1]); =20 /* Call generated code */ tcg_out_opc_reg(s, OPC_JR, 0, tcg_target_call_iarg_regs[1], 0); @@ -2637,10 +2436,6 @@ static void tcg_target_qemu_prologue(TCGContext *s) /* t3 =3D dcba -- delay slot */ tcg_out_opc_reg(s, OPC_OR, TCG_TMP3, TCG_TMP3, TCG_TMP1); =20 - if (TCG_TARGET_REG_BITS =3D=3D 32) { - return; - } - /* * bswap32u -- unsigned 32-bit swap. a0 =3D ....abcd. */ @@ -2735,9 +2530,7 @@ static void tcg_target_init(TCGContext *s) { tcg_target_detect_isa(); tcg_target_available_regs[TCG_TYPE_I32] =3D 0xffffffff; - if (TCG_TARGET_REG_BITS =3D=3D 64) { - tcg_target_available_regs[TCG_TYPE_I64] =3D 0xffffffff; - } + tcg_target_available_regs[TCG_TYPE_I64] =3D 0xffffffff; =20 tcg_target_call_clobber_regs =3D 0; tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_V0); @@ -2768,9 +2561,7 @@ static void tcg_target_init(TCGContext *s) tcg_regset_set_reg(s->reserved_regs, TCG_REG_RA); /* return address = */ tcg_regset_set_reg(s->reserved_regs, TCG_REG_SP); /* stack pointer */ tcg_regset_set_reg(s->reserved_regs, TCG_REG_GP); /* global pointer = */ - if (TCG_TARGET_REG_BITS =3D=3D 64) { - tcg_regset_set_reg(s->reserved_regs, TCG_REG_TB); /* tc->tc_ptr */ - } + tcg_regset_set_reg(s->reserved_regs, TCG_REG_TB); /* tc->tc_ptr */ } =20 typedef struct { @@ -2788,7 +2579,7 @@ static const DebugFrame debug_frame =3D { .h.cie.id =3D -1, .h.cie.version =3D 1, .h.cie.code_align =3D 1, - .h.cie.data_align =3D -(TCG_TARGET_REG_BITS / 8) & 0x7f, /* sleb128 */ + .h.cie.data_align =3D -REG_SIZE & 0x7f, /* sleb128 */ .h.cie.return_column =3D TCG_REG_RA, =20 /* Total FDE size does not include the "len" member. */ --=20 2.43.0 From nobody Fri Nov 14 17:01:17 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1760718798; cv=none; d=zohomail.com; s=zohoarc; b=XSZIyiUJdVJsOiIiQyOG9MA/iO7A9CyHJLVGsuSCZvyyZB5f2vkIljP4ZKEcMDIFvIS/v2+EdZEXWW7wvo59PEMl7iBm4msB2Syw1516u+OaMOjTrc2IOff4xrDmvvfUNdufHcjzeRdfLlwhxnS0M43O5tySywLDRRGACZXrHpo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760718798; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=FHn1R3ZF55YJWZfpnAUbmLtJwg62Lau4AKHNQr6hxkg=; b=jgDjxWbpKe75HS0xbT/mVF6efaNzIIGekijm6Vykl72mxtcKl4Sagl2BC9RwR4QFjBNRFmQhHO5f//wn9a6fK5IZE3EYVZkIbABPuWkAIIXBHpqm/MgU9dr1TWMkXMYAxcVrA1Nomg6N0D9TNlP7TO26ZNnnzpsWMtIzqwbONOg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1760718798413807.6726576762663; Fri, 17 Oct 2025 09:33:18 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v9nNO-0004oR-G8; Fri, 17 Oct 2025 12:32:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v9nNL-0004nD-SI for qemu-devel@nongnu.org; Fri, 17 Oct 2025 12:32:20 -0400 Received: from mail-pg1-x52b.google.com ([2607:f8b0:4864:20::52b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1v9nNH-0001CE-J7 for qemu-devel@nongnu.org; Fri, 17 Oct 2025 12:32:19 -0400 Received: by mail-pg1-x52b.google.com with SMTP id 41be03b00d2f7-b63148d25c3so1340430a12.1 for ; Fri, 17 Oct 2025 09:32:15 -0700 (PDT) Received: from stoup.. ([71.212.157.132]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-29099a7d1bbsm68667715ad.65.2025.10.17.09.32.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 09:32:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1760718732; x=1761323532; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=FHn1R3ZF55YJWZfpnAUbmLtJwg62Lau4AKHNQr6hxkg=; b=fE5CbdCohi7tuBupENPeezwHRZyNP12vFvolqJdYGz3zSIQxC9J/lzZwjrjb7peR3d qbFrWOqnNN+gSTNqmLrZ9aRLcbQanSkov84LBirG5Xw1wXrUoPOpbEt0Pms0OIh7sUds rJkx1O03mdl+BfjCrZlRRp+w7zEsHn8bRjdehsKOFlpauSSv+UFHFTBYUD9AWZ+IzYJq PMChnpi1zxtLv7hOcXJEmjMVfVCCOooPr4PIKBqzATH0XZszhG6yTTxq21KdEMnmCNW1 qxHClZ5bTzfUIPB2HHiQLskXaZO1EUIGaEQb/YSwJQUUWBBjxrFFXtWyguJKz/Dlqzn7 uQKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760718732; x=1761323532; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=FHn1R3ZF55YJWZfpnAUbmLtJwg62Lau4AKHNQr6hxkg=; b=EwuWANDBhNM6EW9LJSaphOBshfJZii32pDAU+sjtZ8WiJ7poszAT1vKm23ZUBtb0+/ s80BTgb8oFwisGFHyjwQV7+rEq+VmHHjNUD6+ucv4JTbqbA8r8ttEIbpYo+/hpHzvLjj jLYTNnmNIRGzg+KW7JZNpDf27hfe7kZorKVeLVgIbmDWZ22G9dyaauM14YSPu41wvHaf /teLvYw44UlXQEvgC/H9QnPPNn1BiSQbmPrtmgXvOYzXGzt3SKgaQEVDdp8zFazv74M9 28Sqk5mAZIPfvmHSDawRiOC10x9X0Q2lx3+pzbOtHjhgP9jeD8nJK4WMd/cKCq0UEwxV iO6g== X-Gm-Message-State: AOJu0YzeMtk1QZjqvqZ6Uc5rY49iaMEW6nQjRHPww32rDpUHJ5/q9r0p AfLrAm9Odb9hAPP/nIUn/hg430CdfyCxu+6zyzi6EDkwrqTx/i1Udrea5PzZ0AzEcO5F7aUpP4i kqaU0nm8= X-Gm-Gg: ASbGncsQqcTUHlEcPlHo85DTQN2E9ohJQ+rJQZqraEmwheVCI8nYPR7oohF6vQbIkH7 WyLp7X3GjBrDFGK9CFLbvT+SZjmLBsHSC5CDskhicZO0KiwRqNVJEmfrjd5ZDzL+Y9DJHrcIsii esFkPkbWlrnVlfZ6JDA2RN9LNc6hNiV63lwNWpB6aWI8ReNkJRmbHlnf3citNxKo5Dhx5CpVNGd XHKa4/0sK0HX4m/tzxNKAHV1//1sGKuGJ3I3xFriWuzebP/MBvkLHRAQKiKmtkRmlK/5jtQkJyu ga90UDOYJ8E/YjC9mDulk5KZl/CBK9+zhmtWoresV9INo+1KUlpVfGS+n0lSojXyYZ0huQVcq7a fBfAyWaX26TAbx1kCM0AS/tyfQm3trPUSGSjuyRrQcS0++rMwUlWbyBaplUfqEpZI4+dveRGawm +i/D7drg== X-Google-Smtp-Source: AGHT+IGB4OHVsTbbtIvSAJm2DmdaR7mMAaZkUfolzypTULyKyARfRO9Od6XvPY/nWLNW4D7HFb410A== X-Received: by 2002:a17:902:d58d:b0:265:b60f:d18 with SMTP id d9443c01a7336-290c66d9f6amr47420635ad.1.1760718732371; Fri, 17 Oct 2025 09:32:12 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Thomas Huth , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 6/9] tcg/mips: Remove ALIAS_PADD, ALIAS_PADDI Date: Fri, 17 Oct 2025 09:32:03 -0700 Message-ID: <20251017163206.344542-7-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251017163206.344542-1-richard.henderson@linaro.org> References: <20251017163206.344542-1-richard.henderson@linaro.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=2607:f8b0:4864:20::52b; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x52b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1760718803736158500 These aliases existed to simplify code for O32 and N32. Now that the 64-bit abi is the only one supported, we can use the DADD* instructions directly. Reviewed-by: Thomas Huth Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Richard Henderson --- tcg/mips/tcg-target.c.inc | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/tcg/mips/tcg-target.c.inc b/tcg/mips/tcg-target.c.inc index 51a15705cb..60c703a093 100644 --- a/tcg/mips/tcg-target.c.inc +++ b/tcg/mips/tcg-target.c.inc @@ -340,10 +340,6 @@ typedef enum { OPC_SYNC_ACQUIRE =3D OPC_SYNC | 0x11 << 6, OPC_SYNC_RELEASE =3D OPC_SYNC | 0x12 << 6, OPC_SYNC_RMB =3D OPC_SYNC | 0x13 << 6, - - /* Aliases for convenience. */ - ALIAS_PADD =3D sizeof(void *) =3D=3D 4 ? OPC_ADDU : OPC_DADDU, - ALIAS_PADDI =3D sizeof(void *) =3D=3D 4 ? OPC_ADDIU : OPC_DADDIU, } MIPSInsn; =20 /* @@ -700,7 +696,7 @@ static void tcg_out_ldst(TCGContext *s, MIPSInsn opc, T= CGReg data, if (ofs !=3D lo) { tcg_out_movi(s, TCG_TYPE_PTR, TCG_TMP0, ofs - lo); if (addr !=3D TCG_REG_ZERO) { - tcg_out_opc_reg(s, ALIAS_PADD, TCG_TMP0, TCG_TMP0, addr); + tcg_out_opc_reg(s, OPC_DADDU, TCG_TMP0, TCG_TMP0, addr); } addr =3D TCG_TMP0; } @@ -1103,7 +1099,7 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext= *s, HostAddress *h, tcg_out_opc_reg(s, OPC_AND, TCG_TMP3, TCG_TMP3, TCG_TMP0); =20 /* Add the tlb_table pointer, creating the CPUTLBEntry address. */ - tcg_out_opc_reg(s, ALIAS_PADD, TCG_TMP3, TCG_TMP3, TCG_TMP1); + tcg_out_opc_reg(s, OPC_DADDU, TCG_TMP3, TCG_TMP3, TCG_TMP1); =20 /* Load the tlb comparator. */ if (addr_type =3D=3D TCG_TYPE_I32) { @@ -1142,7 +1138,7 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext= *s, HostAddress *h, =20 /* delay slot */ base =3D TCG_TMP3; - tcg_out_opc_reg(s, ALIAS_PADD, base, TCG_TMP3, addr); + tcg_out_opc_reg(s, OPC_DADDU, base, TCG_TMP3, addr); } else { if (a_mask && (use_mips32r6_instructions || a_bits !=3D s_bits)) { ldst =3D new_ldst_label(s); @@ -1171,9 +1167,9 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext= *s, HostAddress *h, } if (guest_base) { if (guest_base =3D=3D (int16_t)guest_base) { - tcg_out_opc_imm(s, ALIAS_PADDI, TCG_REG_A0, base, guest_ba= se); + tcg_out_opc_imm(s, OPC_DADDIU, TCG_REG_A0, base, guest_bas= e); } else { - tcg_out_opc_reg(s, ALIAS_PADD, TCG_REG_A0, base, + tcg_out_opc_reg(s, OPC_DADDU, TCG_REG_A0, base, TCG_GUEST_BASE_REG); } base =3D TCG_REG_A0; @@ -1411,7 +1407,7 @@ static void tcg_out_exit_tb(TCGContext *s, uintptr_t = a0) } else { base =3D TCG_REG_V0; tcg_out_movi(s, TCG_TYPE_PTR, base, ofs - lo); - tcg_out_opc_reg(s, ALIAS_PADD, base, base, TCG_REG_TB); + tcg_out_opc_reg(s, OPC_DADDU, base, base, TCG_REG_TB); } } if (!tcg_out_opc_jmp(s, OPC_J, tb_ret_addr)) { @@ -1419,7 +1415,7 @@ static void tcg_out_exit_tb(TCGContext *s, uintptr_t = a0) tcg_out_opc_reg(s, OPC_JR, 0, TCG_TMP0, 0); } /* delay slot */ - tcg_out_opc_imm(s, ALIAS_PADDI, TCG_REG_V0, base, lo); + tcg_out_opc_imm(s, OPC_DADDIU, TCG_REG_V0, base, lo); } =20 static void tcg_out_goto_tb(TCGContext *s, int which) @@ -1438,7 +1434,7 @@ static void tcg_out_goto_tb(TCGContext *s, int which) =20 set_jmp_reset_offset(s, which); /* For the unlinked case, need to reset TCG_REG_TB. */ - tcg_out_ldst(s, ALIAS_PADDI, TCG_REG_TB, TCG_REG_TB, + tcg_out_ldst(s, OPC_DADDIU, TCG_REG_TB, TCG_REG_TB, -tcg_current_code_size(s)); } =20 @@ -2360,7 +2356,7 @@ static void tcg_target_qemu_prologue(TCGContext *s) tcg_set_frame(s, TCG_REG_SP, TCG_STATIC_CALL_ARGS_SIZE, TEMP_SIZE); =20 /* TB prologue */ - tcg_out_opc_imm(s, ALIAS_PADDI, TCG_REG_SP, TCG_REG_SP, -FRAME_SIZE); + tcg_out_opc_imm(s, OPC_DADDIU, TCG_REG_SP, TCG_REG_SP, -FRAME_SIZE); for (i =3D 0; i < ARRAY_SIZE(tcg_target_callee_save_regs); i++) { tcg_out_st(s, TCG_TYPE_REG, tcg_target_callee_save_regs[i], TCG_REG_SP, SAVE_OFS + i * REG_SIZE); @@ -2403,7 +2399,7 @@ static void tcg_target_qemu_prologue(TCGContext *s) =20 tcg_out_opc_reg(s, OPC_JR, 0, TCG_REG_RA, 0); /* delay slot */ - tcg_out_opc_imm(s, ALIAS_PADDI, TCG_REG_SP, TCG_REG_SP, FRAME_SIZE); + tcg_out_opc_imm(s, OPC_DADDIU, TCG_REG_SP, TCG_REG_SP, FRAME_SIZE); =20 if (use_mips32r2_instructions) { return; --=20 2.43.0 From nobody Fri Nov 14 17:01:17 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1760718813; cv=none; d=zohomail.com; s=zohoarc; b=g42B3yZVm68Go9rkFN85r0oQDeFB+4UC6CqAxR70JOQwf8D3rD8gYGWm7sdIK46VGLXI61kpKkld34b5noeOXbtOvCsmxgzD5BH/JX5zVt7fW4KWs9qsBwHKtb2l5mMhUYDvDfHpAbxvWP0xsesDrnSQX6zANMWfksVjPYckf3Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760718813; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=m+6QxrQ2Grf7WmLsUxgCW2QmJGtF5cs8k5PSTxarhNg=; b=Hx+wVc3XUlVGFIvoOkhci33DhQxFhuwXcivWJbGKRtIQfT/CQFmz+VH537Gi53r24ZCrfv7Tj0pVofV5GLguCondfnmXg1YX6Cjz0n6n21BoukoQxufqXAj/61qyM+3AVzbbc4TdqarueOW6UE+aHu+gHVAQ5UozussQnTfURuE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1760718813391849.2343754142591; Fri, 17 Oct 2025 09:33:33 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v9nNT-0004q2-3d; Fri, 17 Oct 2025 12:32:27 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v9nNQ-0004pO-Mc for qemu-devel@nongnu.org; Fri, 17 Oct 2025 12:32:24 -0400 Received: from mail-pg1-x52e.google.com ([2607:f8b0:4864:20::52e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1v9nNH-0001CD-Hv for qemu-devel@nongnu.org; Fri, 17 Oct 2025 12:32:24 -0400 Received: by mail-pg1-x52e.google.com with SMTP id 41be03b00d2f7-b5579235200so1342902a12.3 for ; Fri, 17 Oct 2025 09:32:14 -0700 (PDT) Received: from stoup.. ([71.212.157.132]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-29099a7d1bbsm68667715ad.65.2025.10.17.09.32.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 09:32:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1760718733; x=1761323533; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=m+6QxrQ2Grf7WmLsUxgCW2QmJGtF5cs8k5PSTxarhNg=; b=pK5WD73JxeGXke8DeVopapGTOQZI2Hw4EiETb7mSnzcJ8k2NHpBIWu0xFFGHMecM8/ dcZFM2ZoXCRgaaJvGfbwcVqcG5gF24BZN9ro+javJOZde90FooBnnvlodZr+DQ4ldFWJ GWg7JBBFfGYl/t9hMrDBJ4grAR2TK5tTqny6tLDu2bTxlPfK/BXfUvRjDkVotGurE6Ha OYsOenPnnYorKHs4TkZrmRdgNkeR1+OyptK81oNztvwIQiynhJ2EFn92JIwdD0k8FkeW IP5wcTHXi12Lv52zIZFuAui2Q++Tw2278OjhEWqHCsMyLB2tk+OtInVtHVzPl0e4ilKN Zu9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760718733; x=1761323533; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=m+6QxrQ2Grf7WmLsUxgCW2QmJGtF5cs8k5PSTxarhNg=; b=o99iDDpjhZooX70xqCeiVDDlLdMKWDSBbG+HnFeaW08R42YKd4M1ztbsW9aajA5CDK fsGyvtcC3uV8IjbDqLU+BUK59PR9E3rul92RnazCxt9w/YclNKagcLy7bH837K90GhIq YYYXGElXf/mAnhr7efFY1QOavDF/Ic/24Z+qJsXQsvHKGkrKZuwJh3l7im8IRnNnrlGW oCXd7sXbOmIYGp/hfqwEVtkEooDCtxqw9c4tVHl8DkF90OaEGsRTnJgOErfBJoaqGXXR WexPRHp9wGAAZPHBdATywj381U7p53Nsmh8ZculZYkhfhiQRPrImljs3XKkTNdtzckyT 5IUA== X-Gm-Message-State: AOJu0YwDFFvSdzOsdeWOi+OOSWuE7M/vxm1pxEfixQtjtnmJ0xwm2csu 7YYaZxEJmR+BI1GSmy9Vkrv51WOj8xjFVQtCCFbI1/1zSk/hVrVEMQXqrqcYIeRN2kzeMkeUhlh 9HUBUVlg= X-Gm-Gg: ASbGncsxiqee8OZkxT+gqwUc05/QM6A22GxayxjNFaW5eg52M1lY7y5/EYQlkK0LLg3 bufG/NF5g5MLteoFZ7MNAIfb8Psv0oPrX4TRLPPPI3tXwzNuYSiSWaHN0P8r5U9b8+AY6jMvM6P fDDvrIwdsoQ28/J56VSfCUKu30eZSuP3mxlVqwoVGEn2nt+rwXJ1smzx+cfgLoZvuajSVOuCJYc kM8bIyUVjsq1spcjdEHS5m9uRmhvX5YgziQAQff9xGVqdUKlpeO9BT8zcQyF3LlPIbZZNUvrHW5 O4rhvbUqUqn31N1f2X6e0KDRRAVI6iUXY3UUtNFfPPOD6CI9SWFdZdPKxJYMy5EMU/BecybAeWg 2y/yQaqGC/q0rdwZy+CaFSOj4CNoUHLY4/QzvXNh8UQwsoqdjq3gGgZ8ATAUzDm6d0dyssU3ItL PWYjZtVuanua2vy7Dr X-Google-Smtp-Source: AGHT+IHjO1SHOqiJmGu6zQXNfaaKRF9sLcyHK7HrWaHrKVr2QNLhBDd193tOMKz3vZIgQX/VT7XgAA== X-Received: by 2002:a17:903:3c24:b0:24c:6125:390a with SMTP id d9443c01a7336-290c9c8c7cdmr40367215ad.10.1760718733160; Fri, 17 Oct 2025 09:32:13 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Thomas Huth Subject: [PATCH v3 7/9] buildsys: Remove support for 32-bit PPC hosts Date: Fri, 17 Oct 2025 09:32:04 -0700 Message-ID: <20251017163206.344542-8-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251017163206.344542-1-richard.henderson@linaro.org> References: <20251017163206.344542-1-richard.henderson@linaro.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=2607:f8b0:4864:20::52e; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x52e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1760718817867158500 From: Philippe Mathieu-Daud=C3=A9 Stop detecting 32-bit PPC host as supported. See previous commit for rationale. Reviewed-by: Thomas Huth Signed-off-by: Philippe Mathieu-Daud=C3=A9 [rth: Retain _ARCH_PPC64 check in udiv_qrnnd] Signed-off-by: Richard Henderson Message-ID: <20251014173900.87497-4-philmd@linaro.org> --- include/qemu/timer.h | 13 +------------ disas/disas-host.c | 4 +--- util/cacheflush.c | 4 ++-- configure | 19 +++++-------------- 4 files changed, 9 insertions(+), 31 deletions(-) diff --git a/include/qemu/timer.h b/include/qemu/timer.h index aec730ac25..406d741120 100644 --- a/include/qemu/timer.h +++ b/include/qemu/timer.h @@ -850,12 +850,11 @@ static inline int64_t get_clock(void) /*******************************************/ /* host CPU ticks (if available) */ =20 -#if defined(_ARCH_PPC) +#if defined(_ARCH_PPC64) =20 static inline int64_t cpu_get_host_ticks(void) { int64_t retval; -#ifdef _ARCH_PPC64 /* This reads timebase in one 64bit go and includes Cell workaround fr= om: http://ozlabs.org/pipermail/linuxppc-dev/2006-October/027052.html */ @@ -863,16 +862,6 @@ static inline int64_t cpu_get_host_ticks(void) "cmpwi %0,0\n\t" "beq- $-8" : "=3Dr" (retval)); -#else - /* http://ozlabs.org/pipermail/linuxppc-dev/1999-October/003889.html */ - unsigned long junk; - __asm__ __volatile__ ("mfspr %1,269\n\t" /* mftbu */ - "mfspr %L0,268\n\t" /* mftb */ - "mfspr %0,269\n\t" /* mftbu */ - "cmpw %0,%1\n\t" - "bne $-16" - : "=3Dr" (retval), "=3Dr" (junk)); -#endif return retval; } =20 diff --git a/disas/disas-host.c b/disas/disas-host.c index 8146fafe80..4b06f41fa6 100644 --- a/disas/disas-host.c +++ b/disas/disas-host.c @@ -56,11 +56,9 @@ static void initialize_debug_host(CPUDebug *s) s->info.cap_mode =3D CS_MODE_64; s->info.cap_insn_unit =3D 1; s->info.cap_insn_split =3D 8; -#elif defined(_ARCH_PPC) +#elif defined(_ARCH_PPC64) s->info.cap_arch =3D CS_ARCH_PPC; -# ifdef _ARCH_PPC64 s->info.cap_mode =3D CS_MODE_64; -# endif #elif defined(__riscv) #if defined(_ILP32) || (__riscv_xlen =3D=3D 32) s->info.print_insn =3D print_insn_riscv32; diff --git a/util/cacheflush.c b/util/cacheflush.c index 17c58918de..69c9614e2c 100644 --- a/util/cacheflush.c +++ b/util/cacheflush.c @@ -153,7 +153,7 @@ static void arch_cache_info(int *isize, int *dsize) } } =20 -#elif defined(_ARCH_PPC) && defined(__linux__) +#elif defined(_ARCH_PPC64) && defined(__linux__) # include "elf.h" =20 static void arch_cache_info(int *isize, int *dsize) @@ -187,7 +187,7 @@ static void fallback_cache_info(int *isize, int *dsize) } else if (*dsize) { *isize =3D *dsize; } else { -#if defined(_ARCH_PPC) +#if defined(_ARCH_PPC64) /* * For PPC, we're going to use the cache sizes computed for * flush_idcache_range. Which means that we must use the diff --git a/configure b/configure index 8263f81370..a2f66f7ff9 100755 --- a/configure +++ b/configure @@ -391,15 +391,11 @@ elif check_define __sparc__ ; then else cpu=3D"sparc" fi -elif check_define _ARCH_PPC ; then - if check_define _ARCH_PPC64 ; then - if check_define _LITTLE_ENDIAN ; then - cpu=3D"ppc64le" - else - cpu=3D"ppc64" - fi +elif check_define _ARCH_PPC64 ; then + if check_define _LITTLE_ENDIAN ; then + cpu=3D"ppc64le" else - cpu=3D"ppc" + cpu=3D"ppc64" fi elif check_define __mips__ ; then if check_define __mips64 ; then @@ -472,11 +468,6 @@ case "$cpu" in linux_arch=3Dmips ;; =20 - ppc) - host_arch=3Dppc - linux_arch=3Dpowerpc - CPU_CFLAGS=3D"-m32" - ;; ppc64) host_arch=3Dppc64 linux_arch=3Dpowerpc @@ -1471,7 +1462,7 @@ probe_target_compiler() { container_image=3Ddebian-all-test-cross container_cross_prefix=3Dmips64-linux-gnuabi64- ;; - ppc|ppc64|ppc64le) + ppc64|ppc64le) container_image=3Ddebian-all-test-cross container_cross_prefix=3Dpowerpc${target_arch#ppc}-linux-gnu- ;; --=20 2.43.0 From nobody Fri Nov 14 17:01:17 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1760718799; cv=none; d=zohomail.com; s=zohoarc; b=NT8qCGer6h5ww23a6k5AoELOYmZpGhVhlGipTM3CuXp3rogU1KhqCGHoUeznK9D6DSrqM9MBYDtaI82VbyT10q3XzFq15/9X8r3ygkVWrisQEoBuenLSS4JyuOlzbAxptLtSX3qXSKbDAOMrmFpo9p/DZpZVyHq9XKDUebm8sN0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760718799; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=wmlWS0sUrakSiaKFj6FiuRiCehdD6kFKgRgAe4fBI4w=; b=VhqKY3eu81LdyL7uFaXbuTGWETZ+wqRP1eXqSwkePGZUwVDQHINfVsZ9zzuajJBqATnDLKQo763u8PlXnuLyvBjsUldTHL76SRZtpFL9STMcGNi5hThiJF7l17bj95fnY6Z9Po9uLcOoqQBzpgUOE0RVeWqePZq71V/vB7PgYMY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1760718799129297.56463968911726; Fri, 17 Oct 2025 09:33:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v9nNQ-0004of-Tf; Fri, 17 Oct 2025 12:32:24 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v9nNN-0004nr-0D for qemu-devel@nongnu.org; Fri, 17 Oct 2025 12:32:21 -0400 Received: from mail-pl1-x630.google.com ([2607:f8b0:4864:20::630]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1v9nNH-0001CI-Ok for qemu-devel@nongnu.org; Fri, 17 Oct 2025 12:32:20 -0400 Received: by mail-pl1-x630.google.com with SMTP id d9443c01a7336-29226bc4bafso6071015ad.0 for ; Fri, 17 Oct 2025 09:32:15 -0700 (PDT) Received: from stoup.. ([71.212.157.132]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-29099a7d1bbsm68667715ad.65.2025.10.17.09.32.13 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 09:32:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1760718734; x=1761323534; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=wmlWS0sUrakSiaKFj6FiuRiCehdD6kFKgRgAe4fBI4w=; b=pfwAzMQcXOZ/C2j/sOIhEBwxDPJVIKirdSBxjIlMgCFDOI1OA9e7V1I9xAlWvEcDBi LRWX0Zvckq0L/lCCHgQTAHyY7ClcUoTtQY+j35s3kE64sGcol0ItbP3t1WAb49oKLo+E dTAJr1Ly+lSbJJdrl74cSAdIGL+IA7NKhFv1l+w9Y14TK4sxXflo7QjupjKdhxxjPi7b OoX2wLYwhQBlbK/4Kf784jGTIpK09NKgIuFWskFN3EQdTnOWS29fjtMnXBq0Uj/+OSew jNrpSY+/a9KYoAUTBsST++08up1iyZnSwbkLY9N359c5ev/DRi4Gr3w7SKhjzn8Wj8/t BJNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760718734; x=1761323534; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=wmlWS0sUrakSiaKFj6FiuRiCehdD6kFKgRgAe4fBI4w=; b=W2C6dQ/bex0uigzPm6dOXaIpsbpVcKEDTjvM45d6qp+sxsI2TQ7v6e3jUt6hTpgN6p 9Vw5fUGJYegMREjIe2M1gdyBr1IzsdLVW7NMpqaYz8jgq0KxEvbl6SztDD1MjzmzdMY4 nXQNECg8V6qx4tf255NmBiExxM4eYpBU6KdEQjjRrvEjozyTZSLo5uaaMFlUPhcpl5Su M1CkbfHerTTJEvtqVVAqR+FAnH7xjIABwflbXZpCZqY9u7ullsaAcEnLEgMDcZ4RCZ4j ziaUMv9hATtOEOM4MsIdU3hymY7NqRzJmVGxrrd8LRYMCwOz7hdKfQgfZD8nxmmEBc7I 7g/A== X-Gm-Message-State: AOJu0YzoaVsRzTDn0oQ3e/C8EpsoqdM7l6Ywyq35JvAqIQtKAYPVbI81 I53Jy1PmUOueoJIIcBWDNLGqVC8MvIpLJcO4OEl+Rp1ZPu8iIh3f3uG86WxqUulBFm/y6v+1dhk nosM/0nM= X-Gm-Gg: ASbGnctFAm/J6RD9/UPoTxaTwI4lpSBaUNKlbeoBBW8oqdR700BGSDa/bQcCUhTnLyC RV3yMwm1KimR/OYhHM+KldG2V0TtVR/ol3GGqoHlvG59agD/Lybjh2yDL2tCz9yzpoycs8BPYTO z7wtGLETwAxaUS04xmxjBB6r8RAsAk4Figr3N+g8e/WJr6XWMaLQmKryIF3lZliyGQDfD1ydJNw BPdXeF5mytkHHDDDL5qJkxedE4u9GNquD/0wymSL+Hiw9UxBOkWKZ90elhkt8JzfNleR2Bq27fK FzrfDe2W6n2z4aRW38fGXRjqOQkOsJjX6ACMLdJIzETcpCqiWBwWT60kro7DQ9pb+XKI91TCvMc sRV1Uhr3rxEEL+AFXwSNgbSV/8p/2BfS+4MTgmRLqBlBZ3vZvQTfuqMl3kkLazfxyivAAOGlAkO kc6tefH5c/Kj7FGNB0 X-Google-Smtp-Source: AGHT+IGg2+/ebUgHK/UCKwHxF1tebOLN4uNr9a1TLd1JegXL0hC06oEAFwmVXabr+p2q8uzs/JdF+A== X-Received: by 2002:a17:903:2343:b0:290:a3b9:d4c3 with SMTP id d9443c01a7336-290cb7594d6mr51424015ad.56.1760718733739; Fri, 17 Oct 2025 09:32:13 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 8/9] tcg/ppc: Remove dead cases from tcg_target_op_def Date: Fri, 17 Oct 2025 09:32:05 -0700 Message-ID: <20251017163206.344542-9-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251017163206.344542-1-richard.henderson@linaro.org> References: <20251017163206.344542-1-richard.henderson@linaro.org> MIME-Version: 1.0 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=2607:f8b0:4864:20::630; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x630.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1760718799958158500 Content-Type: text/plain; charset="utf-8" Missed some lines when converting to TCGOutOpQemuLdSt*. Fixes: 86fe5c2597c ("tcg: Convert qemu_st{2} to TCGOutOpLdSt{2}") Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- tcg/ppc/tcg-target.c.inc | 6 ------ 1 file changed, 6 deletions(-) diff --git a/tcg/ppc/tcg-target.c.inc b/tcg/ppc/tcg-target.c.inc index b8b23d44d5..cd2b68f9e1 100644 --- a/tcg/ppc/tcg-target.c.inc +++ b/tcg/ppc/tcg-target.c.inc @@ -4435,12 +4435,6 @@ static TCGConstraintSetIndex tcg_target_op_def(TCGOpcode op, TCGType type, unsigned flags) { switch (op) { - case INDEX_op_qemu_st: - return C_O0_I2(r, r); - case INDEX_op_qemu_st2: - return TCG_TARGET_REG_BITS =3D=3D 64 - ? C_O0_I3(o, m, r) : C_O0_I3(r, r, r); - case INDEX_op_add_vec: case INDEX_op_sub_vec: case INDEX_op_mul_vec: --=20 2.43.0 From nobody Fri Nov 14 17:01:17 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1760718797; cv=none; d=zohomail.com; s=zohoarc; b=RNWjvz0qAMmU063u1r8dZWve2AkSaMnv+CW35t1+7bZBEtPJq1gI2czvBv0WRFZp1DaYGAlJbEv6uejfN2h3ddZYZPMPnp948rBjceyisIO9xMeh1Y9MkRgH6PTRa4OqhATXabozG3OB22JNI6BBve58OYn+W7kywYJvHGO1kT4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760718797; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=+vPqycgqeHYP9wqVvXLdWY9Rm0HF5lWr6/dZ0KCgJxg=; b=myPoMY4iObA811AJuFq9EnkXwa6FaWY5g0K1ykJFYcORvb2MBNuhUXh71RL12aqo18ZzZRO818VKq3742i8ULYGfBg9s7wBoHFCne83oW7h4etRhetL27Mc/dbA+9qqqH3VH0sSGpQKjGc0+xaPy2JRKUKwiuCvDQ3mE/mYzC+8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1760718797704274.3134787908566; Fri, 17 Oct 2025 09:33:17 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v9nNS-0004pc-9j; Fri, 17 Oct 2025 12:32:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v9nNQ-0004ow-3I for qemu-devel@nongnu.org; Fri, 17 Oct 2025 12:32:24 -0400 Received: from mail-pf1-x432.google.com ([2607:f8b0:4864:20::432]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1v9nNI-0001Cn-S9 for qemu-devel@nongnu.org; Fri, 17 Oct 2025 12:32:23 -0400 Received: by mail-pf1-x432.google.com with SMTP id d2e1a72fcca58-78af3fe5b17so1876036b3a.2 for ; Fri, 17 Oct 2025 09:32:16 -0700 (PDT) Received: from stoup.. ([71.212.157.132]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-29099a7d1bbsm68667715ad.65.2025.10.17.09.32.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 09:32:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1760718735; x=1761323535; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=+vPqycgqeHYP9wqVvXLdWY9Rm0HF5lWr6/dZ0KCgJxg=; b=FdB+XdXZcLJHGjYTBLTusrL5fqM+ii20S60KOmCkRuFynaaa1fnDCgHCZxHt/Ox7To MhZOuyhi5Znr1zsw9X9XIUcLxh9OYaGfsPqEgPizLlZD1U8kYACWlJgD1pJxKdHNAc6D 9/B2tKYfGrB9hhBWp/RT6NopqkcCO90SscCRyhqQCT/pFYCOSFV+v/rEbE3SlhYtrJVB YO2N6M8WeyoarXs7s5za0u8K8QnFOImYq5D66wKYJ+TT9tUbXNqFO5SCcsc843dXNy+s CBhTo24byzSwlQgTWGF9tqywbpXMiUwZk/hA7oonIDocom2YrTzMtL8Z2otwStSQtwUr zTcg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760718735; x=1761323535; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+vPqycgqeHYP9wqVvXLdWY9Rm0HF5lWr6/dZ0KCgJxg=; b=iGUBHWE8craKop2yJ/hbVoWapN/V9oFcXAiCEYs07AEv5Im75YgPj9UiEGm+XFEL8z wcaKK9gms1a851l9j3G3WLuS1u8QdUTenmdxoWATveb7fYtVGESKLIDna9X6BFmCy5XK +j07daDK29CE9l9zQRpPKT/Qs9T8pZw1xBO/nw/+rFeXcHs6yg0p9LCARZInhP2OZo4K pXc6HSd10OH3UreIGzi1L6dJkAPDpnB07HzBAYgowZIPLG7/uIegXMosL5dxaPwKFlhi nJZiTw8OQyeUXeEKXshoby4u/GyvxJ1hUbGEsmTblqMlAgUyAxTte5agHXkRD7M8ZgIB 0VOg== X-Gm-Message-State: AOJu0YwL43EnfKQzk20Dw1nV8Vq7EztcVJRX1gk/6w9lQ5gQJoL+WJ4+ +4Pvflg6kJa8OIvyNh+NeqNiXF6XSfjHOg8V64JjhZj525J9BCcKUlAHod2Bkj2dZNAeLeV7BEZ 7ZD7y9wE= X-Gm-Gg: ASbGncv7P3DQuGvG9JtkFh3Hmd6nAw11yvR7zD1QGACEJ4V+5XNh0W4J7scEILQMlL4 OlCek6YupL0uOlVaQu3QV1ddP2Er4F+FiwSLstlePFNG0K+E0JEcGOQT50f6citr25aCy4SENkn 2GPB/FuQw5+GWBE56BlalpysEgvBj+T/9l2swVbS6ippuewx0L9s7G5pWQlBep2UBjk8ncdUmB6 kVIiv+fwWMgwl6yzHerP9WZkRwfS5kkn9Q46gTcY9hOrk0zAiHvFN0UGEFSkXmVC6AFeNU4CC8v 0/YJ4EYl2UybV2FFrlbA5DBvulcBlIkrytXOHB5o06M2A00AWurrTNUI9eIYUIxJ/KC43pvd00u 4C3goDHImmpkmnJmIzh3lMIaif8VcP/41uX7xg4gOhoDIy+zkV3AkgmX017qU1d9lX+OGpA0Fr/ AbruMOImm1YEsUD44A X-Google-Smtp-Source: AGHT+IEnGrJdZpLES/C0icMv0B+WfZKFDRIrgCdTg89ILwfi2aq/0+oJzt4ypcpGLCJD6mzbKTqFtQ== X-Received: by 2002:a17:902:e944:b0:26e:e6ab:66fe with SMTP id d9443c01a7336-290c9c89033mr47493965ad.5.1760718734458; Fri, 17 Oct 2025 09:32:14 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 9/9] tcg/ppc: Remove support for 32-bit hosts Date: Fri, 17 Oct 2025 09:32:06 -0700 Message-ID: <20251017163206.344542-10-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251017163206.344542-1-richard.henderson@linaro.org> References: <20251017163206.344542-1-richard.henderson@linaro.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=2607:f8b0:4864:20::432; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x432.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1760718800081154100 From: Philippe Mathieu-Daud=C3=A9 32-bit host support is deprecated since commit 6d701c9bac1 ("meson: Deprecate 32-bit host support"), released as v10.0. The next release being v10.2, we can remove the TCG backend for 32-bit PPC hosts. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Richard Henderson Message-ID: <20251014173900.87497-2-philmd@linaro.org> --- tcg/ppc/tcg-target-has.h | 5 +- tcg/ppc/tcg-target-reg-bits.h | 8 +- tcg/ppc/tcg-target.c.inc | 385 +++++++--------------------------- 3 files changed, 79 insertions(+), 319 deletions(-) diff --git a/tcg/ppc/tcg-target-has.h b/tcg/ppc/tcg-target-has.h index 81ec5aece7..a3711feeae 100644 --- a/tcg/ppc/tcg-target-has.h +++ b/tcg/ppc/tcg-target-has.h @@ -17,12 +17,9 @@ #define have_vsx (cpuinfo & CPUINFO_VSX) =20 /* optional instructions */ -#if TCG_TARGET_REG_BITS =3D=3D 64 #define TCG_TARGET_HAS_extr_i64_i32 0 -#endif =20 -#define TCG_TARGET_HAS_qemu_ldst_i128 \ - (TCG_TARGET_REG_BITS =3D=3D 64 && have_isa_2_07) +#define TCG_TARGET_HAS_qemu_ldst_i128 have_isa_2_07 =20 #define TCG_TARGET_HAS_tst 1 =20 diff --git a/tcg/ppc/tcg-target-reg-bits.h b/tcg/ppc/tcg-target-reg-bits.h index 0efa80e7e0..3a15d7bee4 100644 --- a/tcg/ppc/tcg-target-reg-bits.h +++ b/tcg/ppc/tcg-target-reg-bits.h @@ -7,10 +7,10 @@ #ifndef TCG_TARGET_REG_BITS_H #define TCG_TARGET_REG_BITS_H =20 -#ifdef _ARCH_PPC64 -# define TCG_TARGET_REG_BITS 64 -#else -# define TCG_TARGET_REG_BITS 32 +#ifndef _ARCH_PPC64 +# error Expecting 64-bit host architecture #endif =20 +#define TCG_TARGET_REG_BITS 64 + #endif diff --git a/tcg/ppc/tcg-target.c.inc b/tcg/ppc/tcg-target.c.inc index cd2b68f9e1..3c36b26f25 100644 --- a/tcg/ppc/tcg-target.c.inc +++ b/tcg/ppc/tcg-target.c.inc @@ -29,35 +29,18 @@ * Apple XCode does not define _CALL_DARWIN. * Clang defines _CALL_ELF (64-bit) but not _CALL_SYSV or _CALL_AIX. */ -#if TCG_TARGET_REG_BITS =3D=3D 64 -# ifdef _CALL_AIX +#ifdef _CALL_AIX /* ok */ -# elif defined(_CALL_ELF) && _CALL_ELF =3D=3D 1 +#elif defined(_CALL_ELF) && _CALL_ELF =3D=3D 1 # define _CALL_AIX -# elif defined(_CALL_ELF) && _CALL_ELF =3D=3D 2 +#elif defined(_CALL_ELF) && _CALL_ELF =3D=3D 2 /* ok */ -# else -# error "Unknown ABI" -# endif #else -# if defined(_CALL_SYSV) || defined(_CALL_DARWIN) - /* ok */ -# elif defined(__APPLE__) -# define _CALL_DARWIN -# elif defined(__ELF__) -# define _CALL_SYSV -# else # error "Unknown ABI" -# endif #endif =20 -#if TCG_TARGET_REG_BITS =3D=3D 64 -# define TCG_TARGET_CALL_ARG_I32 TCG_CALL_ARG_EXTEND -# define TCG_TARGET_CALL_RET_I128 TCG_CALL_RET_NORMAL -#else -# define TCG_TARGET_CALL_ARG_I32 TCG_CALL_ARG_NORMAL -# define TCG_TARGET_CALL_RET_I128 TCG_CALL_RET_BY_REF -#endif +#define TCG_TARGET_CALL_ARG_I32 TCG_CALL_ARG_EXTEND +#define TCG_TARGET_CALL_RET_I128 TCG_CALL_RET_NORMAL #ifdef _CALL_SYSV # define TCG_TARGET_CALL_ARG_I64 TCG_CALL_ARG_EVEN # define TCG_TARGET_CALL_ARG_I128 TCG_CALL_ARG_BY_REF @@ -81,7 +64,7 @@ #define TCG_VEC_TMP2 TCG_REG_V1 =20 #define TCG_REG_TB TCG_REG_R31 -#define USE_REG_TB (TCG_TARGET_REG_BITS =3D=3D 64 && !have_isa_3_00) +#define USE_REG_TB !have_isa_3_00 =20 /* Shorthand for size of a pointer. Avoid promotion to unsigned. */ #define SZP ((int)sizeof(void *)) @@ -327,8 +310,7 @@ static bool tcg_target_const_match(int64_t sval, int ct, if (uval =3D=3D (uint32_t)uval && mask_operand(uval, &mb, &me)= ) { return 1; } - if (TCG_TARGET_REG_BITS =3D=3D 64 && - mask64_operand(uval << clz64(uval), &mb, &me)) { + if (mask64_operand(uval << clz64(uval), &mb, &me)) { return 1; } return 0; @@ -857,10 +839,8 @@ static bool tcg_out_mov(TCGContext *s, TCGType type, T= CGReg ret, TCGReg arg) return true; } switch (type) { - case TCG_TYPE_I64: - tcg_debug_assert(TCG_TARGET_REG_BITS =3D=3D 64); - /* fallthru */ case TCG_TYPE_I32: + case TCG_TYPE_I64: if (ret < TCG_REG_V0) { if (arg < TCG_REG_V0) { tcg_out32(s, OR | SAB(arg, ret, arg)); @@ -898,7 +878,6 @@ static bool tcg_out_mov(TCGContext *s, TCGType type, TC= GReg ret, TCGReg arg) static void tcg_out_rld_rc(TCGContext *s, int op, TCGReg ra, TCGReg rs, int sh, int mb, bool rc) { - tcg_debug_assert(TCG_TARGET_REG_BITS =3D=3D 64); sh =3D SH(sh & 0x1f) | (((sh >> 5) & 1) << 1); mb =3D MB64((mb >> 5) | ((mb << 1) & 0x3f)); tcg_out32(s, op | RA(ra) | RS(rs) | sh | mb | rc); @@ -946,13 +925,11 @@ static void tcg_out_ext16u(TCGContext *s, TCGReg dst,= TCGReg src) =20 static void tcg_out_ext32s(TCGContext *s, TCGReg dst, TCGReg src) { - tcg_debug_assert(TCG_TARGET_REG_BITS =3D=3D 64); tcg_out32(s, EXTSW | RA(dst) | RS(src)); } =20 static void tcg_out_ext32u(TCGContext *s, TCGReg dst, TCGReg src) { - tcg_debug_assert(TCG_TARGET_REG_BITS =3D=3D 64); tcg_out_rld(s, RLDICL, dst, src, 0, 32); } =20 @@ -968,7 +945,6 @@ static void tcg_out_extu_i32_i64(TCGContext *s, TCGReg = dst, TCGReg src) =20 static void tcg_out_extrl_i64_i32(TCGContext *s, TCGReg rd, TCGReg rn) { - tcg_debug_assert(TCG_TARGET_REG_BITS =3D=3D 64); tcg_out_mov(s, TCG_TYPE_I32, rd, rn); } =20 @@ -1037,9 +1013,7 @@ static void tcg_out_movi_int(TCGContext *s, TCGType t= ype, TCGReg ret, tcg_target_long tmp; int shift; =20 - tcg_debug_assert(TCG_TARGET_REG_BITS =3D=3D 64 || type =3D=3D TCG_TYPE= _I32); - - if (TCG_TARGET_REG_BITS =3D=3D 64 && type =3D=3D TCG_TYPE_I32) { + if (type =3D=3D TCG_TYPE_I32) { arg =3D (int32_t)arg; } =20 @@ -1076,7 +1050,7 @@ static void tcg_out_movi_int(TCGContext *s, TCGType t= ype, TCGReg ret, =20 /* Load 32-bit immediates with two insns. Note that we've already eliminated bare ADDIS, so we know both insns are required. */ - if (TCG_TARGET_REG_BITS =3D=3D 32 || arg =3D=3D (int32_t)arg) { + if (arg =3D=3D (int32_t)arg) { tcg_out32(s, ADDIS | TAI(ret, 0, arg >> 16)); tcg_out32(s, ORI | SAI(ret, ret, arg)); return; @@ -1227,19 +1201,10 @@ static void tcg_out_dupi_vec(TCGContext *s, TCGType= type, unsigned vece, if (have_vsx) { load_insn =3D type =3D=3D TCG_TYPE_V64 ? LXSDX : LXVDSX; load_insn |=3D VRT(ret) | RB(TCG_REG_TMP1); - if (TCG_TARGET_REG_BITS =3D=3D 64) { - new_pool_label(s, val, rel, s->code_ptr, add); - } else { - new_pool_l2(s, rel, s->code_ptr, add, val >> 32, val); - } + new_pool_label(s, val, rel, s->code_ptr, add); } else { load_insn =3D LVX | VRT(ret) | RB(TCG_REG_TMP1); - if (TCG_TARGET_REG_BITS =3D=3D 64) { - new_pool_l2(s, rel, s->code_ptr, add, val, val); - } else { - new_pool_l4(s, rel, s->code_ptr, add, - val >> 32, val, val >> 32, val); - } + new_pool_l2(s, rel, s->code_ptr, add, val, val); } =20 if (USE_REG_TB) { @@ -1351,7 +1316,6 @@ static void tcg_out_andi64(TCGContext *s, TCGReg dst,= TCGReg src, uint64_t c) { int mb, me; =20 - tcg_debug_assert(TCG_TARGET_REG_BITS =3D=3D 64); if (mask64_operand(c, &mb, &me)) { if (mb =3D=3D 0) { tcg_out_rld(s, RLDICR, dst, src, 0, me); @@ -1543,7 +1507,6 @@ static void tcg_out_ld(TCGContext *s, TCGType type, T= CGReg ret, break; case TCG_TYPE_I64: if (ret < TCG_REG_V0) { - tcg_debug_assert(TCG_TARGET_REG_BITS =3D=3D 64); tcg_out_mem_long(s, LD, LDX, ret, base, offset); break; } @@ -1598,7 +1561,6 @@ static void tcg_out_st(TCGContext *s, TCGType type, T= CGReg arg, break; case TCG_TYPE_I64: if (arg < TCG_REG_V0) { - tcg_debug_assert(TCG_TARGET_REG_BITS =3D=3D 64); tcg_out_mem_long(s, STD, STDX, arg, base, offset); break; } @@ -1641,7 +1603,7 @@ static inline bool tcg_out_sti(TCGContext *s, TCGType= type, TCGArg val, static void tcg_out_test(TCGContext *s, TCGReg dest, TCGReg arg1, TCGArg a= rg2, bool const_arg2, TCGType type, bool rc) { - int mb, me; + int mb, me, sh; =20 if (!const_arg2) { tcg_out32(s, AND | SAB(arg1, dest, arg2) | rc); @@ -1664,12 +1626,10 @@ static void tcg_out_test(TCGContext *s, TCGReg dest= , TCGReg arg1, TCGArg arg2, tcg_out_rlw_rc(s, RLWINM, dest, arg1, 0, mb, me, rc); return; } - if (TCG_TARGET_REG_BITS =3D=3D 64) { - int sh =3D clz64(arg2); - if (mask64_operand(arg2 << sh, &mb, &me)) { - tcg_out_rld_rc(s, RLDICR, dest, arg1, sh, me, rc); - return; - } + sh =3D clz64(arg2); + if (mask64_operand(arg2 << sh, &mb, &me)) { + tcg_out_rld_rc(s, RLDICR, dest, arg1, sh, me, rc); + return; } /* Constraints should satisfy this. */ g_assert_not_reached(); @@ -1680,8 +1640,6 @@ static void tcg_out_cmp(TCGContext *s, int cond, TCGA= rg arg1, TCGArg arg2, { uint32_t op; =20 - tcg_debug_assert(TCG_TARGET_REG_BITS =3D=3D 64 || type =3D=3D TCG_TYPE= _I32); - /* * Simplify the comparisons below wrt CMPI. * All of the tests are 16-bit, so a 32-bit sign extend always works. @@ -1747,7 +1705,7 @@ static void tcg_out_cmp(TCGContext *s, int cond, TCGA= rg arg1, TCGArg arg2, static void tcg_out_setcond_eq0(TCGContext *s, TCGType type, TCGReg dst, TCGReg src, bool neg) { - if (neg && (TCG_TARGET_REG_BITS =3D=3D 32 || type =3D=3D TCG_TYPE_I64)= ) { + if (neg && type =3D=3D TCG_TYPE_I64) { /* * X !=3D 0 implies X + -1 generates a carry. * RT =3D (~X + X) + CA @@ -1774,7 +1732,7 @@ static void tcg_out_setcond_eq0(TCGContext *s, TCGTyp= e type, static void tcg_out_setcond_ne0(TCGContext *s, TCGType type, TCGReg dst, TCGReg src, bool neg) { - if (!neg && (TCG_TARGET_REG_BITS =3D=3D 32 || type =3D=3D TCG_TYPE_I64= )) { + if (!neg && type =3D=3D TCG_TYPE_I64) { /* * X !=3D 0 implies X + -1 generates a carry. Extra addition * trickery means: R =3D X-1 + ~X + C =3D X-1 + (-X+1) + C =3D C. @@ -1814,8 +1772,6 @@ static void tcg_out_setcond(TCGContext *s, TCGType ty= pe, TCGCond cond, int sh; bool inv; =20 - tcg_debug_assert(TCG_TARGET_REG_BITS =3D=3D 64 || type =3D=3D TCG_TYPE= _I32); - /* Ignore high bits of a potential constant arg2. */ if (type =3D=3D TCG_TYPE_I32) { arg2 =3D (uint32_t)arg2; @@ -2117,109 +2073,6 @@ static void tcg_out_cntxz(TCGContext *s, TCGType ty= pe, uint32_t opc, } } =20 -static void tcg_out_cmp2(TCGContext *s, TCGCond cond, TCGReg al, TCGReg ah, - TCGArg bl, bool blconst, TCGArg bh, bool bhconst) -{ - static const struct { uint8_t bit1, bit2; } bits[] =3D { - [TCG_COND_LT ] =3D { CR_LT, CR_LT }, - [TCG_COND_LE ] =3D { CR_LT, CR_GT }, - [TCG_COND_GT ] =3D { CR_GT, CR_GT }, - [TCG_COND_GE ] =3D { CR_GT, CR_LT }, - [TCG_COND_LTU] =3D { CR_LT, CR_LT }, - [TCG_COND_LEU] =3D { CR_LT, CR_GT }, - [TCG_COND_GTU] =3D { CR_GT, CR_GT }, - [TCG_COND_GEU] =3D { CR_GT, CR_LT }, - }; - - TCGCond cond2; - int op, bit1, bit2; - - switch (cond) { - case TCG_COND_EQ: - op =3D CRAND; - goto do_equality; - case TCG_COND_NE: - op =3D CRNAND; - do_equality: - tcg_out_cmp(s, cond, al, bl, blconst, 6, TCG_TYPE_I32); - tcg_out_cmp(s, cond, ah, bh, bhconst, 7, TCG_TYPE_I32); - tcg_out32(s, op | BT(0, CR_EQ) | BA(6, CR_EQ) | BB(7, CR_EQ)); - break; - - case TCG_COND_TSTEQ: - case TCG_COND_TSTNE: - if (blconst) { - tcg_out_andi32(s, TCG_REG_R0, al, bl); - } else { - tcg_out32(s, AND | SAB(al, TCG_REG_R0, bl)); - } - if (bhconst) { - tcg_out_andi32(s, TCG_REG_TMP1, ah, bh); - } else { - tcg_out32(s, AND | SAB(ah, TCG_REG_TMP1, bh)); - } - tcg_out32(s, OR | SAB(TCG_REG_R0, TCG_REG_R0, TCG_REG_TMP1) | 1); - break; - - case TCG_COND_LT: - case TCG_COND_LE: - case TCG_COND_GT: - case TCG_COND_GE: - case TCG_COND_LTU: - case TCG_COND_LEU: - case TCG_COND_GTU: - case TCG_COND_GEU: - bit1 =3D bits[cond].bit1; - bit2 =3D bits[cond].bit2; - op =3D (bit1 !=3D bit2 ? CRANDC : CRAND); - cond2 =3D tcg_unsigned_cond(cond); - - tcg_out_cmp(s, cond, ah, bh, bhconst, 6, TCG_TYPE_I32); - tcg_out_cmp(s, cond2, al, bl, blconst, 7, TCG_TYPE_I32); - tcg_out32(s, op | BT(0, CR_EQ) | BA(6, CR_EQ) | BB(7, bit2)); - tcg_out32(s, CROR | BT(0, CR_EQ) | BA(6, bit1) | BB(0, CR_EQ)); - break; - - default: - g_assert_not_reached(); - } -} - -static void tgen_setcond2(TCGContext *s, TCGCond cond, TCGReg ret, - TCGReg al, TCGReg ah, - TCGArg bl, bool const_bl, - TCGArg bh, bool const_bh) -{ - tcg_out_cmp2(s, cond, al, ah, bl, const_bl, bh, const_bh); - tcg_out32(s, MFOCRF | RT(TCG_REG_R0) | FXM(0)); - tcg_out_rlw(s, RLWINM, ret, TCG_REG_R0, CR_EQ + 0*4 + 1, 31, 31); -} - -#if TCG_TARGET_REG_BITS !=3D 32 -__attribute__((unused)) -#endif -static const TCGOutOpSetcond2 outop_setcond2 =3D { - .base.static_constraint =3D C_O1_I4(r, r, r, rU, rC), - .out =3D tgen_setcond2, -}; - -static void tgen_brcond2(TCGContext *s, TCGCond cond, TCGReg al, TCGReg ah, - TCGArg bl, bool const_bl, - TCGArg bh, bool const_bh, TCGLabel *l) -{ - assert(TCG_TARGET_REG_BITS =3D=3D 32); - tcg_out_cmp2(s, cond, al, ah, bl, const_bl, bh, const_bh); - tcg_out_bc_lab(s, TCG_COND_EQ, l); -} - -#if TCG_TARGET_REG_BITS !=3D 32 -__attribute__((unused)) -#endif -static const TCGOutOpBrcond2 outop_brcond2 =3D { - .base.static_constraint =3D C_O0_I4(r, r, rU, rC), - .out =3D tgen_brcond2, -}; - static void tcg_out_mb(TCGContext *s, unsigned a0) { uint32_t insn; @@ -2438,13 +2291,8 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContex= t *s, HostAddress *h, tcg_out_ld(s, TCG_TYPE_PTR, TCG_REG_TMP2, TCG_AREG0, table_off); =20 /* Extract the page index, shifted into place for tlb index. */ - if (TCG_TARGET_REG_BITS =3D=3D 32) { - tcg_out_shri32(s, TCG_REG_R0, addr, - TARGET_PAGE_BITS - CPU_TLB_ENTRY_BITS); - } else { - tcg_out_shri64(s, TCG_REG_R0, addr, - TARGET_PAGE_BITS - CPU_TLB_ENTRY_BITS); - } + tcg_out_shri64(s, TCG_REG_R0, addr, + TARGET_PAGE_BITS - CPU_TLB_ENTRY_BITS); tcg_out32(s, AND | SAB(TCG_REG_TMP1, TCG_REG_TMP1, TCG_REG_R0)); =20 /* @@ -2453,8 +2301,7 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext= *s, HostAddress *h, * We will ignore the high bits with tcg_out_cmp(..., addr_type). */ if (cmp_off =3D=3D 0) { - tcg_out32(s, (TCG_TARGET_REG_BITS =3D=3D 64 ? LDUX : LWZUX) - | TAB(TCG_REG_TMP2, TCG_REG_TMP1, TCG_REG_TMP2)); + tcg_out32(s, LDUX | TAB(TCG_REG_TMP2, TCG_REG_TMP1, TCG_REG_TM= P2)); } else { tcg_out32(s, ADD | TAB(TCG_REG_TMP1, TCG_REG_TMP1, TCG_REG_TMP= 2)); tcg_out_ld(s, TCG_TYPE_PTR, TCG_REG_TMP2, TCG_REG_TMP1, cmp_of= f); @@ -2464,51 +2311,36 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGConte= xt *s, HostAddress *h, * Load the TLB addend for use on the fast path. * Do this asap to minimize any load use delay. */ - if (TCG_TARGET_REG_BITS =3D=3D 64 || addr_type =3D=3D TCG_TYPE_I32= ) { - tcg_out_ld(s, TCG_TYPE_PTR, TCG_REG_TMP1, TCG_REG_TMP1, - offsetof(CPUTLBEntry, addend)); - } + tcg_out_ld(s, TCG_TYPE_PTR, TCG_REG_TMP1, TCG_REG_TMP1, + offsetof(CPUTLBEntry, addend)); =20 /* Clear the non-page, non-alignment bits from the address in R0. = */ - if (TCG_TARGET_REG_BITS =3D=3D 32) { - /* - * We don't support unaligned accesses on 32-bits. - * Preserve the bottom bits and thus trigger a comparison - * failure on unaligned accesses. - */ - if (a_bits < s_bits) { - a_bits =3D s_bits; - } - tcg_out_rlw(s, RLWINM, TCG_REG_R0, addr, 0, + TCGReg t =3D addr; + + /* + * If the access is unaligned, we need to make sure we fail if we + * cross a page boundary. The trick is to add the access size-1 + * to the address before masking the low bits. That will make the + * address overflow to the next page if we cross a page boundary, + * which will then force a mismatch of the TLB compare. + */ + if (a_bits < s_bits) { + unsigned a_mask =3D (1 << a_bits) - 1; + unsigned s_mask =3D (1 << s_bits) - 1; + tcg_out32(s, ADDI | TAI(TCG_REG_R0, t, s_mask - a_mask)); + t =3D TCG_REG_R0; + } + + /* Mask the address for the requested alignment. */ + if (addr_type =3D=3D TCG_TYPE_I32) { + tcg_out_rlw(s, RLWINM, TCG_REG_R0, t, 0, (32 - a_bits) & 31, 31 - TARGET_PAGE_BITS); + } else if (a_bits =3D=3D 0) { + tcg_out_rld(s, RLDICR, TCG_REG_R0, t, 0, 63 - TARGET_PAGE_BITS= ); } else { - TCGReg t =3D addr; - - /* - * If the access is unaligned, we need to make sure we fail if= we - * cross a page boundary. The trick is to add the access size= -1 - * to the address before masking the low bits. That will make= the - * address overflow to the next page if we cross a page bounda= ry, - * which will then force a mismatch of the TLB compare. - */ - if (a_bits < s_bits) { - unsigned a_mask =3D (1 << a_bits) - 1; - unsigned s_mask =3D (1 << s_bits) - 1; - tcg_out32(s, ADDI | TAI(TCG_REG_R0, t, s_mask - a_mask)); - t =3D TCG_REG_R0; - } - - /* Mask the address for the requested alignment. */ - if (addr_type =3D=3D TCG_TYPE_I32) { - tcg_out_rlw(s, RLWINM, TCG_REG_R0, t, 0, - (32 - a_bits) & 31, 31 - TARGET_PAGE_BITS); - } else if (a_bits =3D=3D 0) { - tcg_out_rld(s, RLDICR, TCG_REG_R0, t, 0, 63 - TARGET_PAGE_= BITS); - } else { - tcg_out_rld(s, RLDICL, TCG_REG_R0, t, - 64 - TARGET_PAGE_BITS, TARGET_PAGE_BITS - a_bi= ts); - tcg_out_rld(s, RLDICL, TCG_REG_R0, TCG_REG_R0, TARGET_PAGE= _BITS, 0); - } + tcg_out_rld(s, RLDICL, TCG_REG_R0, t, + 64 - TARGET_PAGE_BITS, TARGET_PAGE_BITS - a_bits); + tcg_out_rld(s, RLDICL, TCG_REG_R0, TCG_REG_R0, TARGET_PAGE_BIT= S, 0); } =20 /* Full comparison into cr0. */ @@ -2537,7 +2369,7 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext= *s, HostAddress *h, h->base =3D guest_base ? TCG_GUEST_BASE_REG : 0; } =20 - if (TCG_TARGET_REG_BITS =3D=3D 64 && addr_type =3D=3D TCG_TYPE_I32) { + if (addr_type =3D=3D TCG_TYPE_I32) { /* Zero-extend the guest address for use in the host address. */ tcg_out_ext32u(s, TCG_REG_TMP2, addr); h->index =3D TCG_REG_TMP2; @@ -2554,40 +2386,22 @@ static void tcg_out_qemu_ld(TCGContext *s, TCGReg d= atalo, TCGReg datahi, MemOp opc =3D get_memop(oi); TCGLabelQemuLdst *ldst; HostAddress h; + uint32_t insn =3D qemu_ldx_opc[opc & (MO_BSWAP | MO_SSIZE)]; =20 ldst =3D prepare_host_addr(s, &h, addr, oi, true); =20 - if (TCG_TARGET_REG_BITS =3D=3D 32 && (opc & MO_SIZE) =3D=3D MO_64) { - if (opc & MO_BSWAP) { - tcg_out32(s, ADDI | TAI(TCG_REG_R0, h.index, 4)); - tcg_out32(s, LWBRX | TAB(datalo, h.base, h.index)); - tcg_out32(s, LWBRX | TAB(datahi, h.base, TCG_REG_R0)); - } else if (h.base !=3D 0) { - tcg_out32(s, ADDI | TAI(TCG_REG_R0, h.index, 4)); - tcg_out32(s, LWZX | TAB(datahi, h.base, h.index)); - tcg_out32(s, LWZX | TAB(datalo, h.base, TCG_REG_R0)); - } else if (h.index =3D=3D datahi) { - tcg_out32(s, LWZ | TAI(datalo, h.index, 4)); - tcg_out32(s, LWZ | TAI(datahi, h.index, 0)); - } else { - tcg_out32(s, LWZ | TAI(datahi, h.index, 0)); - tcg_out32(s, LWZ | TAI(datalo, h.index, 4)); - } + if (!have_isa_2_06 && insn =3D=3D LDBRX) { + tcg_out32(s, ADDI | TAI(TCG_REG_R0, h.index, 4)); + tcg_out32(s, LWBRX | TAB(datalo, h.base, h.index)); + tcg_out32(s, LWBRX | TAB(TCG_REG_R0, h.base, TCG_REG_R0)); + tcg_out_rld(s, RLDIMI, datalo, TCG_REG_R0, 32, 0); + } else if (insn) { + tcg_out32(s, insn | TAB(datalo, h.base, h.index)); } else { - uint32_t insn =3D qemu_ldx_opc[opc & (MO_BSWAP | MO_SSIZE)]; - if (!have_isa_2_06 && insn =3D=3D LDBRX) { - tcg_out32(s, ADDI | TAI(TCG_REG_R0, h.index, 4)); - tcg_out32(s, LWBRX | TAB(datalo, h.base, h.index)); - tcg_out32(s, LWBRX | TAB(TCG_REG_R0, h.base, TCG_REG_R0)); - tcg_out_rld(s, RLDIMI, datalo, TCG_REG_R0, 32, 0); - } else if (insn) { - tcg_out32(s, insn | TAB(datalo, h.base, h.index)); - } else { - insn =3D qemu_ldx_opc[opc & (MO_SIZE | MO_BSWAP)]; - tcg_out32(s, insn | TAB(datalo, h.base, h.index)); - tcg_out_movext(s, TCG_TYPE_REG, datalo, - TCG_TYPE_REG, opc & MO_SSIZE, datalo); - } + insn =3D qemu_ldx_opc[opc & (MO_SIZE | MO_BSWAP)]; + tcg_out32(s, insn | TAB(datalo, h.base, h.index)); + tcg_out_movext(s, TCG_TYPE_REG, datalo, + TCG_TYPE_REG, opc & MO_SSIZE, datalo); } =20 if (ldst) { @@ -2604,32 +2418,17 @@ static void tcg_out_qemu_st(TCGContext *s, TCGReg d= atalo, TCGReg datahi, MemOp opc =3D get_memop(oi); TCGLabelQemuLdst *ldst; HostAddress h; + uint32_t insn =3D qemu_stx_opc[opc & (MO_BSWAP | MO_SIZE)]; =20 ldst =3D prepare_host_addr(s, &h, addr, oi, false); =20 - if (TCG_TARGET_REG_BITS =3D=3D 32 && (opc & MO_SIZE) =3D=3D MO_64) { - if (opc & MO_BSWAP) { - tcg_out32(s, ADDI | TAI(TCG_REG_R0, h.index, 4)); - tcg_out32(s, STWBRX | SAB(datalo, h.base, h.index)); - tcg_out32(s, STWBRX | SAB(datahi, h.base, TCG_REG_R0)); - } else if (h.base !=3D 0) { - tcg_out32(s, ADDI | TAI(TCG_REG_R0, h.index, 4)); - tcg_out32(s, STWX | SAB(datahi, h.base, h.index)); - tcg_out32(s, STWX | SAB(datalo, h.base, TCG_REG_R0)); - } else { - tcg_out32(s, STW | TAI(datahi, h.index, 0)); - tcg_out32(s, STW | TAI(datalo, h.index, 4)); - } + if (!have_isa_2_06 && insn =3D=3D STDBRX) { + tcg_out32(s, STWBRX | SAB(datalo, h.base, h.index)); + tcg_out32(s, ADDI | TAI(TCG_REG_TMP2, h.index, 4)); + tcg_out_shri64(s, TCG_REG_R0, datalo, 32); + tcg_out32(s, STWBRX | SAB(TCG_REG_R0, h.base, TCG_REG_TMP2)); } else { - uint32_t insn =3D qemu_stx_opc[opc & (MO_BSWAP | MO_SIZE)]; - if (!have_isa_2_06 && insn =3D=3D STDBRX) { - tcg_out32(s, STWBRX | SAB(datalo, h.base, h.index)); - tcg_out32(s, ADDI | TAI(TCG_REG_TMP2, h.index, 4)); - tcg_out_shri64(s, TCG_REG_R0, datalo, 32); - tcg_out32(s, STWBRX | SAB(TCG_REG_R0, h.base, TCG_REG_TMP2)); - } else { - tcg_out32(s, insn | SAB(datalo, h.base, h.index)); - } + tcg_out32(s, insn | SAB(datalo, h.base, h.index)); } =20 if (ldst) { @@ -2709,16 +2508,11 @@ static const TCGOutOpQemuLdSt outop_qemu_ld =3D { static void tgen_qemu_ld2(TCGContext *s, TCGType type, TCGReg datalo, TCGReg datahi, TCGReg addr, MemOpIdx oi) { - if (TCG_TARGET_REG_BITS =3D=3D 32) { - tcg_out_qemu_ld(s, datalo, datahi, addr, oi, type); - } else { - tcg_out_qemu_ldst_i128(s, datalo, datahi, addr, oi, true); - } + tcg_out_qemu_ldst_i128(s, datalo, datahi, addr, oi, true); } =20 static const TCGOutOpQemuLdSt2 outop_qemu_ld2 =3D { - .base.static_constraint =3D - TCG_TARGET_REG_BITS =3D=3D 64 ? C_N1O1_I1(o, m, r) : C_O2_I1(r, r,= r), + .base.static_constraint =3D C_N1O1_I1(o, m, r), .out =3D tgen_qemu_ld2, }; =20 @@ -2736,16 +2530,11 @@ static const TCGOutOpQemuLdSt outop_qemu_st =3D { static void tgen_qemu_st2(TCGContext *s, TCGType type, TCGReg datalo, TCGReg datahi, TCGReg addr, MemOpIdx oi) { - if (TCG_TARGET_REG_BITS =3D=3D 32) { - tcg_out_qemu_st(s, datalo, datahi, addr, oi, type); - } else { - tcg_out_qemu_ldst_i128(s, datalo, datahi, addr, oi, false); - } + tcg_out_qemu_ldst_i128(s, datalo, datahi, addr, oi, false); } =20 static const TCGOutOpQemuLdSt2 outop_qemu_st2 =3D { - .base.static_constraint =3D - TCG_TARGET_REG_BITS =3D=3D 64 ? C_O0_I3(o, m, r) : C_O0_I3(r, r, r= ), + .base.static_constraint =3D C_O0_I3(o, m, r), .out =3D tgen_qemu_st2, }; =20 @@ -2767,16 +2556,11 @@ static void tcg_out_nop_fill(tcg_insn_unit *p, int = count) #elif defined(_CALL_DARWIN) # define LINK_AREA_SIZE (6 * SZR) # define LR_OFFSET (2 * SZR) -#elif TCG_TARGET_REG_BITS =3D=3D 64 +#else # if defined(_CALL_ELF) && _CALL_ELF =3D=3D 2 # define LINK_AREA_SIZE (4 * SZR) # define LR_OFFSET (1 * SZR) # endif -#else /* TCG_TARGET_REG_BITS =3D=3D 32 */ -# if defined(_CALL_SYSV) -# define LINK_AREA_SIZE (2 * SZR) -# define LR_OFFSET (1 * SZR) -# endif #endif #ifndef LR_OFFSET # error "Unhandled abi" @@ -3107,7 +2891,6 @@ static void tgen_eqv(TCGContext *s, TCGType type, tcg_out32(s, EQV | SAB(a1, a0, a2)); } =20 -#if TCG_TARGET_REG_BITS =3D=3D 64 static void tgen_extrh_i64_i32(TCGContext *s, TCGType t, TCGReg a0, TCGReg= a1) { tcg_out_shri64(s, a0, a1, 32); @@ -3117,7 +2900,6 @@ static const TCGOutOpUnary outop_extrh_i64_i32 =3D { .base.static_constraint =3D C_O1_I1(r, r), .out_rr =3D tgen_extrh_i64_i32, }; -#endif =20 static void tgen_divs(TCGContext *s, TCGType type, TCGReg a0, TCGReg a1, TCGReg a2) @@ -3596,7 +3378,6 @@ static const TCGOutOpBswap outop_bswap32 =3D { .out_rr =3D tgen_bswap32, }; =20 -#if TCG_TARGET_REG_BITS =3D=3D 64 static void tgen_bswap64(TCGContext *s, TCGType type, TCGReg dst, TCGReg s= rc) { TCGReg t0 =3D dst =3D=3D src ? TCG_REG_R0 : dst; @@ -3639,7 +3420,6 @@ static const TCGOutOpUnary outop_bswap64 =3D { .base.static_constraint =3D C_O1_I1(r, r), .out_rr =3D tgen_bswap64, }; -#endif /* TCG_TARGET_REG_BITS =3D=3D 64 */ =20 static void tgen_neg(TCGContext *s, TCGType type, TCGReg a0, TCGReg a1) { @@ -3776,7 +3556,6 @@ static const TCGOutOpLoad outop_ld16s =3D { .out =3D tgen_ld16s, }; =20 -#if TCG_TARGET_REG_BITS =3D=3D 64 static void tgen_ld32u(TCGContext *s, TCGType type, TCGReg dest, TCGReg base, ptrdiff_t offset) { @@ -3798,7 +3577,6 @@ static const TCGOutOpLoad outop_ld32s =3D { .base.static_constraint =3D C_O1_I1(r, r), .out =3D tgen_ld32s, }; -#endif =20 static void tgen_st8(TCGContext *s, TCGType type, TCGReg data, TCGReg base, ptrdiff_t offset) @@ -4278,14 +4056,6 @@ static void tcg_out_vec_op(TCGContext *s, TCGOpcode = opc, tcg_out_bitsel_vec(s, a0, a1, a2, args[3]); return; =20 - case INDEX_op_dup2_vec: - assert(TCG_TARGET_REG_BITS =3D=3D 32); - /* With inputs a1 =3D xLxx, a2 =3D xHxx */ - tcg_out32(s, VMRGHW | VRT(a0) | VRA(a2) | VRB(a1)); /* a0 =3D xx= HL */ - tcg_out_vsldoi(s, TCG_VEC_TMP1, a0, a0, 8); /* tmp =3D HL= xx */ - tcg_out_vsldoi(s, a0, a0, TCG_VEC_TMP1, 8); /* a0 =3D HL= HL */ - return; - case INDEX_op_ppc_mrgh_vec: insn =3D mrgh_op[vece]; break; @@ -4465,7 +4235,6 @@ tcg_target_op_def(TCGOpcode op, TCGType type, unsigne= d flags) case INDEX_op_ppc_muleu_vec: case INDEX_op_ppc_mulou_vec: case INDEX_op_ppc_pkum_vec: - case INDEX_op_dup2_vec: return C_O1_I2(v, v, v); =20 case INDEX_op_not_vec: @@ -4543,9 +4312,7 @@ static void tcg_target_init(TCGContext *s) #if defined(_CALL_SYSV) tcg_regset_set_reg(s->reserved_regs, TCG_REG_R2); /* toc pointer */ #endif -#if defined(_CALL_SYSV) || TCG_TARGET_REG_BITS =3D=3D 64 tcg_regset_set_reg(s->reserved_regs, TCG_REG_R13); /* thread pointer */ -#endif tcg_regset_set_reg(s->reserved_regs, TCG_REG_TMP1); tcg_regset_set_reg(s->reserved_regs, TCG_REG_TMP2); tcg_regset_set_reg(s->reserved_regs, TCG_VEC_TMP1); @@ -4566,11 +4333,7 @@ typedef struct { /* We're expecting a 2 byte uleb128 encoded value. */ QEMU_BUILD_BUG_ON(FRAME_SIZE >=3D (1 << 14)); =20 -#if TCG_TARGET_REG_BITS =3D=3D 64 -# define ELF_HOST_MACHINE EM_PPC64 -#else -# define ELF_HOST_MACHINE EM_PPC -#endif +#define ELF_HOST_MACHINE EM_PPC64 =20 static DebugFrame debug_frame =3D { .cie.len =3D sizeof(DebugFrameCIE)-4, /* length after .len member */ --=20 2.43.0