From nobody Sat Nov 15 06:33:16 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=1753834407; cv=none; d=zohomail.com; s=zohoarc; b=Z9W1xe2vL9NJo+NDrZx7IeJkz5Vs9nI/ZOjFv0zvm80y8EBsO9suQ3Aq0vzu4knQPuYW0G94xBPW139Kgk/j5wTdscvb9Z59deMKfAFm29fIBDuxho0ZJautQEM8+xR5JLIzpWna+BuYm0cjJGUvpGjktH8eVOAM4WWoXWu+dCc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753834407; 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=k+/UhXm/gWEv2l8V5Fg2cCxbxcPKP5GDojGjN4Gy2Hg=; b=acb/9qsjQ92p8KJFZ7CP5Y6niKh4RvthdACZqLSdji7OhIoVWru/5Q+0r9Tbeb0h3lIKGiVFUVv7i5WBaLeugadN6Ivsc6PWjd23Df+lpRhZsSdJTbDqq1qdSqwT20pRU1c8OszBigUKypuSP4GSsKFXR1HM8IHt3hXKrAxcIEU= 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 1753834407889146.02429458571112; Tue, 29 Jul 2025 17:13:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguQx-0001Qi-Og; Tue, 29 Jul 2025 20:12:41 -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 1uguEw-0001HS-8f for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:16 -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 1uguEs-0003yv-Ni for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:12 -0400 Received: by mail-pf1-x432.google.com with SMTP id d2e1a72fcca58-75ce780af03so5457455b3a.2 for ; Tue, 29 Jul 2025 17:00:10 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.07 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833609; x=1754438409; 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=k+/UhXm/gWEv2l8V5Fg2cCxbxcPKP5GDojGjN4Gy2Hg=; b=xVfX+S6PHFyeM4Iuvt/zZPLb2V2RbSSFjNSzpN4DP12J1HFIfc2V4vursmocm21MR3 WBhmRZW5VtP0S9klLcrcOi4IN6CDZN2GUHZT2noJiSZv+JzPAYAXxgeC4SRiU1MRkgtz 8IQfHX3xz93+ctwYBdjmjVa+//+JpyP7gxOEYerZDtrnHO3A/4wfQ/A2EffdfRCcpadi 1AK/eBmrZQPRkaQYRq+PkTpkK/FsU2xtAQSoVoExgmKOpLD4nzx1BFj5xniaty4Xnxfn QikCUlQKSt4qxwO+jJF7ueU+TRTE0n8lJx/ne2BFNGI1NgvVbkTjJUsa9KtBmN8Lwh0v NChA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833609; x=1754438409; 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=k+/UhXm/gWEv2l8V5Fg2cCxbxcPKP5GDojGjN4Gy2Hg=; b=DD0uOLt5RvW0x0r6kj6malXm2e3r4HITbCkmtlBjEf9dsWddhvafHLbR8FTJ9iJ43O pKKxp/P20YCv3NHYUe6Lpzf1tp4aS50zRfNcia1/yO+zOMY4z9pEY3xBXlHt3S2HMmSE H/5A1UVPtFcBYB3PSww0zFM1nyOauqrbxw+8S2K8dhwtBZc2nwcSi4BEH8E7CH7yCN0j G3Ykd1pv5pjT+J/JblJd1mRreNKIF+4UwgE+660r4KP/BHVUUORCbag1WONd7SCLPdyL 5NOGnuVijuEowoOYjitYpO/paxeCV9wsogXxODI9XfJ+NGv3JCvZAOYeM0neegy3GxV9 44ng== X-Gm-Message-State: AOJu0YyyAfX4GlaQhC6mEeWtT9zvfJNU4ariMv9u04gsksoCJoKjeRt5 E3bPBN+IboxRyz8Y+3wDlwZrS+lYFyFbOixW8BeWRYdnX6+dmKqb0M1uAsVGvifL3/KMQO5ezXI I7Plb X-Gm-Gg: ASbGncvNQQPVLGsMd/kV0QVFXZo1c2PRrU2QoyXNpM3cnwEpPYD5V0uFIJg6W/5v37r IUY4gB4VjafGf3RCC+ida3M0aHMyBcIWUTVs8+yuSjkFEjhdqAvGAI/Wm3DPuHZ95RovTt3XD+G T9KXAEPHDcoYvG7I55wmXpYY5XXs3f8oBu3cZFdh53nSRYwrhS93zxhCWNrAzJhfAsEaWflN5GP /Eqjz6QseM2oTSVUMJymMMSgfOPmniZm404JfYmBhTmVrcUvloyQkPOyLUSQGaEQMyTTcBsySX8 rAHVhnHTGj4dl4+TaS58IXMLGRhUU+oCVlJrXAjMetS2cqYUkJ3yMoTo/urrDIQ0/KQUWU7sFwj iOGiboPwPM+mcsRdjTyMRjqs3ZhTQaMOSppREsYSWk+eNvSFP3KUhdvn7etfIQiiGMkk57N75Nh nmwxJD/+IRdw== X-Google-Smtp-Source: AGHT+IFCBQYFTmAflbiYeCWO3j1Hu9Refh2NAcTy6oxxLpYTfuv0UVbxvY9IM7EkG4LzPT0od0wGzA== X-Received: by 2002:a05:6a00:ac8:b0:746:24c9:c92e with SMTP id d2e1a72fcca58-76ab1614553mr2318474b3a.8.1753833608414; Tue, 29 Jul 2025 17:00:08 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 01/89] linux-user: Create target/elfload.c files Date: Tue, 29 Jul 2025 13:58:34 -1000 Message-ID: <20250730000003.599084-2-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::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: 1753834409256116600 Content-Type: text/plain; charset="utf-8" Prepare to split the main linux-user/elfload.c. Create empty files for each target, and add the common build rule. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/aarch64/elfload.c | 1 + linux-user/alpha/elfload.c | 1 + linux-user/arm/elfload.c | 1 + linux-user/hexagon/elfload.c | 1 + linux-user/hppa/elfload.c | 1 + linux-user/i386/elfload.c | 1 + linux-user/loongarch64/elfload.c | 1 + linux-user/m68k/elfload.c | 1 + linux-user/microblaze/elfload.c | 1 + linux-user/mips/elfload.c | 1 + linux-user/mips64/elfload.c | 1 + linux-user/openrisc/elfload.c | 1 + linux-user/ppc/elfload.c | 1 + linux-user/riscv/elfload.c | 1 + linux-user/s390x/elfload.c | 1 + linux-user/sh4/elfload.c | 1 + linux-user/sparc/elfload.c | 1 + linux-user/x86_64/elfload.c | 1 + linux-user/xtensa/elfload.c | 1 + meson.build | 6 +++++- 20 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 linux-user/aarch64/elfload.c create mode 100644 linux-user/alpha/elfload.c create mode 100644 linux-user/arm/elfload.c create mode 100644 linux-user/hexagon/elfload.c create mode 100644 linux-user/hppa/elfload.c create mode 100644 linux-user/i386/elfload.c create mode 100644 linux-user/loongarch64/elfload.c create mode 100644 linux-user/m68k/elfload.c create mode 100644 linux-user/microblaze/elfload.c create mode 100644 linux-user/mips/elfload.c create mode 100644 linux-user/mips64/elfload.c create mode 100644 linux-user/openrisc/elfload.c create mode 100644 linux-user/ppc/elfload.c create mode 100644 linux-user/riscv/elfload.c create mode 100644 linux-user/s390x/elfload.c create mode 100644 linux-user/sh4/elfload.c create mode 100644 linux-user/sparc/elfload.c create mode 100644 linux-user/x86_64/elfload.c create mode 100644 linux-user/xtensa/elfload.c diff --git a/linux-user/aarch64/elfload.c b/linux-user/aarch64/elfload.c new file mode 100644 index 0000000000..73fa78ef14 --- /dev/null +++ b/linux-user/aarch64/elfload.c @@ -0,0 +1 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ diff --git a/linux-user/alpha/elfload.c b/linux-user/alpha/elfload.c new file mode 100644 index 0000000000..73fa78ef14 --- /dev/null +++ b/linux-user/alpha/elfload.c @@ -0,0 +1 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ diff --git a/linux-user/arm/elfload.c b/linux-user/arm/elfload.c new file mode 100644 index 0000000000..73fa78ef14 --- /dev/null +++ b/linux-user/arm/elfload.c @@ -0,0 +1 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ diff --git a/linux-user/hexagon/elfload.c b/linux-user/hexagon/elfload.c new file mode 100644 index 0000000000..73fa78ef14 --- /dev/null +++ b/linux-user/hexagon/elfload.c @@ -0,0 +1 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ diff --git a/linux-user/hppa/elfload.c b/linux-user/hppa/elfload.c new file mode 100644 index 0000000000..73fa78ef14 --- /dev/null +++ b/linux-user/hppa/elfload.c @@ -0,0 +1 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ diff --git a/linux-user/i386/elfload.c b/linux-user/i386/elfload.c new file mode 100644 index 0000000000..73fa78ef14 --- /dev/null +++ b/linux-user/i386/elfload.c @@ -0,0 +1 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ diff --git a/linux-user/loongarch64/elfload.c b/linux-user/loongarch64/elfl= oad.c new file mode 100644 index 0000000000..73fa78ef14 --- /dev/null +++ b/linux-user/loongarch64/elfload.c @@ -0,0 +1 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ diff --git a/linux-user/m68k/elfload.c b/linux-user/m68k/elfload.c new file mode 100644 index 0000000000..73fa78ef14 --- /dev/null +++ b/linux-user/m68k/elfload.c @@ -0,0 +1 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ diff --git a/linux-user/microblaze/elfload.c b/linux-user/microblaze/elfloa= d.c new file mode 100644 index 0000000000..73fa78ef14 --- /dev/null +++ b/linux-user/microblaze/elfload.c @@ -0,0 +1 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ diff --git a/linux-user/mips/elfload.c b/linux-user/mips/elfload.c new file mode 100644 index 0000000000..73fa78ef14 --- /dev/null +++ b/linux-user/mips/elfload.c @@ -0,0 +1 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ diff --git a/linux-user/mips64/elfload.c b/linux-user/mips64/elfload.c new file mode 100644 index 0000000000..b719555e65 --- /dev/null +++ b/linux-user/mips64/elfload.c @@ -0,0 +1 @@ +#include "../mips/elfload.c" diff --git a/linux-user/openrisc/elfload.c b/linux-user/openrisc/elfload.c new file mode 100644 index 0000000000..73fa78ef14 --- /dev/null +++ b/linux-user/openrisc/elfload.c @@ -0,0 +1 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ diff --git a/linux-user/ppc/elfload.c b/linux-user/ppc/elfload.c new file mode 100644 index 0000000000..73fa78ef14 --- /dev/null +++ b/linux-user/ppc/elfload.c @@ -0,0 +1 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ diff --git a/linux-user/riscv/elfload.c b/linux-user/riscv/elfload.c new file mode 100644 index 0000000000..73fa78ef14 --- /dev/null +++ b/linux-user/riscv/elfload.c @@ -0,0 +1 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ diff --git a/linux-user/s390x/elfload.c b/linux-user/s390x/elfload.c new file mode 100644 index 0000000000..73fa78ef14 --- /dev/null +++ b/linux-user/s390x/elfload.c @@ -0,0 +1 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ diff --git a/linux-user/sh4/elfload.c b/linux-user/sh4/elfload.c new file mode 100644 index 0000000000..73fa78ef14 --- /dev/null +++ b/linux-user/sh4/elfload.c @@ -0,0 +1 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ diff --git a/linux-user/sparc/elfload.c b/linux-user/sparc/elfload.c new file mode 100644 index 0000000000..73fa78ef14 --- /dev/null +++ b/linux-user/sparc/elfload.c @@ -0,0 +1 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ diff --git a/linux-user/x86_64/elfload.c b/linux-user/x86_64/elfload.c new file mode 100644 index 0000000000..73fa78ef14 --- /dev/null +++ b/linux-user/x86_64/elfload.c @@ -0,0 +1 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ diff --git a/linux-user/xtensa/elfload.c b/linux-user/xtensa/elfload.c new file mode 100644 index 0000000000..73fa78ef14 --- /dev/null +++ b/linux-user/xtensa/elfload.c @@ -0,0 +1 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ diff --git a/meson.build b/meson.build index e53cd5b413..516b1a43c3 100644 --- a/meson.build +++ b/meson.build @@ -4325,7 +4325,11 @@ foreach target : target_dirs ) if 'CONFIG_LINUX_USER' in config_target dir =3D base_dir / abi - arch_srcs +=3D files(dir / 'signal.c', dir / 'cpu_loop.c') + arch_srcs +=3D files( + dir / 'cpu_loop.c', + dir / 'elfload.c', + dir / 'signal.c', + ) if config_target.has_key('TARGET_SYSTBL_ABI') arch_srcs +=3D \ syscall_nr_generators[abi].process(base_dir / abi / config_targe= t['TARGET_SYSTBL'], --=20 2.43.0 From nobody Sat Nov 15 06:33:16 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1753834727362729.5829591178658; Tue, 29 Jul 2025 17:18:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguRM-0001nK-NY; Tue, 29 Jul 2025 20:13:04 -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 1uguEw-0001HT-9S for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:16 -0400 Received: from mail-pf1-x42f.google.com ([2607:f8b0:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguEu-0003z2-61 for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:13 -0400 Received: by mail-pf1-x42f.google.com with SMTP id d2e1a72fcca58-769a21bd4d5so1282173b3a.0 for ; Tue, 29 Jul 2025 17:00:11 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.08 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833610; x=1754438410; 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=Xsa98zLjycws072TZ9ULZ4wir2nAMTZECnV1abgrHqw=; b=NfxvJE1vBYyfXUdPhUO5IfOtxGxk8QRGGY2obqXrDKsoVEackH89zYFZETHNrDhpFQ r26PnuGtlvh3XMVnN6TZEqEDexHQ90iUxE37E228xZNBOOfqU7Aa7thjZOc+sysFcOe3 kDFU+u6fha9PKhxlZGZn306zL6oqOzM1I8u1qiAVhinkFomCh0sU7VXWg+zdfAQgaN3j YyAvdF7YZjc7/1PKkkZMrWEBMiqwung9hb9VYRlfKVTMrmodvHb+NdzcSMnxecnITNUb L2ZT9rWeT4PZQlRlydTAlhs7/0qiPCw/E+bnJjxXzviKfgH9V479Unsguci7zCsMmcG8 yxwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833610; x=1754438410; 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=Xsa98zLjycws072TZ9ULZ4wir2nAMTZECnV1abgrHqw=; b=tLtsYSNkmfhA868hJm8+rrNMG9F+5j6dchpQsqHrfcwBcHao/Ao5y6hvaKT2qz4sgF Mw1Noer7ZSAvvkZ0NVHNzuPDMzBIkgcDDbDA1jqB1K2VagZwfVM6Z9TYTlV+uhWqd3Zh BF6pZIJ/C2Mc3bQvrDrFKbmrpXFX/OZq9f5GsZ3RIdCutoqj2vf3VR9XaT/Z0xvTkWu8 sk+GAUmsaR0yEToD4xPVZHUI/Ump1bN6PJuNQ9Cl3dkBSQtDvIbKTwKsidg2yWr4srgh pfVu9LGnCYvIQPMfgJucjH/nqSvf3Wy+sCX8AIaZvburGRxMT8ijJt4AgoxWmHBvT9pe tB0Q== X-Gm-Message-State: AOJu0YwwZsJgomLR+brcFxpeHQMLcK47b+fEIgf+QxjoOZy3U1Iz+TrM l2u9DnDiio4GcVo1Do8kjTGN/5Vnlj60rhJxdHtLpTuKPBfiAo6nk7vx5Ojiac08tEvrUQUnNWO DPO/L X-Gm-Gg: ASbGnctnjcnb1kgn2gXQB0LRQrdyECShWYyq492BUU2Mj/WrNIqSNW8X3ZVeEVjqm/u W4bUR2RFWHy9p4qpSiFqSi8uEXPcAlKHFP+CxAepP+ynBrZa5upyhoCII5RSN6SnAAl/q+7Kg7s 3R3vOFi3+hRY3dGpNMdrTEf3tE7/wgL5iJKBU2/dlx3cnkto68hJ0e4JykGP6tmH+C3t+oFshhn 2oC4mq2ITdthd0VUYiGtNVOtdjmCHXtPksA1m7+l71xAQuCtAh4XC/zJ7BtleRquw2HljvXe5ed eSzBWv7lPvR+G/4xMVvJ2o+8HGx3xT2RkQdfMCyIiq9GwYMmQ3MKkAOFlMjdXtQ/IvCBYMa8rXx +5vrx+YP0T/26s9aC/M5TyPdO+5M2Pnim0lozfXEqBlReqNN8UkQBPsQYab+ZNGNbQE9gflVSOL urk749wYEuqg== X-Google-Smtp-Source: AGHT+IET9tLo0lXMXHlAcoSdzVwbv/hOFnpBvEklin3OpPTOA7OF/36QQOY1Kfex3wPGWpsFhGeWhw== X-Received: by 2002:a05:6a20:9392:b0:21f:39c9:2122 with SMTP id adf61e73a8af0-23dc0d84dacmr1894018637.2.1753833609787; Tue, 29 Jul 2025 17:00:09 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 02/89] linux-user: Move get_elf_hwcap to {i386, x86_64}/elfload.c Date: Tue, 29 Jul 2025 13:58:35 -1000 Message-ID: <20250730000003.599084-3-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::42f; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42f.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: fail (Header signature does not verify) X-ZM-MESSAGEID: 1753834728231116600 Content-Type: text/plain; charset="utf-8" Change the return type to abi_ulong, and pass in the cpu. Duplicate the one line function between i386 and x86_64, as most other additions to elfload.c won't be common. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/loader.h | 3 +++ linux-user/elfload.c | 9 +-------- linux-user/i386/elfload.c | 10 ++++++++++ linux-user/x86_64/elfload.c | 10 ++++++++++ 4 files changed, 24 insertions(+), 8 deletions(-) diff --git a/linux-user/loader.h b/linux-user/loader.h index e102e6f410..a2869ec5de 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -98,6 +98,9 @@ abi_long memcpy_to_target(abi_ulong dest, const void *src, =20 extern unsigned long guest_stack_size; =20 +#if defined(TARGET_I386) || defined(TARGET_X86_64) +abi_ulong get_elf_hwcap(CPUState *cs); +#endif #if defined(TARGET_S390X) || defined(TARGET_AARCH64) || defined(TARGET_ARM) uint32_t get_elf_hwcap(void); const char *elf_hwcap_str(uint32_t bit); diff --git a/linux-user/elfload.c b/linux-user/elfload.c index ea214105ff..f05888055f 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -158,14 +158,7 @@ typedef abi_int target_pid_t; =20 #ifdef TARGET_I386 =20 -#define ELF_HWCAP get_elf_hwcap() - -static uint32_t get_elf_hwcap(void) -{ - X86CPU *cpu =3D X86_CPU(thread_cpu); - - return cpu->env.features[FEAT_1_EDX]; -} +#define ELF_HWCAP get_elf_hwcap(thread_cpu) =20 #ifdef TARGET_X86_64 #define ELF_CLASS ELFCLASS64 diff --git a/linux-user/i386/elfload.c b/linux-user/i386/elfload.c index 73fa78ef14..df171d896a 100644 --- a/linux-user/i386/elfload.c +++ b/linux-user/i386/elfload.c @@ -1 +1,11 @@ /* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include "qemu/osdep.h" +#include "qemu.h" +#include "loader.h" + + +abi_ulong get_elf_hwcap(CPUState *cs) +{ + return cpu_env(cs)->features[FEAT_1_EDX]; +} diff --git a/linux-user/x86_64/elfload.c b/linux-user/x86_64/elfload.c index 73fa78ef14..df171d896a 100644 --- a/linux-user/x86_64/elfload.c +++ b/linux-user/x86_64/elfload.c @@ -1 +1,11 @@ /* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include "qemu/osdep.h" +#include "qemu.h" +#include "loader.h" + + +abi_ulong get_elf_hwcap(CPUState *cs) +{ + return cpu_env(cs)->features[FEAT_1_EDX]; +} --=20 2.43.0 From nobody Sat Nov 15 06:33:16 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1753834559666332.05392251382614; Tue, 29 Jul 2025 17:15:59 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguRe-00026Z-H0; Tue, 29 Jul 2025 20:13: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 1uguF1-0001MH-Ih for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:21 -0400 Received: from mail-pf1-x429.google.com ([2607:f8b0:4864:20::429]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguEw-0003zS-6D for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:18 -0400 Received: by mail-pf1-x429.google.com with SMTP id d2e1a72fcca58-7426c44e014so316066b3a.3 for ; Tue, 29 Jul 2025 17:00:13 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.10 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833613; x=1754438413; 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=l3REuoMOqxZRt5TAAakNG4PbxP0gW+9lzAu2leVqw30=; b=Ga5udcqoFoKzAATXSl2GvI6AvzWeHuvYxNC2ckneWq4374YccA0vXYIXCF8jbJopiB RRR1ZxsaSOqrB/N7i9lhEvvL2ybUcBSkMInWfW0frOYrvPnBI/+8PUYh/b4b/qz6y/ak Yrd39caIOZjEC0T1fNjx5UMyhasonE5QqHF+gMrILsFuV76F+l2QPcz5IrT0Vk3Z1XGX usg7P5VTWQNbFbgkJfmjwbKiyqin+J0UUb2btAJfIdo6pS9yUiTX+/poMjdMTUIIktBP oZ7Yzhd6Qw92gdHiV7NOiol7MRUDa+r+ptfCIPghBjhwS/jEtnwVIBTacOGtOT2k/YHu sSFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833613; x=1754438413; 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=l3REuoMOqxZRt5TAAakNG4PbxP0gW+9lzAu2leVqw30=; b=M9c6GInjdds97+fcsgnMw/ISeGueGa4Txd225yQsFEzL75JvttpWWR+zWimiYCa3V0 4jYHi8lWa48XcfeU6Ncu1OQ2oC+r5yhnwqh3FPGvyZkc2gKR29wlhtpXvOmiKlluUCkw hT44YtTHYKtZLdnyuUDkCSk2AWxoKJBko6InW7N/PlLE6MIAthScUEBdwlfdXx5BA58k B6+pGhYEgy3zEHTHifu/ZwvVagfOIFeJoTUjWdov7l22zYq8F4RdqW8HSyi9VVsjt7n/ eICT6a84bh0saVgr5PaqUrf4ED+W+aJZkrRFSHv85TYofniGHazBde4G0JNv5so5zwM0 65Ag== X-Gm-Message-State: AOJu0Yy0r5/Qv5+8JHL/VQm/e9egvKfBtO3PFsgLFu3Pht+eSPUzAjGW RH0DbRlRAIGCs7E+HLH69yxf78VD/PI6UJ2n4ijNWdyZnC12qEWKh+qQcSxFSSaGQDKk0C00aHZ 65XGq X-Gm-Gg: ASbGncsJbGzXj3E7t86pcBlyxym1OamgPBYGjkO2UAPvmZXDRDDtLsGg3LPace5j/N1 HQGtWotC0jIxLXZWcLUMC5V+rjBbnR7rqvNaGy9UiZpivyTInAYPgGN64Rck66IT4OQpM7hQLBX HaIVkIdoGA+nhdQmz846x9c/0yG6tveF+eVX8LQNEq+hXObCPgkXIwAzwEJGzDD0USeXwJqNw4l YAhTHEXODgoFNrIlqylXsTg9nYBD1CGXvMNtbOl2hPmk0RHGwN70XtEB3Kk51JqtGY+EJhqjkyr ruhJoJ/pY47/t+k7DjIiMDyT3kp0IL5yUFLgVIX4t5ckHiQBeXzgI+BGpVSOkFYV1EfdUf1VlTT UGSlXLSKlGefuylXZ3l8l2r7Epf/h3EmwA2VPmzjYDxCYzcok7anwgtO91xbFn/vMqMv0OV91Oa rzzUygWyc7RQ== X-Google-Smtp-Source: AGHT+IGMM7y7XC4KIQaZCjTAGd0DIB2fChmg0UsI4nR3MpB3TVw4iGtfaINdJHAporzuGLDbJcnm2Q== X-Received: by 2002:a05:6a00:3924:b0:742:a82b:abeb with SMTP id d2e1a72fcca58-76ab05239cfmr1687813b3a.2.1753833611451; Tue, 29 Jul 2025 17:00:11 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 03/89] linux-user: Move hwcap functions to {arm, aarch64}/elfload.c Date: Tue, 29 Jul 2025 13:58:36 -1000 Message-ID: <20250730000003.599084-4-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::429; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x429.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, UPPERCASE_50_75=0.008 autolearn=no 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: fail (Header signature does not verify) X-ZM-MESSAGEID: 1753834560745116600 Content-Type: text/plain; charset="utf-8" For get_elf_hwcap and get_elf_hwcap2, change the return type to abi_ulong, and pass in the cpu. We must do these targets at the same time because of the ifdef dependency between TARGET_AARCH64 and TARGET_ARM. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/arm/target_proc.h | 4 +- linux-user/loader.h | 10 +- linux-user/aarch64/elfload.c | 338 +++++++++++++++++++++++ linux-user/arm/elfload.c | 166 ++++++++++++ linux-user/elfload.c | 505 +---------------------------------- 5 files changed, 514 insertions(+), 509 deletions(-) diff --git a/linux-user/arm/target_proc.h b/linux-user/arm/target_proc.h index ac75af9ca6..a4cd6948c6 100644 --- a/linux-user/arm/target_proc.h +++ b/linux-user/arm/target_proc.h @@ -10,8 +10,8 @@ static int open_cpuinfo(CPUArchState *cpu_env, int fd) { ARMCPU *cpu =3D env_archcpu(cpu_env); int arch, midr_rev, midr_part, midr_var, midr_impl; - target_ulong elf_hwcap =3D get_elf_hwcap(); - target_ulong elf_hwcap2 =3D get_elf_hwcap2(); + target_ulong elf_hwcap =3D get_elf_hwcap(env_cpu(cpu_env)); + target_ulong elf_hwcap2 =3D get_elf_hwcap2(env_cpu(cpu_env)); const char *elf_name; int num_cpus, len_part, len_var; =20 diff --git a/linux-user/loader.h b/linux-user/loader.h index a2869ec5de..be92207c2b 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -98,16 +98,14 @@ abi_long memcpy_to_target(abi_ulong dest, const void *s= rc, =20 extern unsigned long guest_stack_size; =20 -#if defined(TARGET_I386) || defined(TARGET_X86_64) +#if defined(TARGET_I386) || defined(TARGET_X86_64) || defined(TARGET_ARM) abi_ulong get_elf_hwcap(CPUState *cs); +abi_ulong get_elf_hwcap2(CPUState *cs); #endif -#if defined(TARGET_S390X) || defined(TARGET_AARCH64) || defined(TARGET_ARM) +#if defined(TARGET_S390X) uint32_t get_elf_hwcap(void); +#endif const char *elf_hwcap_str(uint32_t bit); -#endif -#if defined(TARGET_AARCH64) || defined(TARGET_ARM) -uint64_t get_elf_hwcap2(void); const char *elf_hwcap2_str(uint32_t bit); -#endif =20 #endif /* LINUX_USER_LOADER_H */ diff --git a/linux-user/aarch64/elfload.c b/linux-user/aarch64/elfload.c index 73fa78ef14..8a8bd22784 100644 --- a/linux-user/aarch64/elfload.c +++ b/linux-user/aarch64/elfload.c @@ -1 +1,339 @@ /* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include "qemu/osdep.h" +#include "qemu.h" +#include "loader.h" +#include "target/arm/cpu-features.h" + + +enum { + ARM_HWCAP_A64_FP =3D 1 << 0, + ARM_HWCAP_A64_ASIMD =3D 1 << 1, + ARM_HWCAP_A64_EVTSTRM =3D 1 << 2, + ARM_HWCAP_A64_AES =3D 1 << 3, + ARM_HWCAP_A64_PMULL =3D 1 << 4, + ARM_HWCAP_A64_SHA1 =3D 1 << 5, + ARM_HWCAP_A64_SHA2 =3D 1 << 6, + ARM_HWCAP_A64_CRC32 =3D 1 << 7, + ARM_HWCAP_A64_ATOMICS =3D 1 << 8, + ARM_HWCAP_A64_FPHP =3D 1 << 9, + ARM_HWCAP_A64_ASIMDHP =3D 1 << 10, + ARM_HWCAP_A64_CPUID =3D 1 << 11, + ARM_HWCAP_A64_ASIMDRDM =3D 1 << 12, + ARM_HWCAP_A64_JSCVT =3D 1 << 13, + ARM_HWCAP_A64_FCMA =3D 1 << 14, + ARM_HWCAP_A64_LRCPC =3D 1 << 15, + ARM_HWCAP_A64_DCPOP =3D 1 << 16, + ARM_HWCAP_A64_SHA3 =3D 1 << 17, + ARM_HWCAP_A64_SM3 =3D 1 << 18, + ARM_HWCAP_A64_SM4 =3D 1 << 19, + ARM_HWCAP_A64_ASIMDDP =3D 1 << 20, + ARM_HWCAP_A64_SHA512 =3D 1 << 21, + ARM_HWCAP_A64_SVE =3D 1 << 22, + ARM_HWCAP_A64_ASIMDFHM =3D 1 << 23, + ARM_HWCAP_A64_DIT =3D 1 << 24, + ARM_HWCAP_A64_USCAT =3D 1 << 25, + ARM_HWCAP_A64_ILRCPC =3D 1 << 26, + ARM_HWCAP_A64_FLAGM =3D 1 << 27, + ARM_HWCAP_A64_SSBS =3D 1 << 28, + ARM_HWCAP_A64_SB =3D 1 << 29, + ARM_HWCAP_A64_PACA =3D 1 << 30, + ARM_HWCAP_A64_PACG =3D 1ULL << 31, + ARM_HWCAP_A64_GCS =3D 1ULL << 32, + ARM_HWCAP_A64_CMPBR =3D 1ULL << 33, + ARM_HWCAP_A64_FPRCVT =3D 1ULL << 34, + ARM_HWCAP_A64_F8MM8 =3D 1ULL << 35, + ARM_HWCAP_A64_F8MM4 =3D 1ULL << 36, + ARM_HWCAP_A64_SVE_F16MM =3D 1ULL << 37, + ARM_HWCAP_A64_SVE_ELTPERM =3D 1ULL << 38, + ARM_HWCAP_A64_SVE_AES2 =3D 1ULL << 39, + ARM_HWCAP_A64_SVE_BFSCALE =3D 1ULL << 40, + ARM_HWCAP_A64_SVE2P2 =3D 1ULL << 41, + ARM_HWCAP_A64_SME2P2 =3D 1ULL << 42, + ARM_HWCAP_A64_SME_SBITPERM =3D 1ULL << 43, + ARM_HWCAP_A64_SME_AES =3D 1ULL << 44, + ARM_HWCAP_A64_SME_SFEXPA =3D 1ULL << 45, + ARM_HWCAP_A64_SME_STMOP =3D 1ULL << 46, + ARM_HWCAP_A64_SME_SMOP4 =3D 1ULL << 47, + + ARM_HWCAP2_A64_DCPODP =3D 1 << 0, + ARM_HWCAP2_A64_SVE2 =3D 1 << 1, + ARM_HWCAP2_A64_SVEAES =3D 1 << 2, + ARM_HWCAP2_A64_SVEPMULL =3D 1 << 3, + ARM_HWCAP2_A64_SVEBITPERM =3D 1 << 4, + ARM_HWCAP2_A64_SVESHA3 =3D 1 << 5, + ARM_HWCAP2_A64_SVESM4 =3D 1 << 6, + ARM_HWCAP2_A64_FLAGM2 =3D 1 << 7, + ARM_HWCAP2_A64_FRINT =3D 1 << 8, + ARM_HWCAP2_A64_SVEI8MM =3D 1 << 9, + ARM_HWCAP2_A64_SVEF32MM =3D 1 << 10, + ARM_HWCAP2_A64_SVEF64MM =3D 1 << 11, + ARM_HWCAP2_A64_SVEBF16 =3D 1 << 12, + ARM_HWCAP2_A64_I8MM =3D 1 << 13, + ARM_HWCAP2_A64_BF16 =3D 1 << 14, + ARM_HWCAP2_A64_DGH =3D 1 << 15, + ARM_HWCAP2_A64_RNG =3D 1 << 16, + ARM_HWCAP2_A64_BTI =3D 1 << 17, + ARM_HWCAP2_A64_MTE =3D 1 << 18, + ARM_HWCAP2_A64_ECV =3D 1 << 19, + ARM_HWCAP2_A64_AFP =3D 1 << 20, + ARM_HWCAP2_A64_RPRES =3D 1 << 21, + ARM_HWCAP2_A64_MTE3 =3D 1 << 22, + ARM_HWCAP2_A64_SME =3D 1 << 23, + ARM_HWCAP2_A64_SME_I16I64 =3D 1 << 24, + ARM_HWCAP2_A64_SME_F64F64 =3D 1 << 25, + ARM_HWCAP2_A64_SME_I8I32 =3D 1 << 26, + ARM_HWCAP2_A64_SME_F16F32 =3D 1 << 27, + ARM_HWCAP2_A64_SME_B16F32 =3D 1 << 28, + ARM_HWCAP2_A64_SME_F32F32 =3D 1 << 29, + ARM_HWCAP2_A64_SME_FA64 =3D 1 << 30, + ARM_HWCAP2_A64_WFXT =3D 1ULL << 31, + ARM_HWCAP2_A64_EBF16 =3D 1ULL << 32, + ARM_HWCAP2_A64_SVE_EBF16 =3D 1ULL << 33, + ARM_HWCAP2_A64_CSSC =3D 1ULL << 34, + ARM_HWCAP2_A64_RPRFM =3D 1ULL << 35, + ARM_HWCAP2_A64_SVE2P1 =3D 1ULL << 36, + ARM_HWCAP2_A64_SME2 =3D 1ULL << 37, + ARM_HWCAP2_A64_SME2P1 =3D 1ULL << 38, + ARM_HWCAP2_A64_SME_I16I32 =3D 1ULL << 39, + ARM_HWCAP2_A64_SME_BI32I32 =3D 1ULL << 40, + ARM_HWCAP2_A64_SME_B16B16 =3D 1ULL << 41, + ARM_HWCAP2_A64_SME_F16F16 =3D 1ULL << 42, + ARM_HWCAP2_A64_MOPS =3D 1ULL << 43, + ARM_HWCAP2_A64_HBC =3D 1ULL << 44, + ARM_HWCAP2_A64_SVE_B16B16 =3D 1ULL << 45, + ARM_HWCAP2_A64_LRCPC3 =3D 1ULL << 46, + ARM_HWCAP2_A64_LSE128 =3D 1ULL << 47, + ARM_HWCAP2_A64_FPMR =3D 1ULL << 48, + ARM_HWCAP2_A64_LUT =3D 1ULL << 49, + ARM_HWCAP2_A64_FAMINMAX =3D 1ULL << 50, + ARM_HWCAP2_A64_F8CVT =3D 1ULL << 51, + ARM_HWCAP2_A64_F8FMA =3D 1ULL << 52, + ARM_HWCAP2_A64_F8DP4 =3D 1ULL << 53, + ARM_HWCAP2_A64_F8DP2 =3D 1ULL << 54, + ARM_HWCAP2_A64_F8E4M3 =3D 1ULL << 55, + ARM_HWCAP2_A64_F8E5M2 =3D 1ULL << 56, + ARM_HWCAP2_A64_SME_LUTV2 =3D 1ULL << 57, + ARM_HWCAP2_A64_SME_F8F16 =3D 1ULL << 58, + ARM_HWCAP2_A64_SME_F8F32 =3D 1ULL << 59, + ARM_HWCAP2_A64_SME_SF8FMA =3D 1ULL << 60, + ARM_HWCAP2_A64_SME_SF8DP4 =3D 1ULL << 61, + ARM_HWCAP2_A64_SME_SF8DP2 =3D 1ULL << 62, + ARM_HWCAP2_A64_POE =3D 1ULL << 63, +}; + +#define GET_FEATURE_ID(feat, hwcap) \ + do { if (cpu_isar_feature(feat, cpu)) { hwcaps |=3D hwcap; } } while (= 0) + +abi_ulong get_elf_hwcap(CPUState *cs) +{ + ARMCPU *cpu =3D ARM_CPU(cs); + abi_ulong hwcaps =3D 0; + + hwcaps |=3D ARM_HWCAP_A64_FP; + hwcaps |=3D ARM_HWCAP_A64_ASIMD; + hwcaps |=3D ARM_HWCAP_A64_CPUID; + + /* probe for the extra features */ + + GET_FEATURE_ID(aa64_aes, ARM_HWCAP_A64_AES); + GET_FEATURE_ID(aa64_pmull, ARM_HWCAP_A64_PMULL); + GET_FEATURE_ID(aa64_sha1, ARM_HWCAP_A64_SHA1); + GET_FEATURE_ID(aa64_sha256, ARM_HWCAP_A64_SHA2); + GET_FEATURE_ID(aa64_sha512, ARM_HWCAP_A64_SHA512); + GET_FEATURE_ID(aa64_crc32, ARM_HWCAP_A64_CRC32); + GET_FEATURE_ID(aa64_sha3, ARM_HWCAP_A64_SHA3); + GET_FEATURE_ID(aa64_sm3, ARM_HWCAP_A64_SM3); + GET_FEATURE_ID(aa64_sm4, ARM_HWCAP_A64_SM4); + GET_FEATURE_ID(aa64_fp16, ARM_HWCAP_A64_FPHP | ARM_HWCAP_A64_ASIMDHP); + GET_FEATURE_ID(aa64_atomics, ARM_HWCAP_A64_ATOMICS); + GET_FEATURE_ID(aa64_lse2, ARM_HWCAP_A64_USCAT); + GET_FEATURE_ID(aa64_rdm, ARM_HWCAP_A64_ASIMDRDM); + GET_FEATURE_ID(aa64_dp, ARM_HWCAP_A64_ASIMDDP); + GET_FEATURE_ID(aa64_fcma, ARM_HWCAP_A64_FCMA); + GET_FEATURE_ID(aa64_sve, ARM_HWCAP_A64_SVE); + GET_FEATURE_ID(aa64_pauth, ARM_HWCAP_A64_PACA | ARM_HWCAP_A64_PACG); + GET_FEATURE_ID(aa64_fhm, ARM_HWCAP_A64_ASIMDFHM); + GET_FEATURE_ID(aa64_dit, ARM_HWCAP_A64_DIT); + GET_FEATURE_ID(aa64_jscvt, ARM_HWCAP_A64_JSCVT); + GET_FEATURE_ID(aa64_sb, ARM_HWCAP_A64_SB); + GET_FEATURE_ID(aa64_condm_4, ARM_HWCAP_A64_FLAGM); + GET_FEATURE_ID(aa64_dcpop, ARM_HWCAP_A64_DCPOP); + GET_FEATURE_ID(aa64_rcpc_8_3, ARM_HWCAP_A64_LRCPC); + GET_FEATURE_ID(aa64_rcpc_8_4, ARM_HWCAP_A64_ILRCPC); + + return hwcaps; +} + +abi_ulong get_elf_hwcap2(CPUState *cs) +{ + ARMCPU *cpu =3D ARM_CPU(cs); + abi_ulong hwcaps =3D 0; + + GET_FEATURE_ID(aa64_dcpodp, ARM_HWCAP2_A64_DCPODP); + GET_FEATURE_ID(aa64_sve2, ARM_HWCAP2_A64_SVE2); + GET_FEATURE_ID(aa64_sve2_aes, ARM_HWCAP2_A64_SVEAES); + GET_FEATURE_ID(aa64_sve2_pmull128, ARM_HWCAP2_A64_SVEPMULL); + GET_FEATURE_ID(aa64_sve2_bitperm, ARM_HWCAP2_A64_SVEBITPERM); + GET_FEATURE_ID(aa64_sve2_sha3, ARM_HWCAP2_A64_SVESHA3); + GET_FEATURE_ID(aa64_sve2_sm4, ARM_HWCAP2_A64_SVESM4); + GET_FEATURE_ID(aa64_condm_5, ARM_HWCAP2_A64_FLAGM2); + GET_FEATURE_ID(aa64_frint, ARM_HWCAP2_A64_FRINT); + GET_FEATURE_ID(aa64_sve_i8mm, ARM_HWCAP2_A64_SVEI8MM); + GET_FEATURE_ID(aa64_sve_f32mm, ARM_HWCAP2_A64_SVEF32MM); + GET_FEATURE_ID(aa64_sve_f64mm, ARM_HWCAP2_A64_SVEF64MM); + GET_FEATURE_ID(aa64_sve_bf16, ARM_HWCAP2_A64_SVEBF16); + GET_FEATURE_ID(aa64_i8mm, ARM_HWCAP2_A64_I8MM); + GET_FEATURE_ID(aa64_bf16, ARM_HWCAP2_A64_BF16); + GET_FEATURE_ID(aa64_rndr, ARM_HWCAP2_A64_RNG); + GET_FEATURE_ID(aa64_bti, ARM_HWCAP2_A64_BTI); + GET_FEATURE_ID(aa64_mte, ARM_HWCAP2_A64_MTE); + GET_FEATURE_ID(aa64_mte3, ARM_HWCAP2_A64_MTE3); + GET_FEATURE_ID(aa64_sme, (ARM_HWCAP2_A64_SME | + ARM_HWCAP2_A64_SME_F32F32 | + ARM_HWCAP2_A64_SME_B16F32 | + ARM_HWCAP2_A64_SME_F16F32 | + ARM_HWCAP2_A64_SME_I8I32)); + GET_FEATURE_ID(aa64_sme_f64f64, ARM_HWCAP2_A64_SME_F64F64); + GET_FEATURE_ID(aa64_sme_i16i64, ARM_HWCAP2_A64_SME_I16I64); + GET_FEATURE_ID(aa64_sme_fa64, ARM_HWCAP2_A64_SME_FA64); + GET_FEATURE_ID(aa64_hbc, ARM_HWCAP2_A64_HBC); + GET_FEATURE_ID(aa64_mops, ARM_HWCAP2_A64_MOPS); + GET_FEATURE_ID(aa64_sve2p1, ARM_HWCAP2_A64_SVE2P1); + GET_FEATURE_ID(aa64_sme2, (ARM_HWCAP2_A64_SME2 | + ARM_HWCAP2_A64_SME_I16I32 | + ARM_HWCAP2_A64_SME_BI32I32)); + GET_FEATURE_ID(aa64_sme2p1, ARM_HWCAP2_A64_SME2P1); + GET_FEATURE_ID(aa64_sme_b16b16, ARM_HWCAP2_A64_SME_B16B16); + GET_FEATURE_ID(aa64_sme_f16f16, ARM_HWCAP2_A64_SME_F16F16); + GET_FEATURE_ID(aa64_sve_b16b16, ARM_HWCAP2_A64_SVE_B16B16); + + return hwcaps; +} + +const char *elf_hwcap_str(uint32_t bit) +{ + static const char * const hwcap_str[] =3D { + [__builtin_ctz(ARM_HWCAP_A64_FP )] =3D "fp", + [__builtin_ctz(ARM_HWCAP_A64_ASIMD )] =3D "asimd", + [__builtin_ctz(ARM_HWCAP_A64_EVTSTRM )] =3D "evtstrm", + [__builtin_ctz(ARM_HWCAP_A64_AES )] =3D "aes", + [__builtin_ctz(ARM_HWCAP_A64_PMULL )] =3D "pmull", + [__builtin_ctz(ARM_HWCAP_A64_SHA1 )] =3D "sha1", + [__builtin_ctz(ARM_HWCAP_A64_SHA2 )] =3D "sha2", + [__builtin_ctz(ARM_HWCAP_A64_CRC32 )] =3D "crc32", + [__builtin_ctz(ARM_HWCAP_A64_ATOMICS )] =3D "atomics", + [__builtin_ctz(ARM_HWCAP_A64_FPHP )] =3D "fphp", + [__builtin_ctz(ARM_HWCAP_A64_ASIMDHP )] =3D "asimdhp", + [__builtin_ctz(ARM_HWCAP_A64_CPUID )] =3D "cpuid", + [__builtin_ctz(ARM_HWCAP_A64_ASIMDRDM)] =3D "asimdrdm", + [__builtin_ctz(ARM_HWCAP_A64_JSCVT )] =3D "jscvt", + [__builtin_ctz(ARM_HWCAP_A64_FCMA )] =3D "fcma", + [__builtin_ctz(ARM_HWCAP_A64_LRCPC )] =3D "lrcpc", + [__builtin_ctz(ARM_HWCAP_A64_DCPOP )] =3D "dcpop", + [__builtin_ctz(ARM_HWCAP_A64_SHA3 )] =3D "sha3", + [__builtin_ctz(ARM_HWCAP_A64_SM3 )] =3D "sm3", + [__builtin_ctz(ARM_HWCAP_A64_SM4 )] =3D "sm4", + [__builtin_ctz(ARM_HWCAP_A64_ASIMDDP )] =3D "asimddp", + [__builtin_ctz(ARM_HWCAP_A64_SHA512 )] =3D "sha512", + [__builtin_ctz(ARM_HWCAP_A64_SVE )] =3D "sve", + [__builtin_ctz(ARM_HWCAP_A64_ASIMDFHM)] =3D "asimdfhm", + [__builtin_ctz(ARM_HWCAP_A64_DIT )] =3D "dit", + [__builtin_ctz(ARM_HWCAP_A64_USCAT )] =3D "uscat", + [__builtin_ctz(ARM_HWCAP_A64_ILRCPC )] =3D "ilrcpc", + [__builtin_ctz(ARM_HWCAP_A64_FLAGM )] =3D "flagm", + [__builtin_ctz(ARM_HWCAP_A64_SSBS )] =3D "ssbs", + [__builtin_ctz(ARM_HWCAP_A64_SB )] =3D "sb", + [__builtin_ctz(ARM_HWCAP_A64_PACA )] =3D "paca", + [__builtin_ctz(ARM_HWCAP_A64_PACG )] =3D "pacg", + [__builtin_ctzll(ARM_HWCAP_A64_GCS )] =3D "gcs", + [__builtin_ctzll(ARM_HWCAP_A64_CMPBR )] =3D "cmpbr", + [__builtin_ctzll(ARM_HWCAP_A64_FPRCVT)] =3D "fprcvt", + [__builtin_ctzll(ARM_HWCAP_A64_F8MM8 )] =3D "f8mm8", + [__builtin_ctzll(ARM_HWCAP_A64_F8MM4 )] =3D "f8mm4", + [__builtin_ctzll(ARM_HWCAP_A64_SVE_F16MM)] =3D "svef16mm", + [__builtin_ctzll(ARM_HWCAP_A64_SVE_ELTPERM)] =3D "sveeltperm", + [__builtin_ctzll(ARM_HWCAP_A64_SVE_AES2)] =3D "sveaes2", + [__builtin_ctzll(ARM_HWCAP_A64_SVE_BFSCALE)] =3D "svebfscale", + [__builtin_ctzll(ARM_HWCAP_A64_SVE2P2)] =3D "sve2p2", + [__builtin_ctzll(ARM_HWCAP_A64_SME2P2)] =3D "sme2p2", + [__builtin_ctzll(ARM_HWCAP_A64_SME_SBITPERM)] =3D "smesbitperm", + [__builtin_ctzll(ARM_HWCAP_A64_SME_AES)] =3D "smeaes", + [__builtin_ctzll(ARM_HWCAP_A64_SME_SFEXPA)] =3D "smesfexpa", + [__builtin_ctzll(ARM_HWCAP_A64_SME_STMOP)] =3D "smestmop", + [__builtin_ctzll(ARM_HWCAP_A64_SME_SMOP4)] =3D "smesmop4", + }; + + return bit < ARRAY_SIZE(hwcap_str) ? hwcap_str[bit] : NULL; +} + +const char *elf_hwcap2_str(uint32_t bit) +{ + static const char * const hwcap_str[] =3D { + [__builtin_ctz(ARM_HWCAP2_A64_DCPODP )] =3D "dcpodp", + [__builtin_ctz(ARM_HWCAP2_A64_SVE2 )] =3D "sve2", + [__builtin_ctz(ARM_HWCAP2_A64_SVEAES )] =3D "sveaes", + [__builtin_ctz(ARM_HWCAP2_A64_SVEPMULL )] =3D "svepmull", + [__builtin_ctz(ARM_HWCAP2_A64_SVEBITPERM )] =3D "svebitperm", + [__builtin_ctz(ARM_HWCAP2_A64_SVESHA3 )] =3D "svesha3", + [__builtin_ctz(ARM_HWCAP2_A64_SVESM4 )] =3D "svesm4", + [__builtin_ctz(ARM_HWCAP2_A64_FLAGM2 )] =3D "flagm2", + [__builtin_ctz(ARM_HWCAP2_A64_FRINT )] =3D "frint", + [__builtin_ctz(ARM_HWCAP2_A64_SVEI8MM )] =3D "svei8mm", + [__builtin_ctz(ARM_HWCAP2_A64_SVEF32MM )] =3D "svef32mm", + [__builtin_ctz(ARM_HWCAP2_A64_SVEF64MM )] =3D "svef64mm", + [__builtin_ctz(ARM_HWCAP2_A64_SVEBF16 )] =3D "svebf16", + [__builtin_ctz(ARM_HWCAP2_A64_I8MM )] =3D "i8mm", + [__builtin_ctz(ARM_HWCAP2_A64_BF16 )] =3D "bf16", + [__builtin_ctz(ARM_HWCAP2_A64_DGH )] =3D "dgh", + [__builtin_ctz(ARM_HWCAP2_A64_RNG )] =3D "rng", + [__builtin_ctz(ARM_HWCAP2_A64_BTI )] =3D "bti", + [__builtin_ctz(ARM_HWCAP2_A64_MTE )] =3D "mte", + [__builtin_ctz(ARM_HWCAP2_A64_ECV )] =3D "ecv", + [__builtin_ctz(ARM_HWCAP2_A64_AFP )] =3D "afp", + [__builtin_ctz(ARM_HWCAP2_A64_RPRES )] =3D "rpres", + [__builtin_ctz(ARM_HWCAP2_A64_MTE3 )] =3D "mte3", + [__builtin_ctz(ARM_HWCAP2_A64_SME )] =3D "sme", + [__builtin_ctz(ARM_HWCAP2_A64_SME_I16I64 )] =3D "smei16i64", + [__builtin_ctz(ARM_HWCAP2_A64_SME_F64F64 )] =3D "smef64f64", + [__builtin_ctz(ARM_HWCAP2_A64_SME_I8I32 )] =3D "smei8i32", + [__builtin_ctz(ARM_HWCAP2_A64_SME_F16F32 )] =3D "smef16f32", + [__builtin_ctz(ARM_HWCAP2_A64_SME_B16F32 )] =3D "smeb16f32", + [__builtin_ctz(ARM_HWCAP2_A64_SME_F32F32 )] =3D "smef32f32", + [__builtin_ctz(ARM_HWCAP2_A64_SME_FA64 )] =3D "smefa64", + [__builtin_ctz(ARM_HWCAP2_A64_WFXT )] =3D "wfxt", + [__builtin_ctzll(ARM_HWCAP2_A64_EBF16 )] =3D "ebf16", + [__builtin_ctzll(ARM_HWCAP2_A64_SVE_EBF16 )] =3D "sveebf16", + [__builtin_ctzll(ARM_HWCAP2_A64_CSSC )] =3D "cssc", + [__builtin_ctzll(ARM_HWCAP2_A64_RPRFM )] =3D "rprfm", + [__builtin_ctzll(ARM_HWCAP2_A64_SVE2P1 )] =3D "sve2p1", + [__builtin_ctzll(ARM_HWCAP2_A64_SME2 )] =3D "sme2", + [__builtin_ctzll(ARM_HWCAP2_A64_SME2P1 )] =3D "sme2p1", + [__builtin_ctzll(ARM_HWCAP2_A64_SME_I16I32 )] =3D "smei16i32", + [__builtin_ctzll(ARM_HWCAP2_A64_SME_BI32I32)] =3D "smebi32i32", + [__builtin_ctzll(ARM_HWCAP2_A64_SME_B16B16 )] =3D "smeb16b16", + [__builtin_ctzll(ARM_HWCAP2_A64_SME_F16F16 )] =3D "smef16f16", + [__builtin_ctzll(ARM_HWCAP2_A64_MOPS )] =3D "mops", + [__builtin_ctzll(ARM_HWCAP2_A64_HBC )] =3D "hbc", + [__builtin_ctzll(ARM_HWCAP2_A64_SVE_B16B16 )] =3D "sveb16b16", + [__builtin_ctzll(ARM_HWCAP2_A64_LRCPC3 )] =3D "lrcpc3", + [__builtin_ctzll(ARM_HWCAP2_A64_LSE128 )] =3D "lse128", + [__builtin_ctzll(ARM_HWCAP2_A64_FPMR )] =3D "fpmr", + [__builtin_ctzll(ARM_HWCAP2_A64_LUT )] =3D "lut", + [__builtin_ctzll(ARM_HWCAP2_A64_FAMINMAX )] =3D "faminmax", + [__builtin_ctzll(ARM_HWCAP2_A64_F8CVT )] =3D "f8cvt", + [__builtin_ctzll(ARM_HWCAP2_A64_F8FMA )] =3D "f8fma", + [__builtin_ctzll(ARM_HWCAP2_A64_F8DP4 )] =3D "f8dp4", + [__builtin_ctzll(ARM_HWCAP2_A64_F8DP2 )] =3D "f8dp2", + [__builtin_ctzll(ARM_HWCAP2_A64_F8E4M3 )] =3D "f8e4m3", + [__builtin_ctzll(ARM_HWCAP2_A64_F8E5M2 )] =3D "f8e5m2", + [__builtin_ctzll(ARM_HWCAP2_A64_SME_LUTV2 )] =3D "smelutv2", + [__builtin_ctzll(ARM_HWCAP2_A64_SME_F8F16 )] =3D "smef8f16", + [__builtin_ctzll(ARM_HWCAP2_A64_SME_F8F32 )] =3D "smef8f32", + [__builtin_ctzll(ARM_HWCAP2_A64_SME_SF8DP4 )] =3D "smesf8dp4", + [__builtin_ctzll(ARM_HWCAP2_A64_SME_SF8DP2 )] =3D "smesf8dp2", + [__builtin_ctzll(ARM_HWCAP2_A64_POE )] =3D "poe", + }; + + return bit < ARRAY_SIZE(hwcap_str) ? hwcap_str[bit] : NULL; +} diff --git a/linux-user/arm/elfload.c b/linux-user/arm/elfload.c index 73fa78ef14..be80e04f9c 100644 --- a/linux-user/arm/elfload.c +++ b/linux-user/arm/elfload.c @@ -1 +1,167 @@ /* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include "qemu/osdep.h" +#include "qemu.h" +#include "loader.h" +#include "target/arm/cpu-features.h" + + +enum +{ + ARM_HWCAP_ARM_SWP =3D 1 << 0, + ARM_HWCAP_ARM_HALF =3D 1 << 1, + ARM_HWCAP_ARM_THUMB =3D 1 << 2, + ARM_HWCAP_ARM_26BIT =3D 1 << 3, + ARM_HWCAP_ARM_FAST_MULT =3D 1 << 4, + ARM_HWCAP_ARM_FPA =3D 1 << 5, + ARM_HWCAP_ARM_VFP =3D 1 << 6, + ARM_HWCAP_ARM_EDSP =3D 1 << 7, + ARM_HWCAP_ARM_JAVA =3D 1 << 8, + ARM_HWCAP_ARM_IWMMXT =3D 1 << 9, + ARM_HWCAP_ARM_CRUNCH =3D 1 << 10, + ARM_HWCAP_ARM_THUMBEE =3D 1 << 11, + ARM_HWCAP_ARM_NEON =3D 1 << 12, + ARM_HWCAP_ARM_VFPv3 =3D 1 << 13, + ARM_HWCAP_ARM_VFPv3D16 =3D 1 << 14, + ARM_HWCAP_ARM_TLS =3D 1 << 15, + ARM_HWCAP_ARM_VFPv4 =3D 1 << 16, + ARM_HWCAP_ARM_IDIVA =3D 1 << 17, + ARM_HWCAP_ARM_IDIVT =3D 1 << 18, + ARM_HWCAP_ARM_VFPD32 =3D 1 << 19, + ARM_HWCAP_ARM_LPAE =3D 1 << 20, + ARM_HWCAP_ARM_EVTSTRM =3D 1 << 21, + ARM_HWCAP_ARM_FPHP =3D 1 << 22, + ARM_HWCAP_ARM_ASIMDHP =3D 1 << 23, + ARM_HWCAP_ARM_ASIMDDP =3D 1 << 24, + ARM_HWCAP_ARM_ASIMDFHM =3D 1 << 25, + ARM_HWCAP_ARM_ASIMDBF16 =3D 1 << 26, + ARM_HWCAP_ARM_I8MM =3D 1 << 27, +}; + +enum { + ARM_HWCAP2_ARM_AES =3D 1 << 0, + ARM_HWCAP2_ARM_PMULL =3D 1 << 1, + ARM_HWCAP2_ARM_SHA1 =3D 1 << 2, + ARM_HWCAP2_ARM_SHA2 =3D 1 << 3, + ARM_HWCAP2_ARM_CRC32 =3D 1 << 4, + ARM_HWCAP2_ARM_SB =3D 1 << 5, + ARM_HWCAP2_ARM_SSBS =3D 1 << 6, +}; + +abi_ulong get_elf_hwcap(CPUState *cs) +{ + ARMCPU *cpu =3D ARM_CPU(cs); + abi_ulong hwcaps =3D 0; + + hwcaps |=3D ARM_HWCAP_ARM_SWP; + hwcaps |=3D ARM_HWCAP_ARM_HALF; + hwcaps |=3D ARM_HWCAP_ARM_THUMB; + hwcaps |=3D ARM_HWCAP_ARM_FAST_MULT; + + /* probe for the extra features */ +#define GET_FEATURE(feat, hwcap) \ + do { if (arm_feature(&cpu->env, feat)) { hwcaps |=3D hwcap; } } while = (0) + +#define GET_FEATURE_ID(feat, hwcap) \ + do { if (cpu_isar_feature(feat, cpu)) { hwcaps |=3D hwcap; } } while (= 0) + + /* EDSP is in v5TE and above, but all our v5 CPUs are v5TE */ + GET_FEATURE(ARM_FEATURE_V5, ARM_HWCAP_ARM_EDSP); + GET_FEATURE(ARM_FEATURE_IWMMXT, ARM_HWCAP_ARM_IWMMXT); + GET_FEATURE(ARM_FEATURE_THUMB2EE, ARM_HWCAP_ARM_THUMBEE); + GET_FEATURE(ARM_FEATURE_NEON, ARM_HWCAP_ARM_NEON); + GET_FEATURE(ARM_FEATURE_V6K, ARM_HWCAP_ARM_TLS); + GET_FEATURE(ARM_FEATURE_LPAE, ARM_HWCAP_ARM_LPAE); + GET_FEATURE_ID(aa32_arm_div, ARM_HWCAP_ARM_IDIVA); + GET_FEATURE_ID(aa32_thumb_div, ARM_HWCAP_ARM_IDIVT); + GET_FEATURE_ID(aa32_vfp, ARM_HWCAP_ARM_VFP); + + if (cpu_isar_feature(aa32_fpsp_v3, cpu) || + cpu_isar_feature(aa32_fpdp_v3, cpu)) { + hwcaps |=3D ARM_HWCAP_ARM_VFPv3; + if (cpu_isar_feature(aa32_simd_r32, cpu)) { + hwcaps |=3D ARM_HWCAP_ARM_VFPD32; + } else { + hwcaps |=3D ARM_HWCAP_ARM_VFPv3D16; + } + } + GET_FEATURE_ID(aa32_simdfmac, ARM_HWCAP_ARM_VFPv4); + /* + * MVFR1.FPHP and .SIMDHP must be in sync, and QEMU uses the same + * isar_feature function for both. The kernel reports them as two hwca= ps. + */ + GET_FEATURE_ID(aa32_fp16_arith, ARM_HWCAP_ARM_FPHP); + GET_FEATURE_ID(aa32_fp16_arith, ARM_HWCAP_ARM_ASIMDHP); + GET_FEATURE_ID(aa32_dp, ARM_HWCAP_ARM_ASIMDDP); + GET_FEATURE_ID(aa32_fhm, ARM_HWCAP_ARM_ASIMDFHM); + GET_FEATURE_ID(aa32_bf16, ARM_HWCAP_ARM_ASIMDBF16); + GET_FEATURE_ID(aa32_i8mm, ARM_HWCAP_ARM_I8MM); + + return hwcaps; +} + +abi_ulong get_elf_hwcap2(CPUState *cs) +{ + ARMCPU *cpu =3D ARM_CPU(cs); + abi_ulong hwcaps =3D 0; + + GET_FEATURE_ID(aa32_aes, ARM_HWCAP2_ARM_AES); + GET_FEATURE_ID(aa32_pmull, ARM_HWCAP2_ARM_PMULL); + GET_FEATURE_ID(aa32_sha1, ARM_HWCAP2_ARM_SHA1); + GET_FEATURE_ID(aa32_sha2, ARM_HWCAP2_ARM_SHA2); + GET_FEATURE_ID(aa32_crc32, ARM_HWCAP2_ARM_CRC32); + GET_FEATURE_ID(aa32_sb, ARM_HWCAP2_ARM_SB); + GET_FEATURE_ID(aa32_ssbs, ARM_HWCAP2_ARM_SSBS); + return hwcaps; +} + +const char *elf_hwcap_str(uint32_t bit) +{ + static const char *hwcap_str[] =3D { + [__builtin_ctz(ARM_HWCAP_ARM_SWP )] =3D "swp", + [__builtin_ctz(ARM_HWCAP_ARM_HALF )] =3D "half", + [__builtin_ctz(ARM_HWCAP_ARM_THUMB )] =3D "thumb", + [__builtin_ctz(ARM_HWCAP_ARM_26BIT )] =3D "26bit", + [__builtin_ctz(ARM_HWCAP_ARM_FAST_MULT)] =3D "fast_mult", + [__builtin_ctz(ARM_HWCAP_ARM_FPA )] =3D "fpa", + [__builtin_ctz(ARM_HWCAP_ARM_VFP )] =3D "vfp", + [__builtin_ctz(ARM_HWCAP_ARM_EDSP )] =3D "edsp", + [__builtin_ctz(ARM_HWCAP_ARM_JAVA )] =3D "java", + [__builtin_ctz(ARM_HWCAP_ARM_IWMMXT )] =3D "iwmmxt", + [__builtin_ctz(ARM_HWCAP_ARM_CRUNCH )] =3D "crunch", + [__builtin_ctz(ARM_HWCAP_ARM_THUMBEE )] =3D "thumbee", + [__builtin_ctz(ARM_HWCAP_ARM_NEON )] =3D "neon", + [__builtin_ctz(ARM_HWCAP_ARM_VFPv3 )] =3D "vfpv3", + [__builtin_ctz(ARM_HWCAP_ARM_VFPv3D16 )] =3D "vfpv3d16", + [__builtin_ctz(ARM_HWCAP_ARM_TLS )] =3D "tls", + [__builtin_ctz(ARM_HWCAP_ARM_VFPv4 )] =3D "vfpv4", + [__builtin_ctz(ARM_HWCAP_ARM_IDIVA )] =3D "idiva", + [__builtin_ctz(ARM_HWCAP_ARM_IDIVT )] =3D "idivt", + [__builtin_ctz(ARM_HWCAP_ARM_VFPD32 )] =3D "vfpd32", + [__builtin_ctz(ARM_HWCAP_ARM_LPAE )] =3D "lpae", + [__builtin_ctz(ARM_HWCAP_ARM_EVTSTRM )] =3D "evtstrm", + [__builtin_ctz(ARM_HWCAP_ARM_FPHP )] =3D "fphp", + [__builtin_ctz(ARM_HWCAP_ARM_ASIMDHP )] =3D "asimdhp", + [__builtin_ctz(ARM_HWCAP_ARM_ASIMDDP )] =3D "asimddp", + [__builtin_ctz(ARM_HWCAP_ARM_ASIMDFHM )] =3D "asimdfhm", + [__builtin_ctz(ARM_HWCAP_ARM_ASIMDBF16)] =3D "asimdbf16", + [__builtin_ctz(ARM_HWCAP_ARM_I8MM )] =3D "i8mm", + }; + + return bit < ARRAY_SIZE(hwcap_str) ? hwcap_str[bit] : NULL; +} + +const char *elf_hwcap2_str(uint32_t bit) +{ + static const char *hwcap_str[] =3D { + [__builtin_ctz(ARM_HWCAP2_ARM_AES )] =3D "aes", + [__builtin_ctz(ARM_HWCAP2_ARM_PMULL)] =3D "pmull", + [__builtin_ctz(ARM_HWCAP2_ARM_SHA1 )] =3D "sha1", + [__builtin_ctz(ARM_HWCAP2_ARM_SHA2 )] =3D "sha2", + [__builtin_ctz(ARM_HWCAP2_ARM_CRC32)] =3D "crc32", + [__builtin_ctz(ARM_HWCAP2_ARM_SB )] =3D "sb", + [__builtin_ctz(ARM_HWCAP2_ARM_SSBS )] =3D "ssbs", + }; + + return bit < ARRAY_SIZE(hwcap_str) ? hwcap_str[bit] : NULL; +} diff --git a/linux-user/elfload.c b/linux-user/elfload.c index f05888055f..3a4f68f503 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -411,48 +411,6 @@ static void elf_core_copy_regs(target_elf_gregset_t *r= egs, const CPUARMState *en #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 -enum -{ - ARM_HWCAP_ARM_SWP =3D 1 << 0, - ARM_HWCAP_ARM_HALF =3D 1 << 1, - ARM_HWCAP_ARM_THUMB =3D 1 << 2, - ARM_HWCAP_ARM_26BIT =3D 1 << 3, - ARM_HWCAP_ARM_FAST_MULT =3D 1 << 4, - ARM_HWCAP_ARM_FPA =3D 1 << 5, - ARM_HWCAP_ARM_VFP =3D 1 << 6, - ARM_HWCAP_ARM_EDSP =3D 1 << 7, - ARM_HWCAP_ARM_JAVA =3D 1 << 8, - ARM_HWCAP_ARM_IWMMXT =3D 1 << 9, - ARM_HWCAP_ARM_CRUNCH =3D 1 << 10, - ARM_HWCAP_ARM_THUMBEE =3D 1 << 11, - ARM_HWCAP_ARM_NEON =3D 1 << 12, - ARM_HWCAP_ARM_VFPv3 =3D 1 << 13, - ARM_HWCAP_ARM_VFPv3D16 =3D 1 << 14, - ARM_HWCAP_ARM_TLS =3D 1 << 15, - ARM_HWCAP_ARM_VFPv4 =3D 1 << 16, - ARM_HWCAP_ARM_IDIVA =3D 1 << 17, - ARM_HWCAP_ARM_IDIVT =3D 1 << 18, - ARM_HWCAP_ARM_VFPD32 =3D 1 << 19, - ARM_HWCAP_ARM_LPAE =3D 1 << 20, - ARM_HWCAP_ARM_EVTSTRM =3D 1 << 21, - ARM_HWCAP_ARM_FPHP =3D 1 << 22, - ARM_HWCAP_ARM_ASIMDHP =3D 1 << 23, - ARM_HWCAP_ARM_ASIMDDP =3D 1 << 24, - ARM_HWCAP_ARM_ASIMDFHM =3D 1 << 25, - ARM_HWCAP_ARM_ASIMDBF16 =3D 1 << 26, - ARM_HWCAP_ARM_I8MM =3D 1 << 27, -}; - -enum { - ARM_HWCAP2_ARM_AES =3D 1 << 0, - ARM_HWCAP2_ARM_PMULL =3D 1 << 1, - ARM_HWCAP2_ARM_SHA1 =3D 1 << 2, - ARM_HWCAP2_ARM_SHA2 =3D 1 << 3, - ARM_HWCAP2_ARM_CRC32 =3D 1 << 4, - ARM_HWCAP2_ARM_SB =3D 1 << 5, - ARM_HWCAP2_ARM_SSBS =3D 1 << 6, -}; - /* The commpage only exists for 32 bit kernels */ =20 #define HI_COMMPAGE (intptr_t)0xffff0f00u @@ -501,129 +459,8 @@ static bool init_guest_commpage(void) return true; } =20 -#define ELF_HWCAP get_elf_hwcap() -#define ELF_HWCAP2 get_elf_hwcap2() - -uint32_t get_elf_hwcap(void) -{ - ARMCPU *cpu =3D ARM_CPU(thread_cpu); - uint32_t hwcaps =3D 0; - - hwcaps |=3D ARM_HWCAP_ARM_SWP; - hwcaps |=3D ARM_HWCAP_ARM_HALF; - hwcaps |=3D ARM_HWCAP_ARM_THUMB; - hwcaps |=3D ARM_HWCAP_ARM_FAST_MULT; - - /* probe for the extra features */ -#define GET_FEATURE(feat, hwcap) \ - do { if (arm_feature(&cpu->env, feat)) { hwcaps |=3D hwcap; } } while = (0) - -#define GET_FEATURE_ID(feat, hwcap) \ - do { if (cpu_isar_feature(feat, cpu)) { hwcaps |=3D hwcap; } } while (= 0) - - /* EDSP is in v5TE and above, but all our v5 CPUs are v5TE */ - GET_FEATURE(ARM_FEATURE_V5, ARM_HWCAP_ARM_EDSP); - GET_FEATURE(ARM_FEATURE_IWMMXT, ARM_HWCAP_ARM_IWMMXT); - GET_FEATURE(ARM_FEATURE_THUMB2EE, ARM_HWCAP_ARM_THUMBEE); - GET_FEATURE(ARM_FEATURE_NEON, ARM_HWCAP_ARM_NEON); - GET_FEATURE(ARM_FEATURE_V6K, ARM_HWCAP_ARM_TLS); - GET_FEATURE(ARM_FEATURE_LPAE, ARM_HWCAP_ARM_LPAE); - GET_FEATURE_ID(aa32_arm_div, ARM_HWCAP_ARM_IDIVA); - GET_FEATURE_ID(aa32_thumb_div, ARM_HWCAP_ARM_IDIVT); - GET_FEATURE_ID(aa32_vfp, ARM_HWCAP_ARM_VFP); - - if (cpu_isar_feature(aa32_fpsp_v3, cpu) || - cpu_isar_feature(aa32_fpdp_v3, cpu)) { - hwcaps |=3D ARM_HWCAP_ARM_VFPv3; - if (cpu_isar_feature(aa32_simd_r32, cpu)) { - hwcaps |=3D ARM_HWCAP_ARM_VFPD32; - } else { - hwcaps |=3D ARM_HWCAP_ARM_VFPv3D16; - } - } - GET_FEATURE_ID(aa32_simdfmac, ARM_HWCAP_ARM_VFPv4); - /* - * MVFR1.FPHP and .SIMDHP must be in sync, and QEMU uses the same - * isar_feature function for both. The kernel reports them as two hwca= ps. - */ - GET_FEATURE_ID(aa32_fp16_arith, ARM_HWCAP_ARM_FPHP); - GET_FEATURE_ID(aa32_fp16_arith, ARM_HWCAP_ARM_ASIMDHP); - GET_FEATURE_ID(aa32_dp, ARM_HWCAP_ARM_ASIMDDP); - GET_FEATURE_ID(aa32_fhm, ARM_HWCAP_ARM_ASIMDFHM); - GET_FEATURE_ID(aa32_bf16, ARM_HWCAP_ARM_ASIMDBF16); - GET_FEATURE_ID(aa32_i8mm, ARM_HWCAP_ARM_I8MM); - - return hwcaps; -} - -uint64_t get_elf_hwcap2(void) -{ - ARMCPU *cpu =3D ARM_CPU(thread_cpu); - uint64_t hwcaps =3D 0; - - GET_FEATURE_ID(aa32_aes, ARM_HWCAP2_ARM_AES); - GET_FEATURE_ID(aa32_pmull, ARM_HWCAP2_ARM_PMULL); - GET_FEATURE_ID(aa32_sha1, ARM_HWCAP2_ARM_SHA1); - GET_FEATURE_ID(aa32_sha2, ARM_HWCAP2_ARM_SHA2); - GET_FEATURE_ID(aa32_crc32, ARM_HWCAP2_ARM_CRC32); - GET_FEATURE_ID(aa32_sb, ARM_HWCAP2_ARM_SB); - GET_FEATURE_ID(aa32_ssbs, ARM_HWCAP2_ARM_SSBS); - return hwcaps; -} - -const char *elf_hwcap_str(uint32_t bit) -{ - static const char *hwcap_str[] =3D { - [__builtin_ctz(ARM_HWCAP_ARM_SWP )] =3D "swp", - [__builtin_ctz(ARM_HWCAP_ARM_HALF )] =3D "half", - [__builtin_ctz(ARM_HWCAP_ARM_THUMB )] =3D "thumb", - [__builtin_ctz(ARM_HWCAP_ARM_26BIT )] =3D "26bit", - [__builtin_ctz(ARM_HWCAP_ARM_FAST_MULT)] =3D "fast_mult", - [__builtin_ctz(ARM_HWCAP_ARM_FPA )] =3D "fpa", - [__builtin_ctz(ARM_HWCAP_ARM_VFP )] =3D "vfp", - [__builtin_ctz(ARM_HWCAP_ARM_EDSP )] =3D "edsp", - [__builtin_ctz(ARM_HWCAP_ARM_JAVA )] =3D "java", - [__builtin_ctz(ARM_HWCAP_ARM_IWMMXT )] =3D "iwmmxt", - [__builtin_ctz(ARM_HWCAP_ARM_CRUNCH )] =3D "crunch", - [__builtin_ctz(ARM_HWCAP_ARM_THUMBEE )] =3D "thumbee", - [__builtin_ctz(ARM_HWCAP_ARM_NEON )] =3D "neon", - [__builtin_ctz(ARM_HWCAP_ARM_VFPv3 )] =3D "vfpv3", - [__builtin_ctz(ARM_HWCAP_ARM_VFPv3D16 )] =3D "vfpv3d16", - [__builtin_ctz(ARM_HWCAP_ARM_TLS )] =3D "tls", - [__builtin_ctz(ARM_HWCAP_ARM_VFPv4 )] =3D "vfpv4", - [__builtin_ctz(ARM_HWCAP_ARM_IDIVA )] =3D "idiva", - [__builtin_ctz(ARM_HWCAP_ARM_IDIVT )] =3D "idivt", - [__builtin_ctz(ARM_HWCAP_ARM_VFPD32 )] =3D "vfpd32", - [__builtin_ctz(ARM_HWCAP_ARM_LPAE )] =3D "lpae", - [__builtin_ctz(ARM_HWCAP_ARM_EVTSTRM )] =3D "evtstrm", - [__builtin_ctz(ARM_HWCAP_ARM_FPHP )] =3D "fphp", - [__builtin_ctz(ARM_HWCAP_ARM_ASIMDHP )] =3D "asimdhp", - [__builtin_ctz(ARM_HWCAP_ARM_ASIMDDP )] =3D "asimddp", - [__builtin_ctz(ARM_HWCAP_ARM_ASIMDFHM )] =3D "asimdfhm", - [__builtin_ctz(ARM_HWCAP_ARM_ASIMDBF16)] =3D "asimdbf16", - [__builtin_ctz(ARM_HWCAP_ARM_I8MM )] =3D "i8mm", - }; - - return bit < ARRAY_SIZE(hwcap_str) ? hwcap_str[bit] : NULL; -} - -const char *elf_hwcap2_str(uint32_t bit) -{ - static const char *hwcap_str[] =3D { - [__builtin_ctz(ARM_HWCAP2_ARM_AES )] =3D "aes", - [__builtin_ctz(ARM_HWCAP2_ARM_PMULL)] =3D "pmull", - [__builtin_ctz(ARM_HWCAP2_ARM_SHA1 )] =3D "sha1", - [__builtin_ctz(ARM_HWCAP2_ARM_SHA2 )] =3D "sha2", - [__builtin_ctz(ARM_HWCAP2_ARM_CRC32)] =3D "crc32", - [__builtin_ctz(ARM_HWCAP2_ARM_SB )] =3D "sb", - [__builtin_ctz(ARM_HWCAP2_ARM_SSBS )] =3D "ssbs", - }; - - return bit < ARRAY_SIZE(hwcap_str) ? hwcap_str[bit] : NULL; -} - -#undef GET_FEATURE -#undef GET_FEATURE_ID +#define ELF_HWCAP get_elf_hwcap(thread_cpu) +#define ELF_HWCAP2 get_elf_hwcap2(thread_cpu) =20 #define ELF_PLATFORM get_elf_platform() =20 @@ -712,342 +549,8 @@ static void elf_core_copy_regs(target_elf_gregset_t *= regs, #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 -enum { - ARM_HWCAP_A64_FP =3D 1 << 0, - ARM_HWCAP_A64_ASIMD =3D 1 << 1, - ARM_HWCAP_A64_EVTSTRM =3D 1 << 2, - ARM_HWCAP_A64_AES =3D 1 << 3, - ARM_HWCAP_A64_PMULL =3D 1 << 4, - ARM_HWCAP_A64_SHA1 =3D 1 << 5, - ARM_HWCAP_A64_SHA2 =3D 1 << 6, - ARM_HWCAP_A64_CRC32 =3D 1 << 7, - ARM_HWCAP_A64_ATOMICS =3D 1 << 8, - ARM_HWCAP_A64_FPHP =3D 1 << 9, - ARM_HWCAP_A64_ASIMDHP =3D 1 << 10, - ARM_HWCAP_A64_CPUID =3D 1 << 11, - ARM_HWCAP_A64_ASIMDRDM =3D 1 << 12, - ARM_HWCAP_A64_JSCVT =3D 1 << 13, - ARM_HWCAP_A64_FCMA =3D 1 << 14, - ARM_HWCAP_A64_LRCPC =3D 1 << 15, - ARM_HWCAP_A64_DCPOP =3D 1 << 16, - ARM_HWCAP_A64_SHA3 =3D 1 << 17, - ARM_HWCAP_A64_SM3 =3D 1 << 18, - ARM_HWCAP_A64_SM4 =3D 1 << 19, - ARM_HWCAP_A64_ASIMDDP =3D 1 << 20, - ARM_HWCAP_A64_SHA512 =3D 1 << 21, - ARM_HWCAP_A64_SVE =3D 1 << 22, - ARM_HWCAP_A64_ASIMDFHM =3D 1 << 23, - ARM_HWCAP_A64_DIT =3D 1 << 24, - ARM_HWCAP_A64_USCAT =3D 1 << 25, - ARM_HWCAP_A64_ILRCPC =3D 1 << 26, - ARM_HWCAP_A64_FLAGM =3D 1 << 27, - ARM_HWCAP_A64_SSBS =3D 1 << 28, - ARM_HWCAP_A64_SB =3D 1 << 29, - ARM_HWCAP_A64_PACA =3D 1 << 30, - ARM_HWCAP_A64_PACG =3D 1ULL << 31, - ARM_HWCAP_A64_GCS =3D 1ULL << 32, - ARM_HWCAP_A64_CMPBR =3D 1ULL << 33, - ARM_HWCAP_A64_FPRCVT =3D 1ULL << 34, - ARM_HWCAP_A64_F8MM8 =3D 1ULL << 35, - ARM_HWCAP_A64_F8MM4 =3D 1ULL << 36, - ARM_HWCAP_A64_SVE_F16MM =3D 1ULL << 37, - ARM_HWCAP_A64_SVE_ELTPERM =3D 1ULL << 38, - ARM_HWCAP_A64_SVE_AES2 =3D 1ULL << 39, - ARM_HWCAP_A64_SVE_BFSCALE =3D 1ULL << 40, - ARM_HWCAP_A64_SVE2P2 =3D 1ULL << 41, - ARM_HWCAP_A64_SME2P2 =3D 1ULL << 42, - ARM_HWCAP_A64_SME_SBITPERM =3D 1ULL << 43, - ARM_HWCAP_A64_SME_AES =3D 1ULL << 44, - ARM_HWCAP_A64_SME_SFEXPA =3D 1ULL << 45, - ARM_HWCAP_A64_SME_STMOP =3D 1ULL << 46, - ARM_HWCAP_A64_SME_SMOP4 =3D 1ULL << 47, - - ARM_HWCAP2_A64_DCPODP =3D 1 << 0, - ARM_HWCAP2_A64_SVE2 =3D 1 << 1, - ARM_HWCAP2_A64_SVEAES =3D 1 << 2, - ARM_HWCAP2_A64_SVEPMULL =3D 1 << 3, - ARM_HWCAP2_A64_SVEBITPERM =3D 1 << 4, - ARM_HWCAP2_A64_SVESHA3 =3D 1 << 5, - ARM_HWCAP2_A64_SVESM4 =3D 1 << 6, - ARM_HWCAP2_A64_FLAGM2 =3D 1 << 7, - ARM_HWCAP2_A64_FRINT =3D 1 << 8, - ARM_HWCAP2_A64_SVEI8MM =3D 1 << 9, - ARM_HWCAP2_A64_SVEF32MM =3D 1 << 10, - ARM_HWCAP2_A64_SVEF64MM =3D 1 << 11, - ARM_HWCAP2_A64_SVEBF16 =3D 1 << 12, - ARM_HWCAP2_A64_I8MM =3D 1 << 13, - ARM_HWCAP2_A64_BF16 =3D 1 << 14, - ARM_HWCAP2_A64_DGH =3D 1 << 15, - ARM_HWCAP2_A64_RNG =3D 1 << 16, - ARM_HWCAP2_A64_BTI =3D 1 << 17, - ARM_HWCAP2_A64_MTE =3D 1 << 18, - ARM_HWCAP2_A64_ECV =3D 1 << 19, - ARM_HWCAP2_A64_AFP =3D 1 << 20, - ARM_HWCAP2_A64_RPRES =3D 1 << 21, - ARM_HWCAP2_A64_MTE3 =3D 1 << 22, - ARM_HWCAP2_A64_SME =3D 1 << 23, - ARM_HWCAP2_A64_SME_I16I64 =3D 1 << 24, - ARM_HWCAP2_A64_SME_F64F64 =3D 1 << 25, - ARM_HWCAP2_A64_SME_I8I32 =3D 1 << 26, - ARM_HWCAP2_A64_SME_F16F32 =3D 1 << 27, - ARM_HWCAP2_A64_SME_B16F32 =3D 1 << 28, - ARM_HWCAP2_A64_SME_F32F32 =3D 1 << 29, - ARM_HWCAP2_A64_SME_FA64 =3D 1 << 30, - ARM_HWCAP2_A64_WFXT =3D 1ULL << 31, - ARM_HWCAP2_A64_EBF16 =3D 1ULL << 32, - ARM_HWCAP2_A64_SVE_EBF16 =3D 1ULL << 33, - ARM_HWCAP2_A64_CSSC =3D 1ULL << 34, - ARM_HWCAP2_A64_RPRFM =3D 1ULL << 35, - ARM_HWCAP2_A64_SVE2P1 =3D 1ULL << 36, - ARM_HWCAP2_A64_SME2 =3D 1ULL << 37, - ARM_HWCAP2_A64_SME2P1 =3D 1ULL << 38, - ARM_HWCAP2_A64_SME_I16I32 =3D 1ULL << 39, - ARM_HWCAP2_A64_SME_BI32I32 =3D 1ULL << 40, - ARM_HWCAP2_A64_SME_B16B16 =3D 1ULL << 41, - ARM_HWCAP2_A64_SME_F16F16 =3D 1ULL << 42, - ARM_HWCAP2_A64_MOPS =3D 1ULL << 43, - ARM_HWCAP2_A64_HBC =3D 1ULL << 44, - ARM_HWCAP2_A64_SVE_B16B16 =3D 1ULL << 45, - ARM_HWCAP2_A64_LRCPC3 =3D 1ULL << 46, - ARM_HWCAP2_A64_LSE128 =3D 1ULL << 47, - ARM_HWCAP2_A64_FPMR =3D 1ULL << 48, - ARM_HWCAP2_A64_LUT =3D 1ULL << 49, - ARM_HWCAP2_A64_FAMINMAX =3D 1ULL << 50, - ARM_HWCAP2_A64_F8CVT =3D 1ULL << 51, - ARM_HWCAP2_A64_F8FMA =3D 1ULL << 52, - ARM_HWCAP2_A64_F8DP4 =3D 1ULL << 53, - ARM_HWCAP2_A64_F8DP2 =3D 1ULL << 54, - ARM_HWCAP2_A64_F8E4M3 =3D 1ULL << 55, - ARM_HWCAP2_A64_F8E5M2 =3D 1ULL << 56, - ARM_HWCAP2_A64_SME_LUTV2 =3D 1ULL << 57, - ARM_HWCAP2_A64_SME_F8F16 =3D 1ULL << 58, - ARM_HWCAP2_A64_SME_F8F32 =3D 1ULL << 59, - ARM_HWCAP2_A64_SME_SF8FMA =3D 1ULL << 60, - ARM_HWCAP2_A64_SME_SF8DP4 =3D 1ULL << 61, - ARM_HWCAP2_A64_SME_SF8DP2 =3D 1ULL << 62, - ARM_HWCAP2_A64_POE =3D 1ULL << 63, -}; - -#define ELF_HWCAP get_elf_hwcap() -#define ELF_HWCAP2 get_elf_hwcap2() - -#define GET_FEATURE_ID(feat, hwcap) \ - do { if (cpu_isar_feature(feat, cpu)) { hwcaps |=3D hwcap; } } while (= 0) - -uint32_t get_elf_hwcap(void) -{ - ARMCPU *cpu =3D ARM_CPU(thread_cpu); - uint32_t hwcaps =3D 0; - - hwcaps |=3D ARM_HWCAP_A64_FP; - hwcaps |=3D ARM_HWCAP_A64_ASIMD; - hwcaps |=3D ARM_HWCAP_A64_CPUID; - - /* probe for the extra features */ - - GET_FEATURE_ID(aa64_aes, ARM_HWCAP_A64_AES); - GET_FEATURE_ID(aa64_pmull, ARM_HWCAP_A64_PMULL); - GET_FEATURE_ID(aa64_sha1, ARM_HWCAP_A64_SHA1); - GET_FEATURE_ID(aa64_sha256, ARM_HWCAP_A64_SHA2); - GET_FEATURE_ID(aa64_sha512, ARM_HWCAP_A64_SHA512); - GET_FEATURE_ID(aa64_crc32, ARM_HWCAP_A64_CRC32); - GET_FEATURE_ID(aa64_sha3, ARM_HWCAP_A64_SHA3); - GET_FEATURE_ID(aa64_sm3, ARM_HWCAP_A64_SM3); - GET_FEATURE_ID(aa64_sm4, ARM_HWCAP_A64_SM4); - GET_FEATURE_ID(aa64_fp16, ARM_HWCAP_A64_FPHP | ARM_HWCAP_A64_ASIMDHP); - GET_FEATURE_ID(aa64_atomics, ARM_HWCAP_A64_ATOMICS); - GET_FEATURE_ID(aa64_lse2, ARM_HWCAP_A64_USCAT); - GET_FEATURE_ID(aa64_rdm, ARM_HWCAP_A64_ASIMDRDM); - GET_FEATURE_ID(aa64_dp, ARM_HWCAP_A64_ASIMDDP); - GET_FEATURE_ID(aa64_fcma, ARM_HWCAP_A64_FCMA); - GET_FEATURE_ID(aa64_sve, ARM_HWCAP_A64_SVE); - GET_FEATURE_ID(aa64_pauth, ARM_HWCAP_A64_PACA | ARM_HWCAP_A64_PACG); - GET_FEATURE_ID(aa64_fhm, ARM_HWCAP_A64_ASIMDFHM); - GET_FEATURE_ID(aa64_dit, ARM_HWCAP_A64_DIT); - GET_FEATURE_ID(aa64_jscvt, ARM_HWCAP_A64_JSCVT); - GET_FEATURE_ID(aa64_sb, ARM_HWCAP_A64_SB); - GET_FEATURE_ID(aa64_condm_4, ARM_HWCAP_A64_FLAGM); - GET_FEATURE_ID(aa64_dcpop, ARM_HWCAP_A64_DCPOP); - GET_FEATURE_ID(aa64_rcpc_8_3, ARM_HWCAP_A64_LRCPC); - GET_FEATURE_ID(aa64_rcpc_8_4, ARM_HWCAP_A64_ILRCPC); - - return hwcaps; -} - -uint64_t get_elf_hwcap2(void) -{ - ARMCPU *cpu =3D ARM_CPU(thread_cpu); - uint64_t hwcaps =3D 0; - - GET_FEATURE_ID(aa64_dcpodp, ARM_HWCAP2_A64_DCPODP); - GET_FEATURE_ID(aa64_sve2, ARM_HWCAP2_A64_SVE2); - GET_FEATURE_ID(aa64_sve2_aes, ARM_HWCAP2_A64_SVEAES); - GET_FEATURE_ID(aa64_sve2_pmull128, ARM_HWCAP2_A64_SVEPMULL); - GET_FEATURE_ID(aa64_sve2_bitperm, ARM_HWCAP2_A64_SVEBITPERM); - GET_FEATURE_ID(aa64_sve2_sha3, ARM_HWCAP2_A64_SVESHA3); - GET_FEATURE_ID(aa64_sve2_sm4, ARM_HWCAP2_A64_SVESM4); - GET_FEATURE_ID(aa64_condm_5, ARM_HWCAP2_A64_FLAGM2); - GET_FEATURE_ID(aa64_frint, ARM_HWCAP2_A64_FRINT); - GET_FEATURE_ID(aa64_sve_i8mm, ARM_HWCAP2_A64_SVEI8MM); - GET_FEATURE_ID(aa64_sve_f32mm, ARM_HWCAP2_A64_SVEF32MM); - GET_FEATURE_ID(aa64_sve_f64mm, ARM_HWCAP2_A64_SVEF64MM); - GET_FEATURE_ID(aa64_sve_bf16, ARM_HWCAP2_A64_SVEBF16); - GET_FEATURE_ID(aa64_i8mm, ARM_HWCAP2_A64_I8MM); - GET_FEATURE_ID(aa64_bf16, ARM_HWCAP2_A64_BF16); - GET_FEATURE_ID(aa64_rndr, ARM_HWCAP2_A64_RNG); - GET_FEATURE_ID(aa64_bti, ARM_HWCAP2_A64_BTI); - GET_FEATURE_ID(aa64_mte, ARM_HWCAP2_A64_MTE); - GET_FEATURE_ID(aa64_mte3, ARM_HWCAP2_A64_MTE3); - GET_FEATURE_ID(aa64_sme, (ARM_HWCAP2_A64_SME | - ARM_HWCAP2_A64_SME_F32F32 | - ARM_HWCAP2_A64_SME_B16F32 | - ARM_HWCAP2_A64_SME_F16F32 | - ARM_HWCAP2_A64_SME_I8I32)); - GET_FEATURE_ID(aa64_sme_f64f64, ARM_HWCAP2_A64_SME_F64F64); - GET_FEATURE_ID(aa64_sme_i16i64, ARM_HWCAP2_A64_SME_I16I64); - GET_FEATURE_ID(aa64_sme_fa64, ARM_HWCAP2_A64_SME_FA64); - GET_FEATURE_ID(aa64_hbc, ARM_HWCAP2_A64_HBC); - GET_FEATURE_ID(aa64_mops, ARM_HWCAP2_A64_MOPS); - GET_FEATURE_ID(aa64_sve2p1, ARM_HWCAP2_A64_SVE2P1); - GET_FEATURE_ID(aa64_sme2, (ARM_HWCAP2_A64_SME2 | - ARM_HWCAP2_A64_SME_I16I32 | - ARM_HWCAP2_A64_SME_BI32I32)); - GET_FEATURE_ID(aa64_sme2p1, ARM_HWCAP2_A64_SME2P1); - GET_FEATURE_ID(aa64_sme_b16b16, ARM_HWCAP2_A64_SME_B16B16); - GET_FEATURE_ID(aa64_sme_f16f16, ARM_HWCAP2_A64_SME_F16F16); - GET_FEATURE_ID(aa64_sve_b16b16, ARM_HWCAP2_A64_SVE_B16B16); - - return hwcaps; -} - -const char *elf_hwcap_str(uint32_t bit) -{ - static const char * const hwcap_str[] =3D { - [__builtin_ctz(ARM_HWCAP_A64_FP )] =3D "fp", - [__builtin_ctz(ARM_HWCAP_A64_ASIMD )] =3D "asimd", - [__builtin_ctz(ARM_HWCAP_A64_EVTSTRM )] =3D "evtstrm", - [__builtin_ctz(ARM_HWCAP_A64_AES )] =3D "aes", - [__builtin_ctz(ARM_HWCAP_A64_PMULL )] =3D "pmull", - [__builtin_ctz(ARM_HWCAP_A64_SHA1 )] =3D "sha1", - [__builtin_ctz(ARM_HWCAP_A64_SHA2 )] =3D "sha2", - [__builtin_ctz(ARM_HWCAP_A64_CRC32 )] =3D "crc32", - [__builtin_ctz(ARM_HWCAP_A64_ATOMICS )] =3D "atomics", - [__builtin_ctz(ARM_HWCAP_A64_FPHP )] =3D "fphp", - [__builtin_ctz(ARM_HWCAP_A64_ASIMDHP )] =3D "asimdhp", - [__builtin_ctz(ARM_HWCAP_A64_CPUID )] =3D "cpuid", - [__builtin_ctz(ARM_HWCAP_A64_ASIMDRDM)] =3D "asimdrdm", - [__builtin_ctz(ARM_HWCAP_A64_JSCVT )] =3D "jscvt", - [__builtin_ctz(ARM_HWCAP_A64_FCMA )] =3D "fcma", - [__builtin_ctz(ARM_HWCAP_A64_LRCPC )] =3D "lrcpc", - [__builtin_ctz(ARM_HWCAP_A64_DCPOP )] =3D "dcpop", - [__builtin_ctz(ARM_HWCAP_A64_SHA3 )] =3D "sha3", - [__builtin_ctz(ARM_HWCAP_A64_SM3 )] =3D "sm3", - [__builtin_ctz(ARM_HWCAP_A64_SM4 )] =3D "sm4", - [__builtin_ctz(ARM_HWCAP_A64_ASIMDDP )] =3D "asimddp", - [__builtin_ctz(ARM_HWCAP_A64_SHA512 )] =3D "sha512", - [__builtin_ctz(ARM_HWCAP_A64_SVE )] =3D "sve", - [__builtin_ctz(ARM_HWCAP_A64_ASIMDFHM)] =3D "asimdfhm", - [__builtin_ctz(ARM_HWCAP_A64_DIT )] =3D "dit", - [__builtin_ctz(ARM_HWCAP_A64_USCAT )] =3D "uscat", - [__builtin_ctz(ARM_HWCAP_A64_ILRCPC )] =3D "ilrcpc", - [__builtin_ctz(ARM_HWCAP_A64_FLAGM )] =3D "flagm", - [__builtin_ctz(ARM_HWCAP_A64_SSBS )] =3D "ssbs", - [__builtin_ctz(ARM_HWCAP_A64_SB )] =3D "sb", - [__builtin_ctz(ARM_HWCAP_A64_PACA )] =3D "paca", - [__builtin_ctz(ARM_HWCAP_A64_PACG )] =3D "pacg", - [__builtin_ctzll(ARM_HWCAP_A64_GCS )] =3D "gcs", - [__builtin_ctzll(ARM_HWCAP_A64_CMPBR )] =3D "cmpbr", - [__builtin_ctzll(ARM_HWCAP_A64_FPRCVT)] =3D "fprcvt", - [__builtin_ctzll(ARM_HWCAP_A64_F8MM8 )] =3D "f8mm8", - [__builtin_ctzll(ARM_HWCAP_A64_F8MM4 )] =3D "f8mm4", - [__builtin_ctzll(ARM_HWCAP_A64_SVE_F16MM)] =3D "svef16mm", - [__builtin_ctzll(ARM_HWCAP_A64_SVE_ELTPERM)] =3D "sveeltperm", - [__builtin_ctzll(ARM_HWCAP_A64_SVE_AES2)] =3D "sveaes2", - [__builtin_ctzll(ARM_HWCAP_A64_SVE_BFSCALE)] =3D "svebfscale", - [__builtin_ctzll(ARM_HWCAP_A64_SVE2P2)] =3D "sve2p2", - [__builtin_ctzll(ARM_HWCAP_A64_SME2P2)] =3D "sme2p2", - [__builtin_ctzll(ARM_HWCAP_A64_SME_SBITPERM)] =3D "smesbitperm", - [__builtin_ctzll(ARM_HWCAP_A64_SME_AES)] =3D "smeaes", - [__builtin_ctzll(ARM_HWCAP_A64_SME_SFEXPA)] =3D "smesfexpa", - [__builtin_ctzll(ARM_HWCAP_A64_SME_STMOP)] =3D "smestmop", - [__builtin_ctzll(ARM_HWCAP_A64_SME_SMOP4)] =3D "smesmop4", - }; - - return bit < ARRAY_SIZE(hwcap_str) ? hwcap_str[bit] : NULL; -} - -const char *elf_hwcap2_str(uint32_t bit) -{ - static const char * const hwcap_str[] =3D { - [__builtin_ctz(ARM_HWCAP2_A64_DCPODP )] =3D "dcpodp", - [__builtin_ctz(ARM_HWCAP2_A64_SVE2 )] =3D "sve2", - [__builtin_ctz(ARM_HWCAP2_A64_SVEAES )] =3D "sveaes", - [__builtin_ctz(ARM_HWCAP2_A64_SVEPMULL )] =3D "svepmull", - [__builtin_ctz(ARM_HWCAP2_A64_SVEBITPERM )] =3D "svebitperm", - [__builtin_ctz(ARM_HWCAP2_A64_SVESHA3 )] =3D "svesha3", - [__builtin_ctz(ARM_HWCAP2_A64_SVESM4 )] =3D "svesm4", - [__builtin_ctz(ARM_HWCAP2_A64_FLAGM2 )] =3D "flagm2", - [__builtin_ctz(ARM_HWCAP2_A64_FRINT )] =3D "frint", - [__builtin_ctz(ARM_HWCAP2_A64_SVEI8MM )] =3D "svei8mm", - [__builtin_ctz(ARM_HWCAP2_A64_SVEF32MM )] =3D "svef32mm", - [__builtin_ctz(ARM_HWCAP2_A64_SVEF64MM )] =3D "svef64mm", - [__builtin_ctz(ARM_HWCAP2_A64_SVEBF16 )] =3D "svebf16", - [__builtin_ctz(ARM_HWCAP2_A64_I8MM )] =3D "i8mm", - [__builtin_ctz(ARM_HWCAP2_A64_BF16 )] =3D "bf16", - [__builtin_ctz(ARM_HWCAP2_A64_DGH )] =3D "dgh", - [__builtin_ctz(ARM_HWCAP2_A64_RNG )] =3D "rng", - [__builtin_ctz(ARM_HWCAP2_A64_BTI )] =3D "bti", - [__builtin_ctz(ARM_HWCAP2_A64_MTE )] =3D "mte", - [__builtin_ctz(ARM_HWCAP2_A64_ECV )] =3D "ecv", - [__builtin_ctz(ARM_HWCAP2_A64_AFP )] =3D "afp", - [__builtin_ctz(ARM_HWCAP2_A64_RPRES )] =3D "rpres", - [__builtin_ctz(ARM_HWCAP2_A64_MTE3 )] =3D "mte3", - [__builtin_ctz(ARM_HWCAP2_A64_SME )] =3D "sme", - [__builtin_ctz(ARM_HWCAP2_A64_SME_I16I64 )] =3D "smei16i64", - [__builtin_ctz(ARM_HWCAP2_A64_SME_F64F64 )] =3D "smef64f64", - [__builtin_ctz(ARM_HWCAP2_A64_SME_I8I32 )] =3D "smei8i32", - [__builtin_ctz(ARM_HWCAP2_A64_SME_F16F32 )] =3D "smef16f32", - [__builtin_ctz(ARM_HWCAP2_A64_SME_B16F32 )] =3D "smeb16f32", - [__builtin_ctz(ARM_HWCAP2_A64_SME_F32F32 )] =3D "smef32f32", - [__builtin_ctz(ARM_HWCAP2_A64_SME_FA64 )] =3D "smefa64", - [__builtin_ctz(ARM_HWCAP2_A64_WFXT )] =3D "wfxt", - [__builtin_ctzll(ARM_HWCAP2_A64_EBF16 )] =3D "ebf16", - [__builtin_ctzll(ARM_HWCAP2_A64_SVE_EBF16 )] =3D "sveebf16", - [__builtin_ctzll(ARM_HWCAP2_A64_CSSC )] =3D "cssc", - [__builtin_ctzll(ARM_HWCAP2_A64_RPRFM )] =3D "rprfm", - [__builtin_ctzll(ARM_HWCAP2_A64_SVE2P1 )] =3D "sve2p1", - [__builtin_ctzll(ARM_HWCAP2_A64_SME2 )] =3D "sme2", - [__builtin_ctzll(ARM_HWCAP2_A64_SME2P1 )] =3D "sme2p1", - [__builtin_ctzll(ARM_HWCAP2_A64_SME_I16I32 )] =3D "smei16i32", - [__builtin_ctzll(ARM_HWCAP2_A64_SME_BI32I32)] =3D "smebi32i32", - [__builtin_ctzll(ARM_HWCAP2_A64_SME_B16B16 )] =3D "smeb16b16", - [__builtin_ctzll(ARM_HWCAP2_A64_SME_F16F16 )] =3D "smef16f16", - [__builtin_ctzll(ARM_HWCAP2_A64_MOPS )] =3D "mops", - [__builtin_ctzll(ARM_HWCAP2_A64_HBC )] =3D "hbc", - [__builtin_ctzll(ARM_HWCAP2_A64_SVE_B16B16 )] =3D "sveb16b16", - [__builtin_ctzll(ARM_HWCAP2_A64_LRCPC3 )] =3D "lrcpc3", - [__builtin_ctzll(ARM_HWCAP2_A64_LSE128 )] =3D "lse128", - [__builtin_ctzll(ARM_HWCAP2_A64_FPMR )] =3D "fpmr", - [__builtin_ctzll(ARM_HWCAP2_A64_LUT )] =3D "lut", - [__builtin_ctzll(ARM_HWCAP2_A64_FAMINMAX )] =3D "faminmax", - [__builtin_ctzll(ARM_HWCAP2_A64_F8CVT )] =3D "f8cvt", - [__builtin_ctzll(ARM_HWCAP2_A64_F8FMA )] =3D "f8fma", - [__builtin_ctzll(ARM_HWCAP2_A64_F8DP4 )] =3D "f8dp4", - [__builtin_ctzll(ARM_HWCAP2_A64_F8DP2 )] =3D "f8dp2", - [__builtin_ctzll(ARM_HWCAP2_A64_F8E4M3 )] =3D "f8e4m3", - [__builtin_ctzll(ARM_HWCAP2_A64_F8E5M2 )] =3D "f8e5m2", - [__builtin_ctzll(ARM_HWCAP2_A64_SME_LUTV2 )] =3D "smelutv2", - [__builtin_ctzll(ARM_HWCAP2_A64_SME_F8F16 )] =3D "smef8f16", - [__builtin_ctzll(ARM_HWCAP2_A64_SME_F8F32 )] =3D "smef8f32", - [__builtin_ctzll(ARM_HWCAP2_A64_SME_SF8DP4 )] =3D "smesf8dp4", - [__builtin_ctzll(ARM_HWCAP2_A64_SME_SF8DP2 )] =3D "smesf8dp2", - [__builtin_ctzll(ARM_HWCAP2_A64_POE )] =3D "poe", - }; - - return bit < ARRAY_SIZE(hwcap_str) ? hwcap_str[bit] : NULL; -} - -#undef GET_FEATURE_ID +#define ELF_HWCAP get_elf_hwcap(thread_cpu) +#define ELF_HWCAP2 get_elf_hwcap2(thread_cpu) =20 #if TARGET_BIG_ENDIAN # define VDSO_HEADER "vdso-be.c.inc" --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753834407; cv=none; d=zohomail.com; s=zohoarc; b=XyUo5egI5tFWuPehaoDhLIHknL4KNfS0206WgSzlW24ikiDoqev/iCJQsKa0MZGz9WFojuGkb4lXKSaASdqn5XQc4yhJlswBVafElIJ+4aYneN4zpqs8yRvfmt+N7ebSgWH72Fi3MjVHty0HHYN4WPy6Nh80/M7lIBI5ozdw794= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753834407; 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=KK0MFTf+PrVtNntZlwBJtPx6XUJHay93y6cPNjvRi4k=; b=HtVP4PfQxnSqmLyDgo4WQht0Rro7uepphcTp1Aztn7ETEdF7rX4e4mphlMUmhGoVSgw8NngGv3KUMF14Ul19EXaOWn0pxf05yipdOd5tV3F6UYKNKB0fucOh7rogoADEHvPbtq6z493hhHmqGtKbvoXm5wXM2lggwjjJsZBOQCk= 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 1753834407731217.07245262853564; Tue, 29 Jul 2025 17:13:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguR9-0001a5-Iq; Tue, 29 Jul 2025 20:12:51 -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 1uguF1-0001MF-IW for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:21 -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 1uguEy-0003zu-8W for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:17 -0400 Received: by mail-pf1-x432.google.com with SMTP id d2e1a72fcca58-7600271f3e9so395818b3a.0 for ; Tue, 29 Jul 2025 17:00:15 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.11 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833615; x=1754438415; 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=KK0MFTf+PrVtNntZlwBJtPx6XUJHay93y6cPNjvRi4k=; b=weV404GtMwtg7VPg3gpd+KtXILhLX8kyWZpiX7m84qtULKFhN6zKCkQavNJaYD/XRm IOBmE9qoLNtZ0AODMmQof1fM9W4D9NSfpFl2zOLTAUTc2ob50lIVYOStYvleKFnc6DVY TYcc7Z6BKLvu98DUT+4Q7BA7ef6PvSXmZbj0PZTtOXpAyt+rDiS3jtCrre2rzai+OfEJ Wg5Ft4ONWXZgqFWsp9HYhBR31F1C1f/jniwvJnK5Erlf0psqER5sN90eV3v2zvCzQ5/5 BP9+jlSi1F/1XhBcL+LCal4g2XnAbU6O0p40084EjFTgDf9s0wdGl9Oszhbvh1NzaByE LIVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833615; x=1754438415; 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=KK0MFTf+PrVtNntZlwBJtPx6XUJHay93y6cPNjvRi4k=; b=G15V7K2Uxy94ONrzfsRD3svrCO9ReI+i4mk/RtDMhgbiBxqi5lhr4zilJg1J+b2iaS mvHXXulKdxvbw5wVRKSBXyxdledtRPh5PRiqlnWkQo6cfkpL2ZYwn2lTWyBzSX8A4G5K 9KxQ0W0gglZzhO/074Mrmd6eC35yU8ZZnCQHiHACbYe79YwKuaPPbz6IMn/mOr0vNQVo 14jClVSAzXzmCovjKFT7pcSkZ2H7bRCiyCoZdBXDwHmgKd8gl2nfLMBQf4mJgVc15dWW uBjPYaaGbjWtGVXR2vi6Cun5DACyJNwX4NGRp62J72Miy41WdC/hdfY3GDeZNivyFTVp ZoaA== X-Gm-Message-State: AOJu0YxJyQF+CkYE8KXF+a3G+bwmJeznzFE+vpRGWI0XW8eba4zufjzk N2IKN8y5RXKTPj+lTaHty2TnY4IUyYBaAf9ojnFG5P4yzZYU2SThKsebzbRSdQIZbxtjv3BAiXp Vdgbh X-Gm-Gg: ASbGnctEB8s99QzDXifUe/8/lXIWmrhPiM8ODaoV5VrMkbTkSO7NPQysSw32OO4WZXt z1xIdlbUA1e1G3s5qIGlMu8uvtopFgcPDMUYfF7FAkvu69u9OR7K1VNSbSqN+sb86NpjAorEzEt lZdn7k9a1PrcjbE9d9coFN5Aj1gNKLqaU45u/6e+FhyWG3TURp5HP1W36gjtdA3z8N+bNzeOxGJ yjPCi46NDz8zrIxsQpm+3LECdGrLqVSwQuK2kYwsjGjx+FM3EdLsDyLtLqRTeYa563EgG8OSQWC FMS1lzhzkwN8md6BUMHN6fiiz2++LEpZTdtTvx+jEzvkRYTQ0+fuUuTK7KPT09XLhvtRnyaCVrp 6nYCVgipM7Bnp1wMZJzZ88qkLchCCZo+YtWMeHNhVgi22gmm6ib1430mrzAM7IGkxCmEjBUPjLF w672dEipFEgPEQGy+l8b0y X-Google-Smtp-Source: AGHT+IERxMphqVvr1ftASMYdIuSlQYZB0LmbRiApdJLFxGp91A5VkpAxJyBHJs57lKNBlDtr92Ckuw== X-Received: by 2002:a05:6a00:4654:b0:744:a240:fb1b with SMTP id d2e1a72fcca58-76ab6a50c14mr1996187b3a.5.1753833613038; Tue, 29 Jul 2025 17:00:13 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 04/89] linux-user: Move get_elf_hwcap to sparc/elfload.c Date: Tue, 29 Jul 2025 13:58:37 -1000 Message-ID: <20250730000003.599084-5-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::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: 1753834409392116600 Content-Type: text/plain; charset="utf-8" Change the return type to abi_ulong, and pass in the cpu. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/loader.h | 3 ++- linux-user/elfload.c | 30 +----------------------------- linux-user/sparc/elfload.c | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 30 deletions(-) diff --git a/linux-user/loader.h b/linux-user/loader.h index be92207c2b..d2f0bea2b2 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -98,7 +98,8 @@ abi_long memcpy_to_target(abi_ulong dest, const void *src, =20 extern unsigned long guest_stack_size; =20 -#if defined(TARGET_I386) || defined(TARGET_X86_64) || defined(TARGET_ARM) +#if defined(TARGET_I386) || defined(TARGET_X86_64) || defined(TARGET_ARM) \ + || defined(TARGET_SPARC) abi_ulong get_elf_hwcap(CPUState *cs); abi_ulong get_elf_hwcap2(CPUState *cs); #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 3a4f68f503..220af18cb8 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -575,35 +575,7 @@ static void elf_core_copy_regs(target_elf_gregset_t *r= egs, # define ELF_ARCH EM_SPARCV9 #endif =20 -#include "elf.h" - -#define ELF_HWCAP get_elf_hwcap() - -static uint32_t get_elf_hwcap(void) -{ - /* There are not many sparc32 hwcap bits -- we have all of them. */ - uint32_t r =3D HWCAP_SPARC_FLUSH | HWCAP_SPARC_STBAR | - HWCAP_SPARC_SWAP | HWCAP_SPARC_MULDIV; - -#ifdef TARGET_SPARC64 - CPUSPARCState *env =3D cpu_env(thread_cpu); - uint32_t features =3D env->def.features; - - r |=3D HWCAP_SPARC_V9 | HWCAP_SPARC_V8PLUS; - /* 32x32 multiply and divide are efficient. */ - r |=3D HWCAP_SPARC_MUL32 | HWCAP_SPARC_DIV32; - /* We don't have an internal feature bit for this. */ - r |=3D HWCAP_SPARC_POPC; - r |=3D features & CPU_FEATURE_FSMULD ? HWCAP_SPARC_FSMULD : 0; - r |=3D features & CPU_FEATURE_VIS1 ? HWCAP_SPARC_VIS : 0; - r |=3D features & CPU_FEATURE_VIS2 ? HWCAP_SPARC_VIS2 : 0; - r |=3D features & CPU_FEATURE_FMAF ? HWCAP_SPARC_FMAF : 0; - r |=3D features & CPU_FEATURE_VIS3 ? HWCAP_SPARC_VIS3 : 0; - r |=3D features & CPU_FEATURE_IMA ? HWCAP_SPARC_IMA : 0; -#endif - - return r; -} +#define ELF_HWCAP get_elf_hwcap(thread_cpu) =20 static inline void init_thread(struct target_pt_regs *regs, struct image_info *infop) diff --git a/linux-user/sparc/elfload.c b/linux-user/sparc/elfload.c index 73fa78ef14..b4b8e4916e 100644 --- a/linux-user/sparc/elfload.c +++ b/linux-user/sparc/elfload.c @@ -1 +1,33 @@ /* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include "qemu/osdep.h" +#include "qemu.h" +#include "loader.h" +#include "elf.h" + + +abi_ulong get_elf_hwcap(CPUState *cs) +{ + /* There are not many sparc32 hwcap bits -- we have all of them. */ + abi_ulong r =3D HWCAP_SPARC_FLUSH | HWCAP_SPARC_STBAR | + HWCAP_SPARC_SWAP | HWCAP_SPARC_MULDIV; + +#ifdef TARGET_SPARC64 + CPUSPARCState *env =3D cpu_env(cs); + uint32_t features =3D env->def.features; + + r |=3D HWCAP_SPARC_V9 | HWCAP_SPARC_V8PLUS; + /* 32x32 multiply and divide are efficient. */ + r |=3D HWCAP_SPARC_MUL32 | HWCAP_SPARC_DIV32; + /* We don't have an internal feature bit for this. */ + r |=3D HWCAP_SPARC_POPC; + r |=3D features & CPU_FEATURE_FSMULD ? HWCAP_SPARC_FSMULD : 0; + r |=3D features & CPU_FEATURE_VIS1 ? HWCAP_SPARC_VIS : 0; + r |=3D features & CPU_FEATURE_VIS2 ? HWCAP_SPARC_VIS2 : 0; + r |=3D features & CPU_FEATURE_FMAF ? HWCAP_SPARC_FMAF : 0; + r |=3D features & CPU_FEATURE_VIS3 ? HWCAP_SPARC_VIS3 : 0; + r |=3D features & CPU_FEATURE_IMA ? HWCAP_SPARC_IMA : 0; +#endif + + return r; +} --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753834624; cv=none; d=zohomail.com; s=zohoarc; b=S3ce6mj5FgizfpkNHWKoaLBuGcVNkfUiCoqoNjOAEpyJFeY4YU1rnzFZC+R3OhuZQBOrJUorxu0brceS56QVsHtaBPh1oAieGeC3Cr7al6EMLTodgioP3oc/L7pl7Pno7/mL53xk2O1UeWVXiDb241pN6O7BgYzfYCpli4HWpmQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753834624; 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=qDwAhn1y64UvWd8oXhTDOOr80IEy8W5OXfYifq7jEVQ=; b=Cp8qRaEx8rkr3g52QAyJYpx+Wv7WQaIoEVMOW8oElEBjj3t06pBLfSQ9VfsRxBKUX3fIjgmitgU8uNFkuBvd100xI9l/RaIXV3kG9fCRxhMT0mS7/6uScgLPEVIn52pomIwwUFaDMUeqeR1wZmni2GuZYzOKxahZa1GhbT6v6oY= 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 1753834624395583.6930750398406; Tue, 29 Jul 2025 17:17:04 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguRA-0001bF-Ty; Tue, 29 Jul 2025 20:12:52 -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 1uguF1-0001MG-Ii for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:21 -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 1uguEx-0003zr-Tx for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:18 -0400 Received: by mail-pf1-x432.google.com with SMTP id d2e1a72fcca58-75ce8f8a3a1so3619849b3a.3 for ; Tue, 29 Jul 2025 17:00:15 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.13 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833614; x=1754438414; 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=qDwAhn1y64UvWd8oXhTDOOr80IEy8W5OXfYifq7jEVQ=; b=GvnGL+XLfuSu5ISlkAIy7fiIFS+WCpDroLZ4ktZi3+5hcdXX7il5b3IFWGbhHpa7Qh mghtGqJ5Y9nxnwLyIjQIwA0pEbL6mr56OqDS8hR3tD1NdO8E6IOuCFziTFhyNQ5cDJCH I9qNYRK1nY1T815Ij2tZujMTsWWCaeGntL7GFAwiNtgz2TX1tYLAkrz3Ll8QeRC3vlAK KanqQqXyXbxWuC3gUi2KRhz66vZ9FN6cm91/z7BIvOZdJnx/a69kbcvEtJUA+0h5dSjj sf6At8GG3QP/twO1ozy+QMIH0FrdTE9oEz8v5yzsbaRloC3kwOl6rnWlkvVts4RAcoDE id2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833614; x=1754438414; 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=qDwAhn1y64UvWd8oXhTDOOr80IEy8W5OXfYifq7jEVQ=; b=aCqI5H5XaprQ/5KnzE/ALumei295k2zNsM7ZSoSM7q9Hyi4w/qidL2Oa4ME6JVGNbB 0dhiejG1d9yiV1aaZ74BJqxV38edd1L335QqPHn2Hj0G30D+FnbzxaAWkr+VsL0tOyHW zFZjxn9dGUA7D1fAMSfDzO/qF3kSWxAQ2nSXvO+DL3hHeUp7kSGd18O4yxnwdDS3rf6N WB126UT/k8UDHXBOytEu8wUoFfALGj0Az4EDs6dtLxQTo1YQ4s3A4a/ZgH5zLle2swiF zJByPogdqhGifRahVghaxTAgcGihRihnb8aKu1yvjF2defQXUqOz93uTCT+FaqpATz9t O/hg== X-Gm-Message-State: AOJu0Yw/deF+z8wQusJh6/ew3701TraAL01XvNJHbHmwW8FIOSB8/tzx XM3uC8oJrOx0GbR2Olwb9WtHx8MjtFOxB6BOtSfn74BLgUjRRjRDDLCSPhYyIj2agT4qaMsq50+ X14D9 X-Gm-Gg: ASbGncscVJU3WXBEjHHemAC9aYdqkrtwY5jUFzKxi8yHwNRb+6d3DijFIdf/ZykLRbH RbBnAuGmlDLthDQILVKiafo3wcKCmprDedGxDyur3j+P62gNRnyrUi6MVoDc197O735MAEA84oW x6zxxo+QMf7JivYuMJt1UICS/uEtl2NEgMU7xC4UxrznrUzo15RtNowugIwywflcaxG6++2BvM1 UFfJ+0YPgP54ewITIJYkyAJ+tkNNMYMp6G8b0rd9vyEVC8VG45MoV4mU8zuyA/a9PMiBY6gHQnt 0JX7Zg6qMgBNFsDkt7cgPjmp6agvk4qZnI/BlGQQEXGOPAjPRY9UwWMwLbAN6c8wwDWi/FaI+pF o6qnFNaJ49296pcDZDJRn/xvIVYI0510dV2KIFnxpodMhWNaI5p4tFX+qouKeyWng2p6uUEYgQi zPSoWhjgPDLRq5ddrqLNDu X-Google-Smtp-Source: AGHT+IGfvPV3cVg4x6jTwvm+KqBmiXzKQeOxwpZUHW1lhS/fNYjlOGUWinA+BRuwg8Bo8ZAhMPlryg== X-Received: by 2002:a05:6a00:2443:b0:736:3ea8:4805 with SMTP id d2e1a72fcca58-76ab1612400mr2030601b3a.7.1753833614342; Tue, 29 Jul 2025 17:00:14 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 05/89] linux-user: Move hwcap functions to ppc/elfload.c Date: Tue, 29 Jul 2025 13:58:38 -1000 Message-ID: <20250730000003.599084-6-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::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, UPPERCASE_50_75=0.008 autolearn=no 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: 1753834625097116600 Content-Type: text/plain; charset="utf-8" Change the return type to abi_ulong, and pass in the cpu. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/loader.h | 2 +- linux-user/elfload.c | 116 +------------------------------------ linux-user/ppc/elfload.c | 121 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 124 insertions(+), 115 deletions(-) diff --git a/linux-user/loader.h b/linux-user/loader.h index d2f0bea2b2..781bf89e88 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -99,7 +99,7 @@ abi_long memcpy_to_target(abi_ulong dest, const void *src, extern unsigned long guest_stack_size; =20 #if defined(TARGET_I386) || defined(TARGET_X86_64) || defined(TARGET_ARM) \ - || defined(TARGET_SPARC) + || defined(TARGET_SPARC) || defined(TARGET_PPC) abi_ulong get_elf_hwcap(CPUState *cs); abi_ulong get_elf_hwcap2(CPUState *cs); #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 220af18cb8..32cf2db718 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -608,120 +608,8 @@ static inline void init_thread(struct target_pt_regs = *regs, =20 #define ELF_ARCH EM_PPC =20 -/* Feature masks for the Aux Vector Hardware Capabilities (AT_HWCAP). - See arch/powerpc/include/asm/cputable.h. */ -enum { - QEMU_PPC_FEATURE_32 =3D 0x80000000, - QEMU_PPC_FEATURE_64 =3D 0x40000000, - QEMU_PPC_FEATURE_601_INSTR =3D 0x20000000, - QEMU_PPC_FEATURE_HAS_ALTIVEC =3D 0x10000000, - QEMU_PPC_FEATURE_HAS_FPU =3D 0x08000000, - QEMU_PPC_FEATURE_HAS_MMU =3D 0x04000000, - QEMU_PPC_FEATURE_HAS_4xxMAC =3D 0x02000000, - QEMU_PPC_FEATURE_UNIFIED_CACHE =3D 0x01000000, - QEMU_PPC_FEATURE_HAS_SPE =3D 0x00800000, - QEMU_PPC_FEATURE_HAS_EFP_SINGLE =3D 0x00400000, - QEMU_PPC_FEATURE_HAS_EFP_DOUBLE =3D 0x00200000, - QEMU_PPC_FEATURE_NO_TB =3D 0x00100000, - QEMU_PPC_FEATURE_POWER4 =3D 0x00080000, - QEMU_PPC_FEATURE_POWER5 =3D 0x00040000, - QEMU_PPC_FEATURE_POWER5_PLUS =3D 0x00020000, - QEMU_PPC_FEATURE_CELL =3D 0x00010000, - QEMU_PPC_FEATURE_BOOKE =3D 0x00008000, - QEMU_PPC_FEATURE_SMT =3D 0x00004000, - QEMU_PPC_FEATURE_ICACHE_SNOOP =3D 0x00002000, - QEMU_PPC_FEATURE_ARCH_2_05 =3D 0x00001000, - QEMU_PPC_FEATURE_PA6T =3D 0x00000800, - QEMU_PPC_FEATURE_HAS_DFP =3D 0x00000400, - QEMU_PPC_FEATURE_POWER6_EXT =3D 0x00000200, - QEMU_PPC_FEATURE_ARCH_2_06 =3D 0x00000100, - QEMU_PPC_FEATURE_HAS_VSX =3D 0x00000080, - QEMU_PPC_FEATURE_PSERIES_PERFMON_COMPAT =3D 0x00000040, - - QEMU_PPC_FEATURE_TRUE_LE =3D 0x00000002, - QEMU_PPC_FEATURE_PPC_LE =3D 0x00000001, - - /* Feature definitions in AT_HWCAP2. */ - QEMU_PPC_FEATURE2_ARCH_2_07 =3D 0x80000000, /* ISA 2.07 */ - QEMU_PPC_FEATURE2_HAS_HTM =3D 0x40000000, /* Hardware Transactional Me= mory */ - QEMU_PPC_FEATURE2_HAS_DSCR =3D 0x20000000, /* Data Stream Control Regi= ster */ - QEMU_PPC_FEATURE2_HAS_EBB =3D 0x10000000, /* Event Base Branching */ - QEMU_PPC_FEATURE2_HAS_ISEL =3D 0x08000000, /* Integer Select */ - QEMU_PPC_FEATURE2_HAS_TAR =3D 0x04000000, /* Target Address Register */ - QEMU_PPC_FEATURE2_VEC_CRYPTO =3D 0x02000000, - QEMU_PPC_FEATURE2_HTM_NOSC =3D 0x01000000, - QEMU_PPC_FEATURE2_ARCH_3_00 =3D 0x00800000, /* ISA 3.00 */ - QEMU_PPC_FEATURE2_HAS_IEEE128 =3D 0x00400000, /* VSX IEEE Bin Float 12= 8-bit */ - QEMU_PPC_FEATURE2_DARN =3D 0x00200000, /* darn random number insn */ - QEMU_PPC_FEATURE2_SCV =3D 0x00100000, /* scv syscall */ - QEMU_PPC_FEATURE2_HTM_NO_SUSPEND =3D 0x00080000, /* TM w/o suspended s= tate */ - QEMU_PPC_FEATURE2_ARCH_3_1 =3D 0x00040000, /* ISA 3.1 */ - QEMU_PPC_FEATURE2_MMA =3D 0x00020000, /* Matrix-Multiply Assist */ -}; - -#define ELF_HWCAP get_elf_hwcap() - -static uint32_t get_elf_hwcap(void) -{ - PowerPCCPU *cpu =3D POWERPC_CPU(thread_cpu); - uint32_t features =3D 0; - - /* We don't have to be terribly complete here; the high points are - Altivec/FP/SPE support. Anything else is just a bonus. */ -#define GET_FEATURE(flag, feature) \ - do { if (cpu->env.insns_flags & flag) { features |=3D feature; } } whi= le (0) -#define GET_FEATURE2(flags, feature) \ - do { \ - if ((cpu->env.insns_flags2 & flags) =3D=3D flags) { \ - features |=3D feature; \ - } \ - } while (0) - GET_FEATURE(PPC_64B, QEMU_PPC_FEATURE_64); - GET_FEATURE(PPC_FLOAT, QEMU_PPC_FEATURE_HAS_FPU); - GET_FEATURE(PPC_ALTIVEC, QEMU_PPC_FEATURE_HAS_ALTIVEC); - GET_FEATURE(PPC_SPE, QEMU_PPC_FEATURE_HAS_SPE); - GET_FEATURE(PPC_SPE_SINGLE, QEMU_PPC_FEATURE_HAS_EFP_SINGLE); - GET_FEATURE(PPC_SPE_DOUBLE, QEMU_PPC_FEATURE_HAS_EFP_DOUBLE); - GET_FEATURE(PPC_BOOKE, QEMU_PPC_FEATURE_BOOKE); - GET_FEATURE(PPC_405_MAC, QEMU_PPC_FEATURE_HAS_4xxMAC); - GET_FEATURE2(PPC2_DFP, QEMU_PPC_FEATURE_HAS_DFP); - GET_FEATURE2(PPC2_VSX, QEMU_PPC_FEATURE_HAS_VSX); - GET_FEATURE2((PPC2_PERM_ISA206 | PPC2_DIVE_ISA206 | PPC2_ATOMIC_ISA206= | - PPC2_FP_CVT_ISA206 | PPC2_FP_TST_ISA206), - QEMU_PPC_FEATURE_ARCH_2_06); -#undef GET_FEATURE -#undef GET_FEATURE2 - - return features; -} - -#define ELF_HWCAP2 get_elf_hwcap2() - -static uint32_t get_elf_hwcap2(void) -{ - PowerPCCPU *cpu =3D POWERPC_CPU(thread_cpu); - uint32_t features =3D 0; - -#define GET_FEATURE(flag, feature) \ - do { if (cpu->env.insns_flags & flag) { features |=3D feature; } } whi= le (0) -#define GET_FEATURE2(flag, feature) \ - do { if (cpu->env.insns_flags2 & flag) { features |=3D feature; } } wh= ile (0) - - GET_FEATURE(PPC_ISEL, QEMU_PPC_FEATURE2_HAS_ISEL); - GET_FEATURE2(PPC2_BCTAR_ISA207, QEMU_PPC_FEATURE2_HAS_TAR); - GET_FEATURE2((PPC2_BCTAR_ISA207 | PPC2_LSQ_ISA207 | PPC2_ALTIVEC_207 | - PPC2_ISA207S), QEMU_PPC_FEATURE2_ARCH_2_07 | - QEMU_PPC_FEATURE2_VEC_CRYPTO); - GET_FEATURE2(PPC2_ISA300, QEMU_PPC_FEATURE2_ARCH_3_00 | - QEMU_PPC_FEATURE2_DARN | QEMU_PPC_FEATURE2_HAS_IEEE128); - GET_FEATURE2(PPC2_ISA310, QEMU_PPC_FEATURE2_ARCH_3_1 | - QEMU_PPC_FEATURE2_MMA); - -#undef GET_FEATURE -#undef GET_FEATURE2 - - return features; -} +#define ELF_HWCAP get_elf_hwcap(thread_cpu) +#define ELF_HWCAP2 get_elf_hwcap2(thread_cpu) =20 /* * The requirements here are: diff --git a/linux-user/ppc/elfload.c b/linux-user/ppc/elfload.c index 73fa78ef14..3b2dcdfc47 100644 --- a/linux-user/ppc/elfload.c +++ b/linux-user/ppc/elfload.c @@ -1 +1,122 @@ /* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include "qemu/osdep.h" +#include "qemu.h" +#include "loader.h" + + +/* + * Feature masks for the Aux Vector Hardware Capabilities (AT_HWCAP). + * See arch/powerpc/include/asm/cputable.h. + */ +enum { + QEMU_PPC_FEATURE_32 =3D 0x80000000, + QEMU_PPC_FEATURE_64 =3D 0x40000000, + QEMU_PPC_FEATURE_601_INSTR =3D 0x20000000, + QEMU_PPC_FEATURE_HAS_ALTIVEC =3D 0x10000000, + QEMU_PPC_FEATURE_HAS_FPU =3D 0x08000000, + QEMU_PPC_FEATURE_HAS_MMU =3D 0x04000000, + QEMU_PPC_FEATURE_HAS_4xxMAC =3D 0x02000000, + QEMU_PPC_FEATURE_UNIFIED_CACHE =3D 0x01000000, + QEMU_PPC_FEATURE_HAS_SPE =3D 0x00800000, + QEMU_PPC_FEATURE_HAS_EFP_SINGLE =3D 0x00400000, + QEMU_PPC_FEATURE_HAS_EFP_DOUBLE =3D 0x00200000, + QEMU_PPC_FEATURE_NO_TB =3D 0x00100000, + QEMU_PPC_FEATURE_POWER4 =3D 0x00080000, + QEMU_PPC_FEATURE_POWER5 =3D 0x00040000, + QEMU_PPC_FEATURE_POWER5_PLUS =3D 0x00020000, + QEMU_PPC_FEATURE_CELL =3D 0x00010000, + QEMU_PPC_FEATURE_BOOKE =3D 0x00008000, + QEMU_PPC_FEATURE_SMT =3D 0x00004000, + QEMU_PPC_FEATURE_ICACHE_SNOOP =3D 0x00002000, + QEMU_PPC_FEATURE_ARCH_2_05 =3D 0x00001000, + QEMU_PPC_FEATURE_PA6T =3D 0x00000800, + QEMU_PPC_FEATURE_HAS_DFP =3D 0x00000400, + QEMU_PPC_FEATURE_POWER6_EXT =3D 0x00000200, + QEMU_PPC_FEATURE_ARCH_2_06 =3D 0x00000100, + QEMU_PPC_FEATURE_HAS_VSX =3D 0x00000080, + QEMU_PPC_FEATURE_PSERIES_PERFMON_COMPAT =3D 0x00000040, + + QEMU_PPC_FEATURE_TRUE_LE =3D 0x00000002, + QEMU_PPC_FEATURE_PPC_LE =3D 0x00000001, + + /* Feature definitions in AT_HWCAP2. */ + QEMU_PPC_FEATURE2_ARCH_2_07 =3D 0x80000000, /* ISA 2.07 */ + QEMU_PPC_FEATURE2_HAS_HTM =3D 0x40000000, /* Hardware Transactional Me= mory */ + QEMU_PPC_FEATURE2_HAS_DSCR =3D 0x20000000, /* Data Stream Control Regi= ster */ + QEMU_PPC_FEATURE2_HAS_EBB =3D 0x10000000, /* Event Base Branching */ + QEMU_PPC_FEATURE2_HAS_ISEL =3D 0x08000000, /* Integer Select */ + QEMU_PPC_FEATURE2_HAS_TAR =3D 0x04000000, /* Target Address Register */ + QEMU_PPC_FEATURE2_VEC_CRYPTO =3D 0x02000000, + QEMU_PPC_FEATURE2_HTM_NOSC =3D 0x01000000, + QEMU_PPC_FEATURE2_ARCH_3_00 =3D 0x00800000, /* ISA 3.00 */ + QEMU_PPC_FEATURE2_HAS_IEEE128 =3D 0x00400000, /* VSX IEEE Bin Float 12= 8-bit */ + QEMU_PPC_FEATURE2_DARN =3D 0x00200000, /* darn random number insn */ + QEMU_PPC_FEATURE2_SCV =3D 0x00100000, /* scv syscall */ + QEMU_PPC_FEATURE2_HTM_NO_SUSPEND =3D 0x00080000, /* TM w/o suspended s= tate */ + QEMU_PPC_FEATURE2_ARCH_3_1 =3D 0x00040000, /* ISA 3.1 */ + QEMU_PPC_FEATURE2_MMA =3D 0x00020000, /* Matrix-Multiply Assist */ +}; + +abi_ulong get_elf_hwcap(CPUState *cs) +{ + PowerPCCPU *cpu =3D POWERPC_CPU(cs); + uint32_t features =3D 0; + + /* + * We don't have to be terribly complete here; the high points are + * Altivec/FP/SPE support. Anything else is just a bonus. + */ +#define GET_FEATURE(flag, feature) \ + do { if (cpu->env.insns_flags & flag) { features |=3D feature; } } whi= le (0) +#define GET_FEATURE2(flags, feature) \ + do { \ + if ((cpu->env.insns_flags2 & flags) =3D=3D flags) { \ + features |=3D feature; \ + } \ + } while (0) + GET_FEATURE(PPC_64B, QEMU_PPC_FEATURE_64); + GET_FEATURE(PPC_FLOAT, QEMU_PPC_FEATURE_HAS_FPU); + GET_FEATURE(PPC_ALTIVEC, QEMU_PPC_FEATURE_HAS_ALTIVEC); + GET_FEATURE(PPC_SPE, QEMU_PPC_FEATURE_HAS_SPE); + GET_FEATURE(PPC_SPE_SINGLE, QEMU_PPC_FEATURE_HAS_EFP_SINGLE); + GET_FEATURE(PPC_SPE_DOUBLE, QEMU_PPC_FEATURE_HAS_EFP_DOUBLE); + GET_FEATURE(PPC_BOOKE, QEMU_PPC_FEATURE_BOOKE); + GET_FEATURE(PPC_405_MAC, QEMU_PPC_FEATURE_HAS_4xxMAC); + GET_FEATURE2(PPC2_DFP, QEMU_PPC_FEATURE_HAS_DFP); + GET_FEATURE2(PPC2_VSX, QEMU_PPC_FEATURE_HAS_VSX); + GET_FEATURE2((PPC2_PERM_ISA206 | PPC2_DIVE_ISA206 | PPC2_ATOMIC_ISA206= | + PPC2_FP_CVT_ISA206 | PPC2_FP_TST_ISA206), + QEMU_PPC_FEATURE_ARCH_2_06); + +#undef GET_FEATURE +#undef GET_FEATURE2 + + return features; +} + +abi_ulong get_elf_hwcap2(CPUState *cs) +{ + PowerPCCPU *cpu =3D POWERPC_CPU(cs); + uint32_t features =3D 0; + +#define GET_FEATURE(flag, feature) \ + do { if (cpu->env.insns_flags & flag) { features |=3D feature; } } whi= le (0) +#define GET_FEATURE2(flag, feature) \ + do { if (cpu->env.insns_flags2 & flag) { features |=3D feature; } } wh= ile (0) + + GET_FEATURE(PPC_ISEL, QEMU_PPC_FEATURE2_HAS_ISEL); + GET_FEATURE2(PPC2_BCTAR_ISA207, QEMU_PPC_FEATURE2_HAS_TAR); + GET_FEATURE2((PPC2_BCTAR_ISA207 | PPC2_LSQ_ISA207 | PPC2_ALTIVEC_207 | + PPC2_ISA207S), QEMU_PPC_FEATURE2_ARCH_2_07 | + QEMU_PPC_FEATURE2_VEC_CRYPTO); + GET_FEATURE2(PPC2_ISA300, QEMU_PPC_FEATURE2_ARCH_3_00 | + QEMU_PPC_FEATURE2_DARN | QEMU_PPC_FEATURE2_HAS_IEEE128); + GET_FEATURE2(PPC2_ISA310, QEMU_PPC_FEATURE2_ARCH_3_1 | + QEMU_PPC_FEATURE2_MMA); + +#undef GET_FEATURE +#undef GET_FEATURE2 + + return features; +} --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753834576; cv=none; d=zohomail.com; s=zohoarc; b=QiiSYm8nlMtQIW965cAmSjDoNM/ylgJ4whgz9m1ngzm3wDovr757ozK09k6kJ9QUDmyz9fIWEeMguud/UOVDveHiGkGR/NUXpT/v4TMWfz/xp0rIYnKR7mV2Tv6vUoMuI/0ryl7q0TzR+AOaKjxO0qcNndZ436oUDrjkMfiiqBE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753834576; 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=z14+ncrrtBacm1BII08CHh5DW5WRhwfvgysAfiPyqfs=; b=cMhVMu+6pE497f0CqZSXuONQviTgQy93bqW2gW2XV/XMy16ZYOh/F0ZPpQX3uNoYZ6PI/CupYnIgWVddlye2NaMCE8N8FaYGXdaU3KtdhLy7s1WByJQ2mscUtXR4ou2KaNyJTce8wyICqtIQQudWFOUZm/8Nnb0TBDWx8csLc6g= 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 1753834576501831.8052538884122; Tue, 29 Jul 2025 17:16:16 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguRM-0001mz-FS; Tue, 29 Jul 2025 20:13:04 -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 1uguF7-0001Uh-3W for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:25 -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 1uguF4-00041H-QS for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:24 -0400 Received: by mail-pf1-x432.google.com with SMTP id d2e1a72fcca58-74931666cbcso5505547b3a.0 for ; Tue, 29 Jul 2025 17:00:22 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.14 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833621; x=1754438421; 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=z14+ncrrtBacm1BII08CHh5DW5WRhwfvgysAfiPyqfs=; b=mwsjqsJhf4U40LB4TATKIr6bCuodJmPf/vgL+RPtXHnZS9DO/b0gyEk4kDTxCB9B6J 1rHyNexJSsrm21lULuF7RZg19Rg8APETEQ6h3oKcFk4+0Gcer5qJDA6HtlGODPtxPqUX RYsnefMiDQ33bUpV1wJRtFbBKxJHWXHJLYzrWerLqqiPxsgNTXZCja4LuH8E4UCM9zY1 chvgdkDdilGBEnwzV30/epY/40ZQ94qUAHc0mFStjqhWpGy+gZsY7/CfcmiqHazyS18+ xmdI+kBqGC947PsFdVmSq9J+gM/GNcX6pubnVkhy96Zsu23xSCvnXGKbcwi4qHOsTtS+ /CNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833621; x=1754438421; 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=z14+ncrrtBacm1BII08CHh5DW5WRhwfvgysAfiPyqfs=; b=gd7nOWW4k8CHvpfufjJca/2T+BJVYyRocJmurIgnEcWRVcsOIJtSHLrgAyvnQWQRJW TzRCvp61dqiXPNsN4otwvozMQdr8z4pwgFgbwDUisgaxDdpQ/gwZdId09UH3Bh+lbSxt lPDF7yCfLbKhWeeKm+aRJjzfem8FWBVXEocuCvwEKjYIPlbdofiAxkCRhY94ZDGH4A92 mW49bn0GApFmvEqxLaFlpq75IJtiyl9WPWSWYURulSyitRGcLCFUuOHg0s+Aziy12VPo frjjwGwqd1SjNbU7kT6+FHjNps5q2xtydS1RbYIkuGcpjeGoX5caVXBiGrJuHXdvj4lx xpcA== X-Gm-Message-State: AOJu0Yzh+XLW10mHMGi4REk0GKXzTJmeQeKYxNCzZBznM2DE9vHN56S7 8gU8EQUTicGXHuzSYmiR3wMOcYsq0aXKsodifOrwYTaDlyERKocQCa0I4sZdJi0OQvjsuW2RXh9 1sD+I X-Gm-Gg: ASbGncvovsQFwx2rUF2WN6cTa922ouvrIWACXkAkjwrZxKU3YGc0SQlNL2szipZAv/G 35R2kdh7uFz1w94IztHUz8dcG3R3Lk+c3DcZb8sF+fUgxiNcWRKHiVJfDk0A7rbo0n6harAwmFq 0uQOiDhSTzvQDkg9UQ8O/v40yJwmgM7hCyLVD11fqDkJS5P3AO1GZk5rTc2ieGAcGVHmkVx+Xbr 59fDBVTMH+pEeWNQMSlWqbOFQwzoM7KpL4OKxgrBR1Z0clnHe7hmjtOvbnjzS3wT72xG/JTpaGs njHU8DYT66tvQFD/KNomsnMRjngg6xyUeQ3WV9qU0Xl61zZhDXTV1cfJjrbfY9PIrmvDW74tJv6 8mjHCxLhX35qaEYOqHTitlOH5ct+1zCaapdEjUL86YBHrlJ0vsw2Nc6vpjCv/fweMprp26+Nf8E BAUnIMuaLLZQ== X-Google-Smtp-Source: AGHT+IFMINcsneEIBydrNsuxAhhSm6UiPbGma2UBLZq2Np70EPm+3nxpx0dcEnEfBs62CxKVOh+ijw== X-Received: by 2002:a05:6a00:3912:b0:749:b41:2976 with SMTP id d2e1a72fcca58-76ab0a39280mr2127219b3a.3.1753833615805; Tue, 29 Jul 2025 17:00:15 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 06/89] linux-user: Move get_elf_hwcap to loongarch64/elfload.c Date: Tue, 29 Jul 2025 13:58:39 -1000 Message-ID: <20250730000003.599084-7-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::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: 1753834579045116600 Content-Type: text/plain; charset="utf-8" Change the return type to abi_ulong, and pass in the cpu. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/loader.h | 3 +- linux-user/elfload.c | 49 +----------------------------- linux-user/loongarch64/elfload.c | 52 ++++++++++++++++++++++++++++++++ 3 files changed, 55 insertions(+), 49 deletions(-) diff --git a/linux-user/loader.h b/linux-user/loader.h index 781bf89e88..786482e68a 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -99,7 +99,8 @@ abi_long memcpy_to_target(abi_ulong dest, const void *src, extern unsigned long guest_stack_size; =20 #if defined(TARGET_I386) || defined(TARGET_X86_64) || defined(TARGET_ARM) \ - || defined(TARGET_SPARC) || defined(TARGET_PPC) + || defined(TARGET_SPARC) || defined(TARGET_PPC) \ + || defined(TARGET_LOONGARCH64) abi_ulong get_elf_hwcap(CPUState *cs); abi_ulong get_elf_hwcap2(CPUState *cs); #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 32cf2db718..f173a4f5b8 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -735,54 +735,7 @@ static void elf_core_copy_regs(target_elf_gregset_t *r= egs, #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 -#define ELF_HWCAP get_elf_hwcap() - -/* See arch/loongarch/include/uapi/asm/hwcap.h */ -enum { - HWCAP_LOONGARCH_CPUCFG =3D (1 << 0), - HWCAP_LOONGARCH_LAM =3D (1 << 1), - HWCAP_LOONGARCH_UAL =3D (1 << 2), - HWCAP_LOONGARCH_FPU =3D (1 << 3), - HWCAP_LOONGARCH_LSX =3D (1 << 4), - HWCAP_LOONGARCH_LASX =3D (1 << 5), - HWCAP_LOONGARCH_CRC32 =3D (1 << 6), - HWCAP_LOONGARCH_COMPLEX =3D (1 << 7), - HWCAP_LOONGARCH_CRYPTO =3D (1 << 8), - HWCAP_LOONGARCH_LVZ =3D (1 << 9), - HWCAP_LOONGARCH_LBT_X86 =3D (1 << 10), - HWCAP_LOONGARCH_LBT_ARM =3D (1 << 11), - HWCAP_LOONGARCH_LBT_MIPS =3D (1 << 12), -}; - -static uint32_t get_elf_hwcap(void) -{ - LoongArchCPU *cpu =3D LOONGARCH_CPU(thread_cpu); - uint32_t hwcaps =3D 0; - - hwcaps |=3D HWCAP_LOONGARCH_CRC32; - - if (FIELD_EX32(cpu->env.cpucfg[1], CPUCFG1, UAL)) { - hwcaps |=3D HWCAP_LOONGARCH_UAL; - } - - if (FIELD_EX32(cpu->env.cpucfg[2], CPUCFG2, FP)) { - hwcaps |=3D HWCAP_LOONGARCH_FPU; - } - - if (FIELD_EX32(cpu->env.cpucfg[2], CPUCFG2, LAM)) { - hwcaps |=3D HWCAP_LOONGARCH_LAM; - } - - if (FIELD_EX32(cpu->env.cpucfg[2], CPUCFG2, LSX)) { - hwcaps |=3D HWCAP_LOONGARCH_LSX; - } - - if (FIELD_EX32(cpu->env.cpucfg[2], CPUCFG2, LASX)) { - hwcaps |=3D HWCAP_LOONGARCH_LASX; - } - - return hwcaps; -} +#define ELF_HWCAP get_elf_hwcap(thread_cpu) =20 #define ELF_PLATFORM "loongarch" =20 diff --git a/linux-user/loongarch64/elfload.c b/linux-user/loongarch64/elfl= oad.c index 73fa78ef14..f27992459b 100644 --- a/linux-user/loongarch64/elfload.c +++ b/linux-user/loongarch64/elfload.c @@ -1 +1,53 @@ /* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include "qemu/osdep.h" +#include "qemu.h" +#include "loader.h" + + +/* See arch/loongarch/include/uapi/asm/hwcap.h */ +enum { + HWCAP_LOONGARCH_CPUCFG =3D (1 << 0), + HWCAP_LOONGARCH_LAM =3D (1 << 1), + HWCAP_LOONGARCH_UAL =3D (1 << 2), + HWCAP_LOONGARCH_FPU =3D (1 << 3), + HWCAP_LOONGARCH_LSX =3D (1 << 4), + HWCAP_LOONGARCH_LASX =3D (1 << 5), + HWCAP_LOONGARCH_CRC32 =3D (1 << 6), + HWCAP_LOONGARCH_COMPLEX =3D (1 << 7), + HWCAP_LOONGARCH_CRYPTO =3D (1 << 8), + HWCAP_LOONGARCH_LVZ =3D (1 << 9), + HWCAP_LOONGARCH_LBT_X86 =3D (1 << 10), + HWCAP_LOONGARCH_LBT_ARM =3D (1 << 11), + HWCAP_LOONGARCH_LBT_MIPS =3D (1 << 12), +}; + +abi_ulong get_elf_hwcap(CPUState *cs) +{ + LoongArchCPU *cpu =3D LOONGARCH_CPU(cs); + abi_ulong hwcaps =3D 0; + + hwcaps |=3D HWCAP_LOONGARCH_CRC32; + + if (FIELD_EX32(cpu->env.cpucfg[1], CPUCFG1, UAL)) { + hwcaps |=3D HWCAP_LOONGARCH_UAL; + } + + if (FIELD_EX32(cpu->env.cpucfg[2], CPUCFG2, FP)) { + hwcaps |=3D HWCAP_LOONGARCH_FPU; + } + + if (FIELD_EX32(cpu->env.cpucfg[2], CPUCFG2, LAM)) { + hwcaps |=3D HWCAP_LOONGARCH_LAM; + } + + if (FIELD_EX32(cpu->env.cpucfg[2], CPUCFG2, LSX)) { + hwcaps |=3D HWCAP_LOONGARCH_LSX; + } + + if (FIELD_EX32(cpu->env.cpucfg[2], CPUCFG2, LASX)) { + hwcaps |=3D HWCAP_LOONGARCH_LASX; + } + + return hwcaps; +} --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753834407; cv=none; d=zohomail.com; s=zohoarc; b=DjYdKhwTxNJvsdRz+YszV/cX6GFWD6Kv7HEp6GuWhc/O79BVylXfR2FeAn6M4045xwIC+Cpx50WCmGLc+k1WDl4t6Rp6wh0ODLxLhZKpq55GgDtQKA3gtZ4/DOZ0QMs+B62XQF1FAWwicpq4cnJQvHoMTh8qSo4iPlRD2J5P+i8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753834407; 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=UcXMnoM8855Ab0a5FsBNiJYSLFuOESZ80c0GBEOmfs0=; b=niwnnyUVlhNVSNdYiZTautDJdgKWS6aZm19Iotnjke6Qv2c9/d6vPe1f8/3j3wRSM6HNy1vOHT5NmiMC/9afuC9E2tSQaIeNBpwoo6T3zx9Ac6OakJ/oQ+WdwAUiviantlCci8H0IxaqzXROCRDgm6/aZpgYSw3rChIiQCFlXZs= 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 1753834407725428.47441140524427; Tue, 29 Jul 2025 17:13:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguRG-0001hD-Hf; Tue, 29 Jul 2025 20:12:58 -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 1uguF5-0001Qy-54 for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:24 -0400 Received: from mail-pf1-x433.google.com ([2607:f8b0:4864:20::433]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguF1-00040b-Dq for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:22 -0400 Received: by mail-pf1-x433.google.com with SMTP id d2e1a72fcca58-7682560a2f2so431349b3a.1 for ; Tue, 29 Jul 2025 17:00:18 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.16 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833618; x=1754438418; 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=UcXMnoM8855Ab0a5FsBNiJYSLFuOESZ80c0GBEOmfs0=; b=i8sxDOdIjOL5v7gq+O7M5ZcdNgLbKA2H0ZQawVseDSG/MfCbS60BshjR1r5Pu/8qDX VYd/d4of3sZ7meKA6+7KYyEO00iq4fqBB7zsp4DLFEXKmB/xDQs0PvfmtCde8Zom0seP Zvk2p5Qktrh9bMfArMnalMCxWGMGzd+uzllFbbKhlNWkhFk97tFC5tzUiziIehGBf9Ze fuDyQcxJiI8e4jgcxtYnzU5taiJe+KiUxl76fEWkQPG1YPdW03iDbnKHWgfJR9tX/tRO AQZsjT5cMciSKFma1OBcLmjFR0YzmAP1ZRfIA1MgW1sQBkQuCQeFtGgrlD3srn1WcJgB zSzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833618; x=1754438418; 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=UcXMnoM8855Ab0a5FsBNiJYSLFuOESZ80c0GBEOmfs0=; b=uEh8FMe1p9oSl+3qpk2SY70QdUEHPXJZ+EJDZVCkojC6LRq6saGcSI99thbAWXudci Hi2Qq5b27R/nn5sAlwJmgibSu5eoL3vGe7nWUPJgjiZO4IeK5SkDTabmS9/oY1Kf1+JW JYNhexZ8Damrp7aAHVnhlNK5n9GR4z9slCPX5xnYlsvYP0b2agTfZ8cPgwP6hKuwr4sn 3adUI4X7x7noNCTNufVor85x0+gceUaK6jQ85dofR8CDBSPLGoPO9fTBZKl4+Ta6p4sx YJ/sPwdRLgJKER3bDg/iZZYNYBz5E873Z32K20FK6z0vqRzWExPegdOaAdtleyV3TMjV TgAg== X-Gm-Message-State: AOJu0YxZvTtxHvybCnq4LPcZ+BL5+6Rn9yXc2AOWmRn/895MxMmUKkYF Zyd0l6Nla/GP41nsbEo4gAwpF1pouX2S3/kowKMmyesvm5TSAl7ppTQOCR8kYMqwHYvcNhVC7Be DDJwc X-Gm-Gg: ASbGnctWthFqzcE90NfahePSH4oufpaFj+0jRR5Rw85z0Qqd3AaBjcq9dkSADVIu8eL vAWDtwRyEmNUsTylXiq47iuzerfF+Dpx/eXRm7QUkhI4TbqhaQyNODsm/sBrqlpesWRbH6cbTUv BCVx/5iUFZRKokta+PntOE9vbIJfKURK5sgeUkcIC1CgovRzrlidx546Gdd6r9oKTG6lV9AfH85 WwYZmi0gly4Nt1v0oCwvfg/HFt1gta7XO7zsrd6VHTPLA6JKLrhlVD4CXu/jKRxoNKGgApVnmz2 qgRbOzmjLaSy3+v67i6BGLRPZzXU5FgwsZVo7l5sC8vL3JXP9p2MKTLxQhCfQ5z6z80Y3LV1wbK NtFAd1Y++ttkOeraKb2UbqZSsn6u8+Nin/W8WECrSUnl76la5+9Mw17308Z4GWZCpvZDMlPc1Ez UtUNIF8IfN8w== X-Google-Smtp-Source: AGHT+IG5WJJoSwuaaYFe8mfI45vXtIpw19bjwbck1VwzxN18hXP9UEpR25WmH6UHaQVJwN3XeJu8Xg== X-Received: by 2002:a05:6a00:22ca:b0:742:ae7e:7da1 with SMTP id d2e1a72fcca58-76ab3643b0fmr1959308b3a.0.1753833617586; Tue, 29 Jul 2025 17:00:17 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 07/89] linux-user: Move get_elf_hwcap to mips/elfload.c Date: Tue, 29 Jul 2025 13:58:40 -1000 Message-ID: <20250730000003.599084-8-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::433; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x433.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: 1753834409255116600 Content-Type: text/plain; charset="utf-8" Change the return type to abi_ulong, and pass in the cpu. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/loader.h | 2 +- linux-user/elfload.c | 52 +----------------------------------- linux-user/mips/elfload.c | 55 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 57 insertions(+), 52 deletions(-) diff --git a/linux-user/loader.h b/linux-user/loader.h index 786482e68a..0544ab3398 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -100,7 +100,7 @@ extern unsigned long guest_stack_size; =20 #if defined(TARGET_I386) || defined(TARGET_X86_64) || defined(TARGET_ARM) \ || defined(TARGET_SPARC) || defined(TARGET_PPC) \ - || defined(TARGET_LOONGARCH64) + || defined(TARGET_LOONGARCH64) || defined(TARGET_MIPS) abi_ulong get_elf_hwcap(CPUState *cs); abi_ulong get_elf_hwcap2(CPUState *cs); #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index f173a4f5b8..c6d42afde7 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -844,57 +844,7 @@ static void elf_core_copy_regs(target_elf_gregset_t *r= egs, const CPUMIPSState *e #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 -/* See arch/mips/include/uapi/asm/hwcap.h. */ -enum { - HWCAP_MIPS_R6 =3D (1 << 0), - HWCAP_MIPS_MSA =3D (1 << 1), - HWCAP_MIPS_CRC32 =3D (1 << 2), - HWCAP_MIPS_MIPS16 =3D (1 << 3), - HWCAP_MIPS_MDMX =3D (1 << 4), - HWCAP_MIPS_MIPS3D =3D (1 << 5), - HWCAP_MIPS_SMARTMIPS =3D (1 << 6), - HWCAP_MIPS_DSP =3D (1 << 7), - HWCAP_MIPS_DSP2 =3D (1 << 8), - HWCAP_MIPS_DSP3 =3D (1 << 9), - HWCAP_MIPS_MIPS16E2 =3D (1 << 10), - HWCAP_LOONGSON_MMI =3D (1 << 11), - HWCAP_LOONGSON_EXT =3D (1 << 12), - HWCAP_LOONGSON_EXT2 =3D (1 << 13), - HWCAP_LOONGSON_CPUCFG =3D (1 << 14), -}; - -#define ELF_HWCAP get_elf_hwcap() - -#define GET_FEATURE_INSN(_flag, _hwcap) \ - do { if (cpu->env.insn_flags & (_flag)) { hwcaps |=3D _hwcap; } } whil= e (0) - -#define GET_FEATURE_REG_SET(_reg, _mask, _hwcap) \ - do { if (cpu->env._reg & (_mask)) { hwcaps |=3D _hwcap; } } while (0) - -#define GET_FEATURE_REG_EQU(_reg, _start, _length, _val, _hwcap) \ - do { \ - if (extract32(cpu->env._reg, (_start), (_length)) =3D=3D (_val)) {= \ - hwcaps |=3D _hwcap; \ - } \ - } while (0) - -static uint32_t get_elf_hwcap(void) -{ - MIPSCPU *cpu =3D MIPS_CPU(thread_cpu); - uint32_t hwcaps =3D 0; - - GET_FEATURE_REG_EQU(CP0_Config0, CP0C0_AR, CP0C0_AR_LENGTH, - 2, HWCAP_MIPS_R6); - GET_FEATURE_REG_SET(CP0_Config3, 1 << CP0C3_MSAP, HWCAP_MIPS_MSA); - GET_FEATURE_INSN(ASE_LMMI, HWCAP_LOONGSON_MMI); - GET_FEATURE_INSN(ASE_LEXT, HWCAP_LOONGSON_EXT); - - return hwcaps; -} - -#undef GET_FEATURE_REG_EQU -#undef GET_FEATURE_REG_SET -#undef GET_FEATURE_INSN +#define ELF_HWCAP get_elf_hwcap(thread_cpu) =20 #endif /* TARGET_MIPS */ =20 diff --git a/linux-user/mips/elfload.c b/linux-user/mips/elfload.c index 73fa78ef14..07c30b5f4c 100644 --- a/linux-user/mips/elfload.c +++ b/linux-user/mips/elfload.c @@ -1 +1,56 @@ /* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include "qemu/osdep.h" +#include "qemu.h" +#include "loader.h" + + +/* See arch/mips/include/uapi/asm/hwcap.h. */ +enum { + HWCAP_MIPS_R6 =3D (1 << 0), + HWCAP_MIPS_MSA =3D (1 << 1), + HWCAP_MIPS_CRC32 =3D (1 << 2), + HWCAP_MIPS_MIPS16 =3D (1 << 3), + HWCAP_MIPS_MDMX =3D (1 << 4), + HWCAP_MIPS_MIPS3D =3D (1 << 5), + HWCAP_MIPS_SMARTMIPS =3D (1 << 6), + HWCAP_MIPS_DSP =3D (1 << 7), + HWCAP_MIPS_DSP2 =3D (1 << 8), + HWCAP_MIPS_DSP3 =3D (1 << 9), + HWCAP_MIPS_MIPS16E2 =3D (1 << 10), + HWCAP_LOONGSON_MMI =3D (1 << 11), + HWCAP_LOONGSON_EXT =3D (1 << 12), + HWCAP_LOONGSON_EXT2 =3D (1 << 13), + HWCAP_LOONGSON_CPUCFG =3D (1 << 14), +}; + +#define GET_FEATURE_INSN(_flag, _hwcap) \ + do { if (cpu->env.insn_flags & (_flag)) { hwcaps |=3D _hwcap; } } whil= e (0) + +#define GET_FEATURE_REG_SET(_reg, _mask, _hwcap) \ + do { if (cpu->env._reg & (_mask)) { hwcaps |=3D _hwcap; } } while (0) + +#define GET_FEATURE_REG_EQU(_reg, _start, _length, _val, _hwcap) \ + do { \ + if (extract32(cpu->env._reg, (_start), (_length)) =3D=3D (_val)) {= \ + hwcaps |=3D _hwcap; \ + } \ + } while (0) + +abi_ulong get_elf_hwcap(CPUState *cs) +{ + MIPSCPU *cpu =3D MIPS_CPU(cs); + abi_ulong hwcaps =3D 0; + + GET_FEATURE_REG_EQU(CP0_Config0, CP0C0_AR, CP0C0_AR_LENGTH, + 2, HWCAP_MIPS_R6); + GET_FEATURE_REG_SET(CP0_Config3, 1 << CP0C3_MSAP, HWCAP_MIPS_MSA); + GET_FEATURE_INSN(ASE_LMMI, HWCAP_LOONGSON_MMI); + GET_FEATURE_INSN(ASE_LEXT, HWCAP_LOONGSON_EXT); + + return hwcaps; +} + +#undef GET_FEATURE_REG_EQU +#undef GET_FEATURE_REG_SET +#undef GET_FEATURE_INSN --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753834894; cv=none; d=zohomail.com; s=zohoarc; b=k3RNYRpUT//SNeONjM9Tkx/SCK/VRgyxHj2koSnRZzqstd9El0QlMes+zEcgCW6OWxIPSC12sDYihVl5RfngwC+EkkAyobqj8oqPNMYFtHB4oVi6gSFr7NgvDHOPJR3dAQjn4Sn2QLhMPFdlFDB/k40TCFKioHr6VeDQHPFw/9A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753834894; 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=tAy4LWos7CMMDi7rFBFr+ma/sLuxtrhncFZL3m8MVY8=; b=dAyLJ3nj62XxdonvhmA27JuvCUD+W/1fgjY9pY1ExJBZ0L/MFabAqzAne/ywNjy1lgwYj3IeU3T08VHbh3Zxr053rRJuwJA+2rPbPHyxFBmSQgHrRU6XwDWx8i9x78Qp3hGqXgGQeI5ffZxt61+csv6dXbhluAs/HjYKK+dQ3gc= 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 1753834894140898.198812515079; Tue, 29 Jul 2025 17:21:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguRI-0001j7-H5; Tue, 29 Jul 2025 20:13:00 -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 1uguF6-0001TF-Hm for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:24 -0400 Received: from mail-pf1-x431.google.com ([2607:f8b0:4864:20::431]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguF3-000416-TC for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:24 -0400 Received: by mail-pf1-x431.google.com with SMTP id d2e1a72fcca58-748fe69a7baso5543640b3a.3 for ; Tue, 29 Jul 2025 17:00:21 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.17 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833620; x=1754438420; 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=tAy4LWos7CMMDi7rFBFr+ma/sLuxtrhncFZL3m8MVY8=; b=ohv0DgFYYjSA8p7qHvZL0PmS2pcfseuV7EC3j1b+csKd6KI5ZxQ4ieKzqm/DVrlu2w 5HOJxEL0fQCuGE9YecQ4VDiGAsymYOufJDtX0vXuZw3fyEJAra+rQJO4DufHykN48BRy a8u2vrBbOHCiLG0w/kQ99/wtHtSYvrSBMisq8srexOl1jCBf2Gy4df3dQTn8wEyNS4fk YS3bryqFnKfNeZ5NSkFRczNQyt4jyW3k20Y3TE0QS1BP2aQ4iHZ5d6qO+G+VXzeyAyUh aYjhoj6qkvQU9co7eXq1b+mRjb1RFXFMVrprWkSr6P0k3W7Gt6v86+03YjWIRH4NsiZm Amjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833620; x=1754438420; 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=tAy4LWos7CMMDi7rFBFr+ma/sLuxtrhncFZL3m8MVY8=; b=BM0JzR2StSkL73Z0V/U0/R9vLIfNPTUxSCfKxAIzD4vNPlY5er1e5feVeOYyO0MPn7 IT2HpAApSK1+WfRzcIu8oS6npBRv96YIcx3YlkFf/D66c43oixQ8KfBzHtWOKOmAtFns yKEiMJnNe8Qgk36LN4HLbm2tnoRu+FmZjtg9bN79HzNVJuX6OblZL+A1IFPXrYJxg0Mf cJ+uPc41OzzsYGGo4xb3XbdktVZkpEhBc9qNl/L5MKUyPeu/eTUS8NzV6EKeamSW4a1Y 7LIc/Ws3EMEBB0IpMaoM6tvHpGVt1+2nq3KUsJ+izV96zLIldiEW4ZkfXRtupH2ybrn8 BvwA== X-Gm-Message-State: AOJu0YzPL8iwnJUQ+xinKobMNqEGMCqdlE+6HM2xDman7mRDJDDk6Jgr eOlsvCMh+RgxDv69AOmHYKBfu0Rs6EXLW+PMRjow0zVZv4imj5kL0EdHkSDKR9D1ZpzK0ShamBJ Jyick X-Gm-Gg: ASbGncvkT/fH2+/L8C5WC9rRWEv7sFFq7EWmSfM3snUD4rj+sObW6MeTGz4pxMZUK1B FTQQvs1h22zUB9CE26DET95xvGwWR6btpl0gnrgM/JKHpLFHUkfZrMcUlnJ7PX0Ucpz6oyba0Iy SIZe8fqfvyMcxeAXp9Hx8sWmOHiVeZFh8kQtleFsM2NEwqVdmz9YfQX2eircsR5W74kWwULPLTa HGEC7jWBPIWbGLVyniEwT0ip5cYRmvdgaiZQOvbZWAFT/RBBK2h70/EakLSkpBczztpdQ48ly+J jDy+iNjvVgFQRY30k7Mwwxt5N/222xjQciLo6XUkfu0r3CagaO6uDF6Du4xnXH83enB1ClHoiEQ jJEeCli4fLRq3O0/h6RZz8ARL9xHQMPORAQozIQxX310AgLL9Phpzg/87wVoZWJGr3pgTSllIdC BiPUoIhj3RJ4g/l7wUwwzP X-Google-Smtp-Source: AGHT+IEwu0eWkNkO7jEaS6wWkYdQ1f+vvYX3s8nCb4UCDKd5ziJl3UjQN8SNCttIBVYwmjBbOdokQQ== X-Received: by 2002:a05:6a00:288a:b0:736:4644:86ee with SMTP id d2e1a72fcca58-76ab2b576aemr1636367b3a.14.1753833619542; Tue, 29 Jul 2025 17:00:19 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 08/89] linux-user: Move get_elf_hwcap to sh4/elfload.c Date: Tue, 29 Jul 2025 13:58:41 -1000 Message-ID: <20250730000003.599084-9-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::431; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x431.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: 1753834895722116600 Content-Type: text/plain; charset="utf-8" Change the return type to abi_ulong, and pass in the cpu. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/loader.h | 3 ++- linux-user/elfload.c | 29 +---------------------------- linux-user/sh4/elfload.c | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 29 deletions(-) diff --git a/linux-user/loader.h b/linux-user/loader.h index 0544ab3398..cfb474e257 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -100,7 +100,8 @@ extern unsigned long guest_stack_size; =20 #if defined(TARGET_I386) || defined(TARGET_X86_64) || defined(TARGET_ARM) \ || defined(TARGET_SPARC) || defined(TARGET_PPC) \ - || defined(TARGET_LOONGARCH64) || defined(TARGET_MIPS) + || defined(TARGET_LOONGARCH64) || defined(TARGET_MIPS) \ + || defined(TARGET_SH4) abi_ulong get_elf_hwcap(CPUState *cs); abi_ulong get_elf_hwcap2(CPUState *cs); #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index c6d42afde7..1e855713b6 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -973,34 +973,7 @@ static inline void elf_core_copy_regs(target_elf_gregs= et_t *regs, #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 -enum { - SH_CPU_HAS_FPU =3D 0x0001, /* Hardware FPU support */ - SH_CPU_HAS_P2_FLUSH_BUG =3D 0x0002, /* Need to flush the cache in P2= area */ - SH_CPU_HAS_MMU_PAGE_ASSOC =3D 0x0004, /* SH3: TLB way selection bit su= pport */ - SH_CPU_HAS_DSP =3D 0x0008, /* SH-DSP: DSP support */ - SH_CPU_HAS_PERF_COUNTER =3D 0x0010, /* Hardware performance counters= */ - SH_CPU_HAS_PTEA =3D 0x0020, /* PTEA register */ - SH_CPU_HAS_LLSC =3D 0x0040, /* movli.l/movco.l */ - SH_CPU_HAS_L2_CACHE =3D 0x0080, /* Secondary cache / URAM */ - SH_CPU_HAS_OP32 =3D 0x0100, /* 32-bit instruction support */ - SH_CPU_HAS_PTEAEX =3D 0x0200, /* PTE ASID Extension support */ -}; - -#define ELF_HWCAP get_elf_hwcap() - -static uint32_t get_elf_hwcap(void) -{ - SuperHCPU *cpu =3D SUPERH_CPU(thread_cpu); - uint32_t hwcap =3D 0; - - hwcap |=3D SH_CPU_HAS_FPU; - - if (cpu->env.features & SH_FEATURE_SH4A) { - hwcap |=3D SH_CPU_HAS_LLSC; - } - - return hwcap; -} +#define ELF_HWCAP get_elf_hwcap(thread_cpu) =20 #endif =20 diff --git a/linux-user/sh4/elfload.c b/linux-user/sh4/elfload.c index 73fa78ef14..098ca44f80 100644 --- a/linux-user/sh4/elfload.c +++ b/linux-user/sh4/elfload.c @@ -1 +1,33 @@ /* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include "qemu/osdep.h" +#include "qemu.h" +#include "loader.h" + + +enum { + SH_CPU_HAS_FPU =3D 0x0001, /* Hardware FPU support */ + SH_CPU_HAS_P2_FLUSH_BUG =3D 0x0002, /* Need to flush the cache in P2= area */ + SH_CPU_HAS_MMU_PAGE_ASSOC =3D 0x0004, /* SH3: TLB way selection bit su= pport */ + SH_CPU_HAS_DSP =3D 0x0008, /* SH-DSP: DSP support */ + SH_CPU_HAS_PERF_COUNTER =3D 0x0010, /* Hardware performance counters= */ + SH_CPU_HAS_PTEA =3D 0x0020, /* PTEA register */ + SH_CPU_HAS_LLSC =3D 0x0040, /* movli.l/movco.l */ + SH_CPU_HAS_L2_CACHE =3D 0x0080, /* Secondary cache / URAM */ + SH_CPU_HAS_OP32 =3D 0x0100, /* 32-bit instruction support */ + SH_CPU_HAS_PTEAEX =3D 0x0200, /* PTE ASID Extension support */ +}; + +abi_ulong get_elf_hwcap(CPUState *cs) +{ + SuperHCPU *cpu =3D SUPERH_CPU(cs); + abi_ulong hwcap =3D 0; + + hwcap |=3D SH_CPU_HAS_FPU; + + if (cpu->env.features & SH_FEATURE_SH4A) { + hwcap |=3D SH_CPU_HAS_LLSC; + } + + return hwcap; +} --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753834522; cv=none; d=zohomail.com; s=zohoarc; b=QmpJkFLg6mq41hWeqnP+6jiI4ZpStKROeLc22S0gdFmcZSXTg6WT54RVvuA1e8loTWsrdpflXDKk4r1QFfRLuiks13yOBDw4VZqQBxadEcTo5iJLhJz6NNzVGhCmbgfUJ+bHbRqr+bxRMd4Iw/6uDnRr3RyOSatLVqFWbDUwZlk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753834522; 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=niYjP4HNi20ORlTyteNDCGDWejJsTAgXuRZuniRDlAY=; b=iiBxRY4VXCv55WgNvdZlSSC/Nosqa1iCwtRLtbfLCyEf7NxvyutvJ31Zd/7YlA7vFM0hpvIti+6DJBHSP5BZFDvoxAJKm7is2VU0BJbH4BkMBPbQDD00zVwpacIBojs4FJbprFWrZ3PAGYodzT6+Ia4n700J5m0DRMcPjUhirS8= 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 1753834522677526.8935169478555; Tue, 29 Jul 2025 17:15:22 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguRO-0001oy-8F; Tue, 29 Jul 2025 20:13:06 -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 1uguF8-0001Xj-EH for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:26 -0400 Received: from mail-pf1-x42f.google.com ([2607:f8b0:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguF5-00041f-Tr for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:26 -0400 Received: by mail-pf1-x42f.google.com with SMTP id d2e1a72fcca58-7425bd5a83aso5930868b3a.0 for ; Tue, 29 Jul 2025 17:00:22 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.19 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833622; x=1754438422; 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=niYjP4HNi20ORlTyteNDCGDWejJsTAgXuRZuniRDlAY=; b=wi5V9EroshTzfXiIgKHBOs3QsJxzxsutGrAZS1ZC7FvUV3EwqUHKby/WO+49Qx5znX mFuW5cnfqaxVp19cnX3wXUrqw3drItA66pxk9F9qpCQqWUfBDvigjhS/dzvKyRon3B4t 379Klx1BGg0rtrqUZFhrS4nKpJ4U+NxDOvzoMmHgUHxpDtqoiPdBL/7r6UWK6CduXszD v0TuaT/7FTcvLZ2+DKu6SwGswtRkirKpmSSC8Ck12Y1MzfFhPuE9gBoLFdffhZTjNoN5 r0SyewR2oGecBum1Ucw3E19wQ+pz0Me6d2vIM0gDrqNUeEEu1GJcdsxJbzimQJ3HauuQ TEoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833622; x=1754438422; 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=niYjP4HNi20ORlTyteNDCGDWejJsTAgXuRZuniRDlAY=; b=JmvKm1gfBVbpbilcLb4K9TCJxXManePO7y6uEr49UVXEFmS4a95JKYepoO71FpQr6i 1tk2T259B1Cp/86up+he704M77yRaq6SMT5eo2V9+n7YO/fIfUq2e/984o0ZA84hnLIO 5Kf3do/Fs5DPugEErGvSc/WfJK01DkKBDvfVgc/8WuQt1o0UNbn1zOVeh/8to7zzLkEM yJts5R1M/UtQqi3W8LVm3wzsq9Sy3g+aOct6YYS871e6d5Bclku60ueRdKNBJtD0HIOg TtL5I19H/QTxwC/0NZCCY3oD1TgTQccPHjzmymz4kxgf90fYe1TrF3HE4qXrRhazIMSu hxeg== X-Gm-Message-State: AOJu0YyMgV/TTzVCqDhYyqm3p2O+7iA5c/0Xn2FX/A3RxgpvXA4YY46Q EfhFGmYMhJ+J4POJVlWt0r1twDb77awGiN7l+1QId0pkvePX+WlsUj/L1LVeybvEL98nRiBMZVD 8Ulso X-Gm-Gg: ASbGncsvY4yliZ07h6c7jB2YaHcic14CZ5ymw2qGuq1SLMtYaU+erzJn3oM0NL5is4D QK1JXl+o1M6qOx6dlPBMj7BDsoGcRciXfWGAD00juFPd4QCVEGukIinfRXP3YLgIlglCTr/J4EW mYdnWNxiERXwDJyHuU7IGtnF9nIaP/fhIJxKaMHBYKUv2L+2W6B2UFX7CDkSbd/hPq0t0s2yI+x zZJ5X2d4irKlnxZnQoeSODPkwH/gpiiXH4/i2W3cQ2RbysfKbqlmS1Qs4EMKWW7m5DdF5QmIcsm 9nhf7+CVmyAJ0qlOMbgbCk2Oy2uU7IzlWxof52j3lXdZ+itj2mTgINeepqSJQp7e2iq6atdMBja VbIwJWJuyP9Pw2aXezA7oX66rSQjIkHKzAPK1X0LkTT90yzAR61vH0WfqXiVdESxBhyemyLrw2v CDLW+o4JBkZQ== X-Google-Smtp-Source: AGHT+IGGciwtfEAJPAaabB1WdNQ2DPrgCMY0U6HqNz6xSpFq1l27crZPOKJy6EbMp2dzbIJqPiOwGA== X-Received: by 2002:a05:6a20:3949:b0:222:d817:2f4a with SMTP id adf61e73a8af0-23dc0d59042mr1791411637.17.1753833621540; Tue, 29 Jul 2025 17:00:21 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 09/89] linux-user: Move hwcap functions to s390x/elfload.c Date: Tue, 29 Jul 2025 13:58:42 -1000 Message-ID: <20250730000003.599084-10-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::42f; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42f.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: 1753834524287116600 Content-Type: text/plain; charset="utf-8" For get_elf_hwcap, change the return type to abi_ulong and pass in the cpu. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/loader.h | 5 +-- linux-user/s390x/target_proc.h | 2 +- linux-user/elfload.c | 60 +------------------------------- linux-user/s390x/elfload.c | 62 ++++++++++++++++++++++++++++++++++ 4 files changed, 65 insertions(+), 64 deletions(-) diff --git a/linux-user/loader.h b/linux-user/loader.h index cfb474e257..72eb3e68cb 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -101,13 +101,10 @@ extern unsigned long guest_stack_size; #if defined(TARGET_I386) || defined(TARGET_X86_64) || defined(TARGET_ARM) \ || defined(TARGET_SPARC) || defined(TARGET_PPC) \ || defined(TARGET_LOONGARCH64) || defined(TARGET_MIPS) \ - || defined(TARGET_SH4) + || defined(TARGET_SH4) || defined(TARGET_S390X) abi_ulong get_elf_hwcap(CPUState *cs); abi_ulong get_elf_hwcap2(CPUState *cs); #endif -#if defined(TARGET_S390X) -uint32_t get_elf_hwcap(void); -#endif const char *elf_hwcap_str(uint32_t bit); const char *elf_hwcap2_str(uint32_t bit); =20 diff --git a/linux-user/s390x/target_proc.h b/linux-user/s390x/target_proc.h index a4a4821ea5..60cc22d3b4 100644 --- a/linux-user/s390x/target_proc.h +++ b/linux-user/s390x/target_proc.h @@ -48,7 +48,7 @@ static void show_cpu_summary(CPUArchState *cpu_env, int f= d) { S390CPUModel *model =3D env_archcpu(cpu_env)->model; int num_cpus =3D sysconf(_SC_NPROCESSORS_ONLN); - uint32_t elf_hwcap =3D get_elf_hwcap(); + uint32_t elf_hwcap =3D get_elf_hwcap(env_cpu(cpu_env)); const char *hwcap_str; int i; =20 diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 1e855713b6..8d4429242f 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -1049,65 +1049,7 @@ static inline void init_thread(struct target_pt_regs= *regs, #define ELF_DATA ELFDATA2MSB #define ELF_ARCH EM_S390 =20 -#include "elf.h" - -#define ELF_HWCAP get_elf_hwcap() - -#define GET_FEATURE(_feat, _hwcap) \ - do { if (s390_has_feat(_feat)) { hwcap |=3D _hwcap; } } while (0) - -uint32_t get_elf_hwcap(void) -{ - /* - * Let's assume we always have esan3 and zarch. - * 31-bit processes can use 64-bit registers (high gprs). - */ - uint32_t hwcap =3D HWCAP_S390_ESAN3 | HWCAP_S390_ZARCH | HWCAP_S390_HI= GH_GPRS; - - GET_FEATURE(S390_FEAT_STFLE, HWCAP_S390_STFLE); - GET_FEATURE(S390_FEAT_MSA, HWCAP_S390_MSA); - GET_FEATURE(S390_FEAT_LONG_DISPLACEMENT, HWCAP_S390_LDISP); - GET_FEATURE(S390_FEAT_EXTENDED_IMMEDIATE, HWCAP_S390_EIMM); - if (s390_has_feat(S390_FEAT_EXTENDED_TRANSLATION_3) && - s390_has_feat(S390_FEAT_ETF3_ENH)) { - hwcap |=3D HWCAP_S390_ETF3EH; - } - GET_FEATURE(S390_FEAT_VECTOR, HWCAP_S390_VXRS); - GET_FEATURE(S390_FEAT_VECTOR_ENH, HWCAP_S390_VXRS_EXT); - GET_FEATURE(S390_FEAT_VECTOR_ENH2, HWCAP_S390_VXRS_EXT2); - - return hwcap; -} - -const char *elf_hwcap_str(uint32_t bit) -{ - static const char *hwcap_str[] =3D { - [HWCAP_S390_NR_ESAN3] =3D "esan3", - [HWCAP_S390_NR_ZARCH] =3D "zarch", - [HWCAP_S390_NR_STFLE] =3D "stfle", - [HWCAP_S390_NR_MSA] =3D "msa", - [HWCAP_S390_NR_LDISP] =3D "ldisp", - [HWCAP_S390_NR_EIMM] =3D "eimm", - [HWCAP_S390_NR_DFP] =3D "dfp", - [HWCAP_S390_NR_HPAGE] =3D "edat", - [HWCAP_S390_NR_ETF3EH] =3D "etf3eh", - [HWCAP_S390_NR_HIGH_GPRS] =3D "highgprs", - [HWCAP_S390_NR_TE] =3D "te", - [HWCAP_S390_NR_VXRS] =3D "vx", - [HWCAP_S390_NR_VXRS_BCD] =3D "vxd", - [HWCAP_S390_NR_VXRS_EXT] =3D "vxe", - [HWCAP_S390_NR_GS] =3D "gs", - [HWCAP_S390_NR_VXRS_EXT2] =3D "vxe2", - [HWCAP_S390_NR_VXRS_PDE] =3D "vxp", - [HWCAP_S390_NR_SORT] =3D "sort", - [HWCAP_S390_NR_DFLT] =3D "dflt", - [HWCAP_S390_NR_NNPA] =3D "nnpa", - [HWCAP_S390_NR_PCI_MIO] =3D "pcimio", - [HWCAP_S390_NR_SIE] =3D "sie", - }; - - return bit < ARRAY_SIZE(hwcap_str) ? hwcap_str[bit] : NULL; -} +#define ELF_HWCAP get_elf_hwcap(thread_cpu) =20 static inline void init_thread(struct target_pt_regs *regs, struct image_i= nfo *infop) { diff --git a/linux-user/s390x/elfload.c b/linux-user/s390x/elfload.c index 73fa78ef14..29dab42933 100644 --- a/linux-user/s390x/elfload.c +++ b/linux-user/s390x/elfload.c @@ -1 +1,63 @@ /* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include "qemu/osdep.h" +#include "qemu.h" +#include "loader.h" +#include "elf.h" + + +#define GET_FEATURE(_feat, _hwcap) \ + do { if (s390_has_feat(_feat)) { hwcap |=3D _hwcap; } } while (0) + +abi_ulong get_elf_hwcap(CPUState *cs) +{ + /* + * Let's assume we always have esan3 and zarch. + * 31-bit processes can use 64-bit registers (high gprs). + */ + uint32_t hwcap =3D HWCAP_S390_ESAN3 | HWCAP_S390_ZARCH | HWCAP_S390_HI= GH_GPRS; + + GET_FEATURE(S390_FEAT_STFLE, HWCAP_S390_STFLE); + GET_FEATURE(S390_FEAT_MSA, HWCAP_S390_MSA); + GET_FEATURE(S390_FEAT_LONG_DISPLACEMENT, HWCAP_S390_LDISP); + GET_FEATURE(S390_FEAT_EXTENDED_IMMEDIATE, HWCAP_S390_EIMM); + if (s390_has_feat(S390_FEAT_EXTENDED_TRANSLATION_3) && + s390_has_feat(S390_FEAT_ETF3_ENH)) { + hwcap |=3D HWCAP_S390_ETF3EH; + } + GET_FEATURE(S390_FEAT_VECTOR, HWCAP_S390_VXRS); + GET_FEATURE(S390_FEAT_VECTOR_ENH, HWCAP_S390_VXRS_EXT); + GET_FEATURE(S390_FEAT_VECTOR_ENH2, HWCAP_S390_VXRS_EXT2); + + return hwcap; +} + +const char *elf_hwcap_str(uint32_t bit) +{ + static const char *hwcap_str[] =3D { + [HWCAP_S390_NR_ESAN3] =3D "esan3", + [HWCAP_S390_NR_ZARCH] =3D "zarch", + [HWCAP_S390_NR_STFLE] =3D "stfle", + [HWCAP_S390_NR_MSA] =3D "msa", + [HWCAP_S390_NR_LDISP] =3D "ldisp", + [HWCAP_S390_NR_EIMM] =3D "eimm", + [HWCAP_S390_NR_DFP] =3D "dfp", + [HWCAP_S390_NR_HPAGE] =3D "edat", + [HWCAP_S390_NR_ETF3EH] =3D "etf3eh", + [HWCAP_S390_NR_HIGH_GPRS] =3D "highgprs", + [HWCAP_S390_NR_TE] =3D "te", + [HWCAP_S390_NR_VXRS] =3D "vx", + [HWCAP_S390_NR_VXRS_BCD] =3D "vxd", + [HWCAP_S390_NR_VXRS_EXT] =3D "vxe", + [HWCAP_S390_NR_GS] =3D "gs", + [HWCAP_S390_NR_VXRS_EXT2] =3D "vxe2", + [HWCAP_S390_NR_VXRS_PDE] =3D "vxp", + [HWCAP_S390_NR_SORT] =3D "sort", + [HWCAP_S390_NR_DFLT] =3D "dflt", + [HWCAP_S390_NR_NNPA] =3D "nnpa", + [HWCAP_S390_NR_PCI_MIO] =3D "pcimio", + [HWCAP_S390_NR_SIE] =3D "sie", + }; + + return bit < ARRAY_SIZE(hwcap_str) ? hwcap_str[bit] : NULL; +} --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753834517; cv=none; d=zohomail.com; s=zohoarc; b=kTz+JdIYxZwjLFZGR+bIpS8rVIddKUlgVbUgiV9erOkby75jh2npNs1OfZmjhwIDN6Wt/lFNetdI/ITXoLl9Yo+FzIqrjq2wkcFH5Y0cCLE/Rp1uviBqBTc25V4NY516zrKBJsef2Li454zOmw/WJNbhovm/8Xv/KXRmnznr9sU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753834517; 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=b7s39CkWlMMx+G9GkxkJyc453mYEb7PcnvWNR7lcKKk=; b=bTbdKZsy1JcrqyfY+13KvhPqXULdqGXe8NmOC8E49U00BmgK/tbhDxnB4mp9uRYS/ZiGw7PIRyuFP/E/L0wwaXA0jUQDBG4vmHmr72208MpFL3oDoq8KTN7S+hqWBLG2Weklxc+lhW4y+0754xEQQ14tJLpBtnEhcRWq6+ER+BA= 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 175383451756327.425754964429643; Tue, 29 Jul 2025 17:15:17 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguRZ-000219-QC; Tue, 29 Jul 2025 20:13:17 -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 1uguF9-0001YS-1V for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:27 -0400 Received: from mail-pf1-x42f.google.com ([2607:f8b0:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguF6-000420-QB for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:26 -0400 Received: by mail-pf1-x42f.google.com with SMTP id d2e1a72fcca58-75001b1bd76so3987310b3a.2 for ; Tue, 29 Jul 2025 17:00:24 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833623; x=1754438423; 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=b7s39CkWlMMx+G9GkxkJyc453mYEb7PcnvWNR7lcKKk=; b=e3azRwWZe47qsk1TEg2Hx9AC1Nc/QOysMxSdLr5PG3bv1AXsmjK2xAJBkKYZSvJNAa Lf0S06jhi5ppZAZkWr7MLu0u7bvvi3GLXUMql35vvKN45+JGFMaJcgIeFGiEOkGI71bV WTtELP9Q5dIpEF4QDGwmxP/uWbfffdsW2r5ZZxbGYvdRLfxK9bgteHNlqTxGO7lC4crL cTOT8Q5PyWSjNU3rv18bgujg4Mb7svnkFqUTiAwn98DPrF4jKmwbNaEMLZBmweJawuyi rhvMjnUmj0aCrS4Y9z7wwhWRltVIMA2JylswEmSsk9NwjlVAawlOb7W0BrpVs8tOWlNI G+fg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833623; x=1754438423; 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=b7s39CkWlMMx+G9GkxkJyc453mYEb7PcnvWNR7lcKKk=; b=p37LrYWuNCsR/LiiM/wZ9xegUeHpxBJwKdQVma86ZSwMxZWMGy/JoyZy4CdSQV9r7+ I/b7U9LKygKyaM+Ir2BSJdwYQuBQNGqYLIOP6oZLVSkyVtvmLzigJQHgN0C4N26/drMb 6x6r6vQCJrzk7UrVtBFyiWt/fmfD/XXZmK/W1aVhMCPNq/+kBzSFJ5lsNKdjQNA2G15f AO7p3CZQNZ+bQ5+WruPltoM2pr+0PEQK0nc0q6L1nHlNRotYpgKEPRwI3a8S0GDTJHQm X/KUsLTkH6CG1v3WWJWDnHPFKnLzIKgqQN/IuDbJ6hDROjc9uvJpGvCXZ8UNtYvAZ3BT rVDA== X-Gm-Message-State: AOJu0YwKzK+mrcf2bGSCdEvKQJBRLwEnjJD+4KO0Sc0DjPJWnZGj6gRX v7UPDA5pmUdHYs0Vve3ss7e5v3Wmj1xGG1ljpADkPTE7oC55PTtg4oMXRTf/G2D2ZWgjeFOx3EL E0FaF X-Gm-Gg: ASbGncsI8x8HhDPJSs7+LJff6lxoxHIRwMZ1CM0CdyBuTuGiH3nxXNLFBMndb3LhFOp hMtLLs8s8z94H+oJK6kAQlhP65CHhRRUPuEAgcRF4JcADpMF9AkIedylgjOdRsKGKV69MAW29SS IfEzebbYAJA2g4o8FWDa3XbdSQXYyOzU0ugyAsZrHY6fXNwzGTv2ijBBsUSc2HacSn1vi1wDbdf fP6PyhuM1flV59clIn5HVmhgRF+yOgTjmPNBlLI2ylHnwzPEL3f4+YXs5G58jPOyBNwxYSEZVfA R/pjDR4ThJDvXOLVXPE5RKJbyuzJ6n1SqZPNM/WoSp6rKBe2jqJE2JP6r1N3yPrwRsdRD7erXV9 KNA0zSjxoI0IJ/tURJfNMxC4d88ns1qpIPMnGc2MRkxK32Xtv1BJjSPhRk/khK2kGTzbXiepwfF PlqE7/O5Iegg== X-Google-Smtp-Source: AGHT+IEAfU07LECVh+lQoE9kql+jYqqM8/EiYKOgunEq4ar7ybJRpD5Tvh2Fwry28TlUcl7Sqe36sQ== X-Received: by 2002:a05:6a00:21c5:b0:736:3979:369e with SMTP id d2e1a72fcca58-76ab1611ca0mr1896383b3a.9.1753833623081; Tue, 29 Jul 2025 17:00:23 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 10/89] linux-user: Move get_elf_hwcap to riscv/elfload.c Date: Tue, 29 Jul 2025 13:58:43 -1000 Message-ID: <20250730000003.599084-11-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::42f; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42f.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: 1753834518150116600 Content-Type: text/plain; charset="utf-8" Change the return type to abi_ulong, and pass in the cpu. As this is the last instance of get_elf_hwcap to be converted, remove the ifdef around the declaration in loader.h. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/loader.h | 5 ----- linux-user/elfload.c | 14 +------------- linux-user/riscv/elfload.c | 17 +++++++++++++++++ 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/linux-user/loader.h b/linux-user/loader.h index 72eb3e68cb..484d20aecd 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -98,13 +98,8 @@ abi_long memcpy_to_target(abi_ulong dest, const void *sr= c, =20 extern unsigned long guest_stack_size; =20 -#if defined(TARGET_I386) || defined(TARGET_X86_64) || defined(TARGET_ARM) \ - || defined(TARGET_SPARC) || defined(TARGET_PPC) \ - || defined(TARGET_LOONGARCH64) || defined(TARGET_MIPS) \ - || defined(TARGET_SH4) || defined(TARGET_S390X) abi_ulong get_elf_hwcap(CPUState *cs); abi_ulong get_elf_hwcap2(CPUState *cs); -#endif const char *elf_hwcap_str(uint32_t bit); const char *elf_hwcap2_str(uint32_t bit); =20 diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 8d4429242f..cd83307750 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -1109,19 +1109,7 @@ static void elf_core_copy_regs(target_elf_gregset_t = *regs, #define VDSO_HEADER "vdso-64.c.inc" #endif =20 -#define ELF_HWCAP get_elf_hwcap() - -static uint32_t get_elf_hwcap(void) -{ -#define MISA_BIT(EXT) (1 << (EXT - 'A')) - RISCVCPU *cpu =3D RISCV_CPU(thread_cpu); - uint32_t mask =3D MISA_BIT('I') | MISA_BIT('M') | MISA_BIT('A') - | MISA_BIT('F') | MISA_BIT('D') | MISA_BIT('C') - | MISA_BIT('V'); - - return cpu->env.misa_ext & mask; -#undef MISA_BIT -} +#define ELF_HWCAP get_elf_hwcap(thread_cpu) =20 static inline void init_thread(struct target_pt_regs *regs, struct image_info *infop) diff --git a/linux-user/riscv/elfload.c b/linux-user/riscv/elfload.c index 73fa78ef14..4e2ec3df5b 100644 --- a/linux-user/riscv/elfload.c +++ b/linux-user/riscv/elfload.c @@ -1 +1,18 @@ /* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include "qemu/osdep.h" +#include "qemu.h" +#include "loader.h" + + +abi_ulong get_elf_hwcap(CPUState *cs) +{ +#define MISA_BIT(EXT) (1 << (EXT - 'A')) + RISCVCPU *cpu =3D RISCV_CPU(cs); + uint32_t mask =3D MISA_BIT('I') | MISA_BIT('M') | MISA_BIT('A') + | MISA_BIT('F') | MISA_BIT('D') | MISA_BIT('C') + | MISA_BIT('V'); + + return cpu->env.misa_ext & mask; +#undef MISA_BIT +} --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753836571; cv=none; d=zohomail.com; s=zohoarc; b=kfCE3+aJBpBYivIPxc14nb//fTX9gylFvWSSKQwuqAD2vsMGZKO//BkZ9kIkNFyVVHJHY4UCAqPW2c+QWKmvhdz8I7rm+fGwAEAOD64+wjFWZEQojnOaJCIqL0Q/wttLQsFwedIFsr2wVmbIkOj60dfhcaRzrPDfUltP51aoQuk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753836571; 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=U2nXMnHMpWoFyt5+dkR10XXNFdZXSTwsI6X/q1e4fEc=; b=miGp6VQuPgu/aRfbS+l/NtoH3ustBjMdnpLhJvkT9RbJFFctImRR9+LB0QBjz6XswuFrKG3kmdix5wPoEfM3wKp59V9Jb/stpleaScaGecnBJsZIdFN2OQRpku7hMyw0FmhhT2+zQcFJCPFc0iYoVA3cFSRB5HsbYQHisidnseA= 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 1753836571339312.68288584339064; Tue, 29 Jul 2025 17:49:31 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguSv-0003z3-2H; Tue, 29 Jul 2025 20:14:41 -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 1uguFA-0001au-SA for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:29 -0400 Received: from mail-pf1-x429.google.com ([2607:f8b0:4864:20::429]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguF8-00042Q-Ol for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:28 -0400 Received: by mail-pf1-x429.google.com with SMTP id d2e1a72fcca58-74b50c71b0aso3629058b3a.0 for ; Tue, 29 Jul 2025 17:00:26 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.23 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833625; x=1754438425; 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=U2nXMnHMpWoFyt5+dkR10XXNFdZXSTwsI6X/q1e4fEc=; b=EwkZAiOY2zBPMJndRjfPTvVr/RrmuCrwcjIf8VmioK1TvYzKSFcA+cf22WQWC4S0i1 jnA98B8AbtNVzctmYAQXBz6J3SWsbx29AHzbzhxPvmk3n08T/zDGd21gfHFioJOBCOfP cC9OpRcKeNsTjAAHcQ5mXf063Pakt693i4K7LR+UlMax0tEBDGKX1kO6mtdFgPDcbyTH x8zbui/f5mS15B9/G7G4KGfT2g/PAYwPwrTfJhxyNUJjTq3FA6TKoMfRXnnffnKsQFDT 1H6byLC3gZdBibuu5DKqzaFUKE7LTqrmVwjVhXr0Ps4K8a+/fBwhskCpVdq8hzSVeopJ tq0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833625; x=1754438425; 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=U2nXMnHMpWoFyt5+dkR10XXNFdZXSTwsI6X/q1e4fEc=; b=gaXHtZ/9HAQ+b1LVug7wYHwqfzR/SiwroTfr1BcDEgw2MnVhwOIJKSoD+ZAKnizyZj wqsMZpYu47VnOMPu6B0GxXpDcemWGNbNjku2xAnFyB+e4whHKhSjaSs5Oe+mAsFORQc9 HqNSFGarIaFgbEmDK8mHMIysLF6sUu72RJw5otrwRf/vR0/nF3O0I3GNoT4y0CZryyNU r26j9AQ3VT0ZVvBBKZHlRXX9q6VjMQNtzm9GtQhluGLXL7JfMd6S++yGON1QKuFxJBd+ zDewfxan6qJ1MIFb0VE98/eSaW58icMjM+zLWfwlrqa7k0uodl5gAwuRXkWAaBjHnoeo MkeA== X-Gm-Message-State: AOJu0YyL0TiLh0MYVCzerh9zvaXfdLZHQHatGwNA0OH5CkqcM5HoJQ40 bJmNoeyb9FE+LyGq4XoGKrWFQY+E0FxhgNs0m3Hla7xvJVUaiI7mfKGT1auOzFTj1vdv6XgCzJt IaWmn X-Gm-Gg: ASbGncsc0dfnvaGL8UMf9uY620KO1l+95QzDlXEFYtv0r50Fj89ZDzngN+YLlvi69H7 syna7nu/Qwh8z2YegnjtIchLorDcc33MAz/Oiu/A87iZzzcQC709KiOJn7bxjrYXfDQ1MLmbjMC kkYGM9o05zSpMzt9G1LVx8PChbH8qisTlBk7Z3TqHA4c8eIH+H9P6vx9L3Gm7o5zADwfE2hk9lU 4CNjfn9Ogi/UmqeR2CyX9sonqFATntBJfNGCPCo+ASU5dJXkoN9/q8UwXjjdeGqnq9D8QqP83T5 mQi77K1MBa80RHypDFEz4H2gjZUBvlgKXwedGBvlAYiD2jByiBZWELusR5vL7SLS7lSRQLz1RZn g3nJmhCW/5Lqb6uhOPC1JwRNuaWm04VvlELZUvN2bTfJn2ZCfgbUdegDUAHxVI+E2W7R0uvOLs9 aFzmSHgxb2fLlaNadp6f+X X-Google-Smtp-Source: AGHT+IFOjY2MF9ppq5NYrqMobv/wK6MPVP2MAdqkxON736aP3+44tKgKhimIMO9nR9eb+ZxrSv/lTA== X-Received: by 2002:a05:6a20:918e:b0:1ee:8435:6b69 with SMTP id adf61e73a8af0-23dc0d31952mr1653041637.1.1753833624736; Tue, 29 Jul 2025 17:00:24 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 11/89] linux-user: Remove ELF_HWCAP Date: Tue, 29 Jul 2025 13:58:44 -1000 Message-ID: <20250730000003.599084-12-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::429; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x429.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: 1753836571933116600 Content-Type: text/plain; charset="utf-8" All real definitions of ELF_HWCAP are now identical, and the stub definitions are 0. Provide a weak stub as a fallback definition. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 34 ++++++++++------------------------ 1 file changed, 10 insertions(+), 24 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index cd83307750..8036f902cc 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -38,7 +38,6 @@ #ifdef _ARCH_PPC64 #undef ARCH_DLINFO #undef ELF_PLATFORM -#undef ELF_HWCAP #undef ELF_HWCAP2 #undef ELF_CLASS #undef ELF_DATA @@ -158,8 +157,6 @@ typedef abi_int target_pid_t; =20 #ifdef TARGET_I386 =20 -#define ELF_HWCAP get_elf_hwcap(thread_cpu) - #ifdef TARGET_X86_64 #define ELF_CLASS ELFCLASS64 #define ELF_ARCH EM_X86_64 @@ -459,7 +456,6 @@ static bool init_guest_commpage(void) return true; } =20 -#define ELF_HWCAP get_elf_hwcap(thread_cpu) #define ELF_HWCAP2 get_elf_hwcap2(thread_cpu) =20 #define ELF_PLATFORM get_elf_platform() @@ -549,7 +545,6 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 -#define ELF_HWCAP get_elf_hwcap(thread_cpu) #define ELF_HWCAP2 get_elf_hwcap2(thread_cpu) =20 #if TARGET_BIG_ENDIAN @@ -575,8 +570,6 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, # define ELF_ARCH EM_SPARCV9 #endif =20 -#define ELF_HWCAP get_elf_hwcap(thread_cpu) - static inline void init_thread(struct target_pt_regs *regs, struct image_info *infop) { @@ -608,7 +601,6 @@ static inline void init_thread(struct target_pt_regs *r= egs, =20 #define ELF_ARCH EM_PPC =20 -#define ELF_HWCAP get_elf_hwcap(thread_cpu) #define ELF_HWCAP2 get_elf_hwcap2(thread_cpu) =20 /* @@ -735,8 +727,6 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 -#define ELF_HWCAP get_elf_hwcap(thread_cpu) - #define ELF_PLATFORM "loongarch" =20 #endif /* TARGET_LOONGARCH64 */ @@ -844,8 +834,6 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, const CPUMIPSState *e #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 -#define ELF_HWCAP get_elf_hwcap(thread_cpu) - #endif /* TARGET_MIPS */ =20 #ifdef TARGET_MICROBLAZE @@ -919,7 +907,7 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, (*regs)[32] =3D tswapreg(env->pc); (*regs)[33] =3D tswapreg(cpu_get_sr(env)); } -#define ELF_HWCAP 0 + #define ELF_PLATFORM NULL =20 #endif /* TARGET_OPENRISC */ @@ -973,8 +961,6 @@ static inline void elf_core_copy_regs(target_elf_gregse= t_t *regs, #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 -#define ELF_HWCAP get_elf_hwcap(thread_cpu) - #endif =20 #ifdef TARGET_M68K @@ -1049,8 +1035,6 @@ static inline void init_thread(struct target_pt_regs = *regs, #define ELF_DATA ELFDATA2MSB #define ELF_ARCH EM_S390 =20 -#define ELF_HWCAP get_elf_hwcap(thread_cpu) - static inline void init_thread(struct target_pt_regs *regs, struct image_i= nfo *infop) { regs->psw.addr =3D infop->entry; @@ -1109,8 +1093,6 @@ static void elf_core_copy_regs(target_elf_gregset_t *= regs, #define VDSO_HEADER "vdso-64.c.inc" #endif =20 -#define ELF_HWCAP get_elf_hwcap(thread_cpu) - static inline void init_thread(struct target_pt_regs *regs, struct image_info *infop) { @@ -1278,10 +1260,6 @@ static inline void init_thread(struct target_pt_regs= *regs, #define elf_check_abi(x) (1) #endif =20 -#ifndef ELF_HWCAP -#define ELF_HWCAP 0 -#endif - #ifndef STACK_GROWS_DOWN #define STACK_GROWS_DOWN 1 #endif @@ -1301,6 +1279,14 @@ static inline void init_thread(struct target_pt_regs= *regs, #define EXSTACK_DEFAULT false #endif =20 +/* + * Provide fallback definitions that the target may omit. + */ +abi_ulong __attribute__((weak)) get_elf_hwcap(CPUState *cs) +{ + return 0; +} + #include "elf.h" =20 /* We must delay the following stanzas until after "elf.h". */ @@ -1878,7 +1864,7 @@ static abi_ulong create_elf_tables(abi_ulong p, int a= rgc, int envc, NEW_AUX_ENT(AT_EUID, (abi_ulong) geteuid()); NEW_AUX_ENT(AT_GID, (abi_ulong) getgid()); NEW_AUX_ENT(AT_EGID, (abi_ulong) getegid()); - NEW_AUX_ENT(AT_HWCAP, (abi_ulong) ELF_HWCAP); + NEW_AUX_ENT(AT_HWCAP, get_elf_hwcap(thread_cpu)); NEW_AUX_ENT(AT_CLKTCK, (abi_ulong) sysconf(_SC_CLK_TCK)); NEW_AUX_ENT(AT_RANDOM, (abi_ulong) u_rand_bytes); NEW_AUX_ENT(AT_SECURE, (abi_ulong) qemu_getauxval(AT_SECURE)); --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753834559; cv=none; d=zohomail.com; s=zohoarc; b=ILdjEcXM0f5l+MhQh7oYLsxJlHqQt8vIP9CNrpmbSbUjqQ6ZbaGUmTZbXpAwRCaU6IXFrVmAe01G1aaZU7RjhMdUgtgvSgPjSWZI7hJ9CvUjNr6cBzPlZzi/hZj02aqhP6C86XotfpCANEYifoGSwh9nGisY/pxJ2bW6gJJHX08= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753834559; 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=pNRMNTRt+D96aPgUPj4bwewGazZivvWAGKM28165oV0=; b=gHNw2zmrWlCkeDzQAKS+qEGi3CZWQ+ZCcj8Y42M801XsJMz4zGiZD/A8O0/R+3WmCvDoVJQIibZYcpi/uR54OfW9IvGjTjEyQtS10KLCg15nHPV54FZdXNc+cFiLDMrVBDeZpPhP/b+RNyz9bgoxVGXRvGbrvBwbzKiP38zgzRs= 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 1753834559619454.41813711339034; Tue, 29 Jul 2025 17:15:59 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguRR-0001rr-N6; Tue, 29 Jul 2025 20:13:09 -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 1uguFC-0001db-98 for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:30 -0400 Received: from mail-pf1-x42e.google.com ([2607:f8b0:4864:20::42e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguFA-00042e-25 for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:29 -0400 Received: by mail-pf1-x42e.google.com with SMTP id d2e1a72fcca58-7426c44e014so316238b3a.3 for ; Tue, 29 Jul 2025 17:00:27 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.24 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833626; x=1754438426; 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=pNRMNTRt+D96aPgUPj4bwewGazZivvWAGKM28165oV0=; b=rfwxAtJ4p23SS/u5LtuPvEfrYsbgL5+ZkN2NeQRUyVpKsSKpFYb3t3pBHgyky66fi3 pNZOHSqoPl9oEeWe1TpB0RT6EOpZggeiZ/bBWZJtBhwExVIhTlzC4Z1ku9OYcoHQnxYC r5N2FRlVBpOg/v0Xtjs2rdHNdaAdfvvyW0ZJvTZcnn1ImpcqP0LdLKLw2eEBNghBqZWF QKWUyhN+a4J/zRLnyr2kuWFODAYU/qblu+D7dkq0ARTDi7ZfX3WxWUW0DGmfriWoAufz +L5IAwimXxmnxoVr+MJVETPJEj8iU62Jh28OEwAZHbrNG71Fic6LN/QMohTL7FYImm6I mM4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833626; x=1754438426; 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=pNRMNTRt+D96aPgUPj4bwewGazZivvWAGKM28165oV0=; b=E0RzuWmBWIPMxmsAJ0Pbk3TJUCJnxSIcU7OL8JiCElHeGDcWw5vqxu/ZbPOuQgnlLH uWRWt7YMcu2c046Lc5pQLqyhFR+Y4kUlOVMvge6D80mq+b1rpCNy4sIsCYf2U014uxGt bgs4xIAnNMM/zxUnoGJr+Nr3SZApY+Ox4bCdnvG84K1d3Ow8PVHOuCYvanuRRdSE9vPa cOc52juLm2vhWY+wlY1cQfJ4H+nBiZn08I9z5YTt5aQdxpTa0f5EhbEuV/wT+xMTA1r6 ONq350vfVEGQPfNRi+RSDXseuap5KNBAz17WVcDFFDXUzP/0lPZp7n2WYiwOdyG9ZA06 G88g== X-Gm-Message-State: AOJu0YxwO4fc/cK+4FI44bjlwFEK+rKjGSmfiVJlPPPzEjDnIYXr57Cg X5rnt+lnv9NcSEdAax7YnznfGNfhteoZHNWqTmMTlAoVs2enSoR5dvzhg+tfd8UcvJYlCZIi+we ZmrZk X-Gm-Gg: ASbGncuXgHpp/il8v7Q6TFPb3gLG5pc72qzgAUTr9xbj29cNIMOVeGDQYcGq5+N9Ldk 0VWA7rnivlQ/KG8AT64sDIC5FmgSU/7+o2khSuY4YQMJbeCh7NlmyXK5gsjmnuYp0UaX5Wo4BFb gmlJX+AEh6lckxhcLTHLR1+q/5VtLv4qMs+feEZwXjtk/XTBiWaB3SS36sZOjJ0KVnUTKqnC2TL oOaOeeWx6IflKtxftmIvOQKf1tNz9jvlYKzzsxryt/AL/NIJnCj6nBKQSdXX/GQNpHIOlWXR2d4 67Ku7O2OzX3xrlUg20Cd071G02uQIatYF04HjEQme5Rn0afb8gksVvezT4M8TazanEUANMwZOSA wbcUVBeheZT7ZGV1EwTHyxW3m+plG4iYE6YgILRYG/11HonVcQNVVAAKnNsig0IQezLqJNsywUB GJSsSI6Dbkqw== X-Google-Smtp-Source: AGHT+IE3C+Jh+P8umGIVcQO6hWk0Jd/qaf6GFv1qPi/StdLwbxX4bYxN03XIqLvQmVB2G2TROrxNgQ== X-Received: by 2002:a05:6a20:3d84:b0:21f:543f:f11c with SMTP id adf61e73a8af0-23dc0cf6136mr1893599637.2.1753833626260; Tue, 29 Jul 2025 17:00:26 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 12/89] linux-user: Remove ELF_HWCAP2 Date: Tue, 29 Jul 2025 13:58:45 -1000 Message-ID: <20250730000003.599084-13-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::42e; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42e.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: 1753834560808116600 Content-Type: text/plain; charset="utf-8" All definitions of ELF_HWCAP2 are now identical. The only catch is whether or not a target defines it. Unlike the primary AT_HWCAP, we'd like to omit AT_HWCAP2 entirely if there is no definition for it. Mark get_elf_hwcap2 as weak, so that the function may be omitted. Check that the function exists before calling it. Signed-off-by: Richard Henderson --- linux-user/elfload.c | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 8036f902cc..54413bf651 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -38,7 +38,6 @@ #ifdef _ARCH_PPC64 #undef ARCH_DLINFO #undef ELF_PLATFORM -#undef ELF_HWCAP2 #undef ELF_CLASS #undef ELF_DATA #undef ELF_ARCH @@ -456,8 +455,6 @@ static bool init_guest_commpage(void) return true; } =20 -#define ELF_HWCAP2 get_elf_hwcap2(thread_cpu) - #define ELF_PLATFORM get_elf_platform() =20 static const char *get_elf_platform(void) @@ -545,8 +542,6 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 -#define ELF_HWCAP2 get_elf_hwcap2(thread_cpu) - #if TARGET_BIG_ENDIAN # define VDSO_HEADER "vdso-be.c.inc" #else @@ -601,8 +596,6 @@ static inline void init_thread(struct target_pt_regs *r= egs, =20 #define ELF_ARCH EM_PPC =20 -#define ELF_HWCAP2 get_elf_hwcap2(thread_cpu) - /* * The requirements here are: * - keep the final alignment of sp (sp & 0xf) @@ -1279,6 +1272,17 @@ static inline void init_thread(struct target_pt_regs= *regs, #define EXSTACK_DEFAULT false #endif =20 +/* + * Locally declare get_elf_hwcap2 weak, so a target may omit it, and + * so that here in elfload.c we can tell that the target omitted it. + * The declaration in loader.h, used by the definitions in arch/hwcap.c, + * remains strong. + */ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wredundant-decls" +abi_ulong get_elf_hwcap2(CPUState *cs) __attribute__((weak)); +#pragma GCC diagnostic pop + /* * Provide fallback definitions that the target may omit. */ @@ -1808,9 +1812,9 @@ static abi_ulong create_elf_tables(abi_ulong p, int a= rgc, int envc, #ifdef DLINFO_ARCH_ITEMS size +=3D DLINFO_ARCH_ITEMS * 2; #endif -#ifdef ELF_HWCAP2 - size +=3D 2; -#endif + if (get_elf_hwcap2) { + size +=3D 2; + } info->auxv_len =3D size * n; =20 size +=3D envc + argc + 2; @@ -1870,10 +1874,9 @@ static abi_ulong create_elf_tables(abi_ulong p, int = argc, int envc, NEW_AUX_ENT(AT_SECURE, (abi_ulong) qemu_getauxval(AT_SECURE)); NEW_AUX_ENT(AT_EXECFN, info->file_string); =20 -#ifdef ELF_HWCAP2 - NEW_AUX_ENT(AT_HWCAP2, (abi_ulong) ELF_HWCAP2); -#endif - + if (get_elf_hwcap2) { + NEW_AUX_ENT(AT_HWCAP2, get_elf_hwcap(thread_cpu)); + } if (u_base_platform) { NEW_AUX_ENT(AT_BASE_PLATFORM, u_base_platform); } --=20 2.43.0 From nobody Sat Nov 15 06:33:16 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1753834555324688.327720196378; Tue, 29 Jul 2025 17:15:55 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguRT-0001us-O6; Tue, 29 Jul 2025 20:13:11 -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 1uguFD-0001es-A3 for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:31 -0400 Received: from mail-pf1-x42d.google.com ([2607:f8b0:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguFB-00042o-F6 for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:30 -0400 Received: by mail-pf1-x42d.google.com with SMTP id d2e1a72fcca58-748d982e97cso5672476b3a.1 for ; Tue, 29 Jul 2025 17:00:29 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.26 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833628; x=1754438428; 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=gmsTdoWMgR5epgRbxoItIZV+Xb1TV36z0k7LZn5QEVI=; b=Mp/iC+ZmqvMAr1t77wA4nZLXHgC397eyze5CWVsG3VuWRLqDfONf82FSAMSbg7lslv UvXbIRAmg/sJj5D+jmwcnInICBLKuOywTrUpcOqkOIlYz9yTQ1jzhibFY6r5fFlD3IcJ cCSnCOgLYKngZ87GAtUptwD/n073MDvQmzqJv0vGZFJ/b6pC9i9OCSdNpoMqJriMkz5X 6W2n9mmzk+wb9PFvZbYWebaxd8TVUefjDUzKyiCcjTkSKa4ARiYEr3dh/nRd9IerYdda vvMXqPuoAhWaFvNGJpCRQJ7HmfiIcMxCwzNwNmLPlcK36VOPVwREgnIHjFfVOMvR/NcA ttoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833628; x=1754438428; 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=gmsTdoWMgR5epgRbxoItIZV+Xb1TV36z0k7LZn5QEVI=; b=iQ7JPtU/yAcbcIfMT4YZQ1XFuyioCm0KdJJlG0T2u1BlhxEWdFKZzIawuA3fWmPIRc AeEIdXBausWGn1t8h8szgTOoFDD/KsF4Q3G0mM0iJkdBvN4erRRysg6h2rfYDuk9Z5ht 3SB1Vo8nYyuuV2ZAswsPY5WrDL5p8wCGyeq76oaN4zZbgrEcogGLUimFpnaPh/Un0m89 k+3QKrT0P4vVcKmQYetJWznMUAIEZQhYv3YDBRNnbTJJASE3YsDKjspvKCLJza7Nvqq0 okVB8/pGE/qvUcp7wE5OjeiuA1u1dOD1CHVPKND42DMfcu0YIWZK29YDWQcw7o4yRtVU x+KQ== X-Gm-Message-State: AOJu0YxBIr+Tl3bDvrh56cYrBD48Q0XqPC913IkRm4GBAq/YFlzC7A5q agfw3NY03xSJ32qRXjlhhEFYZMG0IW0k34neCMesvMPAc04Qfg1KlMAID6WFflwOXp29YPbpfLz i/19+ X-Gm-Gg: ASbGncvtsyIzLvKo44C2lgEtJbT2HNu0R6+SRofi24IjeQWTibrF6smLGhA9rydvQJw CY56HiVKLLhoIX2L2OZmhojCIlYEtZh+121oObHy7pTb00JidcAQG0xgQVesMsIzVKUch2NKhJv ZYOllCw5qLzFZyDuEg/3PrrM4K+tbCkxOcnlDF2vIk7rbMpp1Q6K/vSLpsK2b0+ygeGPCyc7FQn 8NiIDSKc8xIbuTvEFIj5IQHRCuzFdyxbUwN5ejkda5YJvGVdUOz1ZUdOv64z/D0fQtNoRCSorOC Gko0+vPSsdW9GGogaSEdfT4/K23synyjMsfto1ujPCQ8/QiLqeGG8JVWJQPXA3S2Z7nWDf+Vrq7 jppMLWJoC3jjit+qmbEHlLL7F09bIZllIbFlDjb2hNlJPhDs2FQw5+MZj/5KqNozoQgXuD1/IXQ sIpFi58GFqWQ== X-Google-Smtp-Source: AGHT+IGG/ER7vyVP2iygVuBjHrJVxm7obbutiJGvskO/RdNXM2G4AsI1CItlMTf42LKgxfTIBLdt3A== X-Received: by 2002:a05:6a00:17a2:b0:748:3385:a4a with SMTP id d2e1a72fcca58-76ab330e62amr1611006b3a.23.1753833627515; Tue, 29 Jul 2025 17:00:27 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 13/89] linux-user: Move get_elf_platform to {i386, x86_64}/elfload.c Date: Tue, 29 Jul 2025 13:58:46 -1000 Message-ID: <20250730000003.599084-14-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::42d; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42d.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: fail (Header signature does not verify) X-ZM-MESSAGEID: 1753834556475116600 Content-Type: text/plain; charset="utf-8" Move get_elf_platform to i386/elfload.c; pass in CPUState. Create a simple get_elf_platform for x86_64. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/loader.h | 3 +++ linux-user/elfload.c | 18 ++---------------- linux-user/i386/elfload.c | 13 +++++++++++++ linux-user/x86_64/elfload.c | 5 +++++ 4 files changed, 23 insertions(+), 16 deletions(-) diff --git a/linux-user/loader.h b/linux-user/loader.h index 484d20aecd..3bfe47ef22 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -102,5 +102,8 @@ abi_ulong get_elf_hwcap(CPUState *cs); abi_ulong get_elf_hwcap2(CPUState *cs); const char *elf_hwcap_str(uint32_t bit); const char *elf_hwcap2_str(uint32_t bit); +#if defined(TARGET_I386) +const char *get_elf_platform(CPUState *cs); +#endif =20 #endif /* LINUX_USER_LOADER_H */ diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 54413bf651..6cbbee6608 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -156,12 +156,12 @@ typedef abi_int target_pid_t; =20 #ifdef TARGET_I386 =20 +#define ELF_PLATFORM get_elf_platform(thread_cpu) + #ifdef TARGET_X86_64 #define ELF_CLASS ELFCLASS64 #define ELF_ARCH EM_X86_64 =20 -#define ELF_PLATFORM "x86_64" - static inline void init_thread(struct target_pt_regs *regs, struct image_i= nfo *infop) { regs->rax =3D 0; @@ -244,22 +244,8 @@ static bool init_guest_commpage(void) #define ELF_CLASS ELFCLASS32 #define ELF_ARCH EM_386 =20 -#define ELF_PLATFORM get_elf_platform() #define EXSTACK_DEFAULT true =20 -static const char *get_elf_platform(void) -{ - static char elf_platform[] =3D "i386"; - int family =3D object_property_get_int(OBJECT(thread_cpu), "family", N= ULL); - if (family > 6) { - family =3D 6; - } - if (family >=3D 3) { - elf_platform[1] =3D '0' + family; - } - return elf_platform; -} - static inline void init_thread(struct target_pt_regs *regs, struct image_info *infop) { diff --git a/linux-user/i386/elfload.c b/linux-user/i386/elfload.c index df171d896a..cc75b4f2d9 100644 --- a/linux-user/i386/elfload.c +++ b/linux-user/i386/elfload.c @@ -9,3 +9,16 @@ abi_ulong get_elf_hwcap(CPUState *cs) { return cpu_env(cs)->features[FEAT_1_EDX]; } + +const char *get_elf_platform(CPUState *cs) +{ + static char elf_platform[] =3D "i386"; + int family =3D object_property_get_int(OBJECT(cs), "family", NULL); + if (family > 6) { + family =3D 6; + } + if (family >=3D 3) { + elf_platform[1] =3D '0' + family; + } + return elf_platform; +} diff --git a/linux-user/x86_64/elfload.c b/linux-user/x86_64/elfload.c index df171d896a..bc40ed8c5b 100644 --- a/linux-user/x86_64/elfload.c +++ b/linux-user/x86_64/elfload.c @@ -9,3 +9,8 @@ abi_ulong get_elf_hwcap(CPUState *cs) { return cpu_env(cs)->features[FEAT_1_EDX]; } + +const char *get_elf_platform(CPUState *cs) +{ + return "x86_64"; +} --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835676; cv=none; d=zohomail.com; s=zohoarc; b=RUe5v4WV2xF/gbDhuSWYOhJ/IQ1f3b/lPQQRnHZ8pX0N8gB3pt1i4/YGbItTs9JeFrJPnuWBvn+rOzknstFVB39ZiSlcm8GLWyEeJ38oUctmYvBGmDmgy6DXhmK0GltfCOHgOfsvrOZ/joQ4Hv9yq2pvjFz3j0b4a9UuI4zMaSY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835676; 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=LkrQY459LX6TuNccjzYkBEjK2nXWQqVf45BTNPct0AE=; b=LhWaJJLJiOnvatwQEpep/3at0NFHmFRFozi/UVk+fJklp6ChSYv1ETYLqKpBLk34zguumakco8BZW1zq77M2vJlwFreMOavxJallugEFAzJIwAoletXToan0Q6u1rm3FsmIA9DuLPgI53dGPxZ2s1+kNby1Kd8NqfLSsd8BPii8= 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 1753835676638326.38305720482356; Tue, 29 Jul 2025 17: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 1uguTX-0005lb-K2; Tue, 29 Jul 2025 20:15: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 1uguFF-0001hL-CW for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:33 -0400 Received: from mail-pf1-x42e.google.com ([2607:f8b0:4864:20::42e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguFD-000437-Oc for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:33 -0400 Received: by mail-pf1-x42e.google.com with SMTP id d2e1a72fcca58-74b52bf417cso4194187b3a.0 for ; Tue, 29 Jul 2025 17:00:31 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.27 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833630; x=1754438430; 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=LkrQY459LX6TuNccjzYkBEjK2nXWQqVf45BTNPct0AE=; b=iFgnV95ZD6xA3NTLza8Tbm3fuh6waZwhpameJtt5bPfAEWCG8sKvSOu0yoGvLxZZt2 npjzPq/oBNMxPGeDintjObwIvfznCV9uWx80FWWspPQW7Pb9k9CHcvHycKdc6+hwCZlm 8JEI7pKwA434LjVoXeCJ+UJOePuHiAoigrYZUpdNOqM5MrEcwTMfFN5RV7msiyMtxD2s z+yqPNyGLsjGlkZvNNh6UPcUQVsOczD9YEP8TFpf0M2McYY9QuxDd0y8HESA2WLomUfb yTdjNhXAsbi4PAhdU856dQS7KFJkjGpZzU29xuPOAui6enIH0mmPI2Q43oW5q/tEAiQ7 mVfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833630; x=1754438430; 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=LkrQY459LX6TuNccjzYkBEjK2nXWQqVf45BTNPct0AE=; b=j9cNiMtE4AONMM42YmOiBKTgi932c6KbA+dTdLHZiVN1XDb85/Oc6VDswK49Aj9crM 8eMGbsOc8lSB2KewY/zt4PxpIaHZWZTva62+51tUqdH1Nn1QW3WjEu6eIVPSM+LPqoSa ryu/EhlS2XiYCh069k9nEobyx0TWnmOKfqTlzSiLQT+4C7XJ0/GCvRRk2eJlyoreH3R7 kvVCOLUGtXmtziCNml2guihWPYGjR3110XKvFDM6oUwgEYJGzRal3hr5ajBJg8qu6mM9 hIPHKs5aGkAA8xJ7MUMHrzAO66ZW4qaroFv3QbIZ8osP8O4b7RjsLyo43RWIEX+3DsTP iAQQ== X-Gm-Message-State: AOJu0YxFcZSu3rWGv0BJaWUFQpozYpHSSgqgmDCZEUecWH5hlrb6qZA0 mlTxmCYtOI1SLTXpoKkzKScYnLw7GQ85MogMpwflfrSGU/m2W+UBDQ8CZtr9ry9+DjuQEDnFN06 90Xf3 X-Gm-Gg: ASbGnct7sgjOIdq0P9ohlvxFb1um1zCMbDIfsVGgc9/igzxapM2eCoaRfpbKrMJH7k0 eTrDatitGQj5NaO8meHnzyp80Yud68H9HjrOZK0PDIcHSvQNi/4aEGpwoKRlnKGlaXKpJnHFGHi 3rg35ZlO2qymnsAdEE5jpDrpoqhZSO76ZQ/hNqEGCdsyo0yabloml83VbMI/fSS5yFZ5DAr4s8K 219he2tAIVdwfGdYFAnX/Ib3CgBirmplyb+zxtLYP8NwkT5lEEaSn1s1qsmolHc0EU4ee17/Chq PWzmOsb9hh4KVZQntggnT5eOmQfD58I2Wfxf5BmnCgQUPH5cRkUaF+SKH6kOKsLTo+tavd6teaj l0FJ37tfNaImFEA3HT9HfO33R5xI23df3+KlHXJkpmPUsULNpb404PjUUCwU/MGhKjaHlNEjcTA wLOzOMUAx8Nw== X-Google-Smtp-Source: AGHT+IGN1YaJoASNs4nneZTEpzF2/6XWzxXFHiYvt3dP3gSXTPC9idawfp1O7jzmEdJcmOiRYZXKRA== X-Received: by 2002:a05:6a00:1394:b0:74d:3a57:81bc with SMTP id d2e1a72fcca58-76ab0922669mr1674585b3a.2.1753833629185; Tue, 29 Jul 2025 17:00:29 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 14/89] linux-user/i386: Return const data from get_elf_platform Date: Tue, 29 Jul 2025 13:58:47 -1000 Message-ID: <20250730000003.599084-15-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::42e; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42e.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: 1753835677001116600 Content-Type: text/plain; charset="utf-8" Rather than modify a static buffer, index into an array of const data. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/i386/elfload.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/linux-user/i386/elfload.c b/linux-user/i386/elfload.c index cc75b4f2d9..6a79738786 100644 --- a/linux-user/i386/elfload.c +++ b/linux-user/i386/elfload.c @@ -12,13 +12,9 @@ abi_ulong get_elf_hwcap(CPUState *cs) =20 const char *get_elf_platform(CPUState *cs) { - static char elf_platform[] =3D "i386"; + static const char elf_platform[4][5] =3D { "i386", "i486", "i586", "i6= 86" }; int family =3D object_property_get_int(OBJECT(cs), "family", NULL); - if (family > 6) { - family =3D 6; - } - if (family >=3D 3) { - elf_platform[1] =3D '0' + family; - } - return elf_platform; + + family =3D MAX(MIN(family, 6), 3); + return elf_platform[family - 3]; } --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753834737; cv=none; d=zohomail.com; s=zohoarc; b=OwQ6Oz8UjMaXj+aZwEQYR8OYhuwSEb89nKupKSCUxZ+CNqVqUikKKNnDu2+Qgm3REyLEnEIAncV6cFQ/v8uRX67NC0zJp3K6E9l6LNMJEB3ovu4nafjYURyetEnzvmXiEHGlnXGMDYNcaYZU+sfQgIfG/jQjfAdjzS1mD5BWA2E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753834737; 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=FF/auEaLkd0ikSS1R8b8mhUCUg+ptM6YlAlQVDgVCXc=; b=YMQjBWPVh5LBwL1Lh4kLjhGypC67lLuQmP1Sfjj59WVsaLi3YdEq0YgS+3FLIU1Ystrv66GuJ5H2HGfRw2tiH1L7Tdy/ZV4KpPn97stphphEl3notSUUm7jH/b9SZHHptD3k0zhzx7ainWNmS2+bf0ugxBSikJyaHUJ510zeHOk= 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 175383473713195.37267073458497; Tue, 29 Jul 2025 17:18:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguU4-0006bQ-MU; Tue, 29 Jul 2025 20:15:53 -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 1uguFG-0001j0-ON for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:34 -0400 Received: from mail-pf1-x435.google.com ([2607:f8b0:4864:20::435]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguFE-00043H-PK for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:34 -0400 Received: by mail-pf1-x435.google.com with SMTP id d2e1a72fcca58-76858e9e48aso2359845b3a.2 for ; Tue, 29 Jul 2025 17:00:32 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.29 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833631; x=1754438431; 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=FF/auEaLkd0ikSS1R8b8mhUCUg+ptM6YlAlQVDgVCXc=; b=DJTCIJxF68a3nk4utjRfS4WbiXkiYqwpr9KjrkKK8Izq3YQayd8fyQ7bem5N/exe/t LHORxvXwKndALI3uMlgLz4DQowUp4zQ7MBOWAdoKLbIQTCnjgtmgIOFxwk1yORVc+J3B DgVWFAWM+u5EAkYDff//9/SnqahWGbfMNi62nbtXY2BkqINO4hxR8+IeHTiDKT1KiDq1 sUlkpAkajSUJlNo4/hDjoC4Qqy10+dl54ymjOSpgHAFdDmc/XwQW9QplF2zhyESayjkN 8kvKmJvYNnqdEVFNmC3+MFTC4lOdW7PLbxjVzmvCCMNSXVgfB7FEN3pdyCSE25B2JbMt EOig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833631; x=1754438431; 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=FF/auEaLkd0ikSS1R8b8mhUCUg+ptM6YlAlQVDgVCXc=; b=f6H5s02CTIHw72JFX5DT8hYEDEL01U2+4aU8q6lJ0f4oE5RhaS3ibh8llFnkNMKUlL eUl9Jgctr17MUpzpLPNGGTadfipNAeoAV8bc/22+trNsVGB22A4iX12ZjNxQ+Z5Lx6t3 sY4nx6MWE5sGJ4jX5nyN6K2BUUKN+AvSTal0QbYjgm2zIKh7n5UTU9has+KfTp1m99ML SD3KylviY5jtJ2k2p+A75TXJoBFGVLiTLrx/1IUowHanNTVQQdyH8TBueskZyShI+ov1 X7wFPEwpY+0xLCds6qk9yfDIJFITRzh7qkXbn1U1wA9vK7ScJInq17k1YRqKFxI+far6 lbRw== X-Gm-Message-State: AOJu0YyAjRHs+nIBCYUPv51vTQ/np5rOJtUU3bqo4jJUcbJHYJq2R8i6 buBuPcw9/nceF4WVuRhUnjR9joo4+mct0AAx4tsoGxQFoHLxYIADS9Qu1lHmmt+JQwseL64UXtE 9hxS2 X-Gm-Gg: ASbGncuj/vTANtiHqrIdqayd+A58mQoE+e4r/PAqrNRO9BH6Ub+F26UlpAmzxyvc/tk eOPAjeP+zVmFYFHZAaYz6F6Bjq55uMEmebe0YX5F7jlKQuSW8T7hc6lBrNMaPOk+ZTjy7T7CgHu Pe8GqExZWHrKyDb9bTFqbk8igtxLl6ifGdHAxRR0EFPI4TZJHHKC2/bTBwucA+OoEWZJPIVFf5G JStFIr/3NtgXXTYCa1sM4H4t7ayGFcNXRMouWfRaFuo4dEMK3o5zUCATEAkG/UB9YO1CWRHwGN9 o9yAdcJalIjIGVkzO2ITPE7mJ8kZ+Al0R6QqfiGWzOkAfxB1XhPh1P1OQssOoEGgfT0cJiTV18K 25OCCNVrxYCjaay7H+Pdj2svjhQVgqYfSLSfK5kBBROP91dMVSY9b9eg9A1+PLzSpA1ib437dcD 2bBrUscYjfbGFiesHYSyIC X-Google-Smtp-Source: AGHT+IGEK8OmdwiHzIPpBUPXruUBLYtIDbAHsWRWR7pVsqluQW/WC3MU/b/fXZUYbWRaxBkZdPO34Q== X-Received: by 2002:a05:6a00:14cb:b0:740:6f69:8d94 with SMTP id d2e1a72fcca58-76aae05b1d9mr2185490b3a.0.1753833631041; Tue, 29 Jul 2025 17:00:31 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 15/89] linux-user: Move get_elf_platform to arm/elfload.c Date: Tue, 29 Jul 2025 13:58:48 -1000 Message-ID: <20250730000003.599084-16-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::435; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x435.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: 1753834738343116600 Content-Type: text/plain; charset="utf-8" Move the aarch32 get_elf_platform to arm/elfload.c; pass in CPUState. Create a simple version in aarch64/elfload.c, which we must do at the same time because of the ifdef dependency between TARGET_AARCH64 and TARGET_ARM. Since all versions of get_elf_platform now have the same signature, remove the ifdef from the declaration in loader.h Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/loader.h | 2 -- linux-user/aarch64/elfload.c | 5 +++++ linux-user/arm/elfload.c | 29 +++++++++++++++++++++++++++ linux-user/elfload.c | 38 ++---------------------------------- 4 files changed, 36 insertions(+), 38 deletions(-) diff --git a/linux-user/loader.h b/linux-user/loader.h index 3bfe47ef22..1cc505832b 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -102,8 +102,6 @@ abi_ulong get_elf_hwcap(CPUState *cs); abi_ulong get_elf_hwcap2(CPUState *cs); const char *elf_hwcap_str(uint32_t bit); const char *elf_hwcap2_str(uint32_t bit); -#if defined(TARGET_I386) const char *get_elf_platform(CPUState *cs); -#endif =20 #endif /* LINUX_USER_LOADER_H */ diff --git a/linux-user/aarch64/elfload.c b/linux-user/aarch64/elfload.c index 8a8bd22784..825be0a25a 100644 --- a/linux-user/aarch64/elfload.c +++ b/linux-user/aarch64/elfload.c @@ -337,3 +337,8 @@ const char *elf_hwcap2_str(uint32_t bit) =20 return bit < ARRAY_SIZE(hwcap_str) ? hwcap_str[bit] : NULL; } + +const char *get_elf_platform(CPUState *cs) +{ + return TARGET_BIG_ENDIAN ? "aarch64_be" : "aarch64"; +} diff --git a/linux-user/arm/elfload.c b/linux-user/arm/elfload.c index be80e04f9c..8573e46f2c 100644 --- a/linux-user/arm/elfload.c +++ b/linux-user/arm/elfload.c @@ -165,3 +165,32 @@ const char *elf_hwcap2_str(uint32_t bit) =20 return bit < ARRAY_SIZE(hwcap_str) ? hwcap_str[bit] : NULL; } + +const char *get_elf_platform(CPUState *cs) +{ + CPUARMState *env =3D cpu_env(cs); + +#if TARGET_BIG_ENDIAN +# define END "b" +#else +# define END "l" +#endif + + if (arm_feature(env, ARM_FEATURE_V8)) { + return "v8" END; + } else if (arm_feature(env, ARM_FEATURE_V7)) { + if (arm_feature(env, ARM_FEATURE_M)) { + return "v7m" END; + } else { + return "v7" END; + } + } else if (arm_feature(env, ARM_FEATURE_V6)) { + return "v6" END; + } else if (arm_feature(env, ARM_FEATURE_V5)) { + return "v5" END; + } else { + return "v4" END; + } + +#undef END +} diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 6cbbee6608..2e1c12f247 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -316,6 +316,8 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, const CPUX86State *en =20 #ifdef TARGET_ARM =20 +#define ELF_PLATFORM get_elf_platform(thread_cpu) + #ifndef TARGET_AARCH64 /* 32 bit ARM definitions */ =20 @@ -441,37 +443,6 @@ static bool init_guest_commpage(void) return true; } =20 -#define ELF_PLATFORM get_elf_platform() - -static const char *get_elf_platform(void) -{ - CPUARMState *env =3D cpu_env(thread_cpu); - -#if TARGET_BIG_ENDIAN -# define END "b" -#else -# define END "l" -#endif - - if (arm_feature(env, ARM_FEATURE_V8)) { - return "v8" END; - } else if (arm_feature(env, ARM_FEATURE_V7)) { - if (arm_feature(env, ARM_FEATURE_M)) { - return "v7m" END; - } else { - return "v7" END; - } - } else if (arm_feature(env, ARM_FEATURE_V6)) { - return "v6" END; - } else if (arm_feature(env, ARM_FEATURE_V5)) { - return "v5" END; - } else { - return "v4" END; - } - -#undef END -} - #if TARGET_BIG_ENDIAN #include "elf.h" #include "vdso-be8.c.inc" @@ -494,11 +465,6 @@ static const VdsoImageInfo *vdso_image_info(uint32_t e= lf_flags) =20 #define ELF_ARCH EM_AARCH64 #define ELF_CLASS ELFCLASS64 -#if TARGET_BIG_ENDIAN -# define ELF_PLATFORM "aarch64_be" -#else -# define ELF_PLATFORM "aarch64" -#endif =20 static inline void init_thread(struct target_pt_regs *regs, struct image_info *infop) --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835755; cv=none; d=zohomail.com; s=zohoarc; b=mP9VxSq7WPxYChRjsfzscXtts4/qRKM9MvVecGYqxJPap4N62uvrE54ZeTeuK9LvcU9Wggz4BEWQC1TCffq5lafJF1fPNEaQzZtRCAZeUT9PJi4B4wIIETLNLV4ZKSLAQt7ytIDFkCLdOFBkKMfKl/TVRJP6V+N0JWkeN0ewotI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835755; 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=aYk78rxlLoht6Yc1RHDq1J3dwLCdhW9hthTdbwVX7NI=; b=A4K6SfAdGJZSD809Q0SFZYVl4UzzA4aKNPJaMYa9aTKrVdSAIrhNKrKrgDEWvnAfiIryR5ahi9XevCqjx5m9g/BPIgwp4yRYeHN+P3x7xyM084Z4IqYKgh6uBc+q4vGWFp01SpxClgCozYGKhiK4poQRpGX4lpvvH0ZPrUMqD10= 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 1753835755586900.2016686894086; Tue, 29 Jul 2025 17:35:55 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguRm-0002F0-33; Tue, 29 Jul 2025 20:13:33 -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 1uguFI-0001l6-E7 for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:36 -0400 Received: from mail-pf1-x42a.google.com ([2607:f8b0:4864:20::42a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguFG-00043U-L7 for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:36 -0400 Received: by mail-pf1-x42a.google.com with SMTP id d2e1a72fcca58-76858e9e48aso2359864b3a.2 for ; Tue, 29 Jul 2025 17:00:34 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.31 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833633; x=1754438433; 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=aYk78rxlLoht6Yc1RHDq1J3dwLCdhW9hthTdbwVX7NI=; b=IB/YAmmlXB5KMlXtwNf2Tm3B5boumvb1s0SvvklxlZUyeejkxOsL3s+ac3rPplBHoF TZnDeGEP19XatHg9tmw3L3XDX5xzhqJiG8MyYUd+DXddxzmgqQ9nvSqkwfEnFX+1ojAD PEZYwnybKvQc/GIRfnMMzaSbFfFXMBgrak8uetjbmhvqzvI3bwSniqX8WHSk4ZTpxTdb uu12+tIKhRawP0/y0NRebAq8UJNQXR0yV5ZW7pj2JwTYhd+ytJ0a+ci82tNyUeGmHKWS aynzdNPLtGMIKgjhusL50ZGBA5CYibqANXTZhD1qOO3aJCiE1mfZypVCjxzO9VbAyt3J QY3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833633; x=1754438433; 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=aYk78rxlLoht6Yc1RHDq1J3dwLCdhW9hthTdbwVX7NI=; b=tmLtsIFeHyyJTA9jq4OA6IU4X1Vv5jl+9BWF/EkcxI7sxZAEnCkvLcVWUvouAgfGyj 3lBxB1QgNpSzvqTJDqHwcNF51kQrJ7Ia+yZXwiwObnz9/W7ATu1rT8QmKu12cZvsL6D+ WJPBBRVGyCkKuaT7d+wGclP/Ji9H84n5zFVDJ5F5aeiS5pA6mYI6yJ4OB+y7Z2esyOiL zt0L6Pvbvcct0VYJ9WTNqABEZURNXexVfAuqsfRLUnXcl0diCRDOabGNtPPCJ6fzd5uG F/7hvj5GLEajEDz77saX9mFVf7QKmF/NAiuFdclKM0ELxHL2CznsVSm4IfjVZXWmJz3I 3QUw== X-Gm-Message-State: AOJu0YyGk/T6arTEV0mMCz1BZYQFrW1NqGxD6lAXYBLZ4LHXgzuq10au C4UVIiQxnkWti1RlfNrvobosn4lgetIVZ/lpHRGKZiDByCrjpRDv7vt1XCJ8m3iWjy13fpMjigL +VA6b X-Gm-Gg: ASbGncu8GiUKkmobEvx+fJcXbCZsesKagx7knzKGzHqSoH9E76GAcQdguu0zGTl6Gal chx/CJZY8y5qt73jqAAe8zCbfbYODki9ntgiSrLvi0hyOmH6DSiSggm8NUOjNF+jIOqNwc5tiAs 2zzysL3wieUsBQnG8VuLZNVIszTcJos6BeJf50HWoKzZnEYHMPIT47QJ2iF9XlCHXEjPG4J9QU3 k3Ztsqm1NnWy0WDktxOBv1/dfwX7/QfFNT/sDWgWIEM9ecVApAMp7TDnAUrF1cHUr7gN5qWgerb OcBxisE4w7SBT0GX7YxUuV95t8LidfLpJejtXDfkIJGHZH5UrtQIo0c4fso4LO790R56ddl0L/D XJ0GxOWEsRfzM0DOTsFZrnpCp62wZrS1NxrlwdpR28JgquPiCK85UveggJVrHkIRJkqseEBuCdT LzF+hA5jfcqw== X-Google-Smtp-Source: AGHT+IEfAtYwv5ihIJdTcbfvDiRo5+TbtT/5hm59zdp3tv32yk9GsgiV+2HdhiT45s90sDqbjgCsow== X-Received: by 2002:a05:6a00:8c9:b0:747:accb:773c with SMTP id d2e1a72fcca58-76ab2f4beabmr1822053b3a.13.1753833632576; Tue, 29 Jul 2025 17:00:32 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 16/89] linux-user/loongarch64: Create get_elf_platform Date: Tue, 29 Jul 2025 13:58:49 -1000 Message-ID: <20250730000003.599084-17-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::42a; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42a.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: 1753835757808116600 Content-Type: text/plain; charset="utf-8" Move the string literal to a new function. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 2 +- linux-user/loongarch64/elfload.c | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 2e1c12f247..7591ec3fb6 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -672,7 +672,7 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 -#define ELF_PLATFORM "loongarch" +#define ELF_PLATFORM get_elf_platform(thread_cpu) =20 #endif /* TARGET_LOONGARCH64 */ =20 diff --git a/linux-user/loongarch64/elfload.c b/linux-user/loongarch64/elfl= oad.c index f27992459b..450e567c72 100644 --- a/linux-user/loongarch64/elfload.c +++ b/linux-user/loongarch64/elfload.c @@ -51,3 +51,8 @@ abi_ulong get_elf_hwcap(CPUState *cs) =20 return hwcaps; } + +const char *get_elf_platform(CPUState *cs) +{ + return "loongarch"; +} --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753834483; cv=none; d=zohomail.com; s=zohoarc; b=aM7761jK5I5f9fVCvfkpUlwt/E8RvSUxKXiYezg8wf7/AloX9w76OacPOmGhC45CktnZ2yN6t0fsCJzBLaoL0jMRrTw6l6clFeOFYNfUUNeIb4L5X7XEVEAuqb+thydu4Txi1Qx8OMTuf5XN6gBny6PGRwJRIiqlytyBRZSAB1s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753834483; 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=40hvyHMOpTXYVnjcesidjPN9bOJ+G6q7PsGtON63WME=; b=KOfW3/huFwtoV5h0zO/Wx4VcrZG/DccAZw5WT+NPqoJH/aOynqQ+iVHj2YB7jW7kyhsh7ys5ZCeX9OzJydpa2cvyiU2XkrjPJK+t1XyikDye77v+ZB/MV132LQ16HO8Ho7lXY4hap8C78cviCifoMHBIBNMYvDC4wpgL05DWZj4= 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 1753834483524234.0115857624902; Tue, 29 Jul 2025 17:14:43 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguSX-0003UL-QE; Tue, 29 Jul 2025 20:14: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 1uguFM-0001qK-QW for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:42 -0400 Received: from mail-pf1-x430.google.com ([2607:f8b0:4864:20::430]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguFK-00043x-Py for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:40 -0400 Received: by mail-pf1-x430.google.com with SMTP id d2e1a72fcca58-73c17c770a7so6769374b3a.2 for ; Tue, 29 Jul 2025 17:00:38 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.32 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833637; x=1754438437; 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=40hvyHMOpTXYVnjcesidjPN9bOJ+G6q7PsGtON63WME=; b=FlWkvDhseXPFCHiZS0PkWCw6fuUDnHtvTw1BS/+FBpfTtiLw1HsgUrQy9QuXr6iU8r uOEYR+nW9d133bftawIJ8v4fF+7utqdVsrzwkfDarQXjzOn2lNYNzg8ga/eh5xjFPxep F69WleotZt5YxPpFm1gyFLwtyYGUJJHe4lW9fGPR+11cD7S69ZjQXvF9Xf+c693ig2sz bd5jHIlLrhT1crXW1F4C9YNJeQ1kySTVvpY0wjG8AD2j79GlHH1PI7yK7IL/ZmAGMpCX l+T96SLshPRA/xmz+NN5sBMQhSaOrhCRRybv90KQcYDaeoVv4PFQQ/d6scF3PSyebxUd LS5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833637; x=1754438437; 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=40hvyHMOpTXYVnjcesidjPN9bOJ+G6q7PsGtON63WME=; b=TX4tkyus2pCqMOD1Rd7v4mwoSS7qQbXnQskcpleG0TMhcTp4GLYwKpe0tbwArk1R2p ZmgXr8+Bm9Xwb6/pI7JLnAkyKalIQ2dDzSFU0Yrie5M6moxbJQqBzti1t/f2fdrAipZs guZQYxMmOGCYRs9p0nxbBYNwdJhuY9+ActcTXUxn4rQLKIliDVyr8Oh+wmAMu+VDFMHp DLNtbBdhhu8/nT2i6Z5xYrbzL5+dTYxugaO6ZdJGhXcVInAHS3ZzrWiSn5t4XKeR1BTp X1hkizmmcCIQnONujSus8ob+WCBGGDXbu765m8r0cN3st1Wsu6XrXUV1pXa8bfb+LYl4 2jfg== X-Gm-Message-State: AOJu0YxYAvTRVf5oMEHlGnZgDVtbS/zLMeF7/5RwGbbIB2VUhMz1vyx3 aYfaP9bIF3YEpFI2qma9Jl0YY6X8ND083skoXEEK8qz+XFn083tag/STygzySM/lAQ5sKiqJuSZ Tbunt X-Gm-Gg: ASbGncuJNnxuvSMbxk/Ii209YtGVdsibPXn85/IA/+uaxpvRTQ/4/uEkifaM699mUP9 YNz7fUnPW/hbijWUzxpJcFTUJtC25j/QrXj/SG5acb+Vqf2hcfdgzv+e5radaNMPRhR033MIb0x UmBZKGQ8GNVPi3hna5hMrSGmoVXwvKi9ix5QbgCPo/fRRp5anDLCwe+w7wCKybouw7Ajf3c+Cbf wBMdfSjefIUBIdtC77avYKiMKU3LoM+euExV3I972r/PiW4nTVK7L2taltR/y/FIOYjB6V6e/mY bbw3CakZRPFngGlA3YwDMz+HqMPX1xSrqZR+94LNTOx3P9vBq0qNBwMewb4dGxt6JAHB4T7KP4u mCQzEVY956vgeOup60Wt7aLfWEaYFK8mxJt7P+AnAcuIm9+3zOKoNKejKTapzQAMdjN71N3bQXc 5q3xpbDnobxl5yaQL2HLZw X-Google-Smtp-Source: AGHT+IFRA6p1Pvm8HYNy1dm/oTavlhqmyn7hRZXZgFbKpgLF/fSxafqPdVapd1YTPGf/BSQBQcinxg== X-Received: by 2002:a05:6a00:1486:b0:76a:d724:d71d with SMTP id d2e1a72fcca58-76ad724dd83mr1410851b3a.8.1753833633873; Tue, 29 Jul 2025 17:00:33 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 17/89] linux-user/hppa: Create get_elf_platform Date: Tue, 29 Jul 2025 13:58:50 -1000 Message-ID: <20250730000003.599084-18-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::430; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x430.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: 1753834485687116600 Content-Type: text/plain; charset="utf-8" Move the string literal to a new function. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 2 +- linux-user/hppa/elfload.c | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 7591ec3fb6..58f4b642a5 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -1053,7 +1053,7 @@ static inline void init_thread(struct target_pt_regs = *regs, =20 #define ELF_CLASS ELFCLASS32 #define ELF_ARCH EM_PARISC -#define ELF_PLATFORM "PARISC" +#define ELF_PLATFORM get_elf_platform(thread_cpu) #define STACK_GROWS_DOWN 0 #define STACK_ALIGNMENT 64 =20 diff --git a/linux-user/hppa/elfload.c b/linux-user/hppa/elfload.c index 73fa78ef14..ff0c2b862a 100644 --- a/linux-user/hppa/elfload.c +++ b/linux-user/hppa/elfload.c @@ -1 +1,11 @@ /* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include "qemu/osdep.h" +#include "qemu.h" +#include "loader.h" + + +const char *get_elf_platform(CPUState *cs) +{ + return "PARISC"; +} --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835261; cv=none; d=zohomail.com; s=zohoarc; b=FQDHWGl/eGLyTYmu/Aj7hnP1R0/LT/L31x57JOlDAOZiyxJTTAOJCoenJ6Ie9Rs/UAzFjPUYRgtCkfxNEqLW7YOwgfkRCLxzvUJifhUrV+ZdEWr69KfPUd3IuUaZxz5vcy1TVcJhaYP+tYs3Rq//io+Emtq9HtrCiZ3XwXm7mLU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835261; 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=Ou0kAUGugQfCRFzNodYkOh/ttxE7MkU3L6icCkiDZak=; b=fBP5e52H1iTNFRx2FHo+9zd0of/GBxzTjCaGWpScsEigco3RdxgC2v8w+zdhxlycf79aFi+zgkHEwVZhyIdh4WYhOKxsTxAk+PMX5pnWzJh7emCI0DAt+ugNDk7Qlt2MckKEfoGuydDUcasRIs1GsUq9gxOcih5fS85hJWs9KtQ= 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 1753835261113736.8061014784921; Tue, 29 Jul 2025 17:27:41 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguRc-00024i-Im; Tue, 29 Jul 2025 20:13: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 1uguFL-0001q1-IJ for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:42 -0400 Received: from mail-pf1-x435.google.com ([2607:f8b0:4864:20::435]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguFJ-00043q-Ps for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:39 -0400 Received: by mail-pf1-x435.google.com with SMTP id d2e1a72fcca58-748d982e97cso5672595b3a.1 for ; Tue, 29 Jul 2025 17:00:37 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.34 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833636; x=1754438436; 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=Ou0kAUGugQfCRFzNodYkOh/ttxE7MkU3L6icCkiDZak=; b=Uz9iRuN8cXEEo4x4LF5ZUMN6Lf6dN/M4not/cdsTWVuNk1Brk9hYBDg32FmUr3NvwG 3P5w8znILjCJfj7kK9Bk449qhE0HkFbj9A3kTlJPb/TiKM2xfi2RIBOAUxNrZ3ge/hWH 6j6WSqHcOW7NHWSfEt2VsSnQRliWgCeb6CwokmNPJiIJd1qxEGK8s8xbeGeQmrRdH2TS SldbuzRGmGwfHnp0HbUGb9BT4PyniLNO94zshvE94daeTJJi3yJM+gMTfYX0lGOsDgCq AytNOvIzgcn/pqOixqlhMBf/y+qJbHYqvSHlk+kwDgwixi//UpvV+asb7Rr7uq0Jh5F/ dSXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833636; x=1754438436; 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=Ou0kAUGugQfCRFzNodYkOh/ttxE7MkU3L6icCkiDZak=; b=JZZqFfspys6a1GOpnIkv3h+RzKNrqtjk1iXQXxfst8zAAnzpqP6BjRsQOoe8GUUFFu 8AwR5FQoX+wzGY5MuDwyGO4SdYHHuini6Y94I6VpNSuFxi5MUJaI8z8tpUUL7hqnRwKg a8ya+FTOJtFFtUrL8MCaX4TftWDygQm2izvd/ST/mGHGU06zQsL5DDsAmfzj4aOpgHgT 1STGOAAuCFK0l67pa5a/SPFJyoy2MlEC3VkJJORI96xXobNpAWLF5vGtXFpagUglS9cx r24euBjJqBWxOFTt62jezCkWdcc4wRcQHHtundxlk9yUfrGwgUszC9yr+yO08aWZMfC6 hjgA== X-Gm-Message-State: AOJu0YxYDDRu8Zb5TjiWsWQ3M/shObXf9l6mgfCYBndXczDQC0MtJzsR cv2rQuOB5OKOm/2gvrXNNKF24nON6uFAAQvGjeak5QWPyWhIb4gPybO6jc1LM0cY37XgKQxbcWv KE4Gb X-Gm-Gg: ASbGncuDRZpfsuPuCjT++l5lyffJUcQiuDSspDTSrUXNJ0faWvOIOMyCfWg3pOP4pgV RV0aP/i3BWNT/+FLyWdo7L2vXgPclIhmouiAxnfL3JzxzObTX/KEcxvaIWMC5oVpAOM+L1Ion57 Kev852duY7Fcz0AderiCiLK7WYt+oBNOmS7qmA2nroYcpSsTf8rPFEsUYdGROpjm/hcCvJyotlM Dk4sF64XKWeJYuce5jJlA64EwWuWpBtqO2TNq0b9VF1tHxZf7+sLLwqvH6Qw62GUMpxf6WdLEIE Xw0IRmP4ZAvsd4bJj2zP4aMi36F0mWbeywXm8p0+NUPrmZJ35yz9LGvLhssMKAHzt2lYCoJqF5N RM7JxhA6vYyak3qYazzngw4WgFktRcws1TDB2mCQDESokbw926ai0gxacBgM+IoaRPANSpHuPbd /EyD8Cz5EXsw== X-Google-Smtp-Source: AGHT+IFWStu+lsZ3Lfc88xYCtlXhNEEybv7WVpUcsJOyWsKnT/UcftMd0cGzK7jsGwtO5Os3p/g0/g== X-Received: by 2002:a05:6a00:398b:b0:757:ca2b:48a3 with SMTP id d2e1a72fcca58-76ab161afcbmr1818616b3a.9.1753833635200; Tue, 29 Jul 2025 17:00:35 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 18/89] linux-user: Remove ELF_PLATFORM Date: Tue, 29 Jul 2025 13:58:51 -1000 Message-ID: <20250730000003.599084-19-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::435; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x435.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: 1753835262872116600 Content-Type: text/plain; charset="utf-8" All real definitions of ELF_PLATFORM are now identical, and the stub definitions are NULL. Provide a weak stub as a fallback definition. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 58f4b642a5..7e218e8cec 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -37,7 +37,6 @@ =20 #ifdef _ARCH_PPC64 #undef ARCH_DLINFO -#undef ELF_PLATFORM #undef ELF_CLASS #undef ELF_DATA #undef ELF_ARCH @@ -156,8 +155,6 @@ typedef abi_int target_pid_t; =20 #ifdef TARGET_I386 =20 -#define ELF_PLATFORM get_elf_platform(thread_cpu) - #ifdef TARGET_X86_64 #define ELF_CLASS ELFCLASS64 #define ELF_ARCH EM_X86_64 @@ -316,8 +313,6 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, const CPUX86State *en =20 #ifdef TARGET_ARM =20 -#define ELF_PLATFORM get_elf_platform(thread_cpu) - #ifndef TARGET_AARCH64 /* 32 bit ARM definitions */ =20 @@ -672,8 +667,6 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 -#define ELF_PLATFORM get_elf_platform(thread_cpu) - #endif /* TARGET_LOONGARCH64 */ =20 #ifdef TARGET_MIPS @@ -853,8 +846,6 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, (*regs)[33] =3D tswapreg(cpu_get_sr(env)); } =20 -#define ELF_PLATFORM NULL - #endif /* TARGET_OPENRISC */ =20 #ifdef TARGET_SH4 @@ -1053,7 +1044,6 @@ static inline void init_thread(struct target_pt_regs = *regs, =20 #define ELF_CLASS ELFCLASS32 #define ELF_ARCH EM_PARISC -#define ELF_PLATFORM get_elf_platform(thread_cpu) #define STACK_GROWS_DOWN 0 #define STACK_ALIGNMENT 64 =20 @@ -1189,10 +1179,6 @@ static inline void init_thread(struct target_pt_regs= *regs, #define ELF_BASE_PLATFORM (NULL) #endif =20 -#ifndef ELF_PLATFORM -#define ELF_PLATFORM (NULL) -#endif - #ifndef ELF_MACHINE #define ELF_MACHINE ELF_ARCH #endif @@ -1243,6 +1229,11 @@ abi_ulong __attribute__((weak)) get_elf_hwcap(CPUSta= te *cs) return 0; } =20 +const char * __attribute__((weak)) get_elf_platform(CPUState *cs) +{ + return NULL; +} + #include "elf.h" =20 /* We must delay the following stanzas until after "elf.h". */ @@ -1712,7 +1703,7 @@ static abi_ulong create_elf_tables(abi_ulong p, int a= rgc, int envc, } =20 u_platform =3D 0; - k_platform =3D ELF_PLATFORM; + k_platform =3D get_elf_platform(thread_cpu); if (k_platform) { size_t len =3D strlen(k_platform) + 1; if (STACK_GROWS_DOWN) { --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835483; cv=none; d=zohomail.com; s=zohoarc; b=PzTK+MWVLbN/lZjlrnHhAXiXKHXseDbN9pX57SmwaKr8VYadkAs/uTaJb+0izNKwsrU6lZcUuc3h5Y5pKJJQTOEsTfX9LWkMCGV2CRFP1uTJmikM7DCVsqOjoryoeNJzO3nVm5JVtapFkvQmxCxX4c8yVnmfrN2VBCr3F6yY5mY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835483; 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=1/tPVEI49jG2JuqrRRDF07jSceaj3c6KI2BMJtYbzoc=; b=TNm3hD3d4+SMgiehfq8MEchGa/PhhfWU2NkBfUn31uGBpEscBtbbx/chF26QmoQoGm2uwZJ3g9/zm+jo+Dwqc1bLglUdMfngofwda+Ht+V44hneH9l9Tgt6yGulG8kVQgjkB+BJMDq2tlyDdRuEpYgLv/4v0YFK6st/I87xOO1U= 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 1753835483214340.93409937112983; Tue, 29 Jul 2025 17:31:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguUN-0007wv-FV; Tue, 29 Jul 2025 20:16:11 -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 1uguFM-0001qF-GK for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:42 -0400 Received: from mail-pf1-x42b.google.com ([2607:f8b0:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguFK-00043v-J3 for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:40 -0400 Received: by mail-pf1-x42b.google.com with SMTP id d2e1a72fcca58-748e81d37a7so4139004b3a.1 for ; Tue, 29 Jul 2025 17:00:38 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.35 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833637; x=1754438437; 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=1/tPVEI49jG2JuqrRRDF07jSceaj3c6KI2BMJtYbzoc=; b=mHQ68F5zAFxxe4cLnwXrzNd+C2KJzzy9aWTdzu8Wz56e/xKPfKMTOvfbl1evZZ499Y PFxhofYD2C6vJyye/7InAnnOpA5L+feG52L7Yu8dz9pAxN9ajhWwXYGWvePbIabpncmi iO/6k0n2TeE9vDl8vcj/E/VwzI7N1ec9p1W6K4mWzRICO5UgTEyobvpcgdtcRSZ5FMJB LVhDxDh8HRHrPSbvorI+KgtlTpfbi/b1NrARfr3NbVrMnxL667RqMmx0N1od7iune7up EzpLvwFBm26mDjCwvc5jHvQ03i5I+MsVYA512FyBCjDCqCAS5QacDlLpQQvEvg8YnD2G myDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833637; x=1754438437; 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=1/tPVEI49jG2JuqrRRDF07jSceaj3c6KI2BMJtYbzoc=; b=jjO2tnrW9zecPKTPR1OqVnw2SelHi4yP9A6wndaCAhhnO9LIWl1IDFOzkj9EnIpcRi +pGHxzgW/u7giuxtYECJ+NDQQuIGo3uG7k5VvayCMLTjqqdKoby7EprGuRGVgZmZxQRy TEV6C9G1+7pqmMPJA/c9b0/P0nkxagw/JsYZKcv8rgqSI+agY085gPmSfheh5NAQk/1p L8zztOxfg1LJ77zpEDwBTIG9jADRal/aGdLvH3dKvodFv2+J4boAtloe9D0CHOdthmsG vIA/jv8Y8k8oYoxOCdIE5SYL4ESGVAQdSYxDCvSeOdv4+OGSpDhn/l+5X768VTaV6mwc w0FA== X-Gm-Message-State: AOJu0Yw7INH9DLIauBDu2AWYiHcHNYlM6eooyLcx/X+DGA5useTp41NX PuBpUQueenuDBkQuzNt6emP/E3ezQ17vaH8DlgxaNVlC0MHObqFyjQqOYJJdhi59uJMkk4VBJJT sOL6P X-Gm-Gg: ASbGnctmgrztvJPvLxONvyydLtquM68s7b4h3IXZB8K00ViZbXCcZwhQ7ZMSOXS6Qjn e+/e6bgr904YxnRB64hr17JQt3AeluJkruv6YqxQuSe7Fk/mUcV3I2Bh+Jz60AN4f3jNYHT8Hqk LKvtGeHkowH3xecr38na1wNpXovOLpSW8OtSOvonchSCY3jlsD/bJIXmsqAnyefaOF8It2mjU7l cPI1V0Wory8c6yLIM7XFpxK396xG55ItKGC3ELcQh84qNu1tkuwsn1ow9bXOMlxBBrvgRUuis60 sTaBsDTXMM7knj3tEIE5RU0QiPujjV3aPj0cvVgR66L/4pZ+BpunPcEC8cBmOOxkWfe8x8hGSCd NiOvr012X2ET93Vz3OJKyM/ZTutC7ip4ot2/wTHazqA4ODQccBii6ySuOsv8E8O9mu7tS4Y+HNW 9Hl5FXlN3lSA== X-Google-Smtp-Source: AGHT+IGjUuJLhZwjj1bRlyCX3I9YeFhmbK7OuwaAsuAjtDMOM+XWF2GV7dJxcUoAAhfWjAGKuTYMog== X-Received: by 2002:a05:6a00:2e0e:b0:749:4fd7:3513 with SMTP id d2e1a72fcca58-76ab3096e9dmr1656782b3a.16.1753833636715; Tue, 29 Jul 2025 17:00:36 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 19/89] linux-user: Move get_elf_base_platform to mips/elfload.c Date: Tue, 29 Jul 2025 13:58:52 -1000 Message-ID: <20250730000003.599084-20-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::42b; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42b.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: 1753835485506116600 Content-Type: text/plain; charset="utf-8" Pass in CPUState. Since this was the only instance of ELF_BASE_PLATFORM, go ahead provide a weak fallback for all other targets. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/loader.h | 1 + linux-user/elfload.c | 42 ++++++--------------------------------- linux-user/mips/elfload.c | 30 ++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+), 36 deletions(-) diff --git a/linux-user/loader.h b/linux-user/loader.h index 1cc505832b..a5eef18eff 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -103,5 +103,6 @@ abi_ulong get_elf_hwcap2(CPUState *cs); const char *elf_hwcap_str(uint32_t bit); const char *elf_hwcap2_str(uint32_t bit); const char *get_elf_platform(CPUState *cs); +const char *get_elf_base_platform(CPUState *cs); =20 #endif /* LINUX_USER_LOADER_H */ diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 7e218e8cec..b26daf925d 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -685,37 +685,6 @@ static void elf_core_copy_regs(target_elf_gregset_t *r= egs, #define elf_check_abi(x) (!((x) & EF_MIPS_ABI2)) #endif =20 -#define ELF_BASE_PLATFORM get_elf_base_platform() - -#define MATCH_PLATFORM_INSN(_flags, _base_platform) \ - do { if ((cpu->env.insn_flags & (_flags)) =3D=3D _flags) \ - { return _base_platform; } } while (0) - -static const char *get_elf_base_platform(void) -{ - MIPSCPU *cpu =3D MIPS_CPU(thread_cpu); - - /* 64 bit ISAs goes first */ - MATCH_PLATFORM_INSN(CPU_MIPS64R6, "mips64r6"); - MATCH_PLATFORM_INSN(CPU_MIPS64R5, "mips64r5"); - MATCH_PLATFORM_INSN(CPU_MIPS64R2, "mips64r2"); - MATCH_PLATFORM_INSN(CPU_MIPS64R1, "mips64"); - MATCH_PLATFORM_INSN(CPU_MIPS5, "mips5"); - MATCH_PLATFORM_INSN(CPU_MIPS4, "mips4"); - MATCH_PLATFORM_INSN(CPU_MIPS3, "mips3"); - - /* 32 bit ISAs */ - MATCH_PLATFORM_INSN(CPU_MIPS32R6, "mips32r6"); - MATCH_PLATFORM_INSN(CPU_MIPS32R5, "mips32r5"); - MATCH_PLATFORM_INSN(CPU_MIPS32R2, "mips32r2"); - MATCH_PLATFORM_INSN(CPU_MIPS32R1, "mips32"); - MATCH_PLATFORM_INSN(CPU_MIPS2, "mips2"); - - /* Fallback */ - return "mips"; -} -#undef MATCH_PLATFORM_INSN - static inline void init_thread(struct target_pt_regs *regs, struct image_info *infop) { @@ -1175,10 +1144,6 @@ static inline void init_thread(struct target_pt_regs= *regs, =20 #endif /* TARGET_HEXAGON */ =20 -#ifndef ELF_BASE_PLATFORM -#define ELF_BASE_PLATFORM (NULL) -#endif - #ifndef ELF_MACHINE #define ELF_MACHINE ELF_ARCH #endif @@ -1234,6 +1199,11 @@ const char * __attribute__((weak)) get_elf_platform(= CPUState *cs) return NULL; } =20 +const char * __attribute__((weak)) get_elf_base_platform(CPUState *cs) +{ + return NULL; +} + #include "elf.h" =20 /* We must delay the following stanzas until after "elf.h". */ @@ -1687,7 +1657,7 @@ static abi_ulong create_elf_tables(abi_ulong p, int a= rgc, int envc, } =20 u_base_platform =3D 0; - k_base_platform =3D ELF_BASE_PLATFORM; + k_base_platform =3D get_elf_base_platform(thread_cpu); if (k_base_platform) { size_t len =3D strlen(k_base_platform) + 1; if (STACK_GROWS_DOWN) { diff --git a/linux-user/mips/elfload.c b/linux-user/mips/elfload.c index 07c30b5f4c..f2b132697e 100644 --- a/linux-user/mips/elfload.c +++ b/linux-user/mips/elfload.c @@ -54,3 +54,33 @@ abi_ulong get_elf_hwcap(CPUState *cs) #undef GET_FEATURE_REG_EQU #undef GET_FEATURE_REG_SET #undef GET_FEATURE_INSN + +#define MATCH_PLATFORM_INSN(_flags, _base_platform) \ + do { if ((cpu->env.insn_flags & (_flags)) =3D=3D _flags) \ + { return _base_platform; } } while (0) + +const char *get_elf_base_platform(CPUState *cs) +{ + MIPSCPU *cpu =3D MIPS_CPU(cs); + + /* 64 bit ISAs goes first */ + MATCH_PLATFORM_INSN(CPU_MIPS64R6, "mips64r6"); + MATCH_PLATFORM_INSN(CPU_MIPS64R5, "mips64r5"); + MATCH_PLATFORM_INSN(CPU_MIPS64R2, "mips64r2"); + MATCH_PLATFORM_INSN(CPU_MIPS64R1, "mips64"); + MATCH_PLATFORM_INSN(CPU_MIPS5, "mips5"); + MATCH_PLATFORM_INSN(CPU_MIPS4, "mips4"); + MATCH_PLATFORM_INSN(CPU_MIPS3, "mips3"); + + /* 32 bit ISAs */ + MATCH_PLATFORM_INSN(CPU_MIPS32R6, "mips32r6"); + MATCH_PLATFORM_INSN(CPU_MIPS32R5, "mips32r5"); + MATCH_PLATFORM_INSN(CPU_MIPS32R2, "mips32r2"); + MATCH_PLATFORM_INSN(CPU_MIPS32R1, "mips32"); + MATCH_PLATFORM_INSN(CPU_MIPS2, "mips2"); + + /* Fallback */ + return "mips"; +} + +#undef MATCH_PLATFORM_INSN --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835909; cv=none; d=zohomail.com; s=zohoarc; b=eg2Jp2cvAd10K+FyQbt0P/yn9cJpsdNdGXkeoBMQ3JTy8elsNNTpbaf3xODCvAZ1zkLtiPOXLtHOEkn4eXOVatodts2NN+zY/Uin1agwlLaOs6rM/e4SHCGqug+1ioN7eLnJLHR1kRtrYMx21AnV7EknfXVBnR3HZ2raTP1WaGI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835909; 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=aE8T8VB3X2aZ5pXjUX7SLaXyPUjl2/XnllRFHeUFwMo=; b=U5vyQaZRafku8mYx8q8xaNbne1IsHPwMqXpod0QqzxPL0wM2lnEt2J8pbZApmATpW9uh2rSe3yZR6vOT7jOgkE7DZmPfAi2bAvZUJ6IqsXN2CXQS4at0qIyopVQsXoigsUFH3598g/pnJgqo9mil+OVrz1vNrqysWPQqfPJZBk8= 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 1753835909440225.36452909175443; Tue, 29 Jul 2025 17:38:29 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguV3-0000TJ-FH; Tue, 29 Jul 2025 20:16:53 -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 1uguFO-0001rO-I2 for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:42 -0400 Received: from mail-pf1-x42b.google.com ([2607:f8b0:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguFM-00044G-Nx for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:42 -0400 Received: by mail-pf1-x42b.google.com with SMTP id d2e1a72fcca58-748f5a4a423so4315005b3a.1 for ; Tue, 29 Jul 2025 17:00:40 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.37 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833639; x=1754438439; 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=aE8T8VB3X2aZ5pXjUX7SLaXyPUjl2/XnllRFHeUFwMo=; b=FgJ1iIWZdkuvlKJkLV5ocObrxHCRWKCOB3uIc/JdSlwhw+fT44vwj9Z0Ttymtxkkze Qw/neCo9JZGJc6Tgki3NpBfaZQCKNLnpbUhvB/mE3FoimcdI7gQ8D+shO3CwXDzB9RbY 3kLGTur/W/03dEFSX7jctBkU44fmduf92X5cED0eBqMHtcj1rUiXMPZn9mf2C2zzwiN/ UMGtkSOVHex1bcbZ3SLJt7LklqF8J7pqC8LCimgu4aCLb4iBEUkUIdKb7eYK0Z/lyrXF LvLbsx6KK2PIC8C/lsM3IPCul1E28ILs8IPQNpDkUiBD8bVUe8KTb1BoEoD5nY24YUZY 5mGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833639; x=1754438439; 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=aE8T8VB3X2aZ5pXjUX7SLaXyPUjl2/XnllRFHeUFwMo=; b=qnVtPDzzkQuOeq6jinT6slabefEPDXGzM0SZ7xkf1nALYyZKQGFCd3zUHz7HyB38ZK 8KOZuYsuurnitJaG+Imu/Srv28wD/ygAHIkU16hME5p/Gp61uTkXECFXcQO9v1KHC/am k2QHaunZ8MQEhm8Xo2u+vMzKM21d+DBqZve/eDvpXGdvrPsTcgrHco+Ul+Vw/IN47YQy TYruBMQUvoB7qivEqX2v+C7ryzs3/IlqR3xCnDGyWXmlyIxqjpfOT73NlP1KIPpmY2qu GGYK6zELC43M6mm0t99Ursc1aTNZJud4JHM+n1rXEjtC6Rggfb1H0pt0RUaOCXc2XTzC BkxQ== X-Gm-Message-State: AOJu0Yy+NDuwrn43KpOrT4oSxwTI+u6JcYS0RYdq1eieQnXjd84a1GWb 4KTNaCYB8OzcYAH8nirO35mKFUE2B+T8yKDYrk4XXjEU5QH+f1fEyUHX2X/hyHmzf1MBSDwPccw Avofs X-Gm-Gg: ASbGncuM4U7aIWkOyqAnP9Z3W7SsjrN2pKea+ILIKvnh6r6h59ixJkCxPjrAu25mr3D oJegRXKZQtShuHS/8g7ZO69FIsqvpRGliyww4SCYVv3WNsxCaQUS6MrzM7m+SuBZpChNnozdkZ2 ybrOu++W4VT+fXDqYd7BQMTOJ/COEDSVWbloX1XEKi30pJzX3hPItNCt4WQhdwdRMLbkdFYY2vg Lp7oD1NL37UgOwMw5AqB11v0R2P371WMnO38SkVAQen3AzL9gityccf5ry3aGE7gBzHRn8nC5fU izvNfgxji6sBD0NdkHWlYvGsDGId0kF+yIm5CtjA2uMGdO0cAjdrhjtA1AYnjhTnuEaqgUhXbsw gRoI9G0fa2jPq4fmUzrg9flBpi0FnfQSzqv4qqrdP1vTOERYHl8voFHF0bih0w4xqsWkBfSqSPK PGJLl30fk7Jg== X-Google-Smtp-Source: AGHT+IGMPPIgkq5oyJwu/Z2KdhyCG+Uzs0nb/jDvTDx7w0vj9oyqHfuJ/RR+VhNSUxBnkyNzGCWy6A== X-Received: by 2002:a05:6a00:cd5:b0:742:a0cf:7753 with SMTP id d2e1a72fcca58-76ab082cba0mr2007481b3a.3.1753833638090; Tue, 29 Jul 2025 17:00:38 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 20/89] linux-user: Move target_cpu_copy_regs decl to qemu.h Date: Tue, 29 Jul 2025 13:58:53 -1000 Message-ID: <20250730000003.599084-21-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::42b; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42b.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: 1753835911215116600 Content-Type: text/plain; charset="utf-8" The function is not used by bsd-user, so placement within include/user/cpu_loop.h is not ideal. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- include/user/cpu_loop.h | 4 ---- linux-user/qemu.h | 3 +++ 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/include/user/cpu_loop.h b/include/user/cpu_loop.h index ad8a1d711f..346e37ede8 100644 --- a/include/user/cpu_loop.h +++ b/include/user/cpu_loop.h @@ -81,8 +81,4 @@ void target_exception_dump(CPUArchState *env, const char = *fmt, int code); #define EXCP_DUMP(env, fmt, code) \ target_exception_dump(env, fmt, code) =20 -typedef struct target_pt_regs target_pt_regs; - -void target_cpu_copy_regs(CPUArchState *env, target_pt_regs *regs); - #endif diff --git a/linux-user/qemu.h b/linux-user/qemu.h index 0b19fa43e6..6c97ab221f 100644 --- a/linux-user/qemu.h +++ b/linux-user/qemu.h @@ -365,4 +365,7 @@ void *lock_user_string(abi_ulong guest_addr); /* Clone cpu state */ CPUArchState *cpu_copy(CPUArchState *env); =20 +typedef struct target_pt_regs target_pt_regs; +void target_cpu_copy_regs(CPUArchState *env, target_pt_regs *regs); + #endif /* QEMU_H */ --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753836496; cv=none; d=zohomail.com; s=zohoarc; b=bHYVzPy5ZgOqUp94zeR+/uAfLSUQwkaaPQ9WQOE/wpGzG8/3tIzXaEWQh8yEeTPpzIRlSItWJhHoyZScyO+e5q12PLj9gWkBUyjMMD25LpB8iLMsj7VgA+J3q1st6Pz0vqIbWSzh+5A89jRQL0N7IZek+bdRo7tOA7473xRKtTc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753836496; 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=3Wa2B38FBrRML3JhfFoL7KoTHohz6g2FLAwLDDbLgVA=; b=A83ZKyzDH8f4+EQGv0CO8grDWMDdU3hti6th9fy7IYfPRO8h99OkCconK7+dLD3LecbBZSH6MONSrnWSCljQ1fmsv1csweqpOb99+ypOA7gThNnvwEc2OWl/L4mOMMYVKS8UK/ZZtjJge5pcCo2m5YnFpcAwRxCr4YjiSE1tRtE= 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 1753836496315239.92320612728417; Tue, 29 Jul 2025 17:48:16 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguSv-00042L-F5; Tue, 29 Jul 2025 20:14:41 -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 1uguFP-0001tb-Kj for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:44 -0400 Received: from mail-pf1-x434.google.com ([2607:f8b0:4864:20::434]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguFN-00044K-H3 for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:43 -0400 Received: by mail-pf1-x434.google.com with SMTP id d2e1a72fcca58-74b56b1d301so4182363b3a.1 for ; Tue, 29 Jul 2025 17:00:40 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.38 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833640; x=1754438440; 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=3Wa2B38FBrRML3JhfFoL7KoTHohz6g2FLAwLDDbLgVA=; b=nBYPhezUHsnVLMn5JqFvUxYg+fNcmamrI1U2VwodtxXd+tAAKVGhcMFFxE/EDC2raE vDXGIg0iFDoJKHxIzWWZSnihhHWskXLv/LiiX80lQYrts/iPtLN8tCtzChKcilC2/18o fRjiYugYeEe+cDJ9HmlWjnIFjFc5wUwIc+21/T6EuCegyE6Ot+5YnD5nUV3KyZjA7euH RyeA1wL3NMUbCbTc50VAHErt5xh5if1tVdhDypBmHWjL23pVs6LQMHanT21g0ujGCgl8 N1vhH0dXClp/LJzek+B//9tM55J8MnVqal7YLORUEF32evsKUdIS/d8w5KCuY6mni/Z9 fHPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833640; x=1754438440; 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=3Wa2B38FBrRML3JhfFoL7KoTHohz6g2FLAwLDDbLgVA=; b=j0l1LU8JzlcXvUTElC1j64Qa+VYuW+91JK397/2u4H51HxBhREc1eI2iE4iqb3mdmG 5KDmObe3LhUUFOwAygDrmInbvGgzu4TbML7mvtK/5cTplWXklqthR6Khd/wsqGiQ+Qfx dgQHcbNDYt13/dYGFkJxOgQ+PVg3Pt6Z71JfoIjrPwiqZ+KH5fMWy/xe8jU0pCHmNtFY NJILJdxyD6FxNgei4W3WZMznRMOmkKL3x19jSffWN/uS3pnHxUPgu04alpF2NEiCrQLd NRCiyVOPd/vnFWkIEKVN4lDiUZa2rn7FFQeKR4V2X2bIbk/YkNJtqeWWpCvneCgBhrWL ApPw== X-Gm-Message-State: AOJu0YyGb/tQwVRhnKqpYZdc/Vr0hqfuhT8L0rKi/pBd0M3i/lY+5lfy wgJt53HmZAfyDXEE0WrLucpVdg25lZRdXzyJhPqKy/Ut8J3oaCvzwu8+4nvLiCmAqE3saD6fFm1 yrKPd X-Gm-Gg: ASbGncu+mw386cKF0Wk8Xe4hzwfjKKOp4uxOVJDtdE6znxhE1I3LMWE2B08Q/azqAhW y6A0BpmZPSYMu3pnmCEQLqNbU0VDA1aLVrOmtUP0ibd3b7IgnsNIXB80u/BEAaA3MAGEYfR4utQ pehC3F6UNMelxz2UNVJET0xrBueVY7u/sbmdLIgA9/3qUEZyT98hgR4UkWuWYd9ucc6V1fkfrfg cStIPCSCOleYhcO+O5j7kol3TUw3EkrXVR0a4tYdZe3pkiW71I/uw2Ma4JkAvwrIHeOwEFkrBq6 wjBdoYPGSem/mfcqlfVvPCBzAmrh/Jnp9QLWu2KPERji9cmKz1XwrONlW9ZANwOpVLsE+j+luFA AXqkyB5AF/mCLqVhBuzkQTDmjSuuw1t/rjjhox98afDORWGY17Qc3Ixv4EgMkC/X/1+Xs4p8Btm r6bDhcUmmR64HNaX427yY1 X-Google-Smtp-Source: AGHT+IHDsn/+AfLXeV7Jf2NjqNgEBCcZ1VmhdXJTDc7EtpF0LQIJqYqLKpkRLW5YTDQzlvf8Tr/HaA== X-Received: by 2002:a05:6a00:21c5:b0:736:3979:369e with SMTP id d2e1a72fcca58-76ab1611ca0mr1897574b3a.9.1753833639422; Tue, 29 Jul 2025 17:00:39 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 21/89] linux-user: Unify init of semihosting fields in TaskState Date: Tue, 29 Jul 2025 13:58:54 -1000 Message-ID: <20250730000003.599084-22-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::434; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x434.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: 1753836497506116600 Content-Type: text/plain; charset="utf-8" Initialize all 3 fields in main(), rather than in 4 different target-specific functions. Adjust the ifdef to be function rather than target specific. Include stack_base in the ifdef. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/qemu.h | 4 ++-- linux-user/aarch64/cpu_loop.c | 8 -------- linux-user/arm/cpu_loop.c | 37 +++++++++++++++-------------------- linux-user/m68k/cpu_loop.c | 9 --------- linux-user/main.c | 5 +++++ linux-user/riscv/cpu_loop.c | 5 ----- 6 files changed, 23 insertions(+), 45 deletions(-) diff --git a/linux-user/qemu.h b/linux-user/qemu.h index 6c97ab221f..dff7767bc8 100644 --- a/linux-user/qemu.h +++ b/linux-user/qemu.h @@ -122,12 +122,12 @@ struct TaskState { #ifdef TARGET_M68K abi_ulong tp_value; #endif -#if defined(TARGET_ARM) || defined(TARGET_M68K) || defined(TARGET_RISCV) +#ifdef CONFIG_SEMIHOSTING /* Extra fields for semihosted binaries. */ abi_ulong heap_base; abi_ulong heap_limit; -#endif abi_ulong stack_base; +#endif int used; /* non zero if used */ struct image_info *info; struct linux_binprm *bprm; diff --git a/linux-user/aarch64/cpu_loop.c b/linux-user/aarch64/cpu_loop.c index fea43cefa6..030a630c93 100644 --- a/linux-user/aarch64/cpu_loop.c +++ b/linux-user/aarch64/cpu_loop.c @@ -140,9 +140,6 @@ void cpu_loop(CPUARMState *env) void target_cpu_copy_regs(CPUArchState *env, target_pt_regs *regs) { ARMCPU *cpu =3D env_archcpu(env); - CPUState *cs =3D env_cpu(env); - TaskState *ts =3D get_task_state(cs); - struct image_info *info =3D ts->info; int i; =20 if (!(arm_feature(env, ARM_FEATURE_AARCH64))) { @@ -167,9 +164,4 @@ void target_cpu_copy_regs(CPUArchState *env, target_pt_= regs *regs) if (cpu_isar_feature(aa64_pauth, cpu)) { qemu_guest_getrandom_nofail(&env->keys, sizeof(env->keys)); } - - ts->stack_base =3D info->start_stack; - ts->heap_base =3D info->brk; - /* This will be filled in on the first SYS_HEAPINFO call. */ - ts->heap_limit =3D 0; } diff --git a/linux-user/arm/cpu_loop.c b/linux-user/arm/cpu_loop.c index 33f63951a9..1f3bb96484 100644 --- a/linux-user/arm/cpu_loop.c +++ b/linux-user/arm/cpu_loop.c @@ -482,30 +482,25 @@ void cpu_loop(CPUARMState *env) =20 void target_cpu_copy_regs(CPUArchState *env, target_pt_regs *regs) { - CPUState *cpu =3D env_cpu(env); - TaskState *ts =3D get_task_state(cpu); - struct image_info *info =3D ts->info; - int i; - cpsr_write(env, regs->uregs[16], CPSR_USER | CPSR_EXEC, CPSRWriteByInstr); - for(i =3D 0; i < 16; i++) { + for (int i =3D 0; i < 16; i++) { env->regs[i] =3D regs->uregs[i]; } -#if TARGET_BIG_ENDIAN - /* Enable BE8. */ - if (EF_ARM_EABI_VERSION(info->elf_flags) >=3D EF_ARM_EABI_VER4 - && (info->elf_flags & EF_ARM_BE8)) { - env->uncached_cpsr |=3D CPSR_E; - env->cp15.sctlr_el[1] |=3D SCTLR_E0E; - } else { - env->cp15.sctlr_el[1] |=3D SCTLR_B; - } - arm_rebuild_hflags(env); -#endif =20 - ts->stack_base =3D info->start_stack; - ts->heap_base =3D info->brk; - /* This will be filled in on the first SYS_HEAPINFO call. */ - ts->heap_limit =3D 0; + if (TARGET_BIG_ENDIAN) { + CPUState *cpu =3D env_cpu(env); + TaskState *ts =3D get_task_state(cpu); + struct image_info *info =3D ts->info; + + /* Enable BE8. */ + if (EF_ARM_EABI_VERSION(info->elf_flags) >=3D EF_ARM_EABI_VER4 + && (info->elf_flags & EF_ARM_BE8)) { + env->uncached_cpsr |=3D CPSR_E; + env->cp15.sctlr_el[1] |=3D SCTLR_E0E; + } else { + env->cp15.sctlr_el[1] |=3D SCTLR_B; + } + arm_rebuild_hflags(env); + } } diff --git a/linux-user/m68k/cpu_loop.c b/linux-user/m68k/cpu_loop.c index 5da91b997a..23693f3358 100644 --- a/linux-user/m68k/cpu_loop.c +++ b/linux-user/m68k/cpu_loop.c @@ -94,10 +94,6 @@ void cpu_loop(CPUM68KState *env) =20 void target_cpu_copy_regs(CPUArchState *env, target_pt_regs *regs) { - CPUState *cpu =3D env_cpu(env); - TaskState *ts =3D get_task_state(cpu); - struct image_info *info =3D ts->info; - env->pc =3D regs->pc; env->dregs[0] =3D regs->d0; env->dregs[1] =3D regs->d1; @@ -116,9 +112,4 @@ void target_cpu_copy_regs(CPUArchState *env, target_pt_= regs *regs) env->aregs[6] =3D regs->a6; env->aregs[7] =3D regs->usp; env->sr =3D regs->sr; - - ts->stack_base =3D info->start_stack; - ts->heap_base =3D info->brk; - /* This will be filled in on the first SYS_HEAPINFO call. */ - ts->heap_limit =3D 0; } diff --git a/linux-user/main.c b/linux-user/main.c index 68972f00a1..4def4be1c1 100644 --- a/linux-user/main.c +++ b/linux-user/main.c @@ -1050,6 +1050,11 @@ int main(int argc, char **argv, char **envp) =20 #ifdef CONFIG_SEMIHOSTING qemu_semihosting_guestfd_init(); + + ts->stack_base =3D info->start_stack; + ts->heap_base =3D info->brk; + /* This will be filled in on the first SYS_HEAPINFO call. */ + ts->heap_limit =3D 0; #endif =20 cpu_loop(env); diff --git a/linux-user/riscv/cpu_loop.c b/linux-user/riscv/cpu_loop.c index 3ac8bbfec1..2dd30c7b28 100644 --- a/linux-user/riscv/cpu_loop.c +++ b/linux-user/riscv/cpu_loop.c @@ -108,9 +108,4 @@ void target_cpu_copy_regs(CPUArchState *env, target_pt_= regs *regs) error_report("Incompatible ELF: RVE cpu requires RVE ABI binary"); exit(EXIT_FAILURE); } - - ts->stack_base =3D info->start_stack; - ts->heap_base =3D info->brk; - /* This will be filled in on the first SYS_HEAPINFO call. */ - ts->heap_limit =3D 0; } --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753834796; cv=none; d=zohomail.com; s=zohoarc; b=d9svEFFSyy3qg4dJn1eEXjvYqKcs8v58plKtnph386xFmtTF6rysAsXTAZKyyK5GDmJNS5/iDiI21RM3DLWP6UwRBJ/x93MzcStahYISEI5TBbYvY9As8UaRmMjU9fGJ6RF+OAjZlZtc8PSXL71b6FwsLvUXBog15mvtw0pdnRI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753834796; 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=Y5qoqoexhfze1ueAgVQL5v2FRUGJ7lRXoO8zg4ql7UI=; b=iNu71CtHtFjKOhyLafNYelwjAmKMKEzUna1EoANR2l7URKWw8DUZfnvhMEIrGL08e0aBA9U3uyFTLRaqZFQ2lLhyDM0K1q/3kLbHmM7qnf1WCnjLHSyavMg/xE+KFLK/FUeC7LBhGDEMHd8LBX37epAzzg171LuRZp9DGPK0OOE= 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 1753834796334929.2237554620051; Tue, 29 Jul 2025 17:19:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguTQ-0005I4-3A; Tue, 29 Jul 2025 20:15:12 -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 1uguFQ-0001uy-Q1 for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:44 -0400 Received: from mail-pf1-x42c.google.com ([2607:f8b0:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguFO-00044a-KP for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:44 -0400 Received: by mail-pf1-x42c.google.com with SMTP id d2e1a72fcca58-748e378ba4fso7912008b3a.1 for ; Tue, 29 Jul 2025 17:00:42 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.39 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833641; x=1754438441; 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=Y5qoqoexhfze1ueAgVQL5v2FRUGJ7lRXoO8zg4ql7UI=; b=y8FVTv0ZtdZoT6JKZpSTfXLSNcOVWq40kSyedeTwfLwG1MbNvd3I+x09ox3YXqp0EG 9VqusG+4mnMqp3SMtvTS3KIp9Acn9AkbeWp5gTFCa7BO2QDpTpbSAb9BJ7a1M2Sc505b ApnBKhqWtSyr8CvSu4ELOvfBufQ9x0VNLi8PChwPKp46ztZzohMvr76JuOyd9WBy0X8v ePiByemt8H0vXLzX094b4UBFjeAYebGGfRm5HmbUqqo26AJe/XMPv+Yxxaor5aE0Grag LR5PBDIwGi8K9VW9vMy3WjIJsoFkSbUUqz1EQVUpB6fk2w0ewHdtW8VIHcrjRX9aEaza qDUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833641; x=1754438441; 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=Y5qoqoexhfze1ueAgVQL5v2FRUGJ7lRXoO8zg4ql7UI=; b=KAD0XbfJsjq3uC3Misdo+ALctGRE+OUHSd4tYhTiZWzA6NPbu3bgHEkfTa7nbUAhxb cmanwpaapqxzq/5XOMIZBJIz97kvA2PWoeJQhPWwbMnapYLtd9b5SzhUIwIkMgpOPDmW 0HGrChut0H1KSDQfyFct3XXYPLNWhZ+16qjp0E5OkM+YTgsU96iXFeyKH3VFByJC2B4D BGpkIIA+KqdfRjut197tVfaHKmuz0pEtnQedWeAcg8ADGQHrRXgc7dsQuHG/AbVobQj6 sAj07MMqGmqo+2Uo3uAU49Oa8Rca0zI7WSEH+L4HEiw3z0pf/r7WK8QZLQYo2RvuQINS UNmg== X-Gm-Message-State: AOJu0Yw0eHXDywB3HdxTlAohpW+vU9KY5jcn2ZChxtlxm6QJNjF+HIcf 6dr1+5uwFs0d3QfvpiFYt5WwPRVF/a5AHUHK+u8IgCOhQ6t5nwK0Fxy2fGgzikV51QLd+KKC8HZ xKocu X-Gm-Gg: ASbGncsO32PweCfrNBSWHlDtTNLG7eQYrkzRYLxhP1gV5MqPe2Ana1GI0h9MJd2eBdt 9ECrxYaOVXOZRRfJZDCLk00lqDgsJ2Br1gBSl44aAZyo0jlypneWRnM0HYI597QGDt+KuxfSgkk +du3C0eb7dWuw/0v+buqGk4WUxL32S8LyrGPpWLQwSG/K8qEWWRGw2vpNpf/zXXZlPRpOqzY08A X4J6G5Tx06rUn5sH5mcUZ/EremleHhxwSoNTNbwuIRO/2NM18bBrx4nuwil+Bf0Wp+AFW3qsIoZ 0BSU4rz1darMzvTyYkJtcsOOa4cnG+kY1xf7osvV3vpQKtls6ZKLImcJxfdYGBHrFr1y1Bx5SId SiNdftpqHkmfRCPw5+OeMIwXiVdt6bXDPACcjWA9/PdE4ZEXtZdCK/EVDB7WZhdScyqN3BZTPJs QMRtgmM2oxPw== X-Google-Smtp-Source: AGHT+IEthxz9+sxWvcp0NzkIkzB4s20YcRyb4hdkbc7TnfdRBEN3fxM9RBTTJBvcCXCvASMdcmOU7Q== X-Received: by 2002:a05:6a00:14d1:b0:76a:7b13:e6e3 with SMTP id d2e1a72fcca58-76ab33001c6mr1811542b3a.23.1753833640827; Tue, 29 Jul 2025 17:00:40 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 22/89] linux-user: Create do_init_main_thread Date: Tue, 29 Jul 2025 13:58:55 -1000 Message-ID: <20250730000003.599084-23-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::42c; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42c.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: 1753834796801116600 Content-Type: text/plain; charset="utf-8" Provide a unified function to initialize the main thread. Keep target_pt_regs isolated to this function. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/loader.h | 5 ++--- linux-user/elfload.c | 7 +++++-- linux-user/linuxload.c | 6 ++---- linux-user/main.c | 10 +++------- 4 files changed, 12 insertions(+), 16 deletions(-) diff --git a/linux-user/loader.h b/linux-user/loader.h index a5eef18eff..b7dceb4abe 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -82,12 +82,11 @@ struct linux_binprm { int (*core_dump)(int, const CPUArchState *); /* coredump routine */ }; =20 -void do_init_thread(struct target_pt_regs *regs, struct image_info *infop); +void do_init_main_thread(CPUState *cs, struct image_info *infop); abi_ulong loader_build_argptr(int envc, int argc, abi_ulong sp, abi_ulong stringp, int push_ptr); int loader_exec(int fdexec, const char *filename, char **argv, char **envp, - struct target_pt_regs *regs, struct image_info *infop, - struct linux_binprm *); + struct image_info *infop, struct linux_binprm *); =20 uint32_t get_elf_eflags(int fd); int load_elf_binary(struct linux_binprm *bprm, struct image_info *info); diff --git a/linux-user/elfload.c b/linux-user/elfload.c index b26daf925d..1d8cc7f6b5 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -3635,7 +3635,10 @@ static int elf_core_dump(int signr, const CPUArchSta= te *env) } #endif /* USE_ELF_CORE_DUMP */ =20 -void do_init_thread(struct target_pt_regs *regs, struct image_info *infop) +void do_init_main_thread(CPUState *cs, struct image_info *infop) { - init_thread(regs, infop); + target_pt_regs regs =3D { }; + + init_thread(®s, infop); + target_cpu_copy_regs(cpu_env(cs), ®s); } diff --git a/linux-user/linuxload.c b/linux-user/linuxload.c index 37f132be4a..85d700953e 100644 --- a/linux-user/linuxload.c +++ b/linux-user/linuxload.c @@ -139,8 +139,7 @@ abi_ulong loader_build_argptr(int envc, int argc, abi_u= long sp, } =20 int loader_exec(int fdexec, const char *filename, char **argv, char **envp, - struct target_pt_regs *regs, struct image_info *infop, - struct linux_binprm *bprm) + struct image_info *infop, struct linux_binprm *bprm) { int retval; =20 @@ -175,8 +174,7 @@ int loader_exec(int fdexec, const char *filename, char = **argv, char **envp, return retval; } =20 - /* Success. Initialize important registers. */ - do_init_thread(regs, infop); + /* Success. */ return 0; } =20 diff --git a/linux-user/main.c b/linux-user/main.c index 4def4be1c1..121dc4a0e6 100644 --- a/linux-user/main.c +++ b/linux-user/main.c @@ -697,7 +697,6 @@ static int parse_args(int argc, char **argv) =20 int main(int argc, char **argv, char **envp) { - struct target_pt_regs regs1, *regs =3D ®s1; struct image_info info1, *info =3D &info1; struct linux_binprm bprm; TaskState *ts; @@ -763,9 +762,6 @@ int main(int argc, char **argv, char **envp) trace_init_file(); qemu_plugin_load_list(&plugins, &error_fatal); =20 - /* Zero out regs */ - memset(regs, 0, sizeof(struct target_pt_regs)); - /* Zero out image_info */ memset(info, 0, sizeof(struct image_info)); =20 @@ -989,8 +985,8 @@ int main(int argc, char **argv, char **envp) =20 fd_trans_init(); =20 - ret =3D loader_exec(execfd, exec_path, target_argv, target_environ, re= gs, - info, &bprm); + ret =3D loader_exec(execfd, exec_path, target_argv, target_environ, + info, &bprm); if (ret !=3D 0) { printf("Error while loading %s: %s\n", exec_path, strerror(-ret)); _exit(EXIT_FAILURE); @@ -1042,7 +1038,7 @@ int main(int argc, char **argv, char **envp) the real value of GUEST_BASE into account. */ tcg_prologue_init(); =20 - target_cpu_copy_regs(env, regs); + do_init_main_thread(cpu, info); =20 if (gdbstub) { gdbserver_start(gdbstub, &error_fatal); --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753834796; cv=none; d=zohomail.com; s=zohoarc; b=OZyRCPSVgGIrf+ZlTv9v6clHjgqVsvS+A8U5PwaclZ4KnbGr9BJhd+oBDQlzzNzy5O6IlVSUmiP4ejq8JbR7ie/pp0weJg3WbjqcvaCeEzLAlW1GlGWZdTTgIfGvl2W3Xm88erROWFFmtJW1Hwg+bTXkEAss+s324FJgrD5KTcA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753834796; 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=s1q314E+BpLEmsCVDcK29u65d92IGDqMC0sxDATOALA=; b=ZjEn8H2XvJXgTFrUTihPm1Cw8g8dNj4cBCpLai8WtihOGGYTRdV1FJp0pEafOX9gq3u821kqexqU9dqA/QMFaX0ZPlC0ojmL4BLyKHgi9DBZHI/vdtxpB6BLKmRmgHhKarVrI2Y8M4+cFO7cnG1wIRK03v4PXE2z38ZNwHtSYLs= 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 175383479670783.78428206765386; Tue, 29 Jul 2025 17:19:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguS1-0002aQ-CF; Tue, 29 Jul 2025 20:13:45 -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 1uguFS-0001wp-4O for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:46 -0400 Received: from mail-pf1-x433.google.com ([2607:f8b0:4864:20::433]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguFQ-00044s-1b for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:45 -0400 Received: by mail-pf1-x433.google.com with SMTP id d2e1a72fcca58-76a3818eb9bso857827b3a.3 for ; Tue, 29 Jul 2025 17:00:43 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.41 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833642; x=1754438442; 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=s1q314E+BpLEmsCVDcK29u65d92IGDqMC0sxDATOALA=; b=UkkE5yivXBMwfEvtERyJ9w2jwFHSqIL7HCklPEKSMEiK1rCfX4WLpHLF1Ni5O9BSiz LA22AvLUZtNVcvFevGGUzJlwMAHSSz5e58Y8E1eUHtD5dEqIm1nVtfdaTTyJsPSxdreq RsV7i7QsxJ/HxQBolOLXB2VpR00sCBXZnPJWBe5eNErt2BvZRtRFkkbkfVdSlhlbPGQq iheZoyqEALphoxWcbMRfglTqNlTb30Kl1NJ5cBXa7IFFuktYrGGrvnHTmJXDnBpddHD4 gI/Sb7sCfITlQiJ5X0Xcs5fHcEXwtbeLcPDitspkyseQSneQRK5IiU33CWI8CtUC9ZLy yJKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833642; x=1754438442; 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=s1q314E+BpLEmsCVDcK29u65d92IGDqMC0sxDATOALA=; b=RYdHVbnV4lnltR1w1lQSTXSsdSNu4UxvG7SS5sEOIXmUjbcI+3dZi6L1z3xK2TxpMI lcqgWa3rQ8hZxYdU3ykr965YtK4uKgre+gqUAWp1RADTJOIajGkrMKfwF9kvFL+e4xbU Dgzmsu5hLpUmGHhZMhuGvHJMv6JQ1ondX+vR1239BjibrRgjT+ktn/4BgkJFSMmsExLH dnc1qA1C2iGbXDlssgyfYBaMosXHm+T2Go1hFbTgUo4K5uC1XjcL+vpWTkNJQMaK93o3 3Cf1ZyE4XLtD1vim37U1CW5G7yEiH6+RFJIBBbPhWkjySveNhd8kv8sp3bDIXDlTMGk/ HAEA== X-Gm-Message-State: AOJu0YxQ8EKN3R8Z5Aq3It+JgsczLrRpeRcmQ9Kh1tP3L39xVszN1aWh 59TqmPpX9X8NvIuWRlbrfbvus8m9bgnEJHpScwpx0h57PvmVFSFJ0iXS6CTjKRw4ijpKgSu9qRb y+R8p X-Gm-Gg: ASbGncuYK8Pepvr5QlT8P/fTYjcU1E5By77JXTIsvjmSNjL2KCE5ljivJ/zZ+XK7xka avzXb9OAHYWskAERG9A6DiPZp+yb16Ttr+4EyAd4gI44UJRAGcn8dstIXPXmusdETU4ER+5zi/q vjW4X2ufCbl5EtwbDqh4xs/5XIGAXWUVzoXtjGHTlXj0MkIJDZqUKQ9Xu3+LAJbysppyQgTY3hK 72p3QyLdhC38HIaIcnYbTEj/vXxJthK/5W7XzYntkKZUwbFnGANtfrxckuZK9A40L/3p2pi3Vxx PWPKoBzPkUAKTmtC4RCwnBPB56rXcG7SExdHR3k5AQT4WMuUm2QJicKhPujLHwzbwm3YXlP935U DDze8od2yhMEz5R5MaUZD+JwGrK2GZIYvwdzScCxNfsNHsnBD77QFKOIAppV7Cw0QSpsQjwk7ox gIWdPboy429XjOmd8Bs9vWVFh/vf3hctU= X-Google-Smtp-Source: AGHT+IHBhwmP0uGyDKJzoPAZjMVdiE/KSdgr9+VH6LyNmcHhAYbgLdhCtzZnkAhkj9jT+BDzAWNfDA== X-Received: by 2002:a05:6a00:4fd0:b0:748:e8c7:5a38 with SMTP id d2e1a72fcca58-76ab3309ab0mr1706921b3a.23.1753833642103; Tue, 29 Jul 2025 17:00:42 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 23/89] linux-user/i386: Create init_main_thread Date: Tue, 29 Jul 2025 13:58:56 -1000 Message-ID: <20250730000003.599084-24-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::433; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x433.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: 1753834799117116600 Content-Type: text/plain; charset="utf-8" Merge init_thread and target_cpu_copy_regs. There's no point going through a target_pt_regs intermediate. Temporarily introduce HAVE_INIT_MAIN_THREAD during conversion. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/qemu.h | 1 + linux-user/elfload.c | 29 ++++++----------------------- linux-user/i386/cpu_loop.c | 31 ++++++------------------------- 3 files changed, 13 insertions(+), 48 deletions(-) diff --git a/linux-user/qemu.h b/linux-user/qemu.h index dff7767bc8..475b11e4c4 100644 --- a/linux-user/qemu.h +++ b/linux-user/qemu.h @@ -367,5 +367,6 @@ CPUArchState *cpu_copy(CPUArchState *env); =20 typedef struct target_pt_regs target_pt_regs; void target_cpu_copy_regs(CPUArchState *env, target_pt_regs *regs); +void init_main_thread(CPUState *cs, struct image_info *info); =20 #endif /* QEMU_H */ diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 1d8cc7f6b5..553d632d46 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -155,17 +155,12 @@ typedef abi_int target_pid_t; =20 #ifdef TARGET_I386 =20 +#define HAVE_INIT_MAIN_THREAD + #ifdef TARGET_X86_64 #define ELF_CLASS ELFCLASS64 #define ELF_ARCH EM_X86_64 =20 -static inline void init_thread(struct target_pt_regs *regs, struct image_i= nfo *infop) -{ - regs->rax =3D 0; - regs->rsp =3D infop->start_stack; - regs->rip =3D infop->entry; -} - #define ELF_NREG 27 typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; =20 @@ -243,22 +238,6 @@ static bool init_guest_commpage(void) =20 #define EXSTACK_DEFAULT true =20 -static inline void init_thread(struct target_pt_regs *regs, - struct image_info *infop) -{ - regs->esp =3D infop->start_stack; - regs->eip =3D infop->entry; - - /* SVR4/i386 ABI (pages 3-31, 3-32) says that when the program - starts %edx contains a pointer to a function which might be - registered using `atexit'. This provides a mean for the - dynamic linker to call DT_FINI functions for shared libraries - that have been loaded before the code runs. - - A value of 0 tells we have no such handler. */ - regs->edx =3D 0; -} - #define ELF_NREG 17 typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; =20 @@ -3637,8 +3616,12 @@ static int elf_core_dump(int signr, const CPUArchSta= te *env) =20 void do_init_main_thread(CPUState *cs, struct image_info *infop) { +#ifdef HAVE_INIT_MAIN_THREAD + init_main_thread(cs, infop); +#else target_pt_regs regs =3D { }; =20 init_thread(®s, infop); target_cpu_copy_regs(cpu_env(cs), ®s); +#endif } diff --git a/linux-user/i386/cpu_loop.c b/linux-user/i386/cpu_loop.c index d96d5553fa..d60462172e 100644 --- a/linux-user/i386/cpu_loop.c +++ b/linux-user/i386/cpu_loop.c @@ -331,11 +331,10 @@ static void target_cpu_free(void *obj) g_free(obj); } =20 -void target_cpu_copy_regs(CPUArchState *env, target_pt_regs *regs) +void init_main_thread(CPUState *cpu, struct image_info *info) { - CPUState *cpu =3D env_cpu(env); + CPUArchState *env =3D cpu_env(cpu); bool is64 =3D (env->features[FEAT_8000_0001_EDX] & CPUID_EXT2_LM) !=3D= 0; - int i; =20 OBJECT(cpu)->free =3D target_cpu_free; env->cr[0] =3D CR0_PG_MASK | CR0_WP_MASK | CR0_PE_MASK; @@ -362,27 +361,9 @@ void target_cpu_copy_regs(CPUArchState *env, target_pt= _regs *regs) env->eflags |=3D IF_MASK; =20 /* linux register setup */ -#ifndef TARGET_ABI32 - env->regs[R_EAX] =3D regs->rax; - env->regs[R_EBX] =3D regs->rbx; - env->regs[R_ECX] =3D regs->rcx; - env->regs[R_EDX] =3D regs->rdx; - env->regs[R_ESI] =3D regs->rsi; - env->regs[R_EDI] =3D regs->rdi; - env->regs[R_EBP] =3D regs->rbp; - env->regs[R_ESP] =3D regs->rsp; - env->eip =3D regs->rip; -#else - env->regs[R_EAX] =3D regs->eax; - env->regs[R_EBX] =3D regs->ebx; - env->regs[R_ECX] =3D regs->ecx; - env->regs[R_EDX] =3D regs->edx; - env->regs[R_ESI] =3D regs->esi; - env->regs[R_EDI] =3D regs->edi; - env->regs[R_EBP] =3D regs->ebp; - env->regs[R_ESP] =3D regs->esp; - env->eip =3D regs->eip; -#endif + memset(env->regs, 0, sizeof(env->regs)); + env->regs[R_ESP] =3D info->start_stack; + env->eip =3D info->entry; =20 /* linux interrupt setup */ #ifndef TARGET_ABI32 @@ -394,7 +375,7 @@ void target_cpu_copy_regs(CPUArchState *env, target_pt_= regs *regs) PROT_READ|PROT_WRITE, MAP_ANONYMOUS|MAP_PRIVATE, -1, 0); idt_table =3D g2h_untagged(env->idt.base); - for (i =3D 0; i < 20; i++) { + for (int i =3D 0; i < 20; i++) { set_idt(i, 0, is64); } set_idt(3, 3, is64); --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753834894; cv=none; d=zohomail.com; s=zohoarc; b=UnUy50z4n5FNq+tB0D3PzO5v8yKngbAwZAdHIqfvHtUY4qrLygV1Bn3woivXOMB9+i5M/0/RmVVm+/Tdh7TLMjSX/GN1vbUsM8OTpLx6kUdhrcXdmjOA7+jz55bxzpadUkRGtnRJM+L6t/kUuSNvnW8WcuQ7L+YwKGEw84eYKl4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753834894; 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=on+u6bbfdDUn5A5FUn0dghBlt7iCztcjK2d6O8nRN8Y=; b=BIFF62PpM0xC/3Y35SKuzjBXnXMVHehn4jmUlK5ovDEhMautZ4OU2jLOU+8ypxOsmvoLkzjZu6T2HGbaGJZuCvWALtz7nxli8v8WOjg6rAcLUmm7VbeFijHCCkxrsQUW4SnPF/ThT5XEETB/lw96Zh7RACVVg3PVFz0I4xr4fBE= 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 1753834894162983.7631653967294; Tue, 29 Jul 2025 17:21:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguVA-00012b-E5; Tue, 29 Jul 2025 20:17:00 -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 1uguFT-0001yY-8y for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:47 -0400 Received: from mail-pf1-x436.google.com ([2607:f8b0:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguFR-000451-1j for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:46 -0400 Received: by mail-pf1-x436.google.com with SMTP id d2e1a72fcca58-7425bd5a83aso5931189b3a.0 for ; Tue, 29 Jul 2025 17:00:44 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.42 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833643; x=1754438443; 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=on+u6bbfdDUn5A5FUn0dghBlt7iCztcjK2d6O8nRN8Y=; b=n20YEh4V8otwgNYIuv1T65D91MAP0YJ5pEoz1cx25lYGvynCRLIUVbtPvjyC5eEgh6 jgUPCV8Fqi1yNPTolkglmrpldRgQtEMCMxK8zoutgN89wobO2JCKt5iFsJP2K/HEv283 l6JzoEf8GLZ4D+dLrdWz2aGqG2wipLydNtSM9XWHzUDXrXOQIObxxkWLq7RURm9/YG2I WXX2inDbuvZQcj8oQZgCEo/R9STZaxlREbPye8vISDdzm+MUtPFofKoC1tWeUPZAafNZ mtsCaTUcmNxFJCm7td0hYHvp/VJPBuh2reCJsemaC5Ol2a+TK3cFIgpaHXViAwWyHoe6 cP1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833643; x=1754438443; 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=on+u6bbfdDUn5A5FUn0dghBlt7iCztcjK2d6O8nRN8Y=; b=cikaahxR6HELzoojgB3LmjW30ngyWN5Y9ZS5OhBh6PbF2kjII2sveyE/Zzmw4VmW2v hmQD8BkQQdtz0dvjAjFelfeetFbDypTABo1Ye+RDV2Re6as62MG9SIT5mv5+kpU8mQxN j2gCnW8EgvBKEBNWw6WSlKSMiTRQ0hIzzujpzGXRY1HVsQZLP91GtUizT/qDw+7RCdc5 W6ZwWobd9sb1FLo2wpJvNViRGS4nth10qPYxPIOuysDNhUQU4t1kQNrjkhkyiKf0RDau oI9nxtyLDQ600Jap8v7j7mMOlD4z0z+GEcpbrGzxOqkHTdUfmGOkFNO/PqdJGolMhGqd 1UcA== X-Gm-Message-State: AOJu0YzlPh03wVSKJe3o+vWMFFxOCEWRtuGMS+0LYPYvZE+OIdXA5jiS x/4v+cwnfaU+KcISqTk8ykNm5DqDiDgv7w+s+3r6RaW74/CxeMQaSbmNF6GgaacnBO2EBfMVmAd lDKda X-Gm-Gg: ASbGncsFlIUyk/90R3puY80OOU0GztdXvcfTSJ+W+C45gyeH36hD0c+S6Gv/wcazfug ATecGz0464vwt8vPnJUqtsoH7AOpiC1zCDS2vL64XQRbcDH+Rd8LdEmFYVuPdjWNNCUHHLCcuMR ic2lACS2TgnL/kP6uimJiJeOwv4i+EiGiP6NAJ+GXnZwlWjZjj3H4MH+xt8j9PLYCJD5jg3Rqcc AyxZ06juqBZBUXHfKltU0J/jLIJXUCDj2QsKxKpOTD/K+KW+Dm/IvCAsenjPmat6TFxnia1MLRO rg2L77b/ibcjPkM+h0ckFtLLmmhd634P8dOaJKR3Q90zn942yF5fmTUBEQhH52TYyeUZevsEvJb pLDlVTIlNo6xJAeW4jHA06Go3UFJsSiP39q2+wNyCFt6DBekHoofRgUsE+C8KCTRmqivSI4tc2Y H+ozM0ryiwpQ== X-Google-Smtp-Source: AGHT+IE26bR/Ngf47YizVbSoWj3SndTUfvGNOqDe4x52VcVaFshf2f/uCQ/CKQyEgaOjQKLR+eTRhw== X-Received: by 2002:a05:6a00:b88:b0:74e:a9c0:9b5c with SMTP id d2e1a72fcca58-76ab293839fmr2123216b3a.13.1753833643276; Tue, 29 Jul 2025 17:00:43 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 24/89] linux-user/arm: Create init_main_thread Date: Tue, 29 Jul 2025 13:58:57 -1000 Message-ID: <20250730000003.599084-25-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::436; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x436.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: 1753834895735116600 Content-Type: text/plain; charset="utf-8" Merge init_thread and target_cpu_copy_regs. There's no point going through a target_pt_regs intermediate. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/arm/cpu_loop.c | 53 ++++++++++++++++++++++++++++++++------- linux-user/elfload.c | 41 +----------------------------- 2 files changed, 45 insertions(+), 49 deletions(-) diff --git a/linux-user/arm/cpu_loop.c b/linux-user/arm/cpu_loop.c index 1f3bb96484..8974b35e8d 100644 --- a/linux-user/arm/cpu_loop.c +++ b/linux-user/arm/cpu_loop.c @@ -480,19 +480,54 @@ void cpu_loop(CPUARMState *env) } } =20 -void target_cpu_copy_regs(CPUArchState *env, target_pt_regs *regs) +void init_main_thread(CPUState *cs, struct image_info *info) { - cpsr_write(env, regs->uregs[16], CPSR_USER | CPSR_EXEC, - CPSRWriteByInstr); - for (int i =3D 0; i < 16; i++) { - env->regs[i] =3D regs->uregs[i]; + CPUARMState *env =3D cpu_env(cs); + abi_ptr stack =3D info->start_stack; + abi_ptr entry =3D info->entry; + + cpsr_write(env, ARM_CPU_MODE_USR | (entry & 1 ? CPSR_T : 0), + CPSR_USER | CPSR_EXEC, CPSRWriteByInstr); + + env->regs[15] =3D entry & 0xfffffffe; + env->regs[13] =3D stack; + + /* FIXME - what to for failure of get_user()? */ + /* FIXME - a modern kernel does not do this? */ + get_user_ual(env->regs[2], stack + 8); /* envp */ + get_user_ual(env->regs[1], stack + 4); /* envp */ + + /* + * Per the SVR4 ABI, r0 contains a pointer to a function to be + * registered with atexit. A value of 0 means we have no such handler. + */ + env->regs[0] =3D 0; + + /* For uClinux PIC binaries. */ + /* XXX: Linux does this only on ARM with no MMU (do we care ?) */ + env->regs[10] =3D info->start_data; + + /* Support ARM FDPIC. */ + if (info_is_fdpic(info)) { + /* + * As described in the ABI document, r7 points to the loadmap info + * prepared by the kernel. If an interpreter is needed, r8 points + * to the interpreter loadmap and r9 points to the interpreter + * PT_DYNAMIC info. If no interpreter is needed, r8 is zero, and + * r9 points to the main program PT_DYNAMIC info. + */ + env->regs[7] =3D info->loadmap_addr; + if (info->interpreter_loadmap_addr) { + /* Executable is dynamically loaded. */ + env->regs[8] =3D info->interpreter_loadmap_addr; + env->regs[9] =3D info->interpreter_pt_dynamic_addr; + } else { + env->regs[8] =3D 0; + env->regs[9] =3D info->pt_dynamic_addr; + } } =20 if (TARGET_BIG_ENDIAN) { - CPUState *cpu =3D env_cpu(env); - TaskState *ts =3D get_task_state(cpu); - struct image_info *info =3D ts->info; - /* Enable BE8. */ if (EF_ARM_EABI_VERSION(info->elf_flags) >=3D EF_ARM_EABI_VER4 && (info->elf_flags & EF_ARM_BE8)) { diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 553d632d46..a9a1d7222a 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -299,46 +299,7 @@ static void elf_core_copy_regs(target_elf_gregset_t *r= egs, const CPUX86State *en #define ELF_CLASS ELFCLASS32 #define EXSTACK_DEFAULT true =20 -static inline void init_thread(struct target_pt_regs *regs, - struct image_info *infop) -{ - abi_long stack =3D infop->start_stack; - memset(regs, 0, sizeof(*regs)); - - regs->uregs[16] =3D ARM_CPU_MODE_USR; - if (infop->entry & 1) { - regs->uregs[16] |=3D CPSR_T; - } - regs->uregs[15] =3D infop->entry & 0xfffffffe; - regs->uregs[13] =3D infop->start_stack; - /* FIXME - what to for failure of get_user()? */ - get_user_ual(regs->uregs[2], stack + 8); /* envp */ - get_user_ual(regs->uregs[1], stack + 4); /* envp */ - /* XXX: it seems that r0 is zeroed after ! */ - regs->uregs[0] =3D 0; - /* For uClinux PIC binaries. */ - /* XXX: Linux does this only on ARM with no MMU (do we care ?) */ - regs->uregs[10] =3D infop->start_data; - - /* Support ARM FDPIC. */ - if (info_is_fdpic(infop)) { - /* As described in the ABI document, r7 points to the loadmap info - * prepared by the kernel. If an interpreter is needed, r8 points - * to the interpreter loadmap and r9 points to the interpreter - * PT_DYNAMIC info. If no interpreter is needed, r8 is zero, and - * r9 points to the main program PT_DYNAMIC info. - */ - regs->uregs[7] =3D infop->loadmap_addr; - if (infop->interpreter_loadmap_addr) { - /* Executable is dynamically loaded. */ - regs->uregs[8] =3D infop->interpreter_loadmap_addr; - regs->uregs[9] =3D infop->interpreter_pt_dynamic_addr; - } else { - regs->uregs[8] =3D 0; - regs->uregs[9] =3D infop->pt_dynamic_addr; - } - } -} +#define HAVE_INIT_MAIN_THREAD =20 #define ELF_NREG 18 typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835075; cv=none; d=zohomail.com; s=zohoarc; b=RBZEM0UcGI8G44wGT8tLB0ClOLZjqi9shKV+DjI8jUedr+ED1jPfFMEr8k/ZKFozPEfNF0BQbXBGpSLw5wVdnCJndNiQBOqnqqx25bkYlKYTKgX+tzy4XNRoBz2AnwmgyQVplVtSLFjw57bAj39+G8e5QEMPvFjf23zljI5vUqc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835075; 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=hQ1MYaLkxKnpaVxmxRBfo1krfJS0j3tvMJ/7oAKawiE=; b=RwAGGCcrwpyJcJrO1fGfpeFHzw2/y5HtwW7G8hRV222GV2LOG6ehEPQZRv8uE0Yre/kvAJ3oJbz7BCkTPU0zIT9xsJyEKyO04CjlluRxWvgYOOkUTVkfw+H+0D3+rdacicqEbC9py/KoBmhX6pi/1d1+yEr/stcvPkUWF4V/RAw= 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 1753835075307200.4192715823276; Tue, 29 Jul 2025 17:24:35 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguVY-0002J3-8h; Tue, 29 Jul 2025 20:17: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 1uguFX-00022v-9g for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:01:08 -0400 Received: from mail-pf1-x436.google.com ([2607:f8b0:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguFT-00045P-AS for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:50 -0400 Received: by mail-pf1-x436.google.com with SMTP id d2e1a72fcca58-7600271f3e9so396319b3a.0 for ; Tue, 29 Jul 2025 17:00:46 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.43 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833645; x=1754438445; 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=hQ1MYaLkxKnpaVxmxRBfo1krfJS0j3tvMJ/7oAKawiE=; b=ZlX61rqmKHV+tts3a7vyViOb29x4tuTtmJkC7uGq9OMirbAPnx5LZHLSMcFIAQtnvy 9dTv4o7T2215xP7REWH1UW1cCtL5gzEReYgbMkI5vXiKEytVXGcT5J8BoQtkA5O/pm04 8aIyuRlGmzlcJ3Q2qmBVpYJPspkp55PaWKZZ6OIYJpIer7sQX8viF3nNYjKp0diDIgVe D6dFh5icawL/1PtfszYrv9ggv9bcuhECLLUcSxBASftIg5+EpRsLVax5THAPYxtUi3bX I+KuZ4GsIPw1khcudplcAcYqyzbB1wQqeJBJN2WOmuNaP+XcA3/IT4oPoVWCC46LpME8 Cs5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833646; x=1754438446; 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=hQ1MYaLkxKnpaVxmxRBfo1krfJS0j3tvMJ/7oAKawiE=; b=j3YKnZNSaOjkR2MyAjqKkF6zJ4/ugWdUVF0uek1wBV4C3Wk/IGNiTxtqL5XzpXFaCV 6F0y7LYWR7LJsLiFNZ0za1B18RcbSd88F8afErNiPV6cnGLeVDMNiefam/dWOqxdt6/e Trt6NtQdtgJwSBBz1gXk2mo+OIxupHN3o7a8cfjyH3WYL1/TwrCFqwUKoJyH0U2MwKLe 06t7tERCXHDa4KFnHA1ZlwhaGeikyi6+LIpvNO0fxZrpvCfnaUUzJ1zTGqOsaSywQIgY Z3uRfZMCcPy4qtAAuoDMwd88fhTy/YUi+ppWLNL28JXuZr9zGnNLHheEbjpg7x9uX2Ya UCoA== X-Gm-Message-State: AOJu0YxelGhlWbv0lih5QuqyJW6WkL46WDdJ+a9W3QdtigPQJyhMrJcb 1IxJtppoz4VwzlTqUba1VJQAZV4bIy97hyBkfkOaeEnfEU0C+4wepeHI0G6hfaMVtb0jTSgDOhi EyASj X-Gm-Gg: ASbGncu/FqQHflRRZ5iQXRnbg9wLMQ121ZUP90vD5wcPGkMWAgCnPpDv0yVm2LHI4cU U3me5BUYKDUJjynWnOxnDVrvy9Z474rWatofyllrJ8A7GoaLskBnXoqHnNEBc+T0nKMXsKcacRG JtLJyU766ZohDCndb61ejbt70YhnNHfrIYa5gpeHdG03vq9tVACN4OVeH7UkIRfcO+/G4zlGMRQ h4zhPeVE5DjlI9KtEXr6NcB6PqQGB2RM99JyYEmD5j3epAUyXK6eqSxT4nb37qqEr9g/Kp3GTQh cKSYjyLFxjagkCRXyJ+v7ovrArdAMwhh0TFk+nt98e6r7dTDAjxn1xTffpg3S1DnNSE9+deXdoR hpMipdDAFUNGvobn0A8IeVhm+Q/0sqQFNpaqwlkc7ExMDXDg73bwL4H8FDrNXbWMGNsp8yKFV9l HQOIpbQfErqg== X-Google-Smtp-Source: AGHT+IF553ztk568SX07F6B+uh6Kx1QIiodwfW2YcYk3Oa6aZze0l0108mJmFsCoPv6gTqzyj9jUJg== X-Received: by 2002:a05:6a00:9290:b0:73b:ac3d:9d6b with SMTP id d2e1a72fcca58-76ab68551e6mr1881821b3a.4.1753833644539; Tue, 29 Jul 2025 17:00:44 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 25/89] linux-user/aarch64: Create init_main_thread Date: Tue, 29 Jul 2025 13:58:58 -1000 Message-ID: <20250730000003.599084-26-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::436; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x436.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: 1753835077051116600 Content-Type: text/plain; charset="utf-8" Merge init_thread and target_cpu_copy_regs. There's no point going through a target_pt_regs intermediate. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/aarch64/cpu_loop.c | 14 ++++++-------- linux-user/elfload.c | 10 +--------- 2 files changed, 7 insertions(+), 17 deletions(-) diff --git a/linux-user/aarch64/cpu_loop.c b/linux-user/aarch64/cpu_loop.c index 030a630c93..4c4921152e 100644 --- a/linux-user/aarch64/cpu_loop.c +++ b/linux-user/aarch64/cpu_loop.c @@ -137,10 +137,10 @@ void cpu_loop(CPUARMState *env) } } =20 -void target_cpu_copy_regs(CPUArchState *env, target_pt_regs *regs) +void init_main_thread(CPUState *cs, struct image_info *info) { + CPUARMState *env =3D cpu_env(cs); ARMCPU *cpu =3D env_archcpu(env); - int i; =20 if (!(arm_feature(env, ARM_FEATURE_AARCH64))) { fprintf(stderr, @@ -148,14 +148,12 @@ void target_cpu_copy_regs(CPUArchState *env, target_p= t_regs *regs) exit(EXIT_FAILURE); } =20 - for (i =3D 0; i < 31; i++) { - env->xregs[i] =3D regs->regs[i]; - } - env->pc =3D regs->pc; - env->xregs[31] =3D regs->sp; + env->pc =3D info->entry & ~0x3ULL; + env->xregs[31] =3D info->start_stack; + #if TARGET_BIG_ENDIAN env->cp15.sctlr_el[1] |=3D SCTLR_E0E; - for (i =3D 1; i < 4; ++i) { + for (int i =3D 1; i < 4; ++i) { env->cp15.sctlr_el[i] |=3D SCTLR_EE; } arm_rebuild_hflags(env); diff --git a/linux-user/elfload.c b/linux-user/elfload.c index a9a1d7222a..0fe15eab72 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -401,15 +401,7 @@ static const VdsoImageInfo *vdso_image_info(uint32_t e= lf_flags) #define ELF_ARCH EM_AARCH64 #define ELF_CLASS ELFCLASS64 =20 -static inline void init_thread(struct target_pt_regs *regs, - struct image_info *infop) -{ - abi_long stack =3D infop->start_stack; - memset(regs, 0, sizeof(*regs)); - - regs->pc =3D infop->entry & ~0x3ULL; - regs->sp =3D stack; -} +#define HAVE_INIT_MAIN_THREAD =20 #define ELF_NREG 34 typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753834899; cv=none; d=zohomail.com; s=zohoarc; b=UcDM2+zAvR/ViDRpgFp3aRXlXQ9df7SAWgmSq7X55qOZRHd1hsgczeyLix9LtyUfdamQXZLurHw8jw7h8heenwrxcBAqt3MCwu97GC7P6noj4kdf/x33xHYg5x98E1qogfoAmsKQAkH0RHdmIoQ+tSsbufSn04+p32MZbI2GsgU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753834899; 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=m3TKvtNCAbmQS4pWul7R/CGLmanhLFQUfGy9U0VZ13s=; b=kg7rBc59bybzO/M5ir+LY6Waof41uY0KRNfA+Otz+eXACr6THiSwhQi63rBRLgT9hvrBzyFlPB0RxGoUnVQ/uvZJJA9KqF3jBXd8zbZ2WfjRcuIoui85hHWjBpAGVs2dCjHXWyHPgU6XHfRneij8/dnkEgLE2QbEWGUxD3nJHDs= 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 1753834899649365.0595215341227; Tue, 29 Jul 2025 17:21:39 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguTQ-0005Jw-N0; Tue, 29 Jul 2025 20:15:13 -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 1uguFa-00023z-VH for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:01:08 -0400 Received: from mail-pf1-x42f.google.com ([2607:f8b0:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguFV-00045n-6r for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:52 -0400 Received: by mail-pf1-x42f.google.com with SMTP id d2e1a72fcca58-74b52bf417cso4194317b3a.0 for ; Tue, 29 Jul 2025 17:00:47 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.45 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833647; x=1754438447; 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=m3TKvtNCAbmQS4pWul7R/CGLmanhLFQUfGy9U0VZ13s=; b=g176N5YmZgSPtTGYj/7XXbUMDFW8GcQy+RyKmFVkwY/b47ZlisAASX4O/TQM6yOM2e anT3Xzaj9v3owd+pfZM90sp39oRvhTXoHgqgW8VyDcWDr8tdvwuGUe0f0dqKUIJ62Yvx dS8gR+03nNCx4jQLKkWm80d4FlDZVn+SukWmIW9YeYzVuwXmumRTRhGKp97VEiWgTT4R eYfY7ELCpU7tmRyuFndBLwpofdsP4VJ+5Ll5RmVSDx+dO9qrNMRGM+9JCsrf1XHEMHFd FQU5fz7wgho1geR4woankddVd7SBs38tk6+GrpPlj854g6L1vVBtyL6/oZFDmF+ghFEu bRmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833647; x=1754438447; 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=m3TKvtNCAbmQS4pWul7R/CGLmanhLFQUfGy9U0VZ13s=; b=K+zJ+MDQxbtbs0Cx90UZDRH8t24mbMDIQsHXJCTvGPqexJGUVR5eZfEt6179Kx0OAG ZRXAuENrveuCV64umsapBP+Ypdo75Eob36rUS2FdwAqSvRIDUOpcONVRCa3SIXniN+j0 Pz+PbnYRk9j6g4GQhkdNOalhJno/hJIjAcbSYQkAQZ3CTCkP8zlaTSVytvwfPIhKdOOs Tozm8mq3hksZl/4Q+ZwxkBtKMkAxUjeEY/jMrmCaYO3UZIfYG9e8a+cfDsfItWWbg2Rl rA1BIKCCYL2JixpEsA+LmlM+CYPGAWUeDbYtUNCty/EEOaqOpUiYnOoYQ6L0vdJTVb4I o2cg== X-Gm-Message-State: AOJu0YxLLsoAsjG4kK3OVgNg1iAQoEQ/yeXsVYI7GeFMgFSUOl+6kOrw GUSntmy53TTZGRoRflehnQomJrthPDPA4QkeKMo1HDm1K/f7VUPAck5DAQc/9W6y4vKwn/6W17C BlCcY X-Gm-Gg: ASbGnctufJ8nRw73W6DREfrhUfh6g+2tx5ishp9rBNxmxe5ZCNxHQojDyFilnqkcDcP O96sq7HnVdtqnSydM0EmQBL2SyxyNP+zzOdX8ftUD/esg188VQMNdGWMLLYD5glafaQdeFCOoqX LM40/0lFwDgOJpeRfAvAL2C8FUl4ufVkL+rvhdpgamc+VKcP446vFvSxBGPhixpagrmeT2DqBm2 oL5ewDhT/mDYT7eAnUvHJ9g6Pdv0j8sl1Oe7K+d+rdbCv3x3zYqGFm4apelWHfWyyD6Ylb0C+H6 ibNPIvLqqP4VNA0p0nY5LP91sMI3nOizoQXMyzOijVJIe6Mw8ztp1zgTJ9kPVAkUFLg/NrKTBtd bwnnuPUnS8kJ0HTNeXt5db2uxqeqEL7yFQAwrh9Rq9h9VBjK3hebPWPyn58pZvQegIS+H35LQPf 58GY6aPmwNMA== X-Google-Smtp-Source: AGHT+IF/gvNp5ZQyePdJdYzcFTP0+bZkJiWPj1BVsV0J04Mtp+mq/ujf69LCTkxv87LuJQcqwtXXdA== X-Received: by 2002:a05:6a20:958e:b0:23d:9fd5:9231 with SMTP id adf61e73a8af0-23dc10de968mr2060859637.46.1753833646030; Tue, 29 Jul 2025 17:00:46 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 26/89] linux-user/sparc: Create init_main_thread Date: Tue, 29 Jul 2025 13:58:59 -1000 Message-ID: <20250730000003.599084-27-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::42f; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42f.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: 1753834901737116600 Content-Type: text/plain; charset="utf-8" Merge init_thread and target_cpu_copy_regs. There's no point going through a target_pt_regs intermediate. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 12 ++---------- linux-user/sparc/cpu_loop.c | 16 +++++++--------- 2 files changed, 9 insertions(+), 19 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 0fe15eab72..07f02378ad 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -444,16 +444,8 @@ static void elf_core_copy_regs(target_elf_gregset_t *r= egs, # define ELF_ARCH EM_SPARCV9 #endif =20 -static inline void init_thread(struct target_pt_regs *regs, - struct image_info *infop) -{ - /* Note that target_cpu_copy_regs does not read psr/tstate. */ - regs->pc =3D infop->entry; - regs->npc =3D regs->pc + 4; - regs->y =3D 0; - regs->u_regs[14] =3D (infop->start_stack - 16 * sizeof(abi_ulong) - - TARGET_STACK_BIAS); -} +#define HAVE_INIT_MAIN_THREAD + #endif /* TARGET_SPARC */ =20 #ifdef TARGET_PPC diff --git a/linux-user/sparc/cpu_loop.c b/linux-user/sparc/cpu_loop.c index 68f1e8ecd4..7d30cd1ff2 100644 --- a/linux-user/sparc/cpu_loop.c +++ b/linux-user/sparc/cpu_loop.c @@ -357,14 +357,12 @@ void cpu_loop (CPUSPARCState *env) } } =20 -void target_cpu_copy_regs(CPUArchState *env, target_pt_regs *regs) +void init_main_thread(CPUState *cs, struct image_info *info) { - int i; - env->pc =3D regs->pc; - env->npc =3D regs->npc; - env->y =3D regs->y; - for(i =3D 0; i < 8; i++) - env->gregs[i] =3D regs->u_regs[i]; - for(i =3D 0; i < 8; i++) - env->regwptr[i] =3D regs->u_regs[i + 8]; + CPUArchState *env =3D cpu_env(cs); + + env->pc =3D info->entry; + env->npc =3D env->pc + 4; + env->regwptr[WREG_SP] =3D (info->start_stack - 16 * sizeof(abi_ulong) + - TARGET_STACK_BIAS); } --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753834828; cv=none; d=zohomail.com; s=zohoarc; b=TQF7EhB9JmpyKUNk2OpDrCq98Lq2TKIlBDpHmyPCw7ZDgANvh1r3NARH4K4poP4+6Gk0GPyKy5McSw2JnyqBjyvqUlYDx3XBWwJVY86Kn2I9ZLoLcFaQzG6jvkyCJofzAnjY8zccITTQ46AILT7iZa3LnujrkEq/AkSJaS5wtFo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753834828; 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=CADeaL3DI6HVsbELxc9JEssLR4ovDMED3rp4rPvNRf8=; b=BaOdZtvq5dz7WnqLjSkO6NxsFxKRJ7Jq+4f+uv44BT0dsVtMSTBHd8yTAPPyXdVaU9APU0jiJFyJkWob1MS9dNXf7RnGtsxLerZL/qb2A1ZSLX66vaHHv958ana6hI3ycY4lBUIkxKXpqkvko3jkPUF19JRXoAd0WII47Q+I/OI= 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 1753834828484674.4789967453044; Tue, 29 Jul 2025 17:20:28 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguTC-0004ct-N3; Tue, 29 Jul 2025 20:15:01 -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 1uguFa-00023y-UM for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:01:08 -0400 Received: from mail-pf1-x434.google.com ([2607:f8b0:4864:20::434]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguFV-00045u-9f for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:52 -0400 Received: by mail-pf1-x434.google.com with SMTP id d2e1a72fcca58-74b52bf417cso4194333b3a.0 for ; Tue, 29 Jul 2025 17:00:48 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.46 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833648; x=1754438448; 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=CADeaL3DI6HVsbELxc9JEssLR4ovDMED3rp4rPvNRf8=; b=BnejvlEfIbr/o0cdCsD/VlNhzwVMTFo4wSWahNRPvF/7OojHQvq3AZW6MyVv8I7ali OcBadhBDSycKNdVvtuWcdwBReN4MWa/fUGjf5ByvQmsnjPThmg78iu374IYGq5Eg63cf ANnFaXLqtQFLoowA5P4Ik4V0R5sNmT0+fPFHvd3ROR9GA/comf6N7pI6xmgJaGnfhbAe Rtha7e8BgR5F8kdFrfIWuwUR107b34SthO5SM9d7P3ume/mWcV6Vyv8lCpH8uz9izXdX 1KKG7eqCTXyqQF9U9wGpsAMbSLs0gtZj8VSLO1GxJlYncXGWDjY3PUSGgPwLI3fgzjqZ oulA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833648; x=1754438448; 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=CADeaL3DI6HVsbELxc9JEssLR4ovDMED3rp4rPvNRf8=; b=vyiuoL0Ua2zLfw3NxGSWRPd1LVVByJrO+HnqFSJqpkUbgsrvOxzb90GmEOWREcHux7 IuiLydqjyWHOIyW0up+VXtfyn3Hl5N/rLUHKu3+QEM7zMXNG3QNBv4njeCc6HQkP7GAk n3RaQzugXyDxx9EsrRonmPjPdgFo86VXx5p5L0yZBEwrK/8RiBzWARYszCkrhIAMg0iz 21RWS0BtQarvS0R1mXLbMgTXqq6fQ/0v5sDcb+BkzyfCz+r5VG5czPcppPT+3q7pB8cM 3gvLkJj/ty8Z9t7NSwKi2XFeVfDLl/8g8xDRjZQHqu4M1+tkJbgKIKfvMDY/SjOHaF8b joYA== X-Gm-Message-State: AOJu0YztaVieGuO9T96DrveYEwBcAr/EKTjmQahlUgq7n0hyB+ZCKac+ 0SZWBeeV3ueTBWY2hSVUMtNhuuUMlV/nXn+rpLCLJQWGLEgIzZEX8HNtNtCuEix8NlIhTYY5+ai 0FYV2 X-Gm-Gg: ASbGnctujF+KOV/zB9fgjizt4OGYWXsktD+n2W3xHK8zrsisc0DSn1AS5zh6P27gVJR jzeHHYutw+YdROnBaehbQJeVUg/N5QRXN1BXvUzQU1S+pqldabjlDaa4OXVQSC2E57lDgUyEhAi +KPDgHMMyyWGX2GzoXY0MKDvyxRpnR/CziI3nMGiFD1/20tJihsURAfmcmt4LirL4hoLosDsncS 2Mn7wsZpt5/Dol9aQAJ7hDGzfqcPk6dA+SHVraHQOMfAEqXFgZwYGydFTunfvrKbITlLsLf1jTN 3yzbyu6Hr7tY5pYtM5vnm+60b4BnZWj/QiAyFxSBFEW1TQnRpKqqW9/u9BFc5LBPQvXXnyLHzWx CsOwNYHwcsQ6whgIJtLbiZkBOPjOuz0wGWwORp2SlOPhue7o3736TfaGao+mlY0kgWRHlVfoE4M YqG9KNhb2WmQ== X-Google-Smtp-Source: AGHT+IE1R7b+hsnzGWpUNyZoF/OdcWJJAA1SBA9x6J0MssMYEtC8R/QMt7W0dCd9FfH2/nFWX1eD2w== X-Received: by 2002:a05:6a00:2e17:b0:736:51ab:7aed with SMTP id d2e1a72fcca58-76ab2e55d58mr1828105b3a.16.1753833647565; Tue, 29 Jul 2025 17:00:47 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 27/89] linux-user/ppc: Create init_main_thread Date: Tue, 29 Jul 2025 13:59:00 -1000 Message-ID: <20250730000003.599084-28-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::434; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x434.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: 1753834829247116600 Content-Type: text/plain; charset="utf-8" Merge init_thread and target_cpu_copy_regs. There's no point going through a target_pt_regs intermediate. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 17 +---------------- linux-user/ppc/cpu_loop.c | 26 ++++++++++++++++++-------- 2 files changed, 19 insertions(+), 24 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 07f02378ad..00a3f6d33d 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -491,22 +491,7 @@ static void elf_core_copy_regs(target_elf_gregset_t *r= egs, NEW_AUX_ENT(AT_UCACHEBSIZE, 0); \ } while (0) =20 -static inline void init_thread(struct target_pt_regs *_regs, struct image_= info *infop) -{ - _regs->gpr[1] =3D infop->start_stack; -#if defined(TARGET_PPC64) - if (get_ppc64_abi(infop) < 2) { - uint64_t val; - get_user_u64(val, infop->entry + 8); - _regs->gpr[2] =3D val + infop->load_bias; - get_user_u64(val, infop->entry); - infop->entry =3D val + infop->load_bias; - } else { - _regs->gpr[12] =3D infop->entry; /* r12 set to global entry addre= ss */ - } -#endif - _regs->nip =3D infop->entry; -} +#define HAVE_INIT_MAIN_THREAD =20 /* See linux kernel: arch/powerpc/include/asm/elf.h. */ #define ELF_NREG 48 diff --git a/linux-user/ppc/cpu_loop.c b/linux-user/ppc/cpu_loop.c index 2a0efaffcd..22885ffd90 100644 --- a/linux-user/ppc/cpu_loop.c +++ b/linux-user/ppc/cpu_loop.c @@ -378,21 +378,31 @@ void cpu_loop(CPUPPCState *env) } } =20 -void target_cpu_copy_regs(CPUArchState *env, target_pt_regs *regs) +void init_main_thread(CPUState *cs, struct image_info *info) { - int i; + CPUArchState *env =3D cpu_env(cs); + abi_ptr entry =3D info->entry; + + env->gpr[1] =3D info->start_stack; + +#ifdef TARGET_PPC64 + if (get_ppc64_abi(info) < 2) { + uint64_t val; + get_user_u64(val, entry + 8); + env->gpr[2] =3D val + info->load_bias; + get_user_u64(val, entry); + entry =3D val + info->load_bias; + } else { + env->gpr[12] =3D entry; /* r12 set to global entry address */ + } =20 -#if defined(TARGET_PPC64) int flag =3D (env->insns_flags2 & PPC2_BOOKE206) ? MSR_CM : MSR_SF; #if defined(TARGET_ABI32) ppc_store_msr(env, env->msr & ~((target_ulong)1 << flag)); #else ppc_store_msr(env, env->msr | (target_ulong)1 << flag); #endif -#endif +#endif /* TARGET_PPC64 */ =20 - env->nip =3D regs->nip; - for(i =3D 0; i < 32; i++) { - env->gpr[i] =3D regs->gpr[i]; - } + env->nip =3D entry; } --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835102; cv=none; d=zohomail.com; s=zohoarc; b=PTLLSTMqO/eDc9UzjwWUjklWz1yAKmfZILpqFWFPagvUDnyhjMbpNzXLeaApLmuOvMWSScPQhSUIm6VsN0Rs/Im5zRpEkPcJ51E6gXosGACYSVg5R24cgHuoVyNNTHDp4Zd/SyX1hIiozOBVWPDfLBYnyWNsVL1kecYqt2BXUmI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835102; 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=692glwQ3dEUiBEVYbOeZXS5dOVnpC03SFQntpFEIvtg=; b=P+fi4rWBv6tTj9b0vA/SecbNxPdr5AHaTeQLTuXdhvsWnro5y8H5tckMDX48KB3KRN5OH0NFvU1zc0L9MilG+kVgfd0OZC5ss95o6BrVHTxdKDpRLG8ACxY/6LjqBg0RMP5/mV4OywYwD5UcQDRVBZHXRZ6xvVXdP9Xg1a+wVwc= 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 1753835102258325.1092637402186; Tue, 29 Jul 2025 17:25:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguV7-0000ol-BQ; Tue, 29 Jul 2025 20:16:57 -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 1uguFa-000242-VA for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:01:09 -0400 Received: from mail-pf1-x42d.google.com ([2607:f8b0:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguFY-000463-1v for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:54 -0400 Received: by mail-pf1-x42d.google.com with SMTP id d2e1a72fcca58-74b27c1481bso215416b3a.2 for ; Tue, 29 Jul 2025 17:00:50 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.48 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833650; x=1754438450; 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=692glwQ3dEUiBEVYbOeZXS5dOVnpC03SFQntpFEIvtg=; b=Z0UFGLrMjm3rahj+u5XWAaoaHlPP7UtcEqsWYmUjsL3IpGxfCmGtobnV2twscXu4qS UI2ScMbqJIIpvAPXE6fCKziB1XDXue2fhurcjX4a4IYCNmMOG+3lb+sjCi4t1QIFcaTT Q/+QjXgD3nbdnoS4eEYDciMDgMiTcSH0s5VIsk5ypOiWkefWbJThSu3+HR8pPnw+dTuI vn/4klZg6e8oDEgbFce+0Byp4OR+VGtmbVl9ENnZOI64uxpLnzXmwMtu2dlk7mqJn/zm QvVPdu2MdBSsGBwQpfPgvcnrbotlHcG+yfl4qxmHdoEhneYqqIKxQJ7S4uPXBmYpBH+i kdiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833650; x=1754438450; 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=692glwQ3dEUiBEVYbOeZXS5dOVnpC03SFQntpFEIvtg=; b=BTh7Zu41D+EBR5dOuFT51JqoGXAKxa/DDEfhxFGTv0Tg7D+OTvPYx0sn8RQ3jVLheh gzLJS2HNN7kv3V9azFKdoQgA5aT5g4kJbzjjYOAk9CCPIL2l8MUqWAS8DYexI6VAKRmF z7hgYcWYhlIgNHMd8Y9ra/8u7gnV1tzzFtg7LAvAMp+6ZzYGY1/eHqNJ+yQ9/ov9qVWx VSJ4DbUCmnEZtI+TfFx1tDr/ZcecKydTGGchge9MRt+MvpYdM68EglmTWXashTmotj+5 NV2XP138ogBb/gDC9aLwKgm8VAyZ+XSe0icY0aqJ6pNhTjJKdE4HtwIh1Z8ECB2uv7Z8 Niyw== X-Gm-Message-State: AOJu0YwwQrLClrmrk/JPtEIfxTQvH+cdyk3tWerCemLZ9hOzGisSvNjV ZNIyv+70QDx5467yQ+I4Ps/7iYNmOBOCPwzUN2+yh/PoKJXNiOGtqPevRHFf7NwHOVbKz1ZItU3 cjDqb X-Gm-Gg: ASbGncsozJxB+cdveNuikgHyKAC2lqJBJP7oC3+Eh3go7JOv1SmLfpsbjQGij/SyfDN cXEVzuf19PQ3nStAiStB91IHqOGXBztktGLyTiPGoVo4+ZuPKKY5j/1WrZGa0uneDjhG6QqFRyZ egBZgEbMXKCFIwvGL58XhM9lNWuu0PgXAR/cXvpifUtMX4OGInStprQbTlLLjABWPsuLCIBRJhg Mt7SwLeih49hiVSVDQiC2wkhX+OWph4voQhHUmaHjnK4e2ATO+pWKZBezeSqtU6veWVQW5B0hrS l3otUBp+tvtletJdBl4AtTVEDb/sCUgLQrCVl0mDAaLdjHGBnI1u0OU7kwFqQ0wGTcvM9WOps4y 4plTkYEhiQ3xlrpchXbaJWLnAiox+HVH2+0VCZezFNgI8lq2tS/6RapWd8zTRX1XjAM+JfoI/WH 3jDWQzjlUzzg== X-Google-Smtp-Source: AGHT+IG+NWxPUzrj6CHeHjNPx+KD4W4fPJgp8Wsn9DT2F3LWqVRYswdTMi8s35bM2OO1GGsutphFmA== X-Received: by 2002:a05:6a20:3d0b:b0:231:c295:136d with SMTP id adf61e73a8af0-23dc0d3eba5mr2024211637.14.1753833649548; Tue, 29 Jul 2025 17:00:49 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 28/89] linux-user/loongarch64: Create init_main_thread Date: Tue, 29 Jul 2025 13:59:01 -1000 Message-ID: <20250730000003.599084-29-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::42d; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42d.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: 1753835103374116600 Content-Type: text/plain; charset="utf-8" Merge init_thread and target_cpu_copy_regs. There's no point going through a target_pt_regs intermediate. Note that init_thread had set crmd in target_pt_regs, but target_cpu_copy_regs did not copy to env. This turns out to be ok because loongarch_cpu_reset_hold initializes CRMD properly. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 9 +-------- linux-user/loongarch64/cpu_loop.c | 11 ++++------- 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 00a3f6d33d..4095f7615d 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -539,14 +539,7 @@ static void elf_core_copy_regs(target_elf_gregset_t *r= egs, const CPUPPCState *en =20 #define VDSO_HEADER "vdso.c.inc" =20 -static inline void init_thread(struct target_pt_regs *regs, - struct image_info *infop) -{ - /*Set crmd PG,DA =3D 1,0 */ - regs->csr.crmd =3D 2 << 3; - regs->csr.era =3D infop->entry; - regs->regs[3] =3D infop->start_stack; -} +#define HAVE_INIT_MAIN_THREAD =20 /* See linux kernel: arch/loongarch/include/asm/elf.h */ #define ELF_NREG 45 diff --git a/linux-user/loongarch64/cpu_loop.c b/linux-user/loongarch64/cpu= _loop.c index ec8a06c88c..a0a4cbb7cc 100644 --- a/linux-user/loongarch64/cpu_loop.c +++ b/linux-user/loongarch64/cpu_loop.c @@ -120,13 +120,10 @@ void cpu_loop(CPULoongArchState *env) } } =20 -void target_cpu_copy_regs(CPUArchState *env, target_pt_regs *regs) +void init_main_thread(CPUState *cs, struct image_info *info) { - int i; - - for (i =3D 0; i < 32; i++) { - env->gpr[i] =3D regs->regs[i]; - } - env->pc =3D regs->csr.era; + CPUArchState *env =3D cpu_env(cs); =20 + env->pc =3D info->entry; + env->gpr[3] =3D info->start_stack; } --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835903; cv=none; d=zohomail.com; s=zohoarc; b=iDYNAiwvQbgdSM3SLzLJn3n7WmlESktNjcgFj+Oh6apL2lVlYstv2VGtbDzVaTphkAHhD3ceN1FoPAEKq/rgITgSd1dQfx1eZ8Ka0Vpsmn3u8N6pkbhNsOfU4GRGgdCO4CDIZ/iurK1GoLpWFOk4hREjeOoH8VT+o+bRvzyjCFY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835903; 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=vwXX72bT0hdUpN/EvIn1LJHfScPNRgxUHXGHlv+hV9I=; b=ZCd0rdp1RbvzWAiJiBkwXAZ61lWsg0lVq5UWLni7T12ko5wUBUMRvkD3VMkKiKKY9nm5nk7NbiQEQ57Wu5HRJFcPtj90AHZaD9kcBvuyJEi0CVLm3Desf05QVkj8v2/L42VNdK15rDAyQ6pNvLkTdSnV8hWyfdjklNJBpoRfjkE= 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 1753835903256720.185041870729; Tue, 29 Jul 2025 17:38:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguV3-0000XG-V7; Tue, 29 Jul 2025 20:16:54 -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 1uguFg-000251-Pt for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:01:10 -0400 Received: from mail-pg1-x52d.google.com ([2607:f8b0:4864:20::52d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguFa-00046E-Ng for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:58 -0400 Received: by mail-pg1-x52d.google.com with SMTP id 41be03b00d2f7-b3507b63c6fso6542273a12.2 for ; Tue, 29 Jul 2025 17:00:52 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.49 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833651; x=1754438451; 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=vwXX72bT0hdUpN/EvIn1LJHfScPNRgxUHXGHlv+hV9I=; b=cRrDNtXXnbv96WHrebHetvV7Yb4Qedp24tQG+PPqoq7vBUCLJCYfMTw5lUXjtSmXaK URNV1rMTQSiQtLkxAd6egH3RUBlCXGLLtt2dldR9eMpr6nYbbMjcBZYcd4xEEaSCQ4be 0J8xoEspNLwoRfk3kgPX679bmCx7ENyLcynTbIQUuYpcvoPV1udbMXUKMi28KuqZOzDb sBbylDcXF8lCY+Vg6oTl4M+4UGsPBGi7r4fzPVGz9Jolfnwkg6dTsdrWP9pdGZQoVV6L Ed5lI8QDRdYUW5RBkXhFimr5y3zSf1E7iJkrgPCHdW+LwWsiGVrayMDys24gMe5OVpPa gbWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833651; x=1754438451; 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=vwXX72bT0hdUpN/EvIn1LJHfScPNRgxUHXGHlv+hV9I=; b=P4rFVFEZbgUL/i7wRuCSsKrRobpL9TEvfFXCPUm/kCA1HVgkOJf46F0YcHGkmqeP8c D+od0Xx0tkO9db5hMr/6vfx8WVLdPEgmu+Th2ZuMbGXFto+sQuiyUiX4JyIKYoiCMK68 JAIqG6yN3Gij5eyR8EvynLqRY7zGcV0Y2Hw73V167XfkNtomJFJ4wvyMbZgyiE+n1KJG H4wflTi9QTLigtJUVNWhA5Dcx47w2K6Hck9LG3DYt1ol3mP0aY729SjGxki8OLkGUUGb g+ES8tEklzBIjDSp2blje3HZmVpFKjVyoKycmCridQ9ixtSrAb0/f9y0N+vSJAjPN//R h1RQ== X-Gm-Message-State: AOJu0YzUMmzGN6mHtcraiJINLJa+3mHSSCLsyGGu0XqzQgAsfG1D0I6D JPOg9OuBpmEGh2oJ17WdcfwVxUP/H/0fawMBBrWV6XoAwECwmUcCFMgb6oG4aiZfV/VArbh3Nva NoZrZ X-Gm-Gg: ASbGncvColyVFVc0h0TfqIpi783hFe4gXC+rF0alWT5bZVf55wYgr8xM4dbJZCy5N1Z QueQRxOJueBVi0pDYlk4cj+/1cZzi6Kc1qNvDKMA8TmWLtEwPk/EZG7CzGrgDfERuSPuUDcF+41 69CmaNNjMwQeldLFE97BULQGFJBmO6I3KwF2VhghQj5W/LWrRv/JdRZzm4PRDvLx0XuffdmU957 2ACm9UQISTfu5BlFukpknYukYYYmo7bCHbDgjvZ+Z5sPMrzrNKi4XkRSBFZ9GCVuaPAW0nOnnot D1Cl98Cg0PVQE0WUBObm/CXBRE6tdhinhs+RmDXjT5DMKpWncnPHHRo86HXrx9/VvBmxJc04VB6 xQjzcdTGoFfCG8vqXZBsDGGb+vAkoatakcGgxz1TEeegMDR5lGtkTAP4L2K84xPb07lIPU9Lkdv N0iCD/tqRc8Q== X-Google-Smtp-Source: AGHT+IGq8conUtnzTc7UGSClQChBXByB5QXZUy31IGY1GGXNvO1Q72BMk/gfRIIQCgDsaMgEhuJ5sQ== X-Received: by 2002:a05:6a20:94cb:b0:215:ead1:b867 with SMTP id adf61e73a8af0-23dc0d4820cmr1987438637.14.1753833650862; Tue, 29 Jul 2025 17:00:50 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 29/89] linux-user/mips: Create init_main_thread Date: Tue, 29 Jul 2025 13:59:02 -1000 Message-ID: <20250730000003.599084-30-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::52d; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x52d.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: 1753835905219116600 Content-Type: text/plain; charset="utf-8" Merge init_thread and target_cpu_copy_regs. There's no point going through a target_pt_regs intermediate. Note that init_thread had set cp0_status in target_pt_regs, but target_cpu_copy_regs did not copy to env. This turns out to be ok because mips_cpu_reset_hold initializes CP0_Status properly. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 8 +------- linux-user/mips/cpu_loop.c | 16 ++++++---------- 2 files changed, 7 insertions(+), 17 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 4095f7615d..e295dda0bd 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -587,13 +587,7 @@ static void elf_core_copy_regs(target_elf_gregset_t *r= egs, #define elf_check_abi(x) (!((x) & EF_MIPS_ABI2)) #endif =20 -static inline void init_thread(struct target_pt_regs *regs, - struct image_info *infop) -{ - regs->cp0_status =3D 2 << CP0St_KSU; - regs->cp0_epc =3D infop->entry; - regs->regs[29] =3D infop->start_stack; -} +#define HAVE_INIT_MAIN_THREAD =20 /* See linux kernel: arch/mips/include/asm/elf.h. */ #define ELF_NREG 45 diff --git a/linux-user/mips/cpu_loop.c b/linux-user/mips/cpu_loop.c index 6405806eb0..e67b8a2e46 100644 --- a/linux-user/mips/cpu_loop.c +++ b/linux-user/mips/cpu_loop.c @@ -211,12 +211,9 @@ done_syscall: } } =20 -void target_cpu_copy_regs(CPUArchState *env, target_pt_regs *regs) +void init_main_thread(CPUState *cs, struct image_info *info) { - CPUState *cpu =3D env_cpu(env); - TaskState *ts =3D get_task_state(cpu); - struct image_info *info =3D ts->info; - int i; + CPUArchState *env =3D cpu_env(cs); =20 struct mode_req { bool single; @@ -245,12 +242,11 @@ void target_cpu_copy_regs(CPUArchState *env, target_p= t_regs *regs) =20 struct mode_req prog_req; struct mode_req interp_req; + target_ulong entry =3D info->entry; =20 - for(i =3D 0; i < 32; i++) { - env->active_tc.gpr[i] =3D regs->regs[i]; - } - env->active_tc.PC =3D regs->cp0_epc & ~(target_ulong)1; - if (regs->cp0_epc & 1) { + env->active_tc.gpr[29] =3D info->start_stack; + env->active_tc.PC =3D entry & ~(target_ulong)1; + if (entry & 1) { env->hflags |=3D MIPS_HFLAG_M16; } =20 --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835888; cv=none; d=zohomail.com; s=zohoarc; b=VpfHDVVh2ttIkAYJVFyUwt3cLXsezNndAQJCNhQodj2dQE1JB0LjbYB5Nfx1SA6rAw/kWgPkCLDxhloZgjIFLheyBmgqu9TjAtK/UDA08qmGhFYK+HY2dChAVNskZLorzyrFc3HkaBZ/1O7poyd+MAyMo63XBcUfVkNMFmRkSxU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835888; 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=HdPPSlK4mzA8oiZ4wEtFFpfnz4mF9UVBC9u+0lQw7dA=; b=DoznrdyKNXCHlWUepdkIYzdOSw63YdDZbX5AnxSr6yNnjhMhh32sWSf4W5+5aawrO/DkiKqbonXXDsStbG+s2NYdvbl/eUJwcbt96ZpKialMHYXCwHefQPceNPQMSOriFAAyUBZMrOBmDrTLpFwUKCDlUS0IE7R8oNmHoh64dHg= 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 1753835888399631.7609590821429; Tue, 29 Jul 2025 17:38:08 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguVl-00037j-9T; Tue, 29 Jul 2025 20:17:37 -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 1uguFg-000253-Rp for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:01:10 -0400 Received: from mail-pf1-x433.google.com ([2607:f8b0:4864:20::433]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguFa-00046K-O3 for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:59 -0400 Received: by mail-pf1-x433.google.com with SMTP id d2e1a72fcca58-74924255af4so5226255b3a.1 for ; Tue, 29 Jul 2025 17:00:53 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.51 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833652; x=1754438452; 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=HdPPSlK4mzA8oiZ4wEtFFpfnz4mF9UVBC9u+0lQw7dA=; b=EXXabUWVhSfnmTfRHOiHs5nZ/wJZ4BbBY0vr6Ij5n/1vIwqeNqoJixe+AFXKeintAx Y04XVtsAUzO39/yzSpHM3ijAfSIALifIaVvi08XBkTak8ZYAdGJpKVDsNBjkf3dWG400 bKLlY0wxriD2prDn9BCfOfLVzQ5AxOAhjhp2MbLu8wUpSv5YGEtBh41ca3dJ/cHX7nMF 1JeKhDWQ4giEa8WNkPmPBy4jwyXwha5AHDP9XKDel8riMgijL7dqZ0svrDOAwZdQ69ti QMag+UPQsyqUEMk6nwqvznfnPAGg8viGKWmCskQ5Jg35UO8aKJL8V8qC8f8fujTRKIWw zM2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833652; x=1754438452; 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=HdPPSlK4mzA8oiZ4wEtFFpfnz4mF9UVBC9u+0lQw7dA=; b=gWa/0bD79qOMvn/DjG2i/AJWnDOWjS1gPV7xm9hGffZMplrj8TBe1tkTZRR1pxZyN6 G8a+pUw9sEX0gdv/UnZ5BK5LcA0TX342ayB7qsb8P7Ebv6D5cIdlMVovCAO//3C/Fqh7 sZMooD9DtZD1gz4g68Ev092AdFMnjjl497p/on13edZ/fpRXKLw/3ozzUDCdbcF6QMGU btVcZU7YXHKMdWa+UvdYdpJe9pqZDmHQiLC7tnyYfrc1skNKqKBSu0lnxcLjYrH0TcLf 6DFH5tPQV+EOFnn2lxB2aQpV9h+78Lhzx6BLxrLCq5ehbWGZl9aKUGxA7TDzwe8vr23h meOA== X-Gm-Message-State: AOJu0Yz1Rdk6PuI2pj/E9rrIe6Vm/O6cHJo/hG5/4RV2qwdF11USlXgx 50jcn680J/jp0xph/EqtTSP8JtkELXLW0bpvmCOx9oYDNyoASGmHXNrpwH5zSSErvwiVJpbicRT 4pexa X-Gm-Gg: ASbGncvsb6+J0YEmwO1T4k0yn/Hhpf2bhuMWYtBtLMKXLEHer4tvSTyIcNM2Ib7IETN 3WplCdI0W1Btffv53basRamL1yicL//vc2VIEqW6jNYUyXjXxIQI9799yobHjqPXtggmZL3vuWN M2QTd/9blDhUpHdqvBv6+HiPbQ97fYnmJpYnlr4CtkKPvy+V3EhieEmkHA2zvU/Up9zg49rX4fr xTm4eYt8aZSdIsAzhOIive7Ds4L1T9AWuOJBSpTmovQQIFQnmQrsVuFziDjPD3E6K1xzAPgZZAH NEnn+eXzH0SvdkvAQnGOqzvunTmrkaP98t8odAWQ3aLwNK/HZozCa+IPBbZDPxOao2VdRgWzNH5 L92VD1hGokQpHQ9VilTWRh25jzGIuYKig3Ry6wUQb4NsVoxbwyca28oWfkQ8//t5BHr1TD94flc nr1FYliTev/A== X-Google-Smtp-Source: AGHT+IEozTaThIc/wIBw6it4/PXzR9VS1iGuWW3Hl2GRXajAp0gmaB7D/nFBp21MdQ82ULNhrnSCdg== X-Received: by 2002:aa7:9885:0:b0:742:b3a6:db16 with SMTP id d2e1a72fcca58-76ab308b5f3mr1577158b3a.20.1753833651944; Tue, 29 Jul 2025 17:00:51 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 30/89] linux-user/microblaze: Create init_main_thread Date: Tue, 29 Jul 2025 13:59:03 -1000 Message-ID: <20250730000003.599084-31-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::433; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x433.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: 1753835889259116600 Content-Type: text/plain; charset="utf-8" Merge init_thread and target_cpu_copy_regs. There's no point going through a target_pt_regs intermediate. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 8 +------ linux-user/microblaze/cpu_loop.c | 39 ++++---------------------------- 2 files changed, 6 insertions(+), 41 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index e295dda0bd..9e6ec4f20a 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -646,13 +646,7 @@ static void elf_core_copy_regs(target_elf_gregset_t *r= egs, const CPUMIPSState *e #define ELF_CLASS ELFCLASS32 #define ELF_ARCH EM_MICROBLAZE =20 -static inline void init_thread(struct target_pt_regs *regs, - struct image_info *infop) -{ - regs->pc =3D infop->entry; - regs->r1 =3D infop->start_stack; - -} +#define HAVE_INIT_MAIN_THREAD =20 #define ELF_EXEC_PAGESIZE 4096 =20 diff --git a/linux-user/microblaze/cpu_loop.c b/linux-user/microblaze/cpu_l= oop.c index 87236c166f..d8277961c7 100644 --- a/linux-user/microblaze/cpu_loop.c +++ b/linux-user/microblaze/cpu_loop.c @@ -127,39 +127,10 @@ void cpu_loop(CPUMBState *env) } } =20 -void target_cpu_copy_regs(CPUArchState *env, target_pt_regs *regs) +void init_main_thread(CPUState *cs, struct image_info *info) { - env->regs[0] =3D regs->r0; - env->regs[1] =3D regs->r1; - env->regs[2] =3D regs->r2; - env->regs[3] =3D regs->r3; - env->regs[4] =3D regs->r4; - env->regs[5] =3D regs->r5; - env->regs[6] =3D regs->r6; - env->regs[7] =3D regs->r7; - env->regs[8] =3D regs->r8; - env->regs[9] =3D regs->r9; - env->regs[10] =3D regs->r10; - env->regs[11] =3D regs->r11; - env->regs[12] =3D regs->r12; - env->regs[13] =3D regs->r13; - env->regs[14] =3D regs->r14; - env->regs[15] =3D regs->r15; - env->regs[16] =3D regs->r16; - env->regs[17] =3D regs->r17; - env->regs[18] =3D regs->r18; - env->regs[19] =3D regs->r19; - env->regs[20] =3D regs->r20; - env->regs[21] =3D regs->r21; - env->regs[22] =3D regs->r22; - env->regs[23] =3D regs->r23; - env->regs[24] =3D regs->r24; - env->regs[25] =3D regs->r25; - env->regs[26] =3D regs->r26; - env->regs[27] =3D regs->r27; - env->regs[28] =3D regs->r28; - env->regs[29] =3D regs->r29; - env->regs[30] =3D regs->r30; - env->regs[31] =3D regs->r31; - env->pc =3D regs->pc; + CPUArchState *env =3D cpu_env(cs); + + env->pc =3D info->entry; + env->regs[1] =3D info->start_stack; } --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835146; cv=none; d=zohomail.com; s=zohoarc; b=GglhOaoXiF4etJzSPi9KjDt+xQmD1QmLjLBwXKnPfY+MW/NXnho72vhMdIFTTgNOpuutNU/YzmocHIT2Ys/DGmTMBvuF0NU64xoju/DYE7cYQ2SU8VMaXPOW2nCOCyhAke8FKnDylerKxggiC32S9Hla200QmgAlQ8ATjWk7AKM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835146; 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=J9vt3dhv3ms1n2Eyyp9F7yCrnh/3PJjaKewMs2/e6Tw=; b=ccKLS+n0qLyUcV4GTvfglInP3CguixZyRd7hgM/DBbq3yXocNvlkyzjYNcIaiRbM00ONkubJnX8m6k2CmxYfFJNeIbHkdfovXuoZgSdU5ATr4vmKwRucPTbPsSD9msnlbz5wZjOoS0BvYOSNk+DmWZZLzjZnS6AUhe1Pw7FQHf4= 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 1753835146758479.0442035510398; Tue, 29 Jul 2025 17:25:46 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguVp-0003Mv-PY; Tue, 29 Jul 2025 20:17:42 -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 1uguFg-00024y-PD for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:01:10 -0400 Received: from mail-pf1-x429.google.com ([2607:f8b0:4864:20::429]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguFa-00046U-Op for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:57 -0400 Received: by mail-pf1-x429.google.com with SMTP id d2e1a72fcca58-74b56b1d301so4182503b3a.1 for ; Tue, 29 Jul 2025 17:00:54 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.52 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833653; x=1754438453; 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=J9vt3dhv3ms1n2Eyyp9F7yCrnh/3PJjaKewMs2/e6Tw=; b=R3m+cOtkYZogZ5t68+WMZwue2CjbMVzFftrKxE8lGKpONGQseUw4hAltq38DsVsGfZ 8IS8eHcnZquizYBe6J6cx4s4ZNp54ksFyxpxwCfCCGUKxMAwTnWMm2eIjOgoUWYlI9iM e7+sIrCcfmM7KV1RLnBoHbtaItC2GRVE5juX00j2MACfNkbvgBQpvoXj6q+GrS0YIwZS N0p32z/CDg1mNyIIH4ktKuH63+CuuAEKrWFoZ2r4vh1sA2kHD0jWrLdLO8LjCiJud7Q+ r3vl8BUgjojbi6pdwU/7Gg7DaXDmtRfNpqTblqDBHqSwLnOnhp+XFAAPDgPv2QVkhkd4 Dvcg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833653; x=1754438453; 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=J9vt3dhv3ms1n2Eyyp9F7yCrnh/3PJjaKewMs2/e6Tw=; b=YIWCvsT89NigmHqm0f7Js+3Y5noi79G7dcWAqNCBd1aV3Gsy+c8SqBQU08aNV6FEWQ qmgkd5el51bMvR0O8t+lDqjmBClph+1WZMtpW9EMC875wz3RcZv26Jh7rWwnoaG8rVnZ DL9yBb9KFvyOiNVzE3byu2PivZwdcYcZdc6j9mhyQksXfxxc2NW/tnCh2aWnboNgw0Kw OhJXSQk5omebwFNEHnAlAdauo51vm/MeHlyzqQRzmjyq8g9xfn3NtijKwULFB2/O9ZWg rb40HvMYDtdiMaMe02lnAXsCtr6/KUlAVTd0yJTbdSP17cs3NXM3OPpEZWIPX7SJJsm7 CVwQ== X-Gm-Message-State: AOJu0YwalF0kFVmFJP7WQ8qJSG+TMEOETpwOYzJ2jbRTf4r4ffpnmYb5 zS4e+973jbCdRHHAi1OTb5Ol7IU+1RDdUmHur1BxRYSFREF+SXxA8yESs5+rGWFgi5jSE1TkK51 cMSFm X-Gm-Gg: ASbGncuFvafgoYHXvgDY39E9drRdNTLLmx1xnITMpM8QjIx0bf9oHiINZXjXssCkkYK 2UEtNTqK/UdVbgPUfSEKRwbp04/xdJTmmvaOKjD3CGOPTG1z569KElZpm+/T0YA+2Ls2+Xpkr9T aj03hW0Am0x1Uytc0G9CLy8qRtR1WnBHuZ3DaiANrmFB0eXiEjwFPMCEhJZnx40VLigC6g6CqpI UBnsivSInoghSXBIU/q7zW46QW0xcCMvp94SDYPQwzv2dmRd+PMP/mLpOHj7TD9FESJYIe7PfX3 2A0w89PiReKqhjY8fQ01r2BKwy9dSOI7Y/UOQO+EJFYh3St6OtoKSe3RrF3xNU3zJJyeYA9qA3W ECvD/3hiIekk7O6WdbmQWFWFquM45BwrmRa/JFCHaj4+4Xl2t64Jw8/4kwf71OIC9hGGdZLwsh6 MXFI/RFv8KNA== X-Google-Smtp-Source: AGHT+IEVK+Gs+mET2/e5F+QgmSxlH7PbGy+mhMNUYB0yOjJOgutUg0zW/0W8hqNmao9pf+eQ9wWACA== X-Received: by 2002:a05:6a00:2194:b0:742:a02e:dd8d with SMTP id d2e1a72fcca58-76ab30c968dmr2178521b3a.20.1753833653158; Tue, 29 Jul 2025 17:00:53 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 31/89] linux-user/openrisc: Create init_main_thread Date: Tue, 29 Jul 2025 13:59:04 -1000 Message-ID: <20250730000003.599084-32-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::429; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x429.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: 1753835147777116600 Content-Type: text/plain; charset="utf-8" Merge init_thread and target_cpu_copy_regs. There's no point going through a target_pt_regs intermediate. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 7 +------ linux-user/openrisc/cpu_loop.c | 11 ++++------- 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 9e6ec4f20a..808f9f9ad0 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -679,12 +679,7 @@ static void elf_core_copy_regs(target_elf_gregset_t *r= egs, const CPUMBState *env #define ELF_CLASS ELFCLASS32 #define ELF_DATA ELFDATA2MSB =20 -static inline void init_thread(struct target_pt_regs *regs, - struct image_info *infop) -{ - regs->pc =3D infop->entry; - regs->gpr[1] =3D infop->start_stack; -} +#define HAVE_INIT_MAIN_THREAD =20 #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 8192 diff --git a/linux-user/openrisc/cpu_loop.c b/linux-user/openrisc/cpu_loop.c index 306b4f8eb4..8c72347a99 100644 --- a/linux-user/openrisc/cpu_loop.c +++ b/linux-user/openrisc/cpu_loop.c @@ -83,13 +83,10 @@ void cpu_loop(CPUOpenRISCState *env) } } =20 -void target_cpu_copy_regs(CPUArchState *env, target_pt_regs *regs) +void init_main_thread(CPUState *cs, struct image_info *info) { - int i; + CPUArchState *env =3D cpu_env(cs); =20 - for (i =3D 0; i < 32; i++) { - cpu_set_gpr(env, i, regs->gpr[i]); - } - env->pc =3D regs->pc; - cpu_set_sr(env, regs->sr); + env->pc =3D info->entry; + cpu_set_gpr(env, 1, info->start_stack); } --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753836163; cv=none; d=zohomail.com; s=zohoarc; b=cgWhsiuXtS0YlfJ73JCY4oTU7pUL02FECVKsBH7waJMRnRrJ/ivAYEtk/rW/DQa1mO7w5VSz5ubfYs1xZQ/8vYrxY7XFM1FUzxHu+3ecQf8dAstDOn+LirjjFMHkNdy1TFsX+veDFUhX6xiRhEf/LZ9ZqdtBDn8ts5BHbxJHn0o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753836163; 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=bVfoUl/DKTfI+MiMVfZ/07akR6c7S9lrM90yKBf7ElU=; b=S3G1yQaqrF4eC6bEJ1tlBJXQUn3W1Y90IJnP/Iu1hwnIMkyHRheYJhj9D+fWfc/o4K3Ssm4D0QiGbB21Psa3ZPGJEIQEkppXCjwFKQnKXyDyXFaDOnTtErp2Rn/dWf5c4BajLy6VykZd3h0N/qOdMXP7aN1U+Ixx5gGZWHY4ceU= 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 1753836163223595.9959898206178; Tue, 29 Jul 2025 17:42:43 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguUT-00081F-R1; Tue, 29 Jul 2025 20:16: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 1uguFg-000254-T2 for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:01:10 -0400 Received: from mail-pf1-x42a.google.com ([2607:f8b0:4864:20::42a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguFc-000473-MU for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:00:59 -0400 Received: by mail-pf1-x42a.google.com with SMTP id d2e1a72fcca58-7425bd5a83aso5931363b3a.0 for ; Tue, 29 Jul 2025 17:00:55 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.53 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833654; x=1754438454; 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=bVfoUl/DKTfI+MiMVfZ/07akR6c7S9lrM90yKBf7ElU=; b=Dv2iz6wl34KN2i/4zJY5JhRjCZ8JPXKx+Oieg134FxnijII6bihOCKKUWJdqBacKwX OLt6LjzfBMkpnJ/ft+Uv42pEhOYBfjYiY6GJba7V6nSoNHjK0KsC/nuAtYD4fNztro0s eOUVE71+qs/4fkQNk2itP3x4KIR2zheujN0lHisd7+3/FnGKVjYEUudRDBJJilL2hzDv Oexc7PoZ6uk1wQisfeH9Jpbtu6YsXFtapSHQZCj5CJqRRxPtaJVX0OiHBV4VyeGYwBN3 rRzjTScl0SMHuzqEdkYzKojgAwOyq2TIi8guBNO54ki56UXagoJrnyl4q75mC7F0kNyU MwDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833654; x=1754438454; 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=bVfoUl/DKTfI+MiMVfZ/07akR6c7S9lrM90yKBf7ElU=; b=sokttJZ6o7jzWGdyrJeeCz3xHzNt9CrW7vfK8BCeRelE4xa9Uf5QTm4UsbjSMDWeL7 jTDOzlsm3cgudzbOCpL3TLpqPK/bdMyB4BFEh2gOW3YAdDjdHEvghZF5LPSkc7rR1Id9 a5W+Jk3ZMhzcuke8kHj7r/pldbz8+3Y1q1h4ghFTWAVGzRlcj8j+ZwAlg7C9hyalE24p djK9/A8N6YNXiGe2bdzQbro58PJ5Xfw2C92U7tinXjg47H10/vHwxm8NNM0sbVFOwLhF MDx9b4hRnjOvXtoofNVvITZvpv9yeLlgtO9vhNOK+IH8phtDxn7BYcV6jPX+3t4M6x05 ruAg== X-Gm-Message-State: AOJu0YwATpXlwD2L8poc6ZjLHsAznWI2qM1+1tGqaDbBni3474beXZdN 9FcgxNq3YrQhcaJMsh5U0WH49zp4u2YptojF/6mTmYSQrGaytyGUgM7CrNDuDXYHDzU0QuX+6k4 lwHSu X-Gm-Gg: ASbGncvKfZVCoE9OB6fSKvxWFMTwBrMPvWKS6GLgMNzuQ6hixxIsCG3YcqcCLZYVAp1 Rj7NVts0GtiJ52MsksbgsOFsnlVvL0NsSIr2B0vZET9ov6k4h3nZB9vvUM+VeYOEenEev/w6Rl3 PXHrMHSq0fsdAGn1YVJhLWthRGyej5e1oebOyWOrLvg72E6y5g8ORYi6eHFLKUB++vJsPaxosw9 5P5LuTmXrlF16qpXG2Dz4a6m/2xxrtpYenXVJ191DS710SHNQr1ZsdJSUIbPaXRbeTRJnhOoOpy E0+cMcli3huaiC1ejFuHyTf7xbMBaCXF6wQcaQGwKkRbKKDMBP6/dbnvA45032Dhf+gdqnMIfcX aAc6lM+qcw04W9s5yrLAXVCHw4ED9Ub9vfRzsGOYPK5qjm4gIKWf9QO5caiOv/59fZ6Me2QMw2y GPhnvV3Hj+vw== X-Google-Smtp-Source: AGHT+IEmLtYxE9Rcd/8fe8lvNksH+hMFyoK40GU6i0Darpnzhz/G90zSb7I+XU+ldvGwPz/ET4iYGA== X-Received: by 2002:a05:6a00:2d14:b0:742:a77b:8bc with SMTP id d2e1a72fcca58-76ab092314bmr1841944b3a.2.1753833654337; Tue, 29 Jul 2025 17:00:54 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 32/89] linux-user/sh4: Create init_main_thread Date: Tue, 29 Jul 2025 13:59:05 -1000 Message-ID: <20250730000003.599084-33-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::42a; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42a.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: 1753836163930116600 Content-Type: text/plain; charset="utf-8" Merge init_thread and target_cpu_copy_regs. There's no point going through a target_pt_regs intermediate. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 8 +------- linux-user/sh4/cpu_loop.c | 10 ++++------ 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 808f9f9ad0..a0bddce3cf 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -707,13 +707,7 @@ static void elf_core_copy_regs(target_elf_gregset_t *r= egs, #define ELF_CLASS ELFCLASS32 #define ELF_ARCH EM_SH =20 -static inline void init_thread(struct target_pt_regs *regs, - struct image_info *infop) -{ - /* Check other registers XXXXX */ - regs->pc =3D infop->entry; - regs->regs[15] =3D infop->start_stack; -} +#define HAVE_INIT_MAIN_THREAD =20 /* See linux kernel: arch/sh/include/asm/elf.h. */ #define ELF_NREG 23 diff --git a/linux-user/sh4/cpu_loop.c b/linux-user/sh4/cpu_loop.c index ee9eff3428..259ea1cc8b 100644 --- a/linux-user/sh4/cpu_loop.c +++ b/linux-user/sh4/cpu_loop.c @@ -81,12 +81,10 @@ void cpu_loop(CPUSH4State *env) } } =20 -void target_cpu_copy_regs(CPUArchState *env, target_pt_regs *regs) +void init_main_thread(CPUState *cs, struct image_info *info) { - int i; + CPUArchState *env =3D cpu_env(cs); =20 - for(i =3D 0; i < 16; i++) { - env->gregs[i] =3D regs->regs[i]; - } - env->pc =3D regs->pc; + env->pc =3D info->entry; + env->gregs[15] =3D info->start_stack; } --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835916; cv=none; d=zohomail.com; s=zohoarc; b=mAgC9nxVrnaVe6Uaf5bl8guSd89mWUnwcEzwR+cM94giGfUxh/mGumO+sbiS02PMq7H46cbtmg7UCmrPn2mIYVWGfmZ5w35MVzkFAw58F0/pfu+O7YRdi1TncGelx+fee+HDU/XBUP4ebpGKiZf/DDKdvuZwe5z4SxaWhROfZKs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835916; 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=6jlVWxS+ZhFPo9Sa2YXKd3yawYMa+CEulszKyl5Ioz4=; b=nZG/0DWaYA/ScfhcrvNt/TOJAph4Z+EvvmPWZxgCR4nLKoBDysfD5jFW7Ny+pTbcYDnO13b0IfdjTGN10nr89yP6LtBJqmTUeBZ7CwigQvTd6sLReWF7klMLXQUVtGBZCnhsoK/N9m8pGkHzJAxreKJ8JI8rQB/gbF4jl3uSShY= 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 1753835916960858.9157461950097; Tue, 29 Jul 2025 17:38:36 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguSu-0003w6-69; Tue, 29 Jul 2025 20:14:40 -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 1uguFi-00025x-UO for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:01:10 -0400 Received: from mail-pf1-x435.google.com ([2607:f8b0:4864:20::435]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguFf-00047E-7k for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:01:02 -0400 Received: by mail-pf1-x435.google.com with SMTP id d2e1a72fcca58-748f5a4a423so4315183b3a.1 for ; Tue, 29 Jul 2025 17:00:57 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.54 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833656; x=1754438456; 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=6jlVWxS+ZhFPo9Sa2YXKd3yawYMa+CEulszKyl5Ioz4=; b=jhMljPEr3oWJNKviKmQO6Bvj6Q8f//R+q7N3VFUiY/P6xgQP4DiwtCrxf4pNgHYYtI 5yRc819GYSzwRuI62KVmFC+Vem6UTSP4hp/I4sielLVhioDaOCWpiQ2iCeQQMe7JuX1N lxqPtB1csEXabd96y0rQ5bYho9ZcGsEgmqRF9vjzPbIYX1EYBujgsINBJwrAEJGJ6blr S7ANVRat9Jpbwmazm35Xxn7c/tVD16GLkhSUKC3p/+WOxUbNz/6suo6JOkimIGh3tA39 u9Y6Lraqpq3uSjei0OjgfYQhl2XRORZ/MXg3OFeuUoKdwV+dbqRYwNuNZd9d8+FxN2+f 1JiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833656; x=1754438456; 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=6jlVWxS+ZhFPo9Sa2YXKd3yawYMa+CEulszKyl5Ioz4=; b=by+Oa0EYD5vEA/Qo+XDC4VGYVOrJRdLJBB8c7LFhyrYeHh1DR+FspWgh7UJKzEHH66 jeBP5fHTlsvFTUicnZlh0PIbWPG+1RmvZ7ONjhwfw2qUW2+oa95lkF4Fn3FdxhcT+5ho TkSHiEQtiQnKUnMEhkf5qpiMJD+N2Nwn8GkGCQYexX0ufDVV3dOIhvw7TfV0kClytdkp DTnUcuulSLEn6CFZODW5KA5k/dKgw7mip7Uk5mUGgHpVtxZ/GFE5JfoyD53+mmc/MRr/ TzvziodUqmCuWEl/hEbpICTru0HLMAj8lZByPMD2sao7jusJaJZPOtq6iMY3e26Y06Vf xo/Q== X-Gm-Message-State: AOJu0YwwxL6qxf0As8czWcQq63fzBk2w5Sa1yXX+D+UFhw3ecSCHCx5y tOCNgWhKQdsZ9mr0hm7+YO27Hva27KvUp6lRFY6E8/mos44T+RDv7FhGzTW4OCF3FPWu80XbdkB jc5Cy X-Gm-Gg: ASbGncuklkfyZtWT0uTwplDmxUCioZq/jO+vq56DqB6eqV8BQfqYeLe6rH+7dlOYkRA UCFW5b89Km0IXPn1XBEeUUZ3ZRPGhV4KVdIfgbRvo7w1zvo0fpsCYiO10scRRyYN2DRu+XhCVxD zFkDm8Nt0BDV8nX/fMpVj3GNUiA3yg5pG+Tp/szF8psNEle8W0GRGB5oISVBcW4pZ4xoZzmK8bq 8kBs7VLeMucP85xTnoqAxgEFstd6qwI6+PRV2+uyA26EnvsouLFIEXCepqAlrBm0yqjJRFdQNrH 6cn2fV4NC8pJCzuQc63lMPTlHJZ/D6d/AbZv382vQ0rkxWc6hDW3G9DrMt/gy/vPvuUfMx0OmT5 2KgcoP0SojoBJAMFGsDxuKCzAG/gJU7B5EM+yW5mjKJLdYWZFF/KGYHOtmeyUCDsgMK1O2Q74Ro Uqcs187mD5ng== X-Google-Smtp-Source: AGHT+IEZIIjuK3Zx/hAJM89SOO0nlOit91hvobr+senhb+6q5YRk2dlQT9Zr69khUrNhrCBpf8iyKg== X-Received: by 2002:a05:6a20:939f:b0:232:6809:d41a with SMTP id adf61e73a8af0-23dc0d457ecmr1966467637.14.1753833655567; Tue, 29 Jul 2025 17:00:55 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 33/89] linux-user/m68k: Create init_main_thread Date: Tue, 29 Jul 2025 13:59:06 -1000 Message-ID: <20250730000003.599084-34-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::435; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x435.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: 1753835917246116600 Content-Type: text/plain; charset="utf-8" Merge init_thread and target_cpu_copy_regs. There's no point going through a target_pt_regs intermediate. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 11 +---------- linux-user/m68k/cpu_loop.c | 25 ++++++------------------- 2 files changed, 7 insertions(+), 29 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index a0bddce3cf..5029d9af9e 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -752,16 +752,7 @@ static inline void elf_core_copy_regs(target_elf_gregs= et_t *regs, #define ELF_CLASS ELFCLASS32 #define ELF_ARCH EM_68K =20 -/* ??? Does this need to do anything? - #define ELF_PLAT_INIT(_r) */ - -static inline void init_thread(struct target_pt_regs *regs, - struct image_info *infop) -{ - regs->usp =3D infop->start_stack; - regs->sr =3D 0; - regs->pc =3D infop->entry; -} +#define HAVE_INIT_MAIN_THREAD =20 /* See linux kernel: arch/m68k/include/asm/elf.h. */ #define ELF_NREG 20 diff --git a/linux-user/m68k/cpu_loop.c b/linux-user/m68k/cpu_loop.c index 23693f3358..aca0bf23dc 100644 --- a/linux-user/m68k/cpu_loop.c +++ b/linux-user/m68k/cpu_loop.c @@ -92,24 +92,11 @@ void cpu_loop(CPUM68KState *env) } } =20 -void target_cpu_copy_regs(CPUArchState *env, target_pt_regs *regs) +void init_main_thread(CPUState *cs, struct image_info *info) { - env->pc =3D regs->pc; - env->dregs[0] =3D regs->d0; - env->dregs[1] =3D regs->d1; - env->dregs[2] =3D regs->d2; - env->dregs[3] =3D regs->d3; - env->dregs[4] =3D regs->d4; - env->dregs[5] =3D regs->d5; - env->dregs[6] =3D regs->d6; - env->dregs[7] =3D regs->d7; - env->aregs[0] =3D regs->a0; - env->aregs[1] =3D regs->a1; - env->aregs[2] =3D regs->a2; - env->aregs[3] =3D regs->a3; - env->aregs[4] =3D regs->a4; - env->aregs[5] =3D regs->a5; - env->aregs[6] =3D regs->a6; - env->aregs[7] =3D regs->usp; - env->sr =3D regs->sr; + CPUArchState *env =3D cpu_env(cs); + + env->pc =3D info->entry; + env->aregs[7] =3D info->start_stack; + env->sr =3D 0; } --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753834796; cv=none; d=zohomail.com; s=zohoarc; b=EKCMgmQAj4fRZrtO48qOQF/dUJ55D2ZX3b9Eq6wX/6/kUJVD48t4o+QQ+vO/DIig5qDg9EfPTNX8elsihauleYluj5XcGeTVeSHNe0fCx0qJGI3PGYDDU95AUAaPJ0An4c7Chu+2CxzXyJP6DPembxC6sdhauKhH6t7MgnO/eUQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753834796; 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=ZjWBhFweWYFvBaauM3J90jCEwpxjj3Dy5yFXWtDGGSg=; b=cSUuPCqAQucbwUzwwqzV6tzKn2OBHVJDyfPiQSWvkjG6A2W+DqLS5xgZ26BZZjHkhNZ1pkLQe2CHlMqQfYjVZGpH5Es0XaZsUwYQMNWQIbupkt9Iux0Tkc9WqwW+ACu5zDtAvNVP21ScNATlVmkpknY5+90aYmHU2DlV1a8+srI= 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 1753834796149867.2253641130786; Tue, 29 Jul 2025 17:19:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguWe-0004AL-TR; Tue, 29 Jul 2025 20:18:33 -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 1uguFi-00025v-TM for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:01:10 -0400 Received: from mail-pf1-x42a.google.com ([2607:f8b0:4864:20::42a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguFg-00047c-Fv for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:01:01 -0400 Received: by mail-pf1-x42a.google.com with SMTP id d2e1a72fcca58-748f5a4a423so4315202b3a.1 for ; Tue, 29 Jul 2025 17:00:58 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.55 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833658; x=1754438458; 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=ZjWBhFweWYFvBaauM3J90jCEwpxjj3Dy5yFXWtDGGSg=; b=fYfsmvi7MyEimtLpxF+BzGfNuYvAykmPgpg8g0TlLJv82SiEPLxWZYNEAB2nUhvZ3L GaUqBXKcPz6KHvWWds3wWB/wf7X3gBFDdG7XgaB7Q/M+XStxH2y6QpXk0otiM8+hi2re Fb/s5eq036Nb+/5yYcjfxOJvxao1jvDbYv4C6VkaybTBTHjHQIYby3fo+StNaJ9UPhpq FoclHWbt1qy/dmz4N4bkgFJyiWrm6t5NydvxunHgIFfScZab2tEnwH9ycxdMOe39U+Wv GXVsbcEYu7TnjAeHmimyPPybF+CWh84v4A5yKQWtFmbyMqbdEuHV6lYL+Dm2ea4VnrZv bJ/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833658; x=1754438458; 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=ZjWBhFweWYFvBaauM3J90jCEwpxjj3Dy5yFXWtDGGSg=; b=NVzSRKpP1Oe3PZiMWqCHGsisa+NrhjzMoQv7vRSLWfa303XZ9+NXUQi19jWDgzlfJi TQqgsv7E+L6KwB2mBF5T00DcLcYK1qReJUBktaXcPxhFD5xzVi/ib9kNu0BbCl7yEkr0 OjfJ1zUFkubwkiPmIoejAUcceHSyOVlzn6Rz39MUY4VD8k6ji1t12zA+0T9+Yx8pRQph npfQwh4QCCZ+ktq6W36/TUt9ESR0jQpDL3XLK0Y1kzpRmeeWwt7SjTcQFJsde05XTpYG B4Fmw4HP59wZUv7VYhkMt1Oa+iRx69WzLclf0AWi5JWaK4uScJOKf0W/4UV4tQClSFAZ lj/A== X-Gm-Message-State: AOJu0YwXEDaMg6jIpOKIY/PG9ywuFXEzYV+Gl317cVoHKGHLU4urjvpE mxY0DSpR+kr4OaloJQQPwkTA2FHeDdlwg+AXnT9NkzYp9J9LNK4kytn2hpA4D+thQ5SHHgEIprY Lng9T X-Gm-Gg: ASbGncuqnzxsL6+01A+KQdF2iK8W5+e48mxsADEkSMu/Sa9xLzh8+m7H9chgAnGd7WR 8gkJOyHU/Yd2K3c6HnyMl8zXA2qONoHNb4gVGqUmou5nH3Jfz85/L26eh6lBYePuFCT++6bPFRC WLcqR+YWxSAcTLQWJyC7OSH07yZzrgfOF3pZwkdTTdLS0hmstREDrW7J/Y8GrBCueZvym6WR6Gr zWydZLDL2MDl+o2zWf7DVs+4D0+3RNEc1vym+mY2F5eqPR8OjMFy+HyhM0o3eaF9HiCeTR5UcmL n4BbYtu+BNEh37qD7G55xu+79ybTGtKFhgWAioLMXCkHymHtg83FEWW3Ka0KBQ7HLmVPUSjD7Od srVonXPHWvwPSGtf+7W1OyYnUGv7y7erQ+k5S8ENkEMQLZz4B+Xp9B+ZY0KOcj7tCI6ELqkFvos yh5Mr2l5sDLA== X-Google-Smtp-Source: AGHT+IHyUFtIZHkIG3O50qrcrbl3cxKkbwkiu7eSVuzb8jNLzwIK8FGqcxemN1UIT21EiJLJHw4OsA== X-Received: by 2002:a05:6a20:258f:b0:237:d013:8a78 with SMTP id adf61e73a8af0-23dc0e99cd2mr1978011637.37.1753833656938; Tue, 29 Jul 2025 17:00:56 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 34/89] linux-user/alpha: Create init_main_thread Date: Tue, 29 Jul 2025 13:59:07 -1000 Message-ID: <20250730000003.599084-35-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::42a; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42a.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: 1753834796716116600 Content-Type: text/plain; charset="utf-8" Merge init_thread and target_cpu_copy_regs. There's no point going through a target_pt_regs intermediate. Note that init_thread had set ps in target_pt_regs, but target_cpu_copy_regs did not copy to env. This turns out to be ok because alpha_cpu_initfn initializes flags properly. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/alpha/cpu_loop.c | 11 ++++------- linux-user/elfload.c | 8 +------- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/linux-user/alpha/cpu_loop.c b/linux-user/alpha/cpu_loop.c index 80ad536c5f..728b64906d 100644 --- a/linux-user/alpha/cpu_loop.c +++ b/linux-user/alpha/cpu_loop.c @@ -173,13 +173,10 @@ void cpu_loop(CPUAlphaState *env) } } =20 -void target_cpu_copy_regs(CPUArchState *env, target_pt_regs *regs) +void init_main_thread(CPUState *cs, struct image_info *info) { - int i; + CPUArchState *env =3D cpu_env(cs); =20 - for(i =3D 0; i < 28; i++) { - env->ir[i] =3D ((abi_ulong *)regs)[i]; - } - env->ir[IR_SP] =3D regs->usp; - env->pc =3D regs->pc; + env->pc =3D info->entry; + env->ir[IR_SP] =3D info->start_stack; } diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 5029d9af9e..67c00f75fd 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -792,13 +792,7 @@ static void elf_core_copy_regs(target_elf_gregset_t *r= egs, const CPUM68KState *e #define ELF_CLASS ELFCLASS64 #define ELF_ARCH EM_ALPHA =20 -static inline void init_thread(struct target_pt_regs *regs, - struct image_info *infop) -{ - regs->pc =3D infop->entry; - regs->ps =3D 8; - regs->usp =3D infop->start_stack; -} +#define HAVE_INIT_MAIN_THREAD =20 #define ELF_EXEC_PAGESIZE 8192 =20 --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835012; cv=none; d=zohomail.com; s=zohoarc; b=Ly/x4U3a2tjh6Dby78d14g9d60xg+AagfXid7WIyEqemBvbra1H97PKGGyRvUAaTHbvrwVmq4maakfzL9rXFyfjY+LfbTEI+uFrfjIaUBsbUMx5U/lsZ1f9QwZX0I3udEyhqKDQhRSiCBgSTAQ5+zJPTXsXMkLjJFLplFQS/WBU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835012; 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=HbNh72NRBcxI6GfG8dOhhgQoRzJWWLer1NVuaQWZvIA=; b=fiT9BysYKqif9NVDnRWbFeZmkzlnK0gpQR5H6U2b0auqamXD2TnlOvG2D9S5aHVS11FI3wBPPmgfkT0pNtgP+Or9RcSua0crfSLz2xNXvz3+GnUrDwgsfexHheD5JmezCREYw85c4jVZAHo0+f1I6CpHBp7sLjoZLZww/lHCRgA= 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 1753835012859553.8504162317267; Tue, 29 Jul 2025 17:23:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguWY-0003nV-Tl; Tue, 29 Jul 2025 20:18: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 1uguFj-00026S-P0 for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:01:10 -0400 Received: from mail-pf1-x435.google.com ([2607:f8b0:4864:20::435]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguFg-00047y-Hd for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:01:03 -0400 Received: by mail-pf1-x435.google.com with SMTP id d2e1a72fcca58-76aea119891so169677b3a.1 for ; Tue, 29 Jul 2025 17:00:59 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.57 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833659; x=1754438459; 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=HbNh72NRBcxI6GfG8dOhhgQoRzJWWLer1NVuaQWZvIA=; b=M8iO8o1YURggQxOChc7p3DLhZX5aP/xMHFEAc53WxYEvoxhocIZZ/NFSUkWtLPSVc9 IjrUONdtTdYKWGvuaid2xt6xJgo7Un3FqQjzsB9eBAn6XDTJrIGfVVP9ZAZ8HG4IFOPr clR4CtNKo7D+WHEYRGPhQWJ/CubD50T6B9oAbl9wuKSjuDzkW48Ntk0tJ2iCNs8ihYkm 1go82QnLLsKhPcZMMFnVv/RKvTTbUUcdjLoR/vtXuIbHc4suOaR0Hvx76VoMjsubdSL+ oKuVNYnNY/WAlwv+ZNFT6/ssZYLng6ms7Fh4DsSeZkrDlgYAY3cO87GXRTmuNQEpRW8r KvVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833659; x=1754438459; 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=HbNh72NRBcxI6GfG8dOhhgQoRzJWWLer1NVuaQWZvIA=; b=QoStqv5Rc7Fx3mJJHzJAURQcYyJjij6z2/kohRNT6JQHrw5zsqu5cdX8vhfSh3b/BJ LKMDRxQ0FANKDXJoQek01ivYCgCank6gdJtqRNHjrwqoXmnNyGqOeLAzZM4xJsnJM44j glZsK9pxfxRnBRidAj+sdysS9FibEgfZfjRbW96FtAOIfg4jkhdPObn2kuTJjnJ+UXGt y7DTMrQOjgELNUNDq7OAv4niAQfmjua6we0uNvIEK5hnY1bs6juJObCDHPAPirz3GYd5 77bQEiEOCfVtF9xHoMn1IemAHPbqtHQYqC/QZgMy12MZrfAb8cE7FVSb0UYHrqjg3LVK ajPQ== X-Gm-Message-State: AOJu0Yw1i9E4yHe6G9N9e/WJqA/r1IhzR5Q7yqEQXDbxi7B95tKhHafA xGT/fnXN6xGdGboHV1KiajYg9QM/Z7jzdghezlGy6pC55f7rNAJPaoHSKx2Dn8GLjsNf90d0W5o SUtOC X-Gm-Gg: ASbGncsmjExGjLXwpKUgS90k5aKXIDDmyyqSoa7FrEWGcScn+XAXtaE5emU0k6ZK6A3 hfcoo7bdgZY2ggn9tha1Qyep8RHCUCctKztYoytI/UJFCWEiFbzghnaJSOB1V7NOBWTrMOdrhJS cNnzyVzO3J0dujMExvibZ0aaq9l/DzemPZ5SlRPwUe8mSr+Tj1ztXk4jqB/ZsHzFrCJ5Ke06x7O bolXQFHkUp6RcVlUzlb9OFVuBvBoq1xOcY7lnn6+HNqkBFkc5ywsKH6JeteNmjsn9yE+7+zfqcF ii6Tco70nIpe9atvb8vkOqJQ+K76X2QfDafVmU4YvFPCh7AFRXQ1tWml0gFWZ4GLuKtA8HYl0s+ 3qC+108tSFkliwlXXhT5QTK/w1o1uG/flUbgFTTd+JChQaoCsFyTIxjPZbNqFzKcDTiZjspk6Gj x2DdSYSDtpbA== X-Google-Smtp-Source: AGHT+IH4eZfTBiSZjV2FuJjgLEY2DG3AYMTK1z3tGO0YELYS3ZUEVGwQDSo1UlIiNn8oaLNBIZu7xw== X-Received: by 2002:a05:6300:210c:b0:23d:7a30:a82d with SMTP id adf61e73a8af0-23dc04be53dmr2101557637.5.1753833658189; Tue, 29 Jul 2025 17:00:58 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 35/89] linux-user/s390x: Create init_main_thread Date: Tue, 29 Jul 2025 13:59:08 -1000 Message-ID: <20250730000003.599084-36-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::435; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x435.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: 1753835014557116600 Content-Type: text/plain; charset="utf-8" Merge init_thread and target_cpu_copy_regs. There's no point going through a target_pt_regs intermediate. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 9 +-------- linux-user/s390x/cpu_loop.c | 15 ++++++++------- 2 files changed, 9 insertions(+), 15 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 67c00f75fd..62452d7c45 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -804,14 +804,7 @@ static void elf_core_copy_regs(target_elf_gregset_t *r= egs, const CPUM68KState *e #define ELF_DATA ELFDATA2MSB #define ELF_ARCH EM_S390 =20 -static inline void init_thread(struct target_pt_regs *regs, struct image_i= nfo *infop) -{ - regs->psw.addr =3D infop->entry; - regs->psw.mask =3D PSW_MASK_DAT | PSW_MASK_IO | PSW_MASK_EXT | \ - PSW_MASK_MCHECK | PSW_MASK_PSTATE | PSW_MASK_64 | \ - PSW_MASK_32; - regs->gprs[15] =3D infop->start_stack; -} +#define HAVE_INIT_MAIN_THREAD =20 /* See linux kernel: arch/s390/include/uapi/asm/ptrace.h (s390_regs). */ #define ELF_NREG 27 diff --git a/linux-user/s390x/cpu_loop.c b/linux-user/s390x/cpu_loop.c index c9124444ed..49e44548f8 100644 --- a/linux-user/s390x/cpu_loop.c +++ b/linux-user/s390x/cpu_loop.c @@ -180,12 +180,13 @@ void cpu_loop(CPUS390XState *env) } } =20 -void target_cpu_copy_regs(CPUArchState *env, target_pt_regs *regs) +void init_main_thread(CPUState *cs, struct image_info *info) { - int i; - for (i =3D 0; i < 16; i++) { - env->regs[i] =3D regs->gprs[i]; - } - env->psw.mask =3D regs->psw.mask; - env->psw.addr =3D regs->psw.addr; + CPUArchState *env =3D cpu_env(cs); + + env->psw.addr =3D info->entry; + env->psw.mask =3D PSW_MASK_DAT | PSW_MASK_IO | PSW_MASK_EXT | + PSW_MASK_MCHECK | PSW_MASK_PSTATE | PSW_MASK_64 | + PSW_MASK_32; + env->regs[15] =3D info->start_stack; } --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753834942; cv=none; d=zohomail.com; s=zohoarc; b=oDOKPnyVb4keTbOg2dD22hcknDEzI5vWUyGfQd3JI6xsc5vjjVyzhyiZHkocBvAjVOSpG0OvNeh1e2x6L14oTAcnjIusJfBmvdfmSSMot43EnVvswpiPdpXALQmXUVulel0+qA6jxUY2lwZt8ljFxVfxU4JwZtxrHTmnrqWQvWQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753834942; 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=EYspnp1ztLEUXf37HM6g1cB76LgbBlY755CmhOzz3PA=; b=knYgh2hTUHT3BcgKQCgb6ql8lG27pfCCmWCLjLLKU0AEmjgBkAybBc4Ff8UW15AZq1qEudjfJDF9l2oyNsdybvkhxcXfVlJkVOnpu6cmUQyg1qdOSpxkxFp82fgneEXeVOQOV4DvrYfG8gi4oiLjkLGt667DC+mMAv8eytRE0Mo= 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 1753834942444583.6724819602799; Tue, 29 Jul 2025 17:22:22 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguVC-0001BS-00; Tue, 29 Jul 2025 20:17:02 -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 1uguFk-00026m-OR for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:01:10 -0400 Received: from mail-pf1-x42c.google.com ([2607:f8b0:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguFi-000483-Kq for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:01:04 -0400 Received: by mail-pf1-x42c.google.com with SMTP id d2e1a72fcca58-76b0724d64bso90578b3a.1 for ; Tue, 29 Jul 2025 17:01:00 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.58 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:00:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833659; x=1754438459; 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=EYspnp1ztLEUXf37HM6g1cB76LgbBlY755CmhOzz3PA=; b=LyPbE6lIKgRpN0OtdYEc1BzjEyvCYPkG+3Y+37JV6df+bqPnM2b9cUbwTQXzALseNl GI+KNCBH7+m8DFppHRl7Tpmc39Q1IiB+ZVKQifBdlphK1Us1WaqG2jyyg/Q8VopuuIsq JvZGNVDQXugueM+1Auv6Cqb1B5HVXP6zf8jVyXs6mPJeP3/XV/G5+McqtKKYDOdHmwPW kn95nPwkDD6lULUK12Op0oM4wvbCPOKjqVW2gRVF9ZcPK3GdnW/dtxqDVDYESQOdIfFS 4EA9HEtlO8BCMs7lXpQmwvupEYvYu9fY4QCNs/MdUX/0IFv9jgMLfPuvsgQdwiOpBs9O shMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833659; x=1754438459; 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=EYspnp1ztLEUXf37HM6g1cB76LgbBlY755CmhOzz3PA=; b=KwYLzq5w4JcWLuvrtty06piVEQZe1jbk+aiEqAEatu8ihSU2XV1osPcI1ZI5UH6pr5 CCmDS498dk053sLyIHPa1E1qpQEmTHCIrXzMBKjX+CX9bOw23oFiIX3zUB7CHd4D5kRT tSbZ5cJ4kJbXem/4RHPHZWlDLeNCzEHeZI4wu5KJSYKgTP/P0EHj9Fq/rNclNYLaaQ8e sGALTJRh2TI4oEls6IWJxa7KSP/dJLGi8UtM9GxUnwW9Wl6rsYuKgvwOO+p8yUDuyLLt vy+VYDtlygOmhoWMGJhmIj5e/CDdrl+Ke+4VqowTc99nTRU9+QXqAptV/hThdvKqNVTR badw== X-Gm-Message-State: AOJu0YxgIlzGXHl5891Wk/JH2MKqzTTfgDSH4Xhr34yXmMGOVUVo0TgS I0xjeVQ0/edOXTbIqwqkMkGxu3jn7DWkA1IOIt6QWm9oE8G49y2ok74R0EVphIr9El61nIjvf5z NvGfN X-Gm-Gg: ASbGncvbztNgH0KBvXDByUc83O4ztVFD/vQ8RUJNzuqoch2nxr4jvbZReCfegGi5t9N 5617WrQrsvzN2QpNr6168EItR3FD85vWofZocDAKUSSkHSPaT/WlwPDOgEvoaaZv8uKOF2zcLWG ybZC1fXeejNr9/oQhB/0dpbyY/Y50tKnxboCVDqmqIeZrP1Nq97V44npS74RAIh+ML8GvGgU3Jy KFojWsFF+Gy6w8DOEfzafcEb6xgbDk6kezy1C21jdIxz4B4vGcO+F21s+1eHmx8BJYhB3FDXBPE TC2GlBnNBbzlfRNOrt1nHPkC39hGnLWW121t2/lyMWh42SKu7OMSi0L+WIUgiEeiAhjfTJUQQhp JrOlCCod88d/hpZHZc45q0HcLYaj8hB383TyuXbuMUf290W1Ni24jYT5trVXQvE1f9fg5pwAL2V wqkMNL4nvS5g== X-Google-Smtp-Source: AGHT+IH3OvUwK97LlfqNg686WonSaj0DOR4lJ2c1enCDT0wS/bsKJr06RAaOVTdQ+k5CF0v+/61BPA== X-Received: by 2002:a05:6a00:1913:b0:748:ef04:99d with SMTP id d2e1a72fcca58-76ab283f293mr1933263b3a.14.1753833659508; Tue, 29 Jul 2025 17:00:59 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 36/89] linux-user/riscv: Create init_main_thread Date: Tue, 29 Jul 2025 13:59:09 -1000 Message-ID: <20250730000003.599084-37-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::42c; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42c.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: 1753834943938116600 Content-Type: text/plain; charset="utf-8" Merge init_thread and target_cpu_copy_regs. There's no point going through a target_pt_regs intermediate. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 7 +------ linux-user/riscv/cpu_loop.c | 10 ++++------ 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 62452d7c45..b1f889193e 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -855,12 +855,7 @@ static void elf_core_copy_regs(target_elf_gregset_t *r= egs, #define VDSO_HEADER "vdso-64.c.inc" #endif =20 -static inline void init_thread(struct target_pt_regs *regs, - struct image_info *infop) -{ - regs->sepc =3D infop->entry; - regs->sp =3D infop->start_stack; -} +#define HAVE_INIT_MAIN_THREAD =20 #define ELF_EXEC_PAGESIZE 4096 =20 diff --git a/linux-user/riscv/cpu_loop.c b/linux-user/riscv/cpu_loop.c index 2dd30c7b28..b316281532 100644 --- a/linux-user/riscv/cpu_loop.c +++ b/linux-user/riscv/cpu_loop.c @@ -94,14 +94,12 @@ void cpu_loop(CPURISCVState *env) } } =20 -void target_cpu_copy_regs(CPUArchState *env, target_pt_regs *regs) +void init_main_thread(CPUState *cs, struct image_info *info) { - CPUState *cpu =3D env_cpu(env); - TaskState *ts =3D get_task_state(cpu); - struct image_info *info =3D ts->info; + CPUArchState *env =3D cpu_env(cs); =20 - env->pc =3D regs->sepc; - env->gpr[xSP] =3D regs->sp; + env->pc =3D info->entry; + env->gpr[xSP] =3D info->start_stack; env->elf_flags =3D info->elf_flags; =20 if ((env->misa_ext & RVE) && !(env->elf_flags & EF_RISCV_RVE)) { --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753834941; cv=none; d=zohomail.com; s=zohoarc; b=nae6fw5n13RljEPvz05MRWFpFiYwi8eBa4C3tWOrEJwjn9y9SUZEzTZu3lZRpRbVsinS+gVlPwyux54j8Ux8lZ0/Fue7ADa+cDoHF2dDsRvG4S8Mqq6lvkLgSaN3gJ2tvMz8kojpJ4VY8TsJp8WGexw93pzksIDA9mxRywupDf4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753834941; 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=S5vNzUUh3jbJHFNtrK88iBk7CBPkMv1LN+8yxo1pnKg=; b=TjC9odJPyg+Ge48ctKMKQDmOu6ZeGz2eFvaoH6wf0QFbve2qeEAQ8PR/YOPagVHKYHM2R2hRBz+oKGPJODI4vug62EWzko2c6PWZIpN+mlBBn0g5QUjC/7A5w0Do1JPPe3tF4i1fuLSSR132JIGDd2vLtmYvBFwRZ8T51ZI+RIg= 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 175383494147935.48792091972075; Tue, 29 Jul 2025 17:22:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguVH-0001b2-OO; Tue, 29 Jul 2025 20:17:09 -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 1uguFk-00026r-Vo for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:01:10 -0400 Received: from mail-pf1-x433.google.com ([2607:f8b0:4864:20::433]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguFi-00048S-Lr for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:01:04 -0400 Received: by mail-pf1-x433.google.com with SMTP id d2e1a72fcca58-747e41d5469so6690990b3a.3 for ; Tue, 29 Jul 2025 17:01:01 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.00.59 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:01:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833661; x=1754438461; 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=S5vNzUUh3jbJHFNtrK88iBk7CBPkMv1LN+8yxo1pnKg=; b=Dkkfbc4DdFfk5SN6/PnO+f1fO+VH4Rsm27CEGZBhPzZNC8D9IEFkXu6NA2SZW/+u3x 9vJ8poCGxjmFCV2pLT7J7YjrpqALV+NzFfBk8VOWYIBb1UQ+0hyVjeQJZCndVrUH6msn jL3sd9c6tpTD1FhIN2NlhU6TOr6L4in+bNgnr6KiJFn7pF8CWI7H9JB+4aypEw+Dt2Eg L/3ghC8Kmj1nHXNNklctnnzJTNmERqwC/EuqpSW+eNvQVlhKwzJPvwmnwL8kmJpar+NI pzvqCipq2GoRGG4B14CyAc41um1sG4tq219CULyw5P+4irajRMYwujBN7CHbUn62wXXO eaUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833661; x=1754438461; 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=S5vNzUUh3jbJHFNtrK88iBk7CBPkMv1LN+8yxo1pnKg=; b=efHO48dvX3BJgCIZ0YUBt3SWPiIjnbNzG3mxbhW6FLTouW+DBPlF6xav7tuFu0Ly7n sWpx/4zvnwpN3Z7d/LJBAj1YyEEhpgy+aaG7LInWVW3TJ0bTKCsvAtPrnBwlTcCULZvS OR0R4zsH0hD6j5YzHujOCPGthovHysqS6a9pLjxcGesAqHHGsrNrHT0uysUbk8ujJYSf S4pDdeBdm811ea1yUGh3ShFT8P/lvoan6xPqG6lUh5QjM4UT9pnN54pwk+LlYMeTzfZE mWv8fOYrq3/B4nL4ROi6cdnMUEWyhLDBrzWFt9W74//uNGbbyTDy5nN8SFjvGTslof/I y8Yg== X-Gm-Message-State: AOJu0Yz21aBUPZ+FN6qplInZpRGlhrXA2HsYbrcrLKVBvSkGhreBaWwI sKHdNeqc0VX+c4Y8Juo2BENi2iam3mX3qn2mkZL2QjvY1QRA9Z1/HgLBO0ZqGmlKiUWQaPGJvqe INafq X-Gm-Gg: ASbGnctXGuqj32NbkCLLWcCjiQhZOyV+rS4X0vKs5g1QxSpWFPK3W8cbTR+j1gZmyA4 FVZLOpmrc6g9sWGerPdwjPoRi9RNlpjlPXcZEE9hi7ppVaNaNQCOpX+YjP9mUW2rVG4rko7W5U7 p4m4FJf64k6E5lKgIfVqiHGUW+xc7Jv8OXrt1KHgF4KPZa66Q/PeKQMDDji9MRFcb68BoRU4HtD uNsN3FY/+DHJ87rHzoGwvKuNnk9/UYIoVjHOhCv+xVSJP7HOk67bQLbhTRjavAFw2pkpGaqyx/n fyHDeFUOVUEvQY2F1/yBNaDoRKQmgFWId1fDSdTRDdSCgAQZhh84a2UAWYJVaDhFCAMG5ADo5A9 CAD+v2EepSWlxfV9RebFb62mmcd8l/K5+7AOpYhRX4SjpATCemDMpFjWY2RwpQFTiBy+Iw6O6Bx 4bARipi9MOVw== X-Google-Smtp-Source: AGHT+IGgR1gkZ/nFiAi3Df0sb+QHLPuOY0Gn+a+wM1z9ID1LCIHEyVo+v9sOeSJgVJaREhCMghK76g== X-Received: by 2002:a05:6a00:cc4:b0:74c:f1d8:c42a with SMTP id d2e1a72fcca58-76ab294703bmr2022730b3a.13.1753833660660; Tue, 29 Jul 2025 17:01:00 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 37/89] linux-user/hppa: Create init_main_thread Date: Tue, 29 Jul 2025 13:59:10 -1000 Message-ID: <20250730000003.599084-38-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::433; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x433.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: 1753834941947116600 Content-Type: text/plain; charset="utf-8" Merge init_thread and target_cpu_copy_regs. There's no point going through a target_pt_regs intermediate. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 13 +------------ linux-user/hppa/cpu_loop.c | 18 +++++++++++------- 2 files changed, 12 insertions(+), 19 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index b1f889193e..48c04f9f33 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -870,18 +870,7 @@ static void elf_core_copy_regs(target_elf_gregset_t *r= egs, =20 #define VDSO_HEADER "vdso.c.inc" =20 -static inline void init_thread(struct target_pt_regs *regs, - struct image_info *infop) -{ - regs->iaoq[0] =3D infop->entry | PRIV_USER; - regs->iaoq[1] =3D regs->iaoq[0] + 4; - regs->gr[23] =3D 0; - regs->gr[24] =3D infop->argv; - regs->gr[25] =3D infop->argc; - /* The top-of-stack contains a linkage buffer. */ - regs->gr[30] =3D infop->start_stack + 64; - regs->gr[31] =3D infop->entry; -} +#define HAVE_INIT_MAIN_THREAD =20 #define LO_COMMPAGE 0 =20 diff --git a/linux-user/hppa/cpu_loop.c b/linux-user/hppa/cpu_loop.c index 9abaad5ef8..3af50653bb 100644 --- a/linux-user/hppa/cpu_loop.c +++ b/linux-user/hppa/cpu_loop.c @@ -196,12 +196,16 @@ void cpu_loop(CPUHPPAState *env) } } =20 -void target_cpu_copy_regs(CPUArchState *env, target_pt_regs *regs) +void init_main_thread(CPUState *cs, struct image_info *info) { - int i; - for (i =3D 1; i < 32; i++) { - env->gr[i] =3D regs->gr[i]; - } - env->iaoq_f =3D regs->iaoq[0]; - env->iaoq_b =3D regs->iaoq[1]; + CPUArchState *env =3D cpu_env(cs); + + env->iaoq_f =3D info->entry | PRIV_USER; + env->iaoq_b =3D env->iaoq_f + 4; + env->gr[23] =3D 0; + env->gr[24] =3D info->argv; + env->gr[25] =3D info->argc; + /* The top-of-stack contains a linkage buffer. */ + env->gr[30] =3D info->start_stack + 64; + env->gr[31] =3D info->entry; } --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753834727; cv=none; d=zohomail.com; s=zohoarc; b=Y9sJxqV2g+mRwcp7ke277BB59TmtNr+qJLg0+Q7MrZy7ao5WaljE+8WER/kn97QPC07scchEUzrzVfRkDZhHxMOklwtSMqkYmfyUFjZysgyUbLP/kRqJFnMF0uc/otRJdA1oxPUwW0feJFxFnarp9MkNabup0vlHEimua7SkGzU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753834727; 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=I9fFn3MTAeeWjS0HLCyZy5t4uqOdGjI4wSstVmtHm08=; b=TsKqEfqpC6m7pL5js5uBRceQlekdQIiAVDhoBGXSusv1mwomVJB2C5njyIGHHEgAzSXUN/KYCBI3aLMLXhNnjVlRkErbv3Qp2bBXEL60hsfEBJIGgOrjkcjwAwRY0s31zjzvfqirA5LM4wQD2xTbLH8iZZv9CIv8iZOlKk7vWGs= 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 1753834727435393.2534214150554; Tue, 29 Jul 2025 17:18:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguVh-0002ua-Rc; Tue, 29 Jul 2025 20:17:34 -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 1uguFm-00028m-CI for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:01:10 -0400 Received: from mail-pf1-x429.google.com ([2607:f8b0:4864:20::429]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguFk-00048s-5W for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:01:05 -0400 Received: by mail-pf1-x429.google.com with SMTP id d2e1a72fcca58-76b0724d64bso90621b3a.1 for ; Tue, 29 Jul 2025 17:01:03 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.01.01 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:01:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833663; x=1754438463; 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=I9fFn3MTAeeWjS0HLCyZy5t4uqOdGjI4wSstVmtHm08=; b=a4pHPM5XcPsaQzAJtW5JD0vaMsIgwefB37cq5l1vi5GOWtr4KJcxKF2yN/AQLCNICj N14rlRXrFmnfF/vad9fVS8qObTnzQl5FliIvmn4k3xR9ErCLfkbh3EkxW+1htJayuBjp T7lLX/aTKlD6rxfzKV6mG92C8KgIqBjbS59G1NqoG1mbKkkt+PQ/flUgZrBl9huwv/52 hp43mIsHxzG+dpYALA8Nr8chls0a1Qvtt1V8u74J43iNA08BkCk7+QNVJEeIJ9GzMVg8 CM0Zw08BHpwN3i7NT2mdOdDeJCrHMCYaVap0wlQt7HDGP46HU3e8omDfklyX+TZfZTa1 QIPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833663; x=1754438463; 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=I9fFn3MTAeeWjS0HLCyZy5t4uqOdGjI4wSstVmtHm08=; b=NdI8QWnPBb0/aP8SN1S8o0KlggxyatFu8oGjrxN/2OMhwSU9JZh8pV9LN/20cFIgrx CqyJHPQCjo5qR+5LmovsTM6k/0uYr/bZWOvyo4z5UL6mTjF4Hb3LDGBjuPI8zDl3KAr5 YRZdWuofb75curDgzI6dDctszkVr2u4syC7gzSniP1Jfe9+441DpC6QTgcEdaD8axeG8 X6afwQ39C2kdRVnQtHyisftXxugvkW/bHiwBk222ctnipKHSKtpojNKQ/XiF7QyqIxGw suOrf240qNSCrp0nXzqBVdnX8d+oNVwg3fAHL8+jZv5RCq2mxSuC/N2bhuxSHdiF6qHx 7jIA== X-Gm-Message-State: AOJu0Yzv1+/XUpo3xxP3J9Zhcc+NG27Lk2Gv2BsQ2IUr7zLR3ig1Mydq b6PWV3mMU9ldKDuluR8yeUsVjKuT+ghWhpmaYivve3FyzCiwOtlyuFA5TJg/h1Ps52gveSzQYWR Wut1+ X-Gm-Gg: ASbGncsYlBrRsm1bQYuCsmP7Vbqs2192ivfC/mHPl7OlhWdIphvrZLXKE+yBNr9JuhB BZza2gLrMjLYlS6wTehbIlKTuVMfDIadb2PW9mBNTTTZnGiDc+wQbzft/wN6aD7s7IObn0/vmWm tf2WLozQFSodIn4lV6HMq2tsdoE7VuAesNgqY4fXIvhxeQ+/9sghZ6iNp1vVkkiYOhdhihFrk+J M6e5H+IsIk0XfTFOZzP6yFIEwsva58PrXUUicgkfALWqNe2K5bEfBTY+mrDTJCT+yBADaiMPj1N 6+OTmDMVWafNfGjTDOMJloogWxnDLPdxTSF2UjUPTfll/Zw9ScenJVJCtmP2+Ovu5JdaGp5myFr 1S8jB3LX+nLr3R1flkEf7xBByS5yp7ZQg7YFW+a57MNteoID3SaVJKjwr4AOxuvtyivCJAA5gwy FJ7mkjxr1n/w== X-Google-Smtp-Source: AGHT+IHxRXDoYoB7R0oG1qRC1Se/hiBqxljSsCy6IJFYlOMwu3SwwvjPIxl770Q58cnVkFuQqV/rsg== X-Received: by 2002:a05:6a00:9285:b0:76a:e87a:998b with SMTP id d2e1a72fcca58-76ae87a9c36mr855490b3a.12.1753833662560; Tue, 29 Jul 2025 17:01:02 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 38/89] linux-user/xtensa: Create init_main_thread Date: Tue, 29 Jul 2025 13:59:11 -1000 Message-ID: <20250730000003.599084-39-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::429; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x429.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: 1753834728230116600 Content-Type: text/plain; charset="utf-8" Merge init_thread and target_cpu_copy_regs. There's no point going through a target_pt_regs intermediate. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 18 +----------------- linux-user/xtensa/cpu_loop.c | 22 ++++++++++++++++------ 2 files changed, 17 insertions(+), 23 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 48c04f9f33..4a58811f4f 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -911,23 +911,7 @@ static bool init_guest_commpage(void) #define ELF_CLASS ELFCLASS32 #define ELF_ARCH EM_XTENSA =20 -static inline void init_thread(struct target_pt_regs *regs, - struct image_info *infop) -{ - regs->windowbase =3D 0; - regs->windowstart =3D 1; - regs->areg[1] =3D infop->start_stack; - regs->pc =3D infop->entry; - if (info_is_fdpic(infop)) { - regs->areg[4] =3D infop->loadmap_addr; - regs->areg[5] =3D infop->interpreter_loadmap_addr; - if (infop->interpreter_loadmap_addr) { - regs->areg[6] =3D infop->interpreter_pt_dynamic_addr; - } else { - regs->areg[6] =3D infop->pt_dynamic_addr; - } - } -} +#define HAVE_INIT_MAIN_THREAD =20 /* See linux kernel: arch/xtensa/include/asm/elf.h. */ #define ELF_NREG 128 diff --git a/linux-user/xtensa/cpu_loop.c b/linux-user/xtensa/cpu_loop.c index c0fcf743e7..43a194fc4a 100644 --- a/linux-user/xtensa/cpu_loop.c +++ b/linux-user/xtensa/cpu_loop.c @@ -238,12 +238,22 @@ void cpu_loop(CPUXtensaState *env) } } =20 -void target_cpu_copy_regs(CPUArchState *env, target_pt_regs *regs) +void init_main_thread(CPUState *cs, struct image_info *info) { - int i; - for (i =3D 0; i < 16; ++i) { - env->regs[i] =3D regs->areg[i]; + CPUArchState *env =3D cpu_env(cs); + + env->sregs[WINDOW_BASE] =3D 0; + env->sregs[WINDOW_START] =3D 1; + env->regs[1] =3D info->start_stack; + env->pc =3D info->entry; + + if (info_is_fdpic(info)) { + env->regs[4] =3D info->loadmap_addr; + env->regs[5] =3D info->interpreter_loadmap_addr; + if (info->interpreter_loadmap_addr) { + env->regs[6] =3D info->interpreter_pt_dynamic_addr; + } else { + env->regs[6] =3D info->pt_dynamic_addr; + } } - env->sregs[WINDOW_START] =3D regs->windowstart; - env->pc =3D regs->pc; } --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835049; cv=none; d=zohomail.com; s=zohoarc; b=FHdG9wU1IpeVrl94UmYVrzebMGplY/YQTOtHR+GoyxTVHMKDt5l+QSoJJNQX7VxlvW+4quOFxT68FsSOORC7FeJcZatiyLmtsNuEI2w1CwyYrBEsI94tcUnNVyWgHOsXwCN5m2KrvEOSpP3GU6Rj/IfDGcWrnUMTLLdEITCVL4Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835049; 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=1qA7VhXCQSEj2ysCTHwwEzXNPecwlWbXtt2zgXbWExA=; b=OtkN89Dgimqn2uLYQCniPQolKc1jYC5DeATVJ8TmLzUw/iZTMbvouHO4zhm22D8Kn7ZcPrCI8xcefTz92g6qIt7VjYbU4dp8Bf40ihpYzCjrKLdVIRlpPPQh0C7ekcZLcPyzCOQQOlK2gq7IDo6KFgVbsBo6IxNGs1L0YYYlg1U= 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 1753835049731156.00773842859246; Tue, 29 Jul 2025 17:24:09 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguVd-0002cD-Jl; Tue, 29 Jul 2025 20:17:30 -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 1uguFo-00029Q-2p for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:01:10 -0400 Received: from mail-pf1-x42d.google.com ([2607:f8b0:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguFm-000494-5P for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:01:07 -0400 Received: by mail-pf1-x42d.google.com with SMTP id d2e1a72fcca58-76a3818eb9bso858218b3a.3 for ; Tue, 29 Jul 2025 17:01:04 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-764090e178bsm9026087b3a.62.2025.07.29.17.01.02 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:01:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833664; x=1754438464; 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=1qA7VhXCQSEj2ysCTHwwEzXNPecwlWbXtt2zgXbWExA=; b=t5rj9zTUTJSJQ/mOhNI6vBUWaWqaOsxF9pEkDbLifWu/+WBj4Fhbgq3l0KOYlDACeU fHnn0LA/nT40yYdq5t/OEYCglXB1VLhw+9FTYUB21mw1Maqt5fFtd0nORbIIf4l5DChZ xjoyZzPlnRmIq4kr5ZwML+Kc6ka3MXKdag5WznGGRc89o0YVupEXrKSShh9O3KSV52R9 r6zvcJIu9bTn338VPtVnYA9hBnRfMyP/qGFOWSZ+8Nlc0pzVaXK2OYx2wWgQD/PHvyaC xxINELWXQncoD75fR8Cu5WbPvjUuIvTtkJihHasbZ2kRAlvIvGDhGhNLXz0BhcaefeLd yVeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833664; x=1754438464; 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=1qA7VhXCQSEj2ysCTHwwEzXNPecwlWbXtt2zgXbWExA=; b=po6tEuSPWX+v063z2hTfFrRcqGugP4R1WHSUtz55PONlctFcnS1++eY6EOHQcdlSNs tT0BJzJoqkoheyMGASi7utSwiewF4lECA4PW4/fPzJv08A/QSFvriGeJALw5eAxf1DjS hZCzczlyE0VI9UVxNEh8wdHnl/Jsi8Lo/pXeb8AIiWk0BunraVDuKEIYHdUDHdnLqgMd qlMdKRwueEDzDgeYYW4bJxU5ulhk7fxLyUm36g7HJXDHeZ0PWPeikWknIzZAN3YRCsyC rLRGvB0GoJxgc9+tBKGcoBCuPsARcu7f0KsRNsmcqRx169quiG7GmAZCcq9wr0ckpb3o dMiQ== X-Gm-Message-State: AOJu0YyxdbG6SWF616M6J8549AuaZjNZ4WCCaFtUGnxMD9PBuGK8rBor YUFymvvTwekHviqVosThuWIBGwMkitPutYkgtue8XczP8Nv2BZ/6agda9v19XtgzX02OD51UhhT 0oawp X-Gm-Gg: ASbGncuh/ZZwWk0aOfIheEBH0zHVJ9Ok4pt5VASRdYL+bqD/BuyPsv47jh9U2FVX9WC AJ/XikYp0dv+zTMgVUSujPUv8lzbbxHjfGr1tEP7wjUZ2dICG75NPfQV6FG4ftC7b9Px8bDaGQj vJcfYcdc1EW0eyy/C3ifBextUtjqxbKKs41YSwI4e/bqmpvprTqEzHl1t4TIrXC+F2mycsKIzjJ YAu9XO2WwI61XeK4eODElNdDpZH3sJOgDVUl8NPYT7/Wy9wbiFHi8XFhyeZyxB791hBiqovcXR3 DThtjXyWprbI8IkcOzza0b3Zpkjs1fhOwPS/jjKqZ3hYTygxjcpuq76EOkCy+aKEwYhaVgZlaHz fQPYZnjGDwnoEDDsXne3ooccai24DCW/FlIgGi7YEm/HYQT9v2YH9N9HY48YFfOakUQNs3DkH09 xw65dJhKqn0A== X-Google-Smtp-Source: AGHT+IHhkF4DqfoWy8+e7xJtR1+1mgymUmUubmygp+H8Avm3P6zf1SPavhJVuFWpwfX83TlQ7g6ZQQ== X-Received: by 2002:a05:6a00:2443:b0:73d:fa54:afb9 with SMTP id d2e1a72fcca58-76ab1414873mr2018191b3a.7.1753833663762; Tue, 29 Jul 2025 17:01:03 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 39/89] linux-user/hexagon: Create init_main_thread Date: Tue, 29 Jul 2025 13:59:12 -1000 Message-ID: <20250730000003.599084-40-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::42d; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42d.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: 1753835050873116600 Content-Type: text/plain; charset="utf-8" Merge init_thread and target_cpu_copy_regs. There's no point going through a target_pt_regs intermediate. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 7 +------ linux-user/hexagon/cpu_loop.c | 8 +++++--- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 4a58811f4f..1276b57f0d 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -960,12 +960,7 @@ static void elf_core_copy_regs(target_elf_gregset_t *r= egs, #define ELF_CLASS ELFCLASS32 #define ELF_ARCH EM_HEXAGON =20 -static inline void init_thread(struct target_pt_regs *regs, - struct image_info *infop) -{ - regs->sepc =3D infop->entry; - regs->sp =3D infop->start_stack; -} +#define HAVE_INIT_MAIN_THREAD =20 #endif /* TARGET_HEXAGON */ =20 diff --git a/linux-user/hexagon/cpu_loop.c b/linux-user/hexagon/cpu_loop.c index e18a0183b5..25c97edcae 100644 --- a/linux-user/hexagon/cpu_loop.c +++ b/linux-user/hexagon/cpu_loop.c @@ -79,9 +79,11 @@ void cpu_loop(CPUHexagonState *env) } } =20 -void target_cpu_copy_regs(CPUArchState *env, target_pt_regs *regs) +void init_main_thread(CPUState *cs, struct image_info *info) { - env->gpr[HEX_REG_PC] =3D regs->sepc; - env->gpr[HEX_REG_SP] =3D regs->sp; + CPUArchState *env =3D cpu_env(cs); + + env->gpr[HEX_REG_PC] =3D info->entry; + env->gpr[HEX_REG_SP] =3D info->start_stack; env->gpr[HEX_REG_USR] =3D 0x56000; } --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835518; cv=none; d=zohomail.com; s=zohoarc; b=ftWou2AUBBKJv7g2QLjSDYww44k0vAqHL+LdKJMFlgwYzt/8a3e7PLQDLg402rI8/NRISIrn27wcw8m5dElGpRXDIb7tyQPGIpmhCObM6gGdNI74AhvmvJZx9n0SAbjJdPRvz1fPEbD3UB10AcaiTVy9m1+F5OqcAomi7QwuU3c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835518; 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=MV6Ro9mWnxqsPjREdWaA08BESU+z4GHTfrZvTcc6ukI=; b=B9C90WmOwH06N/HEJibG6izmzhJYD2R+Rm/b5fU4TV+TMzjqJwkpVSDV/39mSrTGcsfY8hbFb17vNo961xk9kAcx7LbWfYQBwfYj2GLx6ZRQ1/l6H673HQwynn2IyzjbkYEnGP+7eKgCx1ZFPUL7WRAiE9Bg5PKC4ktNJXUA6LY= 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 1753835518798616.6406562665136; Tue, 29 Jul 2025 17:31:58 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugubu-00067L-MU; Tue, 29 Jul 2025 20:23:59 -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 1uguIl-0004MA-1o for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:11 -0400 Received: from mail-pf1-x42e.google.com ([2607:f8b0:4864:20::42e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguIh-0004a4-TF for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:09 -0400 Received: by mail-pf1-x42e.google.com with SMTP id d2e1a72fcca58-7682560a2f2so434987b3a.1 for ; Tue, 29 Jul 2025 17:04:07 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.05 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833846; x=1754438646; 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=MV6Ro9mWnxqsPjREdWaA08BESU+z4GHTfrZvTcc6ukI=; b=UQSQBbXtgHbQXKsDrSizutMEXsaMTjARhHtrVU7gpNN4kr7mXcn7Dl7o2mshfNdgaq CYsfrRstWtwYYrsu35gUBdtWPqwnpwddhSika5YMpRrsnAG7h3NfDIBWIFqVQfeF3HGO U8K4RwVs9WITV1wUpcZHX/6HhKTQzLT4NhVgpFUhigAHcWS2FfsyW5w/SRk6knFac2ww fd3f1lAGBx3BjzZDTFyAeK6h4oWIvWREGQhqs9x3MBzS55bHwPxUAIOlU+TjkCATFP4J daa79fEe1XhDdQ137B4kycX0L+vW8IMcyfxugm8/01JaPGnjTemVk/h1TvcQ2v+/ompS hWxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833846; x=1754438646; 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=MV6Ro9mWnxqsPjREdWaA08BESU+z4GHTfrZvTcc6ukI=; b=A3tSNCNcRcfAJkBb08Ep7qPIBEdNR0RLWYzWpiPc+kV3FUmApOHoP3ZtMw9rTjjeQ1 HYBnryvTBGuaVL7mazCTarAAVeZvIB9R/fLPOhB+cGdPJQ/qnI2yzptUDXBRi0QVA15k 9wTkKaV6Ff1zaULJmJENcIE6zhFyHIUwA1SO9u97I3mrLSItv6STyOcN9mgKj+mx1Yqr 8t5ooUUqFdvum2bkbQNA5rXqNNV18Zpow4xlXt6kXgUevQSN+UgWNGoXrJnhis1B6X2L TScrie15mmhj4WOkDRiTuL9J3DuzMxUSzCCS3125+USEyDAV5k2agF/8UXhZOcHpy0Hs lDPw== X-Gm-Message-State: AOJu0YyCbXezYZrcCcMz0C0JKuyP2T6mXUIqadQkXAo2ZPEq/4bRSiVB /QBTb0+t9q0YV2QAEyT9DbOfPeWUZkhzjlaMglLU+FYF5nnePnAbWopkg3okkXQRuCpR86x+lqS IVIv7 X-Gm-Gg: ASbGncubZVs2VPL9f+Md+PiaqBXI5wSv3aSIyDm0ASotLcOD7+RnADOQYhjopFve8Ux DfB+5fA/0Axw/2yulXbg4Rp638lHuIKQblJLNG/sHxlyNMIJ02VUhgKIHn66/W50VFhp5hk/WmK yVl3n0RC5++yO3hEVADj6STmI59CRbgUgAb/B/mYcuMy8mjjuabpBuQcXKwBlwz2TjgNQSmfClS 9kJnA94laEKMvujEAkI6Mmu56pw3deSdNQSED6oABRdahv12GFTkWpAhiJRPqJpTQ6i4f3uVZy2 +xHon2PRPt16MAluHi19W93Y/JHv40KDKCfHm39e6+V91LCTYr1NPEInwaZe3pIlCYRQKsAPSOs Z4f4HAgApmjarz/t+99TYX7ZWejRLdlyIUinQuNlNrRGhZkWuQcwnM26DbtQ8jy7d+qnSKmnnnk rIZbm+IgeKaA== X-Google-Smtp-Source: AGHT+IEM5/IN+jBJAMZuZcticFfJG0J5bMtQ0ePurMPet/8gjbdmKjAqATohEnZQhOMotFyYCXOJOA== X-Received: by 2002:a05:6a00:3283:b0:76b:2834:8c5c with SMTP id d2e1a72fcca58-76b28348e14mr97759b3a.6.1753833846139; Tue, 29 Jul 2025 17:04:06 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 40/89] linux-user: Remove do_init_main_thread Date: Tue, 29 Jul 2025 13:59:13 -1000 Message-ID: <20250730000003.599084-41-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::42e; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42e.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: 1753835519829116600 Content-Type: text/plain; charset="utf-8" All targets have been converted, so we can call init_main_thread directly. Remove do_init_main_thread and HAVE_INIT_MAIN_THREAD. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/loader.h | 1 - linux-user/qemu.h | 2 -- linux-user/elfload.c | 46 -------------------------------------------- linux-user/main.c | 2 +- 4 files changed, 1 insertion(+), 50 deletions(-) diff --git a/linux-user/loader.h b/linux-user/loader.h index b7dceb4abe..700bbdb02e 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -82,7 +82,6 @@ struct linux_binprm { int (*core_dump)(int, const CPUArchState *); /* coredump routine */ }; =20 -void do_init_main_thread(CPUState *cs, struct image_info *infop); abi_ulong loader_build_argptr(int envc, int argc, abi_ulong sp, abi_ulong stringp, int push_ptr); int loader_exec(int fdexec, const char *filename, char **argv, char **envp, diff --git a/linux-user/qemu.h b/linux-user/qemu.h index 475b11e4c4..4c626f270c 100644 --- a/linux-user/qemu.h +++ b/linux-user/qemu.h @@ -365,8 +365,6 @@ void *lock_user_string(abi_ulong guest_addr); /* Clone cpu state */ CPUArchState *cpu_copy(CPUArchState *env); =20 -typedef struct target_pt_regs target_pt_regs; -void target_cpu_copy_regs(CPUArchState *env, target_pt_regs *regs); void init_main_thread(CPUState *cs, struct image_info *info); =20 #endif /* QEMU_H */ diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 1276b57f0d..27682f0c81 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -155,8 +155,6 @@ typedef abi_int target_pid_t; =20 #ifdef TARGET_I386 =20 -#define HAVE_INIT_MAIN_THREAD - #ifdef TARGET_X86_64 #define ELF_CLASS ELFCLASS64 #define ELF_ARCH EM_X86_64 @@ -299,8 +297,6 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, const CPUX86State *en #define ELF_CLASS ELFCLASS32 #define EXSTACK_DEFAULT true =20 -#define HAVE_INIT_MAIN_THREAD - #define ELF_NREG 18 typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; =20 @@ -401,8 +397,6 @@ static const VdsoImageInfo *vdso_image_info(uint32_t el= f_flags) #define ELF_ARCH EM_AARCH64 #define ELF_CLASS ELFCLASS64 =20 -#define HAVE_INIT_MAIN_THREAD - #define ELF_NREG 34 typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; =20 @@ -444,8 +438,6 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, # define ELF_ARCH EM_SPARCV9 #endif =20 -#define HAVE_INIT_MAIN_THREAD - #endif /* TARGET_SPARC */ =20 #ifdef TARGET_PPC @@ -491,8 +483,6 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, NEW_AUX_ENT(AT_UCACHEBSIZE, 0); \ } while (0) =20 -#define HAVE_INIT_MAIN_THREAD - /* See linux kernel: arch/powerpc/include/asm/elf.h. */ #define ELF_NREG 48 typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; @@ -539,8 +529,6 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, const CPUPPCState *en =20 #define VDSO_HEADER "vdso.c.inc" =20 -#define HAVE_INIT_MAIN_THREAD - /* See linux kernel: arch/loongarch/include/asm/elf.h */ #define ELF_NREG 45 typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; @@ -587,8 +575,6 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, #define elf_check_abi(x) (!((x) & EF_MIPS_ABI2)) #endif =20 -#define HAVE_INIT_MAIN_THREAD - /* See linux kernel: arch/mips/include/asm/elf.h. */ #define ELF_NREG 45 typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; @@ -646,8 +632,6 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, const CPUMIPSState *e #define ELF_CLASS ELFCLASS32 #define ELF_ARCH EM_MICROBLAZE =20 -#define HAVE_INIT_MAIN_THREAD - #define ELF_EXEC_PAGESIZE 4096 =20 #define USE_ELF_CORE_DUMP @@ -679,8 +663,6 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, const CPUMBState *env #define ELF_CLASS ELFCLASS32 #define ELF_DATA ELFDATA2MSB =20 -#define HAVE_INIT_MAIN_THREAD - #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 8192 =20 @@ -707,8 +689,6 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, #define ELF_CLASS ELFCLASS32 #define ELF_ARCH EM_SH =20 -#define HAVE_INIT_MAIN_THREAD - /* See linux kernel: arch/sh/include/asm/elf.h. */ #define ELF_NREG 23 typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; @@ -752,8 +732,6 @@ static inline void elf_core_copy_regs(target_elf_gregse= t_t *regs, #define ELF_CLASS ELFCLASS32 #define ELF_ARCH EM_68K =20 -#define HAVE_INIT_MAIN_THREAD - /* See linux kernel: arch/m68k/include/asm/elf.h. */ #define ELF_NREG 20 typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; @@ -792,8 +770,6 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, const CPUM68KState *e #define ELF_CLASS ELFCLASS64 #define ELF_ARCH EM_ALPHA =20 -#define HAVE_INIT_MAIN_THREAD - #define ELF_EXEC_PAGESIZE 8192 =20 #endif /* TARGET_ALPHA */ @@ -804,8 +780,6 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, const CPUM68KState *e #define ELF_DATA ELFDATA2MSB #define ELF_ARCH EM_S390 =20 -#define HAVE_INIT_MAIN_THREAD - /* See linux kernel: arch/s390/include/uapi/asm/ptrace.h (s390_regs). */ #define ELF_NREG 27 typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; @@ -855,8 +829,6 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, #define VDSO_HEADER "vdso-64.c.inc" #endif =20 -#define HAVE_INIT_MAIN_THREAD - #define ELF_EXEC_PAGESIZE 4096 =20 #endif /* TARGET_RISCV */ @@ -870,8 +842,6 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, =20 #define VDSO_HEADER "vdso.c.inc" =20 -#define HAVE_INIT_MAIN_THREAD - #define LO_COMMPAGE 0 =20 static bool init_guest_commpage(void) @@ -911,8 +881,6 @@ static bool init_guest_commpage(void) #define ELF_CLASS ELFCLASS32 #define ELF_ARCH EM_XTENSA =20 -#define HAVE_INIT_MAIN_THREAD - /* See linux kernel: arch/xtensa/include/asm/elf.h. */ #define ELF_NREG 128 typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; @@ -960,8 +928,6 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, #define ELF_CLASS ELFCLASS32 #define ELF_ARCH EM_HEXAGON =20 -#define HAVE_INIT_MAIN_THREAD - #endif /* TARGET_HEXAGON */ =20 #ifndef ELF_MACHINE @@ -3454,15 +3420,3 @@ static int elf_core_dump(int signr, const CPUArchSta= te *env) return ret; } #endif /* USE_ELF_CORE_DUMP */ - -void do_init_main_thread(CPUState *cs, struct image_info *infop) -{ -#ifdef HAVE_INIT_MAIN_THREAD - init_main_thread(cs, infop); -#else - target_pt_regs regs =3D { }; - - init_thread(®s, infop); - target_cpu_copy_regs(cpu_env(cs), ®s); -#endif -} diff --git a/linux-user/main.c b/linux-user/main.c index 121dc4a0e6..d962f344b8 100644 --- a/linux-user/main.c +++ b/linux-user/main.c @@ -1038,7 +1038,7 @@ int main(int argc, char **argv, char **envp) the real value of GUEST_BASE into account. */ tcg_prologue_init(); =20 - do_init_main_thread(cpu, info); + init_main_thread(cpu, info); =20 if (gdbstub) { gdbserver_start(gdbstub, &error_fatal); --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835043; cv=none; d=zohomail.com; s=zohoarc; b=M3Ua8JFoIaWHIBAGTFCi1XJkMcoY2U5n/SqqTDFUyXyn+O1HxPrzzOyHqCZjuJOMF/lmCR+UVTLRwR8y5ttWPaIHWt2FGcdRGivYybyG92kFyYykm5i89qoLACLhmwn5lVQCr2dh8HCYCFdf5LE4sgweNCFZ26tanqAeG5S1q+4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835043; 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=SwxnF4qqNf4bM30MZ3SLjOwS3GMqPn/ph/UJVhS2pbg=; b=X6cHy+/cMO3yOrNUv7zpZv3V8unpGoQ9rntZZifRZl6WRqYIB2TAt2xOCeKb0pAJK1khG/oLmw/wg00njfGkD0TizeiTYA9lYisP0UXecGm2tmz/IkKYaoKIk/whrf7R9m5CPJFj8W9B7nxQU6FakkFCu8OCvHVbDQg1PQ9I2SA= 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 1753835043814332.27504471403233; Tue, 29 Jul 2025 17:24:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugubb-0004kV-5v; Tue, 29 Jul 2025 20:23:39 -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 1uguIl-0004Na-52 for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:11 -0400 Received: from mail-pf1-x42c.google.com ([2607:f8b0:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguIj-0004aM-6Z for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:10 -0400 Received: by mail-pf1-x42c.google.com with SMTP id d2e1a72fcca58-7698e914cd2so1845080b3a.3 for ; Tue, 29 Jul 2025 17:04:08 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.06 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833848; x=1754438648; 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=SwxnF4qqNf4bM30MZ3SLjOwS3GMqPn/ph/UJVhS2pbg=; b=sWc4jV3+BsXyID7Zhsh1ewuUOcPe7BXKe6Ku0VHTtKRxu+Bd2hE23C5dg8kX12j7DP l0s3r59LUqOTkRnhi31U1ppNOGViOYCVhk0wde5vUo+pka1baH5+FwNNFKxcoUjCJoga N0Qzilh24hApYqg7et4vTE/xnRLrHkBSLOEdy6UqY8mkqSLTmT4o0xwv1KEHG44tdt/h zDwz/rWRhgXUNRTTzQNLK/vJBkvh8JpM3rS0I6/ifh1TSC/lGdoTn7xgowmdfmgUqVul YopD6d05VGmALue65UyAiHI5WokzZqyH/yHEMGYkDIlpUj7gG5KD2a4Pkj/zV4nYYbXh WpQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833848; x=1754438648; 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=SwxnF4qqNf4bM30MZ3SLjOwS3GMqPn/ph/UJVhS2pbg=; b=IAiZRZy+/a2dTyq18BUkm420d/b3ZIHOF+EXd0b6QlRnSm8jW30vYX2hms+SUF8s73 08Bmsdgr4aJRIsggIydCWV8D3mgr2tLOleIN4yhy4T+NKfNzEeMEfXUeZFmyAUkCqFxd EX391LEWNw8LjiHL7157iSju5EFvQ9MnrqGjP26nk5LJNszl1ZjDFlyIDhI9pa6a7pep UtAqfRGmyYKXL3kzGn5K89F7+ebxQjrLSqDIzgQXkt8W85HOh6A5xf+FAEDXFEL2crMj hkNy9Afq+6lpXfEJVOVs3/smCPW2ftWtS6WB8xlQVz0BUNBVHTljigafUe/LiGMDNtnj lk4g== X-Gm-Message-State: AOJu0YydIsfMQ+NyfwHrZtBpmBNXleDvyy2a4gbptp6tsSpGhgWv0QDN pbrCtL06iEhTG1O/sG06DdfBWB25dkppHVUvXHZR3a6SLahhK1kS497yXPycGjv4/eNzGJ8k3Yz oSSww X-Gm-Gg: ASbGncvg9yYgcIrKaoa+/lGRhDggKmVYIw758FD8WqEQaa13soAUHWC8ldlrWafgbMl WDPlqDU6ww58P5f1H16x0UQsqveR1CjNBDyXmHWWbYjAGT9i1SeX+YxSi0Y/uOWaVWsYiu4ug44 tsSlKHH8Ijo4QJCup1yeGPXRDqmVCLqgRPtYPz3TjE1+PEP/dTo0WpXDmmj2leLtJFCgsx/UKpj fQqk5ihQpCQBitahdr4wWrX77o3LWwNlcuwMTg6WfyvMGTJmfwm2bZRQ1cpr5YuXcS/FhzY0EEY sobh0XPvEPUYgL/5g8U1tyj2R+/LaMeCeVvKUftuOKLZmcX6ILvrJ65T3tiU/0sAgEEljiKp+3C HJb2dsrIblNU2WUDl5kbSK/t+eSVkIlijKBstvPvdkbCjPDEM2wSSyj1PG5vOeKYVWsAJ2264fG JnpNFVnzRsDadgRQDX2Uv1 X-Google-Smtp-Source: AGHT+IHybfkMbDsOzGh0Btb/XQAKF5fPP9Dnw4CXDDEWNmJMhgCEJfrCEAJHIesoOu2pPHEo2jVc5Q== X-Received: by 2002:a05:6a00:2313:b0:749:472:d3a7 with SMTP id d2e1a72fcca58-76ab30dd088mr2200683b3a.18.1753833847550; Tue, 29 Jul 2025 17:04:07 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 41/89] linux-user/x86_64: Split out target_coredump.c.inc Date: Tue, 29 Jul 2025 13:59:14 -1000 Message-ID: <20250730000003.599084-42-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::42c; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42c.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: 1753835044715116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 41 +----------------------- linux-user/x86_64/target_coredump.c.inc | 42 +++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 40 deletions(-) create mode 100644 linux-user/x86_64/target_coredump.c.inc diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 27682f0c81..fc2ee4e0e3 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -159,46 +159,7 @@ typedef abi_int target_pid_t; #define ELF_CLASS ELFCLASS64 #define ELF_ARCH EM_X86_64 =20 -#define ELF_NREG 27 -typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; - -/* - * Note that ELF_NREG should be 29 as there should be place for - * TRAPNO and ERR "registers" as well but linux doesn't dump - * those. - * - * See linux kernel: arch/x86/include/asm/elf.h - */ -static void elf_core_copy_regs(target_elf_gregset_t *regs, const CPUX86Sta= te *env) -{ - (*regs)[0] =3D tswapreg(env->regs[15]); - (*regs)[1] =3D tswapreg(env->regs[14]); - (*regs)[2] =3D tswapreg(env->regs[13]); - (*regs)[3] =3D tswapreg(env->regs[12]); - (*regs)[4] =3D tswapreg(env->regs[R_EBP]); - (*regs)[5] =3D tswapreg(env->regs[R_EBX]); - (*regs)[6] =3D tswapreg(env->regs[11]); - (*regs)[7] =3D tswapreg(env->regs[10]); - (*regs)[8] =3D tswapreg(env->regs[9]); - (*regs)[9] =3D tswapreg(env->regs[8]); - (*regs)[10] =3D tswapreg(env->regs[R_EAX]); - (*regs)[11] =3D tswapreg(env->regs[R_ECX]); - (*regs)[12] =3D tswapreg(env->regs[R_EDX]); - (*regs)[13] =3D tswapreg(env->regs[R_ESI]); - (*regs)[14] =3D tswapreg(env->regs[R_EDI]); - (*regs)[15] =3D tswapreg(get_task_state(env_cpu_const(env))->orig_ax); - (*regs)[16] =3D tswapreg(env->eip); - (*regs)[17] =3D tswapreg(env->segs[R_CS].selector & 0xffff); - (*regs)[18] =3D tswapreg(env->eflags); - (*regs)[19] =3D tswapreg(env->regs[R_ESP]); - (*regs)[20] =3D tswapreg(env->segs[R_SS].selector & 0xffff); - (*regs)[21] =3D tswapreg(env->segs[R_FS].selector & 0xffff); - (*regs)[22] =3D tswapreg(env->segs[R_GS].selector & 0xffff); - (*regs)[23] =3D tswapreg(env->segs[R_DS].selector & 0xffff); - (*regs)[24] =3D tswapreg(env->segs[R_ES].selector & 0xffff); - (*regs)[25] =3D tswapreg(env->segs[R_FS].selector & 0xffff); - (*regs)[26] =3D tswapreg(env->segs[R_GS].selector & 0xffff); -} +#include "target_coredump.c.inc" =20 #if ULONG_MAX > UINT32_MAX #define INIT_GUEST_COMMPAGE diff --git a/linux-user/x86_64/target_coredump.c.inc b/linux-user/x86_64/ta= rget_coredump.c.inc new file mode 100644 index 0000000000..b85ee22669 --- /dev/null +++ b/linux-user/x86_64/target_coredump.c.inc @@ -0,0 +1,42 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#define ELF_NREG 27 +typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; + +/* + * Note that ELF_NREG should be 29 as there should be place for + * TRAPNO and ERR "registers" as well but linux doesn't dump those. + * + * See linux kernel: arch/x86/include/asm/elf.h + */ +static void elf_core_copy_regs(target_elf_gregset_t *regs, + const CPUX86State *env) +{ + (*regs)[0] =3D tswapreg(env->regs[15]); + (*regs)[1] =3D tswapreg(env->regs[14]); + (*regs)[2] =3D tswapreg(env->regs[13]); + (*regs)[3] =3D tswapreg(env->regs[12]); + (*regs)[4] =3D tswapreg(env->regs[R_EBP]); + (*regs)[5] =3D tswapreg(env->regs[R_EBX]); + (*regs)[6] =3D tswapreg(env->regs[11]); + (*regs)[7] =3D tswapreg(env->regs[10]); + (*regs)[8] =3D tswapreg(env->regs[9]); + (*regs)[9] =3D tswapreg(env->regs[8]); + (*regs)[10] =3D tswapreg(env->regs[R_EAX]); + (*regs)[11] =3D tswapreg(env->regs[R_ECX]); + (*regs)[12] =3D tswapreg(env->regs[R_EDX]); + (*regs)[13] =3D tswapreg(env->regs[R_ESI]); + (*regs)[14] =3D tswapreg(env->regs[R_EDI]); + (*regs)[15] =3D tswapreg(get_task_state(env_cpu_const(env))->orig_ax); + (*regs)[16] =3D tswapreg(env->eip); + (*regs)[17] =3D tswapreg(env->segs[R_CS].selector & 0xffff); + (*regs)[18] =3D tswapreg(env->eflags); + (*regs)[19] =3D tswapreg(env->regs[R_ESP]); + (*regs)[20] =3D tswapreg(env->segs[R_SS].selector & 0xffff); + (*regs)[21] =3D tswapreg(env->segs[R_FS].selector & 0xffff); + (*regs)[22] =3D tswapreg(env->segs[R_GS].selector & 0xffff); + (*regs)[23] =3D tswapreg(env->segs[R_DS].selector & 0xffff); + (*regs)[24] =3D tswapreg(env->segs[R_ES].selector & 0xffff); + (*regs)[25] =3D tswapreg(env->segs[R_FS].selector & 0xffff); + (*regs)[26] =3D tswapreg(env->segs[R_GS].selector & 0xffff); +} --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753836192; cv=none; d=zohomail.com; s=zohoarc; b=dTLuJ4uWI9WDVmdppmxio53ti1/Dr0WbO2WFksXFp6jdBenUxAzLA5RHBIilXsd5pr4HUS/yrVY/lO7SYar8ekYKCtp4Qq4sCnEqFQmXHiaXnT67gQ1QgXvxCO2fzwjm19YDtKdY7C4Coyfq2Y+WX/VFxTKyUqwnU2AzMWnnS4o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753836192; 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=5nEK5nD/ceEZ87USw80BOIb0YlloBar65++Aor9qra4=; b=kGiDcXdNPV5YghBNxIdDALM2Q0oJ/MYkTG5oNWo4q5UX8ceHL6FTsKWdvP8iP3tH92+Q9CKT/l1r2HizhNFHphh0f8yUkb47dfN6+sesOyprpNvVj4oO+ICreBIUTZsoIHNFQcFtD78P77HavN+y2H8m8I6BjFdbgkl/UEY6kG8= 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 1753836192542533.997883794392; Tue, 29 Jul 2025 17:43:12 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugubj-0005Ms-Nt; Tue, 29 Jul 2025 20:23:48 -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 1uguIm-0004Ot-Ga for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:12 -0400 Received: from mail-pf1-x42d.google.com ([2607:f8b0:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguIk-0004aR-GT for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:12 -0400 Received: by mail-pf1-x42d.google.com with SMTP id d2e1a72fcca58-748fe69a7baso5545519b3a.3 for ; Tue, 29 Jul 2025 17:04:09 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.07 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833849; x=1754438649; 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=5nEK5nD/ceEZ87USw80BOIb0YlloBar65++Aor9qra4=; b=Cf0cZg4YQY/yCzxe6RCUp47zcCRxcoM9whOfH7gGpp8AxgWAjuLOKw/PFNEQThMQsS gdB4xOesMlbWD5jSuMT96kTSxBOYyX5vvx2KyMTrxAZ8yQUtgL4jgVU6xcSWmpnSiLo1 mCQGUGt0hS6jb/Rys8bM6GSzjFuoPyFExg/qq1D05lLghNu9ofiX6uJw3EXKy8J4eO/Y qaLLCx/IJoVT0Z73GZA9MNJR+nO1dxKPFEg0eaCWDtSa0TP29bXyYRBbTldaB0Wuv83+ /kJzlXeEb+4VklOZtng37EDZ4ba6PBT4qgP6H9i9isxJbB1B0dWV6MhrhbXfRnxZ/GqV Sqqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833849; x=1754438649; 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=5nEK5nD/ceEZ87USw80BOIb0YlloBar65++Aor9qra4=; b=uPBmo6ySpjBACPmoUeCoK4Ohczj8Bu29rV8/AeDAGO8bnmydw3ixBH1yhMPEyJrl09 NLaxR8ZEHgVBOcZ9GbZIjJj0m8x7smkrGpeoi6PoI9WXaZGmgUc4iQ/RvwjEPYbuAKiM eN/A3o5N1pF/0cBeGmo0QGZ+t6djWJwTe0ioTM31+fZX2Czql4seqz3BIBpkIwVHB8mH 5pe1yWFNAoxudUJxf//os/gNRoce5nHCpTRFxtiqVN1fN9aLHCM64NE77MG2AjDC/5H0 UbZxXKyn+qct8hoGu4U2v8/NXU3ajdVvuTuUtX9/RH/fBWvU7eelRllYd9vsE/fw0eFD +R6Q== X-Gm-Message-State: AOJu0Yw7i/wYCSio8bCXaZfj1OfNNun9GTeWiP9wMXr6lHoYBmRsqZcO tYA/mQdU4at2rm+MUawch+41jjhVue1q+BDOPlI/iy+fIKAktlNKROvlhN+rcRisqOWkzoN+ACk O53dC X-Gm-Gg: ASbGncux7e6QZCFgLST64ezfRv5kuGYxqmqtSUOSdYsJtZXTgguTZflruPJEHfL9eqP IXp4Moi2ObGVMIeHFSAobSRZKYfO+aaLyXBY+GEW8q0NeMn6+s+By8H1fEx2rufDKF0YPTLbulI 0efmCwmFbesyoBlYLTYW+ygQCaRWsLn84pu/C1QSURyJxRYEzQO9VxxFg0vSx8LySSMUR5/KzAI l0fSwKuWRH0atS/vkZKKX2UeihOZwbcLLE4KjVYY+EHVePgK7TGCTJv022tBUss31KSiKTQMWUO DlB2Y/KDnXUlFs77NmQViUyJxbLwhqrvMdxi3TfwJMkwGCQjMPhzky8zTof8+mHgrAxeV+LaryF maADgiWWH0Xrn5kYipl0Iu077xQSWUI+p7BWI2sDek6VURcJdcdntqRazB3RW3YRHu72rrVZ/UW XOv/ByxcXcTA== X-Google-Smtp-Source: AGHT+IFaW9ww2UcSv/cU2qlEeeyTdN1tDFkwJxnUA65ju0Kr/br8230A1XKcSaazqlCu/GiLHkk3xQ== X-Received: by 2002:a05:6a00:288a:b0:736:4644:86ee with SMTP id d2e1a72fcca58-76ab2b576aemr1654876b3a.14.1753833848736; Tue, 29 Jul 2025 17:04:08 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 42/89] linux-user/i386: Split out target_coredump.c.inc Date: Tue, 29 Jul 2025 13:59:15 -1000 Message-ID: <20250730000003.599084-43-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::42d; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42d.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: 1753836194105116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 31 +------------------------- linux-user/i386/target_coredump.c.inc | 32 +++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 30 deletions(-) create mode 100644 linux-user/i386/target_coredump.c.inc diff --git a/linux-user/elfload.c b/linux-user/elfload.c index fc2ee4e0e3..b315a5a243 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -197,36 +197,7 @@ static bool init_guest_commpage(void) =20 #define EXSTACK_DEFAULT true =20 -#define ELF_NREG 17 -typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; - -/* - * Note that ELF_NREG should be 19 as there should be place for - * TRAPNO and ERR "registers" as well but linux doesn't dump - * those. - * - * See linux kernel: arch/x86/include/asm/elf.h - */ -static void elf_core_copy_regs(target_elf_gregset_t *regs, const CPUX86Sta= te *env) -{ - (*regs)[0] =3D tswapreg(env->regs[R_EBX]); - (*regs)[1] =3D tswapreg(env->regs[R_ECX]); - (*regs)[2] =3D tswapreg(env->regs[R_EDX]); - (*regs)[3] =3D tswapreg(env->regs[R_ESI]); - (*regs)[4] =3D tswapreg(env->regs[R_EDI]); - (*regs)[5] =3D tswapreg(env->regs[R_EBP]); - (*regs)[6] =3D tswapreg(env->regs[R_EAX]); - (*regs)[7] =3D tswapreg(env->segs[R_DS].selector & 0xffff); - (*regs)[8] =3D tswapreg(env->segs[R_ES].selector & 0xffff); - (*regs)[9] =3D tswapreg(env->segs[R_FS].selector & 0xffff); - (*regs)[10] =3D tswapreg(env->segs[R_GS].selector & 0xffff); - (*regs)[11] =3D tswapreg(get_task_state(env_cpu_const(env))->orig_ax); - (*regs)[12] =3D tswapreg(env->eip); - (*regs)[13] =3D tswapreg(env->segs[R_CS].selector & 0xffff); - (*regs)[14] =3D tswapreg(env->eflags); - (*regs)[15] =3D tswapreg(env->regs[R_ESP]); - (*regs)[16] =3D tswapreg(env->segs[R_SS].selector & 0xffff); -} +#include "target_coredump.c.inc" =20 /* * i386 is the only target which supplies AT_SYSINFO for the vdso. diff --git a/linux-user/i386/target_coredump.c.inc b/linux-user/i386/target= _coredump.c.inc new file mode 100644 index 0000000000..df7a3e73b3 --- /dev/null +++ b/linux-user/i386/target_coredump.c.inc @@ -0,0 +1,32 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#define ELF_NREG 17 +typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; + +/* + * Note that ELF_NREG should be 19 as there should be place for + * TRAPNO and ERR "registers" as well but linux doesn't dump those. + * + * See linux kernel: arch/x86/include/asm/elf.h + */ +static void elf_core_copy_regs(target_elf_gregset_t *regs, + const CPUX86State *env) +{ + (*regs)[0] =3D tswapreg(env->regs[R_EBX]); + (*regs)[1] =3D tswapreg(env->regs[R_ECX]); + (*regs)[2] =3D tswapreg(env->regs[R_EDX]); + (*regs)[3] =3D tswapreg(env->regs[R_ESI]); + (*regs)[4] =3D tswapreg(env->regs[R_EDI]); + (*regs)[5] =3D tswapreg(env->regs[R_EBP]); + (*regs)[6] =3D tswapreg(env->regs[R_EAX]); + (*regs)[7] =3D tswapreg(env->segs[R_DS].selector & 0xffff); + (*regs)[8] =3D tswapreg(env->segs[R_ES].selector & 0xffff); + (*regs)[9] =3D tswapreg(env->segs[R_FS].selector & 0xffff); + (*regs)[10] =3D tswapreg(env->segs[R_GS].selector & 0xffff); + (*regs)[11] =3D tswapreg(get_task_state(env_cpu_const(env))->orig_ax); + (*regs)[12] =3D tswapreg(env->eip); + (*regs)[13] =3D tswapreg(env->segs[R_CS].selector & 0xffff); + (*regs)[14] =3D tswapreg(env->eflags); + (*regs)[15] =3D tswapreg(env->regs[R_ESP]); + (*regs)[16] =3D tswapreg(env->segs[R_SS].selector & 0xffff); +} --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835080; cv=none; d=zohomail.com; s=zohoarc; b=N6LB53doqSENxl9p+1YLV0KtvgHf81cB9uIHPGdUzBSRBaH1A7dPZ7PBLKW9/sPUlroNAXYXKQupq2g3YZPQvLtkjFR8hDsyZC1/kaCMNpxEqa8xf6hjzfGdJnnHDODToAhBJlxiTT08x4mnI02mGtRQersbDEqTJpn97YsmNB4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835080; 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=GrjBl0Kcx4MIhJLsQeiAbiQaN6olXKLDYOGwMaev97Q=; b=Im/5SCtMWH4S59Ym3Vd9czcMlaX/iQxJcuIYor0oCLkzw7bpRsY9tdMaOPXiVpKrm7mr3ckT+7oOQBrGivgE2T9E7eWUfYgzML7qSpI1hq18oZa/trbnPUaHi8hsrUbI8XOyY/SNIcypKpi9xz4NrYp1MTdx8/KOSJtNLJDRmrM= 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 1753835080615298.3404929891277; Tue, 29 Jul 2025 17:24:40 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugucO-0006u6-8T; Tue, 29 Jul 2025 20:24:29 -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 1uguIn-0004Pu-92 for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:13 -0400 Received: from mail-pf1-x436.google.com ([2607:f8b0:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguIl-0004ac-EN for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:13 -0400 Received: by mail-pf1-x436.google.com with SMTP id d2e1a72fcca58-748d982e97cso5675030b3a.1 for ; Tue, 29 Jul 2025 17:04:11 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.09 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833850; x=1754438650; 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=GrjBl0Kcx4MIhJLsQeiAbiQaN6olXKLDYOGwMaev97Q=; b=VSaWPOip9q9zbTzFHS+prcyZWuuIrt1PS7x0YzKbpjHFpxnq63Wl7iAF6VgLUBWPRm l7jLsDQ6MSnnBV96Aoox7pdhZNyHao+72fCVKg9k4Hi5CNNZWsVEN8o0DNHZMYDaNVtl nSbRTLmo2iIB7BGobgxuegfqH/1/8GR+TrF+TL+ax5C3UOykL2r82axPGLdNOPBIvGsV RiNCtGmGJThAdPMuldkomFpeELmSPcaRI3EgqO4QzG4iWOj07JpqfxtOJZb+0pYBtBud jQvFZLw0T8jb4jRe4QnM7p5wX26NgE3HNoMPXb6hqgKUrXdkyVRhl3j3MIQm7+JbOWG8 JupQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833850; x=1754438650; 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=GrjBl0Kcx4MIhJLsQeiAbiQaN6olXKLDYOGwMaev97Q=; b=S5QpIS38PTWwFuKZO8f1AbMRAhBn6calJpsr4V0QEAN3V1ybhxnihA0koRn2uSdcV1 qsS/tDbLMtaCwYOGphttqGO3aTVEEzDUWCbqa44p3SQzdchMQjrj7bl+TkADtat+Vz/O 04oYaiiZwzfCDm1FMyZ0vvQEaNMEifdUUd9o7xE1Wukg90Evs70UV0fWLbtBnmWcueWN 5w9pZwvWu37Jbv7t538OHbuGwZTTz8WqqSWSqg62J7kb9yARGg19mgfSDkTg0nikaxMc qYqWE48HBeGDwrw/s4AkyrSTWMICH45RlHnHWHygFZglU2BkNv9BzyPeZigBWsbwTiT5 pT6A== X-Gm-Message-State: AOJu0YyHaOb35HSZHzpIF7kFMKHc3Qm9+rpwvTQFKOB+tvhs9WJiIZcH zMDig1Voz83X64qZK75KNmi+hE2IpQCc9UvEjovwftOZde+neDmZlyPUp4A42FhFHMkG3X/FW0k 7WQEK X-Gm-Gg: ASbGncublKFPYeHylr8S1gRtRNqidwnKWwymuP5p/zScOjiF0iwa2tCwDUlFgxz+eLP hWYumeG7O1vyWCu68qOooapfmdt7P2d47hNR53cXgFcdx2JawYJT+dcapewg8c4a+G4XDLxxOVY 6/3UM5QY9dn3Xzl1mL8jw+j4+cJURZAlDGRdtwXHJZfAzbxVLpzTGvQqYD8IqXvI2/3k/JS7VV3 nRJT1W3d+UORcGf8Sx37N4fo1mrLz5G2ZOFddEZW69eXB30ORvTBaLiiXXmlbisVdMQS3oKLW9G 3z2uSpKeyz4PwpPM1wc5o64E4kWQto3gKL05VYUUQHp8EXGOwWK6MEWEjfqtIGzMlP7SKdsC5t2 IHIglO5ZASaEvJNjKc8+cJamGQUQbIhHJBzWT7Tfm2PivYHfcU/VuwGfvc+pBsNIq4OFWp5MK/P xeFxeZZTxLhg== X-Google-Smtp-Source: AGHT+IGTzCDc2Q6uIuQGOJGTn62AAckmemzic/y+krAOlJEUPKO3maO9TQZr4jzc+/+uYEAYblFt0w== X-Received: by 2002:a05:6a00:21d5:b0:76a:6b76:3aa4 with SMTP id d2e1a72fcca58-76ab333a5a4mr2260873b3a.24.1753833849979; Tue, 29 Jul 2025 17:04:09 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 43/89] linux-user/arm: Split out target_coredump.c.inc Date: Tue, 29 Jul 2025 13:59:16 -1000 Message-ID: <20250730000003.599084-44-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::436; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x436.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: 1753835081123116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 27 +-------------------------- linux-user/arm/target_coredump.c.inc | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 26 deletions(-) create mode 100644 linux-user/arm/target_coredump.c.inc diff --git a/linux-user/elfload.c b/linux-user/elfload.c index b315a5a243..b35f35b2a6 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -229,32 +229,7 @@ static bool init_guest_commpage(void) #define ELF_CLASS ELFCLASS32 #define EXSTACK_DEFAULT true =20 -#define ELF_NREG 18 -typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; - -static void elf_core_copy_regs(target_elf_gregset_t *regs, const CPUARMSta= te *env) -{ - (*regs)[0] =3D tswapreg(env->regs[0]); - (*regs)[1] =3D tswapreg(env->regs[1]); - (*regs)[2] =3D tswapreg(env->regs[2]); - (*regs)[3] =3D tswapreg(env->regs[3]); - (*regs)[4] =3D tswapreg(env->regs[4]); - (*regs)[5] =3D tswapreg(env->regs[5]); - (*regs)[6] =3D tswapreg(env->regs[6]); - (*regs)[7] =3D tswapreg(env->regs[7]); - (*regs)[8] =3D tswapreg(env->regs[8]); - (*regs)[9] =3D tswapreg(env->regs[9]); - (*regs)[10] =3D tswapreg(env->regs[10]); - (*regs)[11] =3D tswapreg(env->regs[11]); - (*regs)[12] =3D tswapreg(env->regs[12]); - (*regs)[13] =3D tswapreg(env->regs[13]); - (*regs)[14] =3D tswapreg(env->regs[14]); - (*regs)[15] =3D tswapreg(env->regs[15]); - - (*regs)[16] =3D tswapreg(cpsr_read((CPUARMState *)env)); - (*regs)[17] =3D tswapreg(env->regs[0]); /* XXX */ -} - +#include "target_coredump.c.inc" #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 diff --git a/linux-user/arm/target_coredump.c.inc b/linux-user/arm/target_c= oredump.c.inc new file mode 100644 index 0000000000..e3cb51b145 --- /dev/null +++ b/linux-user/arm/target_coredump.c.inc @@ -0,0 +1,28 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#define ELF_NREG 18 +typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; + +static void elf_core_copy_regs(target_elf_gregset_t *regs, + const CPUARMState *env) +{ + (*regs)[0] =3D tswapreg(env->regs[0]); + (*regs)[1] =3D tswapreg(env->regs[1]); + (*regs)[2] =3D tswapreg(env->regs[2]); + (*regs)[3] =3D tswapreg(env->regs[3]); + (*regs)[4] =3D tswapreg(env->regs[4]); + (*regs)[5] =3D tswapreg(env->regs[5]); + (*regs)[6] =3D tswapreg(env->regs[6]); + (*regs)[7] =3D tswapreg(env->regs[7]); + (*regs)[8] =3D tswapreg(env->regs[8]); + (*regs)[9] =3D tswapreg(env->regs[9]); + (*regs)[10] =3D tswapreg(env->regs[10]); + (*regs)[11] =3D tswapreg(env->regs[11]); + (*regs)[12] =3D tswapreg(env->regs[12]); + (*regs)[13] =3D tswapreg(env->regs[13]); + (*regs)[14] =3D tswapreg(env->regs[14]); + (*regs)[15] =3D tswapreg(env->regs[15]); + + (*regs)[16] =3D tswapreg(cpsr_read((CPUARMState *)env)); + (*regs)[17] =3D tswapreg(env->regs[0]); /* XXX */ +} --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835094; cv=none; d=zohomail.com; s=zohoarc; b=mK4n7+e4LNPzM06qH1ArQTcHUaYu9A3rItXWOlflzA2mZg033Xozkz2/XU3e6qS2y91djV2vYj0GYqitSuCqW5CZz1w9KOkVUVLKBEnIo9KElJyvVZM9i5zcRiy6WgxkxgtI8YkCicC8mXwQkSJ7gSOtsH81INRUmvY9eWTbKts= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835094; 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=74W6I+DW9RALQfP3tJ1mmyAVQC90YHEc9/WQM5fQ+dA=; b=mIDmnV1cb6TI8kKuBW+gCe5tl3l9kq9xL5q6l5S/C+KVwJy+3GLrnfe7NF+xkeD/zWrO54wKyR/tTWzXB69r3yF8HSbROoW9XU4vUpUWtQgeQ1QhLZBFL7CehTfAL9eHYk+xo4+5JgHKPIn/EHOHc1BtFIozkwPLVtwHV6zErjY= 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 175383509434633.14313770967317; Tue, 29 Jul 2025 17:24:54 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugubp-0005lG-Mz; Tue, 29 Jul 2025 20:23:53 -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 1uguIq-0004Sz-7X for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:16 -0400 Received: from mail-pf1-x431.google.com ([2607:f8b0:4864:20::431]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguIo-0004b9-Cm for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:15 -0400 Received: by mail-pf1-x431.google.com with SMTP id d2e1a72fcca58-74b52bf417cso4195798b3a.0 for ; Tue, 29 Jul 2025 17:04:13 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.10 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833853; x=1754438653; 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=74W6I+DW9RALQfP3tJ1mmyAVQC90YHEc9/WQM5fQ+dA=; b=zy/iBn81z0o11Fw2BL1reASFe5KmpwVW1GSxuImIvlTtphNy9pwDjV0oediko2NpnI 998xf1T2alcyeam4IIJbYLnpE8fd/iGo1QRraN+Uj0gm3/LdbGCkd5l8M9JRC+J0gOzg lgWHX/CjWqB8zgdi/WYUNFRq6olPWMi2j82gYktWPrM9JRVoTrOp82o9FHKIxrf5bjUe yzbSZVOwpzym8FyPCgG9voxb1SzxREfkvcJd5K7UaFa74NnAhJM43LN3/7Qx1a/csp1W Yu+tLnkS3WjHGooV9fx65qg8cC6RXUHS3gPdRp+Oa3xoerlrRNFw2KHgL0SqGgNDr+KH 6A4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833853; x=1754438653; 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=74W6I+DW9RALQfP3tJ1mmyAVQC90YHEc9/WQM5fQ+dA=; b=C2ULiYNvU6AF8Gk/uUv4Vy6cA2kLkZWLG+R+TVTygP/0txFW3TaHaW2sQ8G7hYXUW7 j57rCSQQtB+ygFLk3nePhJYmeVpd0bRCviI5uXTnrWovZVW1rBsw3DMTq5kH4h1hU/lc inYzc10M/LuIqGS4KwQEYaQB5cvgWXAVk3eFr8RUo/e87GuJ8KjazEZM3z+gD2Vudrp8 iHa9Yxrqyhq0uNo12ENu7mkGclLGrRKQpNcPqzrfFgPHY11BOU/kRCpPoYZO8OSS+y3r LBk/t67mPqm8vYOs8AIM+SRGzGTRhEb8PpNu//UkZaNRhUkmHFVKGCDifydsFrXaP3vm EZtQ== X-Gm-Message-State: AOJu0YwDEB3lF1iUK4hFPuCgnqF4T6Wym08kFla5uwUPH3NQhigvPFXg wLEaoGvrQOQYePqx8oyMFwxQUflYJXfXF+PK+GPii+EIPFw1rQ2L+L/RiADaPGh7H4Pi0c4sOeK DxUwD X-Gm-Gg: ASbGnct97Q+5A4ijzd8Wxuog0BqFeGsDdpZlJj5Oe2x0zHVsHbIGBtF2DGcxW6PK+rQ fRIouKfZBMC5WS2TkwVQoVaLDvlkXrJrm+aGVVkWLJbL9YJq31sb+0d7iVEjdw6oL32kmUjJeYI DuhR7E4gYZe0JnLkHpCTjC5vVlPWfZyHzO1J46hBY8eSedvUAVsWCRXBRqk68qHQZmfHy2dh7Gg GGxw3PRCy7kdt1ns5UfEAvqaZefpiEucvWd7z0cZ+JbFv1yQTvkgA1Mym3gNgXbG2c+0s7GJqKt VUI+QXX3piwjJo3EmaBe150kEdmJsaVOSouLBhDo8TyQjM6IVbFLAFiisSSOURnW0meFojemuxP 16s3JPKdX1ckaua5WXphfxdR4PH4XwNjBwEfkMcCcGoEZsxDDMBcsCRlHrQRJhLr4Zc0fo9xFW5 gem1FWZ84hVA== X-Google-Smtp-Source: AGHT+IFQY0GYusfmDurFk6QY1OodAdr0gDws5J6isyyWpCiXsREX32Z57Y/kB6q8P9UMJt4D7ttNnw== X-Received: by 2002:a05:6a00:b8d:b0:742:4545:2d2b with SMTP id d2e1a72fcca58-76ab092f88amr2081807b3a.3.1753833851479; Tue, 29 Jul 2025 17:04:11 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 44/89] linux-user/aarch64: Split out target_coredump.c.inc Date: Tue, 29 Jul 2025 13:59:17 -1000 Message-ID: <20250730000003.599084-45-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::431; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x431.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: 1753835095258116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 16 +--------------- linux-user/aarch64/target_coredump.c.inc | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 15 deletions(-) create mode 100644 linux-user/aarch64/target_coredump.c.inc diff --git a/linux-user/elfload.c b/linux-user/elfload.c index b35f35b2a6..57bb011e63 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -304,21 +304,7 @@ static const VdsoImageInfo *vdso_image_info(uint32_t e= lf_flags) #define ELF_ARCH EM_AARCH64 #define ELF_CLASS ELFCLASS64 =20 -#define ELF_NREG 34 -typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; - -static void elf_core_copy_regs(target_elf_gregset_t *regs, - const CPUARMState *env) -{ - int i; - - for (i =3D 0; i < 32; i++) { - (*regs)[i] =3D tswapreg(env->xregs[i]); - } - (*regs)[32] =3D tswapreg(env->pc); - (*regs)[33] =3D tswapreg(pstate_read((CPUARMState *)env)); -} - +#include "target_coredump.c.inc" #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 diff --git a/linux-user/aarch64/target_coredump.c.inc b/linux-user/aarch64/= target_coredump.c.inc new file mode 100644 index 0000000000..9b653aa12f --- /dev/null +++ b/linux-user/aarch64/target_coredump.c.inc @@ -0,0 +1,14 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#define ELF_NREG 34 +typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; + +static void elf_core_copy_regs(target_elf_gregset_t *regs, + const CPUARMState *env) +{ + for (int i =3D 0; i < 32; i++) { + (*regs)[i] =3D tswapreg(env->xregs[i]); + } + (*regs)[32] =3D tswapreg(env->pc); + (*regs)[33] =3D tswapreg(pstate_read((CPUARMState *)env)); +} --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835814; cv=none; d=zohomail.com; s=zohoarc; b=kWx51liN/7efW5pLlkD/B2HH78flk4LRon7K1q2MlA0dKXfbhqLB8q//F1OJkokiL5CWI4ER495O6Oyce94y0o+5gjSowRntCwtOjSCQgTQh9aBWkzEj/meBom3GDPF8LYEh+0UY9eciMIegY9oRfpobhi1Qsv48mPKhGkuNBXQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835814; 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=JVZBfD9GVwK8THkDvUogyNfVZNMyQ0SaiRaMt8vLaiM=; b=cTzno6CX3EKhmw7KH3CgxpXf7ACKfr9isRBqBa5whzx51v4nQkngVQP4RMQudai4GqDXnU8HWKGy5S0Wyr2ZNykdyDTM6uZ8Dd4ARLJsULi4/JL83GGs5nuwQfXaiXjmt6mw4DzcxL4wKZG6EynY0szFT2bZj1ziG4BGXbyaY3I= 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 175383581399770.09029156966392; Tue, 29 Jul 2025 17:36:53 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugubm-0005R2-Kn; Tue, 29 Jul 2025 20:23:50 -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 1uguIq-0004So-5D for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:16 -0400 Received: from mail-pg1-x529.google.com ([2607:f8b0:4864:20::529]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguIo-0004b8-Bd for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:15 -0400 Received: by mail-pg1-x529.google.com with SMTP id 41be03b00d2f7-b3226307787so5325213a12.1 for ; Tue, 29 Jul 2025 17:04:13 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.11 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833853; x=1754438653; 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=JVZBfD9GVwK8THkDvUogyNfVZNMyQ0SaiRaMt8vLaiM=; b=UsMjoi4X8Abrl1wINUvbyyq66yxo7kLJBLVHB7e6cMii+zCWrHw3sIJZ4ZFrKdkjrz GiGKhpk10pshJM+/CHiNg2CIVF2bFkT3wd/K26RjG7Pm/TWo1pIL39vVxyDBuJt75ByX rOonYy1Gcp+xgYubWrwkeFv0MOxnq6dYlVH0V7P0pFnXij/VHX9Xj3l42xxtiqNOqeIU QkqjAVht8bM2McTZ1uuFEjgLQlgTB6Cw/08PWjgJvAB0+w7RwNQzfgzT0g24J/nME52m uYh6zA0avPfKt9clVCazepJIqnaIviaEQ/mMK9Kp8GfQklo0SPJ2lxuvFzu/uh0G0I0h kYYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833853; x=1754438653; 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=JVZBfD9GVwK8THkDvUogyNfVZNMyQ0SaiRaMt8vLaiM=; b=TC+ceF2yUTAvkmmdk+h80jBGe+W77WWXVV3kto/hDXhLpH4lhw3cvlYEKJD+wi22CU 9vw7AlUvsxC1p28doNsDsBM2BjMfIMLIvPfS96MfwIYF7SPtK0uY0B2w+8YFwq2qrqlH tdrBq3XQJu0w66Jlc23Y4UPeE3+S5Tu6hARk+D6QhCWZ/OGa0B/c5bs9AWDZC8wPXAyi aZiWl4GH6o9SBnxIwhlcg8/YbB20acNQjrD8ba+WLLlLKGMlcysWca0XTmRFe9ypAhrQ kpaptsCvkUzJGs3LaBVC01czRFrm7IcrAVxRZReHQNPi+YcaIIjpSZgX0x19JxdplIXf FvpA== X-Gm-Message-State: AOJu0YxP8p/CymlOjOEQzgN+kWObHVMTrkihNm4JJ+gJZomyFOVYick3 u/HdFwmqfYjhL3IqHeOzayu+8SUyL6UGmfH9DCcG+CDMvpOoM919Q3ut+qc4JFz2gpZbQ0LUl5Y VRo/S X-Gm-Gg: ASbGncts4Hv06MwqZBe8iuKbm64T1SasC+YQxRfbBOZSS/tjnrI/FkcGWKHt9H1MFCN ijA2mpoyxM9F6tRCpV0rZd4IPNhQNnq6Lc3oUYAOO+8KzUkstxHBrisv6BCE/jZX2UIPd3D16oA y8gcYR16v0UrrdcZdv3wvoeVzRXbveKZ9v9nm3iNrLHQT+xFqDaV7RuVvM0LBicpn5privO49jD LDiBE85lKsDXARgkqP1GpdZcj3oXl9YeKA6SG8TyQdJnCw33qTrK8VSRW9EC8Jih4gCPFBqHQHI ZUqJnxfmUulN4mVU6UUy3m/tvro3NJ9Z0I+zoIus0e6bZyKBbgG2ylnHuz6yP5Y1ZmpYKYJlNFs 6umXlTOAJkzO6RPM5BwxcxiXT2ae0ZZ3hkAg5tjzSxumeOhNTKQLiU0NJnPwWAgbtzHXRiAHdJr /96mk7hsd0PZYx3LlUqekQ X-Google-Smtp-Source: AGHT+IGlczixyKwWmje4l4Xu4WVWtvH9CguvAxdtvGQJKKuHEaJDRmEq6cgStCED1zChVuMl6u08jQ== X-Received: by 2002:a05:6a20:2450:b0:233:951f:a572 with SMTP id adf61e73a8af0-23dc0d58b95mr1892396637.16.1753833852584; Tue, 29 Jul 2025 17:04:12 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 45/89] linux-user/ppc: Split out target_coredump.c.inc Date: Tue, 29 Jul 2025 13:59:18 -1000 Message-ID: <20250730000003.599084-46-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::529; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x529.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: 1753835814294116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 24 +----------------------- linux-user/ppc/target_coredump.c.inc | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 23 deletions(-) create mode 100644 linux-user/ppc/target_coredump.c.inc diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 57bb011e63..a6e4ac86bf 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -376,29 +376,7 @@ static const VdsoImageInfo *vdso_image_info(uint32_t e= lf_flags) NEW_AUX_ENT(AT_UCACHEBSIZE, 0); \ } while (0) =20 -/* See linux kernel: arch/powerpc/include/asm/elf.h. */ -#define ELF_NREG 48 -typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; - -static void elf_core_copy_regs(target_elf_gregset_t *regs, const CPUPPCSta= te *env) -{ - int i; - target_ulong ccr =3D 0; - - for (i =3D 0; i < ARRAY_SIZE(env->gpr); i++) { - (*regs)[i] =3D tswapreg(env->gpr[i]); - } - - (*regs)[32] =3D tswapreg(env->nip); - (*regs)[33] =3D tswapreg(env->msr); - (*regs)[35] =3D tswapreg(env->ctr); - (*regs)[36] =3D tswapreg(env->lr); - (*regs)[37] =3D tswapreg(cpu_read_xer(env)); - - ccr =3D ppc_get_cr(env); - (*regs)[38] =3D tswapreg(ccr); -} - +#include "target_coredump.c.inc" #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 diff --git a/linux-user/ppc/target_coredump.c.inc b/linux-user/ppc/target_c= oredump.c.inc new file mode 100644 index 0000000000..7671bf86e8 --- /dev/null +++ b/linux-user/ppc/target_coredump.c.inc @@ -0,0 +1,24 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +/* See linux kernel: arch/powerpc/include/asm/elf.h. */ +#define ELF_NREG 48 +typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; + +static void elf_core_copy_regs(target_elf_gregset_t *regs, + const CPUPPCState *env) +{ + target_ulong ccr =3D 0; + + for (int i =3D 0; i < ARRAY_SIZE(env->gpr); i++) { + (*regs)[i] =3D tswapreg(env->gpr[i]); + } + + (*regs)[32] =3D tswapreg(env->nip); + (*regs)[33] =3D tswapreg(env->msr); + (*regs)[35] =3D tswapreg(env->ctr); + (*regs)[36] =3D tswapreg(env->lr); + (*regs)[37] =3D tswapreg(cpu_read_xer(env)); + + ccr =3D ppc_get_cr(env); + (*regs)[38] =3D tswapreg(ccr); +} --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835043; cv=none; d=zohomail.com; s=zohoarc; b=b9ovRnIUU22DeisOM8QbjMXQv8rhNpTYeieyBGTGLll5a8ZMwq27ongUp9bOEfIfwMNnfyUku43LulPEC54yrojahnSA9oapR0+eUMUR3K0e7CYAE6MZBKdIIxVBfrmLlj9YUXdwJ6wpWMCQKNkyaoSkpO8pRLYwOiNKCxoG7KU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835043; 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=wFful4+njraM30kiF1fUAKiwVjGnj7/uyZgVnKI7MwM=; b=PfGyL2fRGsh6hgyT7V6vCeSxjs63dz7mgtBOB4awQxSEeWOXQu5a3wVaTBEyfbSh9jT8pTuDCdghKNFUPqp7EbO+sWuMvm/dTNzLkCJYyuFXKNPYSItd+AE6Alz9KNR7ieYm4lFyPLu+Va6qgrVq2E4q2XaIdNAb84hBjz2Q/oM= 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 1753835043821808.5651510068429; Tue, 29 Jul 2025 17:24:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguY0-00065J-0j; Tue, 29 Jul 2025 20:19:56 -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 1uguIr-0004U5-IL for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:18 -0400 Received: from mail-pf1-x435.google.com ([2607:f8b0:4864:20::435]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguIp-0004bN-Jt for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:17 -0400 Received: by mail-pf1-x435.google.com with SMTP id d2e1a72fcca58-748e81d37a7so4140690b3a.1 for ; Tue, 29 Jul 2025 17:04:15 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.12 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833854; x=1754438654; 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=wFful4+njraM30kiF1fUAKiwVjGnj7/uyZgVnKI7MwM=; b=TCURIlSMGp868nDfQl+uCnRO+k2dIPRy/J1JBa0e2S5mCgfuZqvz4W+K25Jo+eqLbd Sn4A+hF02OfM0TVAB+Pv1B/3ANMHj5e/IMo030GS2PDRmRbkWz+8LX73uUinBSqdjCEK n6A25FA1TA1k22WTNk+X0FWUbHFXpjuhIeCzUjgGbkpSx2qA0Uw6eTFtS/ktov4dLEL5 FdXO/0Riy3RUGknD6x3SQvOa5DfJEExrL7UDD9c2QGmMz8az+5AFnLkEZObq6PmnM5Gc 7hv1ZQp/Q5/eZ0tWmoF7SFIjEN3ZZojzKGfFJnnDcWULkNfUX8kOKmVIjreBhyf1/bUL vlTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833854; x=1754438654; 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=wFful4+njraM30kiF1fUAKiwVjGnj7/uyZgVnKI7MwM=; b=lqTfubfThFw5tbWkO0q1jmJHHKYGo4cKnCfh0NdGePMX+OPRvHkuGQtQ4PrHcfS1hv 3EeKPPWT5fb/QPMufawLUtvANMrlGjM/gLpgXGFOQktbSNPg96yjZJ1h3wsGydYisNoy RSbuhUkcaQtSaso2+faWLwVvrsPFaFLC/Mgyz6KwSgHtiE2NZQfRjL3fseYGgT923jdZ D3JlJPOvHetn2cB9Tv3JmcvG3ofVeQ8BF89nutIYSC7e6wmxZ2bHFPftDqgA7WSE25Yt jCmW7QC0VQdCh+xSqmMuEtBEzzPFXgLF8S5Z23FgcQCs+QZcp85/HwCf0ebWNxth4PF5 Wv7A== X-Gm-Message-State: AOJu0Yxn1qrfIkvFbKYBp8Lw0zL+ukt5TiZJD4E7EQpS7XByHwrZVh26 2NB98UP2knwwWLiS1q0mwPrwfZCVOhQAILsO/ClJNjAHS/S1SxtV+oD8hejvpQLV5vDpcHKFyjI d7qDC X-Gm-Gg: ASbGncuX3bwyKsf8vHZPtGsMewbckmrXslY6G0wwam720K1fJLgqfvXO6GkOEOidswF vFbbyUSlkvzl+/mT/ksw/N4eZA3wWi19asly5vzOfSAWaaCwkCM7S8mp72XCwha3esXHi9AyGiF LVXYEpEuEDqcCZ1VojTclhT/SLHvI+YxfeLgFNwQ3T17hg5p3iNJb7yb/zpr/HJfbQ5RQ80MQuo vXjVJJqU0C42MJriKkp+g49voJvKWMdqOe+I+hmAa4IYnaAvRBEnIN9rBA1wMaxbpDDIPnprlTW XJgEGid9KXc2UrqfbpK5oFuf8jZm+AcodOioZWLBsLczdGYlP1mZ7OmimrW+KSbSCXA547VdReg KQYkRpn0fzIxhC3npt9cBNKPV5QW4CxLI2K5M+hxg2ImoySeroia7Le0MCTZqs6bLovJhtKldMq 6POIkwLNbtzzfY1isGoq9R X-Google-Smtp-Source: AGHT+IET+sLSTazHtZE+IjUUWWAng+lOEIpizTg4s39KCV5556s9pUxMq5xftHTQFYzwd4J19TDVCg== X-Received: by 2002:a05:6a00:4b46:b0:769:1f94:85bd with SMTP id d2e1a72fcca58-76ab32fd0b3mr1843839b3a.23.1753833853903; Tue, 29 Jul 2025 17:04:13 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 46/89] linux-user/loongarch64: Split out target_coredump.c.inc Date: Tue, 29 Jul 2025 13:59:19 -1000 Message-ID: <20250730000003.599084-47-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::435; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x435.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: 1753835044713116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 26 +------------------- linux-user/loongarch64/target_coredump.c.inc | 24 ++++++++++++++++++ 2 files changed, 25 insertions(+), 25 deletions(-) create mode 100644 linux-user/loongarch64/target_coredump.c.inc diff --git a/linux-user/elfload.c b/linux-user/elfload.c index a6e4ac86bf..77730fdbaf 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -400,31 +400,7 @@ static const VdsoImageInfo *vdso_image_info(uint32_t e= lf_flags) =20 #define VDSO_HEADER "vdso.c.inc" =20 -/* See linux kernel: arch/loongarch/include/asm/elf.h */ -#define ELF_NREG 45 -typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; - -enum { - TARGET_EF_R0 =3D 0, - TARGET_EF_CSR_ERA =3D TARGET_EF_R0 + 33, - TARGET_EF_CSR_BADV =3D TARGET_EF_R0 + 34, -}; - -static void elf_core_copy_regs(target_elf_gregset_t *regs, - const CPULoongArchState *env) -{ - int i; - - (*regs)[TARGET_EF_R0] =3D 0; - - for (i =3D 1; i < ARRAY_SIZE(env->gpr); i++) { - (*regs)[TARGET_EF_R0 + i] =3D tswapreg(env->gpr[i]); - } - - (*regs)[TARGET_EF_CSR_ERA] =3D tswapreg(env->pc); - (*regs)[TARGET_EF_CSR_BADV] =3D tswapreg(env->CSR_BADV); -} - +#include "target_coredump.c.inc" #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 diff --git a/linux-user/loongarch64/target_coredump.c.inc b/linux-user/loon= garch64/target_coredump.c.inc new file mode 100644 index 0000000000..34207f9fb0 --- /dev/null +++ b/linux-user/loongarch64/target_coredump.c.inc @@ -0,0 +1,24 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +/* See linux kernel: arch/loongarch/include/asm/elf.h */ +#define ELF_NREG 45 +typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; + +enum { + TARGET_EF_R0 =3D 0, + TARGET_EF_CSR_ERA =3D TARGET_EF_R0 + 33, + TARGET_EF_CSR_BADV =3D TARGET_EF_R0 + 34, +}; + +static void elf_core_copy_regs(target_elf_gregset_t *regs, + const CPULoongArchState *env) +{ + (*regs)[TARGET_EF_R0] =3D 0; + + for (int i =3D 1; i < ARRAY_SIZE(env->gpr); i++) { + (*regs)[TARGET_EF_R0 + i] =3D tswapreg(env->gpr[i]); + } + + (*regs)[TARGET_EF_CSR_ERA] =3D tswapreg(env->pc); + (*regs)[TARGET_EF_CSR_BADV] =3D tswapreg(env->CSR_BADV); +} --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835097; cv=none; d=zohomail.com; s=zohoarc; b=GSw33OkGpBdlUYseLdqDttbXyKMV4EW2mKZ0FLPppCzNwRNZul1eyYKKl90YeuQvKmT8DVhkpezTKyYSnfeTPMB7751fIys3qlWGpFYblJEZ4hBu6dRm3/UGE92eesCjpV0VlX2sdBC9jQFf4jUaGeNxse7POGpNkfLAeuhtJv8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835097; 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=t2/RZsdrZdm1zu0RRpH4NJHGJS7CMB/KnnFtJyXdzcY=; b=AVD3envMdqhTT77eDfkO6TnrYMW2Nd6dQrvyngNg4B3323VZNyzB3XfFQlJ/1wS1AU6Z00QVPtLKSZo2jcEBCN1giDQ4AKurCD+zwqnG3TYW6J34a/HVyCffI9KaxwgSHfTs/7xIhG0+Fvja6Xgm97V1sOAXMjGXZBZzm7kU4q4= 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 17538350974971006.4536348828555; Tue, 29 Jul 2025 17:24:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugubt-00064E-BW; Tue, 29 Jul 2025 20:23:57 -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 1uguIu-0004X7-2o for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:20 -0400 Received: from mail-pf1-x42b.google.com ([2607:f8b0:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguIr-0004bn-Sm for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:19 -0400 Received: by mail-pf1-x42b.google.com with SMTP id d2e1a72fcca58-7490acf57b9so4185913b3a.2 for ; Tue, 29 Jul 2025 17:04:16 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.14 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833856; x=1754438656; 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=t2/RZsdrZdm1zu0RRpH4NJHGJS7CMB/KnnFtJyXdzcY=; b=Q416dUrBiR42nOtHiB27ECfoLlmKJmGL1ip/BpsgQ/xpU+XSGzc366Xp6LmRvwua6O xL8zN6MB8UrhVa16qbKvsiRVSmbRGC2U0kv7RwRonUWn5UCIaiFvfVgUND3mNQFBsRcc +89fgNd9qjhuAonnK+jSyzoktqM9UQ6rv3an9FBGQkI1Zs7TmfRFUdaLcMqecyES6CSz SdnZ8LlqbdE7KQE1C/3NaJPb1sNN4ZMrC+e35JU2eyP/qVV/s5EPXgITFaHq04GYh6m+ N91CjKJVRcUnPRqgoXBPywaNBviOjaOfO+Zp7lGmOq18tEfMiLqiEHsJbIdRrnTJMkhg rJdQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833856; x=1754438656; 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=t2/RZsdrZdm1zu0RRpH4NJHGJS7CMB/KnnFtJyXdzcY=; b=MmH9DiCaFL+UC7a4zrDucPznCDTDJjZfKQ0X9uTCA9TBL7g8+gumXyFK49evT7M/i3 rB225enXBJcXKVe4bx2EEdacjsC+qvIYURE4mG68K7vVYpjs17INO9MIPsI9w0WPk0UC nNTiimosI8rscD0VI/U7m/ENhd/7Br22HmrlmncFIxek3cMstcEx6tjTPVPN6pE5Lj0t iFCX6+VF3DPWivGzOsNWWEoBKvZ+T8rosxl1kZBUBtOG8pbcBhenr/uYC3LvSzVSEgJi 6E5Jdz+khB6CJpI1oVEJqCsq6Nu38Uriv03l4fen7rSJr421+7H2nsb5U14iOzTFn5qq M5IQ== X-Gm-Message-State: AOJu0YzUQo8aF7zuWr1Ja2bBP1aC654w3KfjkfRF4D5pOQexauL7/Rw/ iwNkiIsGX4O8qK0JRMOx1WvrycEr1KFz1PgNYTl+yjR6RyRtA9QrweRUE22+614D+fpDg2FPKje TkFb0 X-Gm-Gg: ASbGncsejbgzxrEI5LMG6aMQCCcF9PI5WZG5u4hLm2oZKU1+h6cgnLzkjPomn+kb6Dn TRSZtyZ056L3kWSb8gS36Uh3Ia2LjcOhYMEBhsEiYQeE1FJVa2Bb22tbNTBPbubsMQWTR0weMZ9 vOE4He2HuyLuTKGgvKadN2yE23Xro8NDY1Otq13tv/5DLAHT8zP0GPBzrN7QOFzbSdRmU7lKzu6 BaL1iqM2J9CqFPfQFNRCvF6V6ARHmnidbGLpl+p8jw4mh1cej0zGPFOz2AIjhl9Bsu8bOFVvLU/ eFAXz2ZVSgppypod+aoa/WxM/dn43dfRGxk6mGQq864QYxxkI0hGrGK5kom7bCxwAXoYhkn5lRV XNAthMKaRbgYAdu1T88N/EPyhqFaXh1YZgslJeaF3xxt0Z0Al/gn5leeYG7jMgFMSuZvc2uuOm9 5H4l6avQdCeA== X-Google-Smtp-Source: AGHT+IHZ1ukmMybFgBEL0W6fLFZ7aKo3TMmwMggBxqJh5PuukRt2pULzGQAf4EW6/Zqg+AkMIZkOeg== X-Received: by 2002:a05:6a00:1908:b0:746:3025:6576 with SMTP id d2e1a72fcca58-76ab2938574mr1751667b3a.14.1753833855800; Tue, 29 Jul 2025 17:04:15 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 47/89] linux-user/mips: Split out target_coredump.c.inc Date: Tue, 29 Jul 2025 13:59:20 -1000 Message-ID: <20250730000003.599084-48-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::42b; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42b.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: 1753835099272116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 46 +------------------------ linux-user/mips/target_coredump.c.inc | 46 +++++++++++++++++++++++++ linux-user/mips64/target_coredump.c.inc | 1 + 3 files changed, 48 insertions(+), 45 deletions(-) create mode 100644 linux-user/mips/target_coredump.c.inc create mode 100644 linux-user/mips64/target_coredump.c.inc diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 77730fdbaf..d37e580ada 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -422,51 +422,7 @@ static const VdsoImageInfo *vdso_image_info(uint32_t e= lf_flags) #define elf_check_abi(x) (!((x) & EF_MIPS_ABI2)) #endif =20 -/* See linux kernel: arch/mips/include/asm/elf.h. */ -#define ELF_NREG 45 -typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; - -/* See linux kernel: arch/mips/include/asm/reg.h. */ -enum { -#ifdef TARGET_MIPS64 - TARGET_EF_R0 =3D 0, -#else - TARGET_EF_R0 =3D 6, -#endif - TARGET_EF_R26 =3D TARGET_EF_R0 + 26, - TARGET_EF_R27 =3D TARGET_EF_R0 + 27, - TARGET_EF_LO =3D TARGET_EF_R0 + 32, - TARGET_EF_HI =3D TARGET_EF_R0 + 33, - TARGET_EF_CP0_EPC =3D TARGET_EF_R0 + 34, - TARGET_EF_CP0_BADVADDR =3D TARGET_EF_R0 + 35, - TARGET_EF_CP0_STATUS =3D TARGET_EF_R0 + 36, - TARGET_EF_CP0_CAUSE =3D TARGET_EF_R0 + 37 -}; - -/* See linux kernel: arch/mips/kernel/process.c:elf_dump_regs. */ -static void elf_core_copy_regs(target_elf_gregset_t *regs, const CPUMIPSSt= ate *env) -{ - int i; - - for (i =3D 0; i < TARGET_EF_R0; i++) { - (*regs)[i] =3D 0; - } - (*regs)[TARGET_EF_R0] =3D 0; - - for (i =3D 1; i < ARRAY_SIZE(env->active_tc.gpr); i++) { - (*regs)[TARGET_EF_R0 + i] =3D tswapreg(env->active_tc.gpr[i]); - } - - (*regs)[TARGET_EF_R26] =3D 0; - (*regs)[TARGET_EF_R27] =3D 0; - (*regs)[TARGET_EF_LO] =3D tswapreg(env->active_tc.LO[0]); - (*regs)[TARGET_EF_HI] =3D tswapreg(env->active_tc.HI[0]); - (*regs)[TARGET_EF_CP0_EPC] =3D tswapreg(env->active_tc.PC); - (*regs)[TARGET_EF_CP0_BADVADDR] =3D tswapreg(env->CP0_BadVAddr); - (*regs)[TARGET_EF_CP0_STATUS] =3D tswapreg(env->CP0_Status); - (*regs)[TARGET_EF_CP0_CAUSE] =3D tswapreg(env->CP0_Cause); -} - +#include "target_coredump.c.inc" #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 diff --git a/linux-user/mips/target_coredump.c.inc b/linux-user/mips/target= _coredump.c.inc new file mode 100644 index 0000000000..bbdf5faba3 --- /dev/null +++ b/linux-user/mips/target_coredump.c.inc @@ -0,0 +1,46 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +/* See linux kernel: arch/mips/include/asm/elf.h. */ +#define ELF_NREG 45 +typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; + +/* See linux kernel: arch/mips/include/asm/reg.h. */ +enum { +#ifdef TARGET_MIPS64 + TARGET_EF_R0 =3D 0, +#else + TARGET_EF_R0 =3D 6, +#endif + TARGET_EF_R26 =3D TARGET_EF_R0 + 26, + TARGET_EF_R27 =3D TARGET_EF_R0 + 27, + TARGET_EF_LO =3D TARGET_EF_R0 + 32, + TARGET_EF_HI =3D TARGET_EF_R0 + 33, + TARGET_EF_CP0_EPC =3D TARGET_EF_R0 + 34, + TARGET_EF_CP0_BADVADDR =3D TARGET_EF_R0 + 35, + TARGET_EF_CP0_STATUS =3D TARGET_EF_R0 + 36, + TARGET_EF_CP0_CAUSE =3D TARGET_EF_R0 + 37 +}; + +/* See linux kernel: arch/mips/kernel/process.c:elf_dump_regs. */ +static void elf_core_copy_regs(target_elf_gregset_t *regs, + const CPUMIPSState *env) +{ + for (int i =3D 0; i < TARGET_EF_R0; i++) { + (*regs)[i] =3D 0; + } + (*regs)[TARGET_EF_R0] =3D 0; + + + for (int i =3D 1; i < ARRAY_SIZE(env->active_tc.gpr); i++) { + (*regs)[TARGET_EF_R0 + i] =3D tswapreg(env->active_tc.gpr[i]); + } + + (*regs)[TARGET_EF_R26] =3D 0; + (*regs)[TARGET_EF_R27] =3D 0; + (*regs)[TARGET_EF_LO] =3D tswapreg(env->active_tc.LO[0]); + (*regs)[TARGET_EF_HI] =3D tswapreg(env->active_tc.HI[0]); + (*regs)[TARGET_EF_CP0_EPC] =3D tswapreg(env->active_tc.PC); + (*regs)[TARGET_EF_CP0_BADVADDR] =3D tswapreg(env->CP0_BadVAddr); + (*regs)[TARGET_EF_CP0_STATUS] =3D tswapreg(env->CP0_Status); + (*regs)[TARGET_EF_CP0_CAUSE] =3D tswapreg(env->CP0_Cause); +} diff --git a/linux-user/mips64/target_coredump.c.inc b/linux-user/mips64/ta= rget_coredump.c.inc new file mode 100644 index 0000000000..950d873550 --- /dev/null +++ b/linux-user/mips64/target_coredump.c.inc @@ -0,0 +1 @@ +#include "../mips/target_coredump.c.inc" --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835392; cv=none; d=zohomail.com; s=zohoarc; b=jGhEC+dzy8qf1lcBiTtREAR6wYQ20doMSdR2I/dhEtLCkIJfyDhvTFhpLwnYJCqxX1szmi0atzmpWdOH5xmrCwy/VB4zs25Myukzo0tWXmGT7MRP4wjfRQpIKarrpCHcLBuaUu6pNspzEXpAWgKxciC7Y7ilYP4sxVRWEaGHbaI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835392; 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=YT5Dw0jEKgC1/JLaOSqyR4nwF5hDqmJ+TxNAy/ecj/0=; b=Wo4i2bNMeqCFfkvaTaWtfaBJEnKk9/fbwQdguEjNDce4HtJDic64Kq2FLM4l8RLummneY6V7ARhGqJqJzw4esM3bqxx76kvVi5y6DDUoU8rB9iwT5X91MT+auSvuSZjjRdr0X1LMEkVBcACDK6GkDPOsxPpZRzhbqK3nVKE7q6U= 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 1753835392324201.61457705800854; Tue, 29 Jul 2025 17:29:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguYc-0006pR-S0; Tue, 29 Jul 2025 20:20:42 -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 1uguIv-0004Yd-GC for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:21 -0400 Received: from mail-pf1-x436.google.com ([2607:f8b0:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguIs-0004c6-Pa for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:21 -0400 Received: by mail-pf1-x436.google.com with SMTP id d2e1a72fcca58-749068b9b63so243459b3a.0 for ; Tue, 29 Jul 2025 17:04:18 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.16 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833857; x=1754438657; 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=YT5Dw0jEKgC1/JLaOSqyR4nwF5hDqmJ+TxNAy/ecj/0=; b=oAfPi07UHP0Y+TIP1fBd3LIqpGT1GCFyrc4RI4Tc3pJelYobQDKyFWlyaGa/Y3e6uv vKZJFgFXYn4XCCTMrOB0iP0wzIf4eNGh13hBxCQ1C4hSq62bYuENCEIZqZ4fpXnAVRD3 Bc1zekvrwlp9SdBz6FcIt9bX8cjNS0B7sxS37N+PQSSbS3nBOssn8qzV4VNmjR+G1QIF AcXrhPBmt75PGtrD3se3gpnRwpt5rxmVGmNYmzzRLb+I+fGoRWo0gETFMpMsP0nS6WiX Q75FK33rRVVgGkjlVjBSmtNeBgx0sGYSWf0gN1wfX7Gjz6w2T5EwL2RwBUPMUJCFY/Tn OA7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833857; x=1754438657; 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=YT5Dw0jEKgC1/JLaOSqyR4nwF5hDqmJ+TxNAy/ecj/0=; b=HbwKGImyJo95MXk+4VqyfitHCKb4TPla3A7Cc5R8ztOdCm2IJ0Rd/1lPQZTWouRGR+ BWRYlhKrAGk0Wm2MY6MkYFGjCIDFDkpqoB2EvcTJnAZGqrV0bccj55nazUA316MFvokW e4+AuRxMwbmRVzemNjfRPuC0J5sHyJMxe+BsltCWLfJe1827X0jzrU9s7nTcjtb7e49e u/LGx3Zk9ziDTQw/2N8VfcCR/uT6q42qqMyzOl2nnFIs0TAmWscmyZPbU1QpOVNN7qAv R4IXkBFC5alwp/NcVyn/B7M2/FtvT6zAkfP5fBKjfP5VSKLu12AeaX+7L211Zgc3Wv1b it1g== X-Gm-Message-State: AOJu0YwHSMNzY0HdqKKVfYSTPC9CTM9RlT5G7QcU2Lfn4ZbxcjTu/Zod iSlUZZwRxKtQ/fhL0Vs0eTfOOYUm5MWEhtdm5JEsgg5SX8tdTCQZcX6da0Zcfh/aG1EYUjXb6TP yI5h4 X-Gm-Gg: ASbGncsipUnIQsV6t4p2+L3kNQlyrXBqHbKzPWV7A9RVZsX6Y7d0ZHXX4zCXAFz3/R+ Sp2dkU12VBI/secyTAoet+nhMnaZqBHmAJFLrd2f6P1Gsd4z//6QN0CYBoXsq97dSbthSK+RJs/ 1XP1GUB2ERLXZG+tirQmYZ8+q6PqYSJiF2yy+OxQYO3x7WcAZY/5y+W2zvTq39x+vz69ors+i4C 5Wn47e+XxIrQufo46g/8tdPmhA00ZA7zz1INmMykDeNa8BeoXwkFauQctgqRVyxFA0qjgIASpHD 8XtxEjxrI2ZoarHCNyeIrcBVrj+56vYy4DHZCJS9MU46ZvkA1L6eFGWsXWLRlWy4SQfXQUNSJ53 0utKonbg+wKQugwAp0E+G+9KrjsM2RACo550C8XwFEgS1zNoVuJnuH9LuspcEctuon4MbDiZ13K Lo9s54Kg1zaQ== X-Google-Smtp-Source: AGHT+IGU/q8wiao7jwkNlxNRGhpS4UCVy+VdvTgT/KHtwvQL3R6kns1lw71dRSx/c0cRC0nxsWGNKQ== X-Received: by 2002:a05:6a00:4b0c:b0:740:b394:3ebd with SMTP id d2e1a72fcca58-76ab092312amr2042018b3a.7.1753833857342; Tue, 29 Jul 2025 17:04:17 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 48/89] linux-user/microblaze: Split out target_coredump.c.inc Date: Tue, 29 Jul 2025 13:59:21 -1000 Message-ID: <20250730000003.599084-49-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::436; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x436.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: 1753835394253116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 21 +-------------------- linux-user/microblaze/target_coredump.c.inc | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 20 deletions(-) create mode 100644 linux-user/microblaze/target_coredump.c.inc diff --git a/linux-user/elfload.c b/linux-user/elfload.c index d37e580ada..59d179092b 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -437,27 +437,8 @@ static const VdsoImageInfo *vdso_image_info(uint32_t e= lf_flags) =20 #define ELF_EXEC_PAGESIZE 4096 =20 +#include "target_coredump.c.inc" #define USE_ELF_CORE_DUMP -#define ELF_NREG 38 -typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; - -/* See linux kernel: arch/mips/kernel/process.c:elf_dump_regs. */ -static void elf_core_copy_regs(target_elf_gregset_t *regs, const CPUMBStat= e *env) -{ - int i, pos =3D 0; - - for (i =3D 0; i < 32; i++) { - (*regs)[pos++] =3D tswapreg(env->regs[i]); - } - - (*regs)[pos++] =3D tswapreg(env->pc); - (*regs)[pos++] =3D tswapreg(mb_cpu_read_msr(env)); - (*regs)[pos++] =3D 0; - (*regs)[pos++] =3D tswapreg(env->ear); - (*regs)[pos++] =3D 0; - (*regs)[pos++] =3D tswapreg(env->esr); -} - #endif /* TARGET_MICROBLAZE */ =20 #ifdef TARGET_OPENRISC diff --git a/linux-user/microblaze/target_coredump.c.inc b/linux-user/micro= blaze/target_coredump.c.inc new file mode 100644 index 0000000000..11ef0e3e92 --- /dev/null +++ b/linux-user/microblaze/target_coredump.c.inc @@ -0,0 +1,21 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#define ELF_NREG 38 +typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; + +/* See linux kernel: arch/mips/kernel/process.c:elf_dump_regs. */ +static void elf_core_copy_regs(target_elf_gregset_t *regs, const CPUMBStat= e *env) +{ + int i, pos =3D 0; + + for (i =3D 0; i < 32; i++) { + (*regs)[pos++] =3D tswapreg(env->regs[i]); + } + + (*regs)[pos++] =3D tswapreg(env->pc); + (*regs)[pos++] =3D tswapreg(mb_cpu_read_msr(env)); + (*regs)[pos++] =3D 0; + (*regs)[pos++] =3D tswapreg(env->ear); + (*regs)[pos++] =3D 0; + (*regs)[pos++] =3D tswapreg(env->esr); +} --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835916; cv=none; d=zohomail.com; s=zohoarc; b=MbUoeF87o5kxU9dN7bgIBV+9bhXFl6n2RsGFP2uNG/swOghkhRaPuK25ujpvUlcH0RbbJSeqxeHvoJDHhrKAYFIyhczJDhWWkfdxtdiJL/ISiZie26jV3v3/h6hfV/Eac+oShs9youX8N+MJPlfLSCYvj62FSmip46k4JgQuD74= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835916; 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=T2BtxqsWGW2NTc98A4IhQh0OFPgPTkWNRqLN4IH0P9I=; b=gOfhUk0zZPrjzwL1FweFLDR8S4qGQqnqZRiaiE08HMUL4itvrmken6t9ENWRuRbjeeAk13Y6bTGZqa0n7A82jKxtRy8uKBNrWbSNwWtVkl7DJDx05S/3zRucDw/N7TyIvp2UCvIw31gHcjhjhbAgSTOmJa7V6ta6TjXoShWSrTU= 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 1753835916621430.2428677865446; Tue, 29 Jul 2025 17:38:36 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguZQ-0007dT-Sa; Tue, 29 Jul 2025 20:21:25 -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 1uguIw-0004Za-7x for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:22 -0400 Received: from mail-pf1-x433.google.com ([2607:f8b0:4864:20::433]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguIu-0004cG-Ek for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:21 -0400 Received: by mail-pf1-x433.google.com with SMTP id d2e1a72fcca58-748d982e97cso5675116b3a.1 for ; Tue, 29 Jul 2025 17:04:19 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.17 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833859; x=1754438659; 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=T2BtxqsWGW2NTc98A4IhQh0OFPgPTkWNRqLN4IH0P9I=; b=Z9KouzLb2uOOv48h6uCvZoOcluS3Z49fLQoTnICYaZJ3EaS2dhbULi3ai8BYCBCVvW isPFyhBkB2z9ORm8DE7gZWyqTCOxazrfg3UC1s/eqvwAuBOLdBKjcBTZ/IeyKel4sfjI nZMdiVmCU/yeMpSshR412Qsyf0nyo5PI0/QREH4feQCUtCHzE/cJxn37/2oROnzPZ+i/ bmBLYLdkUcOQt8XP35f9BrAx3SS684CafoUrwbLbvs9BZ3Olk0bSEO98Q8h92qC01MFm NbjV+s+Km8H+Ytq4QPJY3DAFY5wsWejLazk80M+M82ZJzkuG1c7Dwl9REFRJivr68/9s oDEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833859; x=1754438659; 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=T2BtxqsWGW2NTc98A4IhQh0OFPgPTkWNRqLN4IH0P9I=; b=uNWXIo6LXH6NMkIfVOqps4ai6g6e8/R6mQ8ObzIBGm7F94fkmY6h2PaQpUDQeLU8Mx gLE961hOTtNkoTQqYo16YgmExNmeH9xStU8mM6kxZupnwSIRNNOeEhLdsp8s/XFUclfr 7b2iX+UP8h2kGwO+0TeHR3XtaJNy3QJiBc0ZCQQ2FPe0/4t1o20/pG1fzJVSL3SuM97o zoN+CIVxvF7X7cp6UgyapImPLrkZZBM8X/k3lGa2eHxMeV/LG5uXJSq95WaXCzMNnsSs COXL/Llp0LNyPM5soUndnyXmhOreyUpMu5Jdeq3QjfqtfcbeqPXBgv+E7Hn40FxahY8R vqFQ== X-Gm-Message-State: AOJu0YzvdiEajlEanxSVPXsZYYD7IZKP9zodVRgucLUULrFv5wiCLBZY rMNkp2z5KJqpZRf7B1U0FDZCBFjdCJdgitdvv1CJuOMNVmaOtTYFLu/vw1ZMKIS9Sccl5wEz808 nirQi X-Gm-Gg: ASbGncuI+x1Ckcgk/aQeZyKlniOzAtmlgQsSaQBtaKQChru2B6KD04Pb6Z0jK4VAAI6 tn5NsOxC+qOtcXkP9DceKVpT+RGjd+nAoheiuD3eeVwJW7Hz4uSbHEbGNh/0zjffqKXTh69BJHz uhTaJKm4zS0xRxBkndwsGCte0WgFZwrwe45K40SmSj1qCz0KbDM+2XAKmaOdk7mdkM81Lfx5M/w Y+JW9vagQQ/iu79HGyIGCnisTO/qrRjDd0AhCqDQFD0wV+JkAU2kWEyqHuz/+pUTO/0LeqcWqUn 5Hg3NZe68I5g4g/Px3pnFSZlDa1f4McVbxLo5hif2h1+A42oj19IuJqdL28Tdyk+AlAV3r3YPXS R3kOlHjw+gpDcfs2d9FuH04Z8c2UUp8GSOr/TaBWyd6zWi8B6CuILNT5KN0z/6SM0jThZt9SYB9 75kutiUtTRUQ== X-Google-Smtp-Source: AGHT+IGVanw3TBoIOa4oNzzToESWIYfZfbQPKzVnoypFoxCLd7FdrJOo+CBFsGR+nWxaDM9CCeMGRw== X-Received: by 2002:a05:6a20:938c:b0:231:acae:1983 with SMTP id adf61e73a8af0-23dc0d59618mr2086521637.3.1753833858763; Tue, 29 Jul 2025 17:04:18 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 49/89] target/openrisc: Split out target_coredump.c.inc Date: Tue, 29 Jul 2025 13:59:22 -1000 Message-ID: <20250730000003.599084-50-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::433; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x433.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: 1753835917225116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 17 +---------------- linux-user/openrisc/target_coredump.c.inc | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 16 deletions(-) create mode 100644 linux-user/openrisc/target_coredump.c.inc diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 59d179092b..051e9b72cf 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -447,25 +447,10 @@ static const VdsoImageInfo *vdso_image_info(uint32_t = elf_flags) #define ELF_CLASS ELFCLASS32 #define ELF_DATA ELFDATA2MSB =20 +#include "target_coredump.c.inc" #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 8192 =20 -/* See linux kernel arch/openrisc/include/asm/elf.h. */ -#define ELF_NREG 34 /* gprs and pc, sr */ -typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; - -static void elf_core_copy_regs(target_elf_gregset_t *regs, - const CPUOpenRISCState *env) -{ - int i; - - for (i =3D 0; i < 32; i++) { - (*regs)[i] =3D tswapreg(cpu_get_gpr(env, i)); - } - (*regs)[32] =3D tswapreg(env->pc); - (*regs)[33] =3D tswapreg(cpu_get_sr(env)); -} - #endif /* TARGET_OPENRISC */ =20 #ifdef TARGET_SH4 diff --git a/linux-user/openrisc/target_coredump.c.inc b/linux-user/openris= c/target_coredump.c.inc new file mode 100644 index 0000000000..fe6c17f199 --- /dev/null +++ b/linux-user/openrisc/target_coredump.c.inc @@ -0,0 +1,15 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +/* See linux kernel arch/openrisc/include/asm/elf.h. */ +#define ELF_NREG 34 /* gprs and pc, sr */ +typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; + +static void elf_core_copy_regs(target_elf_gregset_t *regs, + const CPUOpenRISCState *env) +{ + for (int i =3D 0; i < 32; i++) { + (*regs)[i] =3D tswapreg(cpu_get_gpr(env, i)); + } + (*regs)[32] =3D tswapreg(env->pc); + (*regs)[33] =3D tswapreg(cpu_get_sr(env)); +} --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835220; cv=none; d=zohomail.com; s=zohoarc; b=W4AqrgLDcmRYVGy/KcOpuFsb6uCCIL+KfTvoz0/9hYLh+2G9t9PLkNpJPA3aU42Tl5wxborQRZzBq5rXl0+73SSl7ADoH1NJDDM/Vn5wkgCL8imDkeLy9QailAVh6WzVNH3vGOH/jlhQ5tNK+A+zJFC8ad+u2sVf4atCnVo+OYY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835220; 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=MGwpdb+FITRs1No26zWUpXN/KKrncf/Yen4+5aLT7Fs=; b=HLCiKDI7cXZ36R0NaaO81lV94eaZr9l5Qe8Yt8k7dPasbAGLHnJzqNKqzuH0dEjWyrCz9SHVq8ZN8yjfklTMpjBGNnq12OhsPSO4I6yds50pXbx+bcevXKROPX7odXnitdFzowWUlWppMROiaO6A40ec/KkNqXeXA+OaB9d0yg0= 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 1753835220320789.864769308464; Tue, 29 Jul 2025 17:27:00 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugucM-0006jo-QW; Tue, 29 Jul 2025 20:24: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 1uguIx-0004aV-Es for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:23 -0400 Received: from mail-pf1-x42c.google.com ([2607:f8b0:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguIv-0004cX-L8 for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:23 -0400 Received: by mail-pf1-x42c.google.com with SMTP id d2e1a72fcca58-76a3818eb9bso859702b3a.3 for ; Tue, 29 Jul 2025 17:04:21 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.19 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833860; x=1754438660; 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=MGwpdb+FITRs1No26zWUpXN/KKrncf/Yen4+5aLT7Fs=; b=dAH74DyzsgmjoA3L1MmEHcPlllEOsFtDK3QuMEv1Oj1ed8keYEEyt3t7gA1QO/6eCH +XST4waO7mXyE7//AaDiUgabnO1F6JldVj5F3j/cTrLg66LMGU2msZt7J0hrfRWd9cpT 0SmZR7XYIFB2esRNmY5NhvSvIXkFJTltxoT8pKQ6y5KFaojigdhAsIjLCzzTmqePM+Cv 8GuLw1sGx63y+fMgGgSrgcRmlyDduh6qqy4QXKPU2ZYF82z9TE+vXjShEfBwmrHp8rCm taIhWSmA4cRZz1yjt6OFdcmoAwztJKFXSQxHANRLekv96nFofyT8JDi2vkF74BhHNyGv UQiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833860; x=1754438660; 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=MGwpdb+FITRs1No26zWUpXN/KKrncf/Yen4+5aLT7Fs=; b=MjfsmS2vnTliGcFKW1GBzFUkytdfnr+Ms0q7WAGisUE6/rCqcopySzjkpnN3o76OrK Xk15BSFUg53UUimU3Jn3rXdEdI4ryKb85WByIsWtNZ04yYeo9lNCt5w4/LYttxNck3l8 g7i1oRn33CQ8mO1LHXqsXQEOqnz9CU9XA1h0HgrHbNdFQC9nKxHUy+Q4XwRwy0s7Zdo9 3m5E6QhN3ipfYzEwsrt9Pn73fXOFjLtzyqjfpMfylb2tPMSxGDLUg3VgeD5a6CSVbUmR vUk7ZVh764oWt4Y7Zkxgrd/kM0XEW9TeO5bhZM46eEJmulhxeQuO6CwMfYeXuodhesj6 jqpw== X-Gm-Message-State: AOJu0Yx5We3gItVplIXoGbI6WfNGn2aqMbDwk1WYlx6qaDnNR2zAg0jA sM/Tum3xaswRfw2GIgik8BFmBgdvMHokaYkTnLnV8iwzC44Mkitcp46NgCVeAJsc3KnvOVtfDOS wfX5s X-Gm-Gg: ASbGncvf+uZnES7cS4bwImbia3+nIe+ocLh/04eyms2DQMCrwPmirXaQ89r/wmDuieq vgVP+ktr/D0A1ABmlhotnazqUZBWOvSPWdcAqcDKemczWBjM8OoaYxXWnZ5Yjr3i4lPrlPJ2yAC i0na/vvnQOyWcHVdsojArCvSOiveQbxXFrGMtBvXXpA17AhRgi08TTlY0cUExOFhqQrMog/VSLA XK0SYYif6r/LF5M7ubCNUTRx0ol8Tfpd4gRM160a2oGL6XDcyo6b6QjWvsajq0NYPLszVEILmOu s+Qm8ImGuy15URcsDmjcdVf8fk3Cy9A5Ep1s/Ct4n7PR+83Ux8gs1rYUkN5qBGa0Mjzo1f02UvP nBV3MSUg5uoILgn0dxCLxCCN/s+sY+oVQV1moejoHGeBiTzC4DnaGt2hvOj8hbJWO4u7LSSxP32 9v2iD2Cx19dg== X-Google-Smtp-Source: AGHT+IHpWpHBVqUwdafsLghwUbLWKkQVsgRvYo84gG7GXl1Wkrnz+t+fr8M5J+cvXduSaTo4kc8mjg== X-Received: by 2002:a05:6a20:7347:b0:235:7452:5859 with SMTP id adf61e73a8af0-23dc0e84b5cmr1866433637.30.1753833860042; Tue, 29 Jul 2025 17:04:20 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 50/89] target/sh4: Split out target_coredump.c.inc Date: Tue, 29 Jul 2025 13:59:23 -1000 Message-ID: <20250730000003.599084-51-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::42c; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42c.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: 1753835222553116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 34 +--------------------------- linux-user/sh4/target_coredump.c.inc | 32 ++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 33 deletions(-) create mode 100644 linux-user/sh4/target_coredump.c.inc diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 051e9b72cf..836f01e579 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -458,39 +458,7 @@ static const VdsoImageInfo *vdso_image_info(uint32_t e= lf_flags) #define ELF_CLASS ELFCLASS32 #define ELF_ARCH EM_SH =20 -/* See linux kernel: arch/sh/include/asm/elf.h. */ -#define ELF_NREG 23 -typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; - -/* See linux kernel: arch/sh/include/asm/ptrace.h. */ -enum { - TARGET_REG_PC =3D 16, - TARGET_REG_PR =3D 17, - TARGET_REG_SR =3D 18, - TARGET_REG_GBR =3D 19, - TARGET_REG_MACH =3D 20, - TARGET_REG_MACL =3D 21, - TARGET_REG_SYSCALL =3D 22 -}; - -static inline void elf_core_copy_regs(target_elf_gregset_t *regs, - const CPUSH4State *env) -{ - int i; - - for (i =3D 0; i < 16; i++) { - (*regs)[i] =3D tswapreg(env->gregs[i]); - } - - (*regs)[TARGET_REG_PC] =3D tswapreg(env->pc); - (*regs)[TARGET_REG_PR] =3D tswapreg(env->pr); - (*regs)[TARGET_REG_SR] =3D tswapreg(env->sr); - (*regs)[TARGET_REG_GBR] =3D tswapreg(env->gbr); - (*regs)[TARGET_REG_MACH] =3D tswapreg(env->mach); - (*regs)[TARGET_REG_MACL] =3D tswapreg(env->macl); - (*regs)[TARGET_REG_SYSCALL] =3D 0; /* FIXME */ -} - +#include "target_coredump.c.inc" #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 diff --git a/linux-user/sh4/target_coredump.c.inc b/linux-user/sh4/target_c= oredump.c.inc new file mode 100644 index 0000000000..559cd21b1d --- /dev/null +++ b/linux-user/sh4/target_coredump.c.inc @@ -0,0 +1,32 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +/* See linux kernel: arch/sh/include/asm/elf.h. */ +#define ELF_NREG 23 +typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; + +/* See linux kernel: arch/sh/include/asm/ptrace.h. */ +enum { + TARGET_REG_PC =3D 16, + TARGET_REG_PR =3D 17, + TARGET_REG_SR =3D 18, + TARGET_REG_GBR =3D 19, + TARGET_REG_MACH =3D 20, + TARGET_REG_MACL =3D 21, + TARGET_REG_SYSCALL =3D 22 +}; + +static void elf_core_copy_regs(target_elf_gregset_t *regs, + const CPUSH4State *env) +{ + for (int i =3D 0; i < 16; i++) { + (*regs)[i] =3D tswapreg(env->gregs[i]); + } + + (*regs)[TARGET_REG_PC] =3D tswapreg(env->pc); + (*regs)[TARGET_REG_PR] =3D tswapreg(env->pr); + (*regs)[TARGET_REG_SR] =3D tswapreg(env->sr); + (*regs)[TARGET_REG_GBR] =3D tswapreg(env->gbr); + (*regs)[TARGET_REG_MACH] =3D tswapreg(env->mach); + (*regs)[TARGET_REG_MACL] =3D tswapreg(env->macl); + (*regs)[TARGET_REG_SYSCALL] =3D 0; /* FIXME */ +} --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835601; cv=none; d=zohomail.com; s=zohoarc; b=acXXWnbmaGQImMLNPMcWi1HWo/bh1zXVi2nfkCY/6gPTHrebnyW1KKCBSdQ7mJhb2xyu/3O6RTWNnIX5pF/pyNS1tP2FfQOKJBjutlAfu/d13eCzABkIVU4hlRSBtdbvv5AlIMMEilK4s8xjDPwOfmUTe1LFZpY5rEewzaH888w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835601; 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=cHKDA3MYY+3w5ibCRid/5s78R4F3SfCi8Nz9mUhj/44=; b=RmCStsp3T97nT3/GmfK7GXerCyVEoGWkxt2fOmKbR5/X3+vMBmUR+2UMzMjXvrkxxLexC914yXGBKPLze/MBIIQK1maIFYdiHqABURbdM2RBlWglUpSMQaDt1xjQnDNicHFMbJXCbSCDMpsobsn09G2NwU4j5gm2QUh5vC4rr9M= 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 1753835601610498.29472436725257; Tue, 29 Jul 2025 17:33:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugucX-0007PI-L8; Tue, 29 Jul 2025 20:24:37 -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 1uguIy-0004c5-Ka for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:24 -0400 Received: from mail-pf1-x42b.google.com ([2607:f8b0:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguIw-0004ck-LS for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:24 -0400 Received: by mail-pf1-x42b.google.com with SMTP id d2e1a72fcca58-749068b9b63so243473b3a.0 for ; Tue, 29 Jul 2025 17:04:22 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833861; x=1754438661; 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=cHKDA3MYY+3w5ibCRid/5s78R4F3SfCi8Nz9mUhj/44=; b=KSZz1sDWBPlekf6fW0v075X4V8+uMKwrUqekvqVtY9qd6wTuvIlkxckRXqu2VmSheu XQgJK1TkNXrYJXxQMc1iGDo01k0QRvIOfBMW0kVAWmcGRUpS7eqdtIc/9tp6Dh7rBHxY Hd5zWyFq4LmGw01me/eXsKlSR+IJslReNNI1R+PGNh0ttFraT/TEHcW5b90l5/Ce1PEZ rdpVRZpFGaqiD8vPBFbXzAvXj5jqJ4vx+Ut9WBvUqhja0zpXekKVcRwWQYtoSuoAEkbd /xxbUvzQWqXT2yR61w4YnmIL286Kk209B0ybFnomAqy5M/ijGInieR5GFAQ5/I6QJjlh DUcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833861; x=1754438661; 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=cHKDA3MYY+3w5ibCRid/5s78R4F3SfCi8Nz9mUhj/44=; b=HdbXj4yymEQ5aQbwdAEWiQC4Irq+p9T5t9ClCeR97llkmqZ4LsBVExOfioAyNluDSH NPzmO1WA3gKVoxC5JJGd36DMNO9EtiQFStg2kyclt8IH9A+O90fmWFBG7Men5E+5uigg RTR+ubpwUGekXgG+Aux875wu6yLovRvVoyZNp7biote4/v3ft6m9Rb+m/WRUM+lFJRw+ s9mkM0ZqQ0yxTKoxfHU902L5TcRgRDvjWgwMoXYJonSIvHd3iSule9ZDWZ07bShApncb Hw0nE2MVNr3CgrgVXYFqcvDW/u25+pOKHpU90yb7drReiMKwxF4a65Fvul25EH7ajMP3 SzjQ== X-Gm-Message-State: AOJu0YxMccroOqpzALckv1DXqLofb1LIk2WKLrPJw1xcVgt77V59kaYE l/MJgxWj9WVoElOQkaj85Z1vEnddk9CyYqUrXpkG+Y6x47eyLt/DxhSqUZmyeWCF5m1bI7lVP68 QmCNr X-Gm-Gg: ASbGncvdDBXafv415w5S3+dN8rAZI7kew01rKHZS5ycADii9IL0HmUI4pJcGcDaiE3x g2+sbEynSIylD5HT1hOQwdgeeCqvToR77GJpOfPMZ8P0vqwcuC6tBlcxx3Z63Rzwh3cA3/MI1xJ Qpm4uOuQpDTqdbFWFkP8I48fiXiRyCVjIAj4IVPZu3x+uyZDAkoMYkthb0sDhS39AA3BuKdZPD6 soWY4Kwqt2LppPox/Gyazto2lXwdui7B5grrEuBiKnA32sVt8Be4qmvs8Qxok+Y4a95ytGY5so1 zKx5Xa0XRBt3Rx7wkTfGtI9ibNUMp2po7NFxjEn7SUktRUYNKiji5SxncSBmSjeDs8JkMS/5vU1 OhxNWUjvxPvYI/qfid/CvXL1rB+GIun2oNywWq3z9ecbD0AbUbJa3ItL0Pv6PPmB+B69xtQACL4 WlM5tdGLkA6w== X-Google-Smtp-Source: AGHT+IHR77/pxwKVNnLZ1nAh3kZkP3+f72PlKFhaWkVHSgUyPJ5vWubAUDHo/OBR1rB8G7OTLzQKeA== X-Received: by 2002:a05:6a00:3a1e:b0:74d:f997:1b45 with SMTP id d2e1a72fcca58-76ab0921c40mr2401481b3a.8.1753833861114; Tue, 29 Jul 2025 17:04:21 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 51/89] linux-user/m68k: Split out target_coredump.c.inc Date: Tue, 29 Jul 2025 13:59:24 -1000 Message-ID: <20250730000003.599084-52-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::42b; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42b.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: 1753835602341116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 29 +------------------------- linux-user/m68k/target_coredump.c.inc | 30 +++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 28 deletions(-) create mode 100644 linux-user/m68k/target_coredump.c.inc diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 836f01e579..d9def102e3 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -469,34 +469,7 @@ static const VdsoImageInfo *vdso_image_info(uint32_t e= lf_flags) #define ELF_CLASS ELFCLASS32 #define ELF_ARCH EM_68K =20 -/* See linux kernel: arch/m68k/include/asm/elf.h. */ -#define ELF_NREG 20 -typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; - -static void elf_core_copy_regs(target_elf_gregset_t *regs, const CPUM68KSt= ate *env) -{ - (*regs)[0] =3D tswapreg(env->dregs[1]); - (*regs)[1] =3D tswapreg(env->dregs[2]); - (*regs)[2] =3D tswapreg(env->dregs[3]); - (*regs)[3] =3D tswapreg(env->dregs[4]); - (*regs)[4] =3D tswapreg(env->dregs[5]); - (*regs)[5] =3D tswapreg(env->dregs[6]); - (*regs)[6] =3D tswapreg(env->dregs[7]); - (*regs)[7] =3D tswapreg(env->aregs[0]); - (*regs)[8] =3D tswapreg(env->aregs[1]); - (*regs)[9] =3D tswapreg(env->aregs[2]); - (*regs)[10] =3D tswapreg(env->aregs[3]); - (*regs)[11] =3D tswapreg(env->aregs[4]); - (*regs)[12] =3D tswapreg(env->aregs[5]); - (*regs)[13] =3D tswapreg(env->aregs[6]); - (*regs)[14] =3D tswapreg(env->dregs[0]); - (*regs)[15] =3D tswapreg(env->aregs[7]); - (*regs)[16] =3D tswapreg(env->dregs[0]); /* FIXME: orig_d0 */ - (*regs)[17] =3D tswapreg(env->sr); - (*regs)[18] =3D tswapreg(env->pc); - (*regs)[19] =3D 0; /* FIXME: regs->format | regs->vector */ -} - +#include "target_coredump.c.inc" #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 8192 =20 diff --git a/linux-user/m68k/target_coredump.c.inc b/linux-user/m68k/target= _coredump.c.inc new file mode 100644 index 0000000000..99821759a3 --- /dev/null +++ b/linux-user/m68k/target_coredump.c.inc @@ -0,0 +1,30 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +/* See linux kernel: arch/m68k/include/asm/elf.h. */ +#define ELF_NREG 20 +typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; + +static void elf_core_copy_regs(target_elf_gregset_t *regs, + const CPUM68KState *env) +{ + (*regs)[0] =3D tswapreg(env->dregs[1]); + (*regs)[1] =3D tswapreg(env->dregs[2]); + (*regs)[2] =3D tswapreg(env->dregs[3]); + (*regs)[3] =3D tswapreg(env->dregs[4]); + (*regs)[4] =3D tswapreg(env->dregs[5]); + (*regs)[5] =3D tswapreg(env->dregs[6]); + (*regs)[6] =3D tswapreg(env->dregs[7]); + (*regs)[7] =3D tswapreg(env->aregs[0]); + (*regs)[8] =3D tswapreg(env->aregs[1]); + (*regs)[9] =3D tswapreg(env->aregs[2]); + (*regs)[10] =3D tswapreg(env->aregs[3]); + (*regs)[11] =3D tswapreg(env->aregs[4]); + (*regs)[12] =3D tswapreg(env->aregs[5]); + (*regs)[13] =3D tswapreg(env->aregs[6]); + (*regs)[14] =3D tswapreg(env->dregs[0]); + (*regs)[15] =3D tswapreg(env->aregs[7]); + (*regs)[16] =3D tswapreg(env->dregs[0]); /* FIXME: orig_d0 */ + (*regs)[17] =3D tswapreg(env->sr); + (*regs)[18] =3D tswapreg(env->pc); + (*regs)[19] =3D 0; /* FIXME: regs->format | regs->vector */ +} --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835325; cv=none; d=zohomail.com; s=zohoarc; b=HnJOjzzPEiYTmQYHNWyDOT1E3JNmBkmEzvBwn1+F1TfH1RsuDoXSkXLDkuMxtV7fq3g+ersS3Nfptxa+wga1e1ADLfCYQNEumGrPZUTJlaKYpJFc7ESj2CC8hTGPmQA8F6+vbHZdIixgSqA86XzUA8yzg9saYLi60Az5HJqFG4k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835325; 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=q8Yxvmp3guLi2a7gDpc/dLGiNxULKQFwfP2Y3CipvTA=; b=ag7UXcnVoV8SGTE8qauARjOBZEQyfShluouoaEsDDtN6xvP6GE3j6xXcuIo85p5zhqi1JbK4UZRin//iPdy5gS8xAx++iI96E7AWZpmOlkD0567W/aVUg2q2RfEfE5/CjdsoZZxGr/UV06ulKvJR0Kn3DXaYQy699uzXRoLN14o= 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 1753835325424349.20418690453573; Tue, 29 Jul 2025 17:28:45 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugucb-0007kF-Ak; Tue, 29 Jul 2025 20:24:41 -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 1uguIz-0004d1-G1 for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:25 -0400 Received: from mail-pf1-x436.google.com ([2607:f8b0:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguIx-0004cz-O9 for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:25 -0400 Received: by mail-pf1-x436.google.com with SMTP id d2e1a72fcca58-7425bd5a83aso5934019b3a.0 for ; Tue, 29 Jul 2025 17:04:23 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833862; x=1754438662; 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=q8Yxvmp3guLi2a7gDpc/dLGiNxULKQFwfP2Y3CipvTA=; b=RtD1TYNt/tR8C/7fg4P2UePUOLmtm8O0SGCqrjRGASuYraAM2pn/UYbEpihz9ZntJy jxDhedOs3t9pY5QOy+yXiHf9tmc6NEV4jxBBWPIpm3AWVHsWnRDCaUzzVhZsKNpyD/rA MU0tcdawLzI4HsOoQhYzInjQN4zJVuB7CYoBQDZv9xldrMSEIcK34ClGm2K9O/Py7n71 2A70oixhw0nTbnbqv0IgR3xrUOQhaxXi6PmWnzPIefY3ATIeBQ8o62E+/sfZ8UJK7wzz o9zwKPAOP+fzofO2Oh4hUgyRdQ37TeGwU+iYc84qj0c5gDQNDhGzIh7DNiG2JDAb8Y5j KN9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833862; x=1754438662; 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=q8Yxvmp3guLi2a7gDpc/dLGiNxULKQFwfP2Y3CipvTA=; b=aFun6+qByUmbeRvJJQl22b4WBjCxsViVEUey+U4bxvwUILcvA20GLEcwji+lQjYaGI SqJVTNnsfwY34BWaQoBrafPGru3D0v7mIqaicIGOIUehDeZreI0USIEugj8lVIekEuwG 9he0wq/GOXEtF4VsgMZXfQX2eCRGIAdTgEMT/z+d1GEenYxcBMYuf/gdNL5gLveJodXx lKZdfWSbRVDFsC3FYG0kCIWAUC9QW4uUShAMoi11Va0WCfWdEEl+iZ+gIq+dC1qAcR9C dks0Pmye8QSbHfXdJfnCOBsjbDgEWqhAZPDR9Fx23sqWsUYNaNddLH3K1m6+IrHnn6pl CbQg== X-Gm-Message-State: AOJu0YyqIkrHrdZ8YcFWjcl7QuXOU0VHsgAQdhKEuiBnDfR1XSFqhvB1 v5dL6F2e5U2N3c0Mz4G69f0aEJnNg78fSnoztkAQ9uS5voqXY6ywarVK0cqG4X4GJpDrCMk+NDQ GcLD5 X-Gm-Gg: ASbGnctPp+Yhti0BPK6ifXGGE3hdrmwnNXHe0VgSMHgip+nQxjHok0SVCxvVVTt8Pav OH/DqBnlhrsxWUIGxZ7l9Ev/OBbKJefP3XFclCSr9eZth8cW/2vNk3uLlKwBy2NbBevcfR1vOwL m2aFr0Q+DaDrv/FoBZHCtgAdEEYZ77mtk0o5IzRUnm2MoNJl5rtqXK7KWCmNuE6MM2F0jmkqyq6 76GOnMH+PdrkfgIYWzQ07O/Amniv82iTtcMR4jsj1Lgv6PwHShqhWRRUl0PwY/MJi0CK7y92Rfv O+zUn8IDeUGgp1ZHVzTTXYBZ9X4PfQrr/XwUhjsOI5DWCKJl62QwiUO2nwnqFJ8Bf7ooIn4sDNY GNhqfphtKLlIBTH+NWS52qV3bv7xz3JSw19nIk5MfOmJob+64L9W4TA4YYB66WvdnD1TXLYdcfv iQt9MvWxUkTH6GrS8biLQf X-Google-Smtp-Source: AGHT+IG0IZK8/vmKIVAviwuTbVPVtGueKTBM/ojhCB4S6EanByjghcmvPxlLqPBz7IcRuGIqbi0FAA== X-Received: by 2002:a05:6a21:998f:b0:232:813b:8331 with SMTP id adf61e73a8af0-23dc0cfd1b2mr2047282637.2.1753833862369; Tue, 29 Jul 2025 17:04:22 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 52/89] linux-user/s390x: Split out target_coredump.c.inc Date: Tue, 29 Jul 2025 13:59:25 -1000 Message-ID: <20250730000003.599084-53-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::436; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x436.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: 1753835327643116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 31 +------------------------- linux-user/s390x/target_coredump.c.inc | 31 ++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 30 deletions(-) create mode 100644 linux-user/s390x/target_coredump.c.inc diff --git a/linux-user/elfload.c b/linux-user/elfload.c index d9def102e3..7cd0d5e7db 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -490,36 +490,7 @@ static const VdsoImageInfo *vdso_image_info(uint32_t e= lf_flags) #define ELF_DATA ELFDATA2MSB #define ELF_ARCH EM_S390 =20 -/* See linux kernel: arch/s390/include/uapi/asm/ptrace.h (s390_regs). */ -#define ELF_NREG 27 -typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; - -enum { - TARGET_REG_PSWM =3D 0, - TARGET_REG_PSWA =3D 1, - TARGET_REG_GPRS =3D 2, - TARGET_REG_ARS =3D 18, - TARGET_REG_ORIG_R2 =3D 26, -}; - -static void elf_core_copy_regs(target_elf_gregset_t *regs, - const CPUS390XState *env) -{ - int i; - uint32_t *aregs; - - (*regs)[TARGET_REG_PSWM] =3D tswapreg(env->psw.mask); - (*regs)[TARGET_REG_PSWA] =3D tswapreg(env->psw.addr); - for (i =3D 0; i < 16; i++) { - (*regs)[TARGET_REG_GPRS + i] =3D tswapreg(env->regs[i]); - } - aregs =3D (uint32_t *)&((*regs)[TARGET_REG_ARS]); - for (i =3D 0; i < 16; i++) { - aregs[i] =3D tswap32(env->aregs[i]); - } - (*regs)[TARGET_REG_ORIG_R2] =3D 0; -} - +#include "target_coredump.c.inc" #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 diff --git a/linux-user/s390x/target_coredump.c.inc b/linux-user/s390x/targ= et_coredump.c.inc new file mode 100644 index 0000000000..bc8cd9d6c6 --- /dev/null +++ b/linux-user/s390x/target_coredump.c.inc @@ -0,0 +1,31 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +/* See linux kernel: arch/s390/include/uapi/asm/ptrace.h (s390_regs). */ +#define ELF_NREG 27 +typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; + +enum { + TARGET_REG_PSWM =3D 0, + TARGET_REG_PSWA =3D 1, + TARGET_REG_GPRS =3D 2, + TARGET_REG_ARS =3D 18, + TARGET_REG_ORIG_R2 =3D 26, +}; + +static void elf_core_copy_regs(target_elf_gregset_t *regs, + const CPUS390XState *env) +{ + int i; + uint32_t *aregs; + + (*regs)[TARGET_REG_PSWM] =3D tswapreg(env->psw.mask); + (*regs)[TARGET_REG_PSWA] =3D tswapreg(env->psw.addr); + for (i =3D 0; i < 16; i++) { + (*regs)[TARGET_REG_GPRS + i] =3D tswapreg(env->regs[i]); + } + aregs =3D (uint32_t *)&((*regs)[TARGET_REG_ARS]); + for (i =3D 0; i < 16; i++) { + aregs[i] =3D tswap32(env->aregs[i]); + } + (*regs)[TARGET_REG_ORIG_R2] =3D 0; +} --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835362; cv=none; d=zohomail.com; s=zohoarc; b=PTl0gg6TSkhdo6TGbsW8H+BCihJ/OyWWm00Be1E1E5aevtogfijXo7Z21wPxql1DalEHA9UFbTTc7hxeEIDFz+knW0qgmxUlCg+a39HPETu+aRnKMMDU3+ipB0lchy93SxB/eJLgFrKQphBpnskif2ujnDzveeEiNeCnuTJwlNo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835362; 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=uMIXwlpnlSfFBAzj9mkY1Aw7ECb3bAcUI/afFDOaBLM=; b=mkBK4SvCB66Py75ggCiwkfusHaVuC0pqL8YmxUUEiqizKMiGpkyO4raG7XjTbI2JhzyWbzDY8MWLAbpZK13U83LeT48JPx/57MhUX4A24KnhiYZ2GrF+3VeN9fldouPGBmiRm04ocFsz4G6w6oKjyzIepgq9e2JNp/2owDBYzXs= 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 1753835361928431.7056790920975; Tue, 29 Jul 2025 17:29:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguch-00083v-CM; Tue, 29 Jul 2025 20:24:47 -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 1uguJ2-0004fY-Ch for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:28 -0400 Received: from mail-pg1-x532.google.com ([2607:f8b0:4864:20::532]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguIz-0004dH-EH for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:28 -0400 Received: by mail-pg1-x532.google.com with SMTP id 41be03b00d2f7-b3bcb168fd5so5294463a12.3 for ; Tue, 29 Jul 2025 17:04:24 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.22 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833863; x=1754438663; 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=uMIXwlpnlSfFBAzj9mkY1Aw7ECb3bAcUI/afFDOaBLM=; b=zzeFuldRMwlScBjT6sJUFKiBB2if5JWheg9hZPPbpaBlhSPhDZ8FbmhGGIdBhxP5Tc maPwu3/4HvMWZ8zx3h+xnfLtBMcNyOqCSv/FZcYgJChRr1dVvWMRcnLQurBzxBg58db3 8PGoXKrPKyY14sODnLbxdVnnyIe6+vkkop+CaOCagsdwGU5p3/P3x1Df/KV9gbSkiG10 qJgsPOalP0iGLk5tUWy1Ffj9Y5olbBq3IHI5NZTaLhX4gY6D+DKugW/obuzhSK6Ra0ic jxdEU8Q3ph9uz278SXe7D2zI8TuDb+XC1HZdWTXfhAy2JTlARIPmPfmP3b5YeABiio7U vNaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833863; x=1754438663; 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=uMIXwlpnlSfFBAzj9mkY1Aw7ECb3bAcUI/afFDOaBLM=; b=WCk/VqOBjENE5oePT99Djeso4Gx0OJ570JGUGlbBEbjKW0hrf086yZwCqdgGA9MeBl KHEJgVSvwHEbQr70Mtc7R+8alp4v2MpFfGpp4Zgd+J7pyKb+sXJfH5GgQThHms7dFBFf 2c7ITd5yXP1laQ2fsOqixZ4n/SNGeXHPpDUfQMrwccaUMZiQmkeCes6Lh3JLA1DHFvSt GqCZuCI6moSLAaXVYlgowG1wLBDdvtFvVIOKhgH7Hrb/i811qCayh24WC8VE4tv4dDEJ ye54MJ1UuxkuvFQx2gVSjC9ygRCzNbulYz4jEm4Dh/qO8AFrIFoqsulw4nstHxHDadxI 4t0A== X-Gm-Message-State: AOJu0Yy13SrDJXGcGbM+LmC+/tYVOxyL1LvWVJRVp0EbycN5S/e3KkKo L/+btwhpm6b0BDZ9QMtvFABDbHYtjEkHlDhv1Rao233bqQUsPB/83l2XDcjMMFdzyqSEF4wE3zj OsoYu X-Gm-Gg: ASbGnct5xRM75MqeYWofQKAKlRFz9qxYvO7My+ttYJQMN1B2f8zkOPrSNmWk1xkDvOS vO2aW/AymMcZ63Vq4Y0Kj45+5ysIEz1ru3kX0Wk8IQK3c/wrOuGIwynO2oNchxcokJFADNJFZH1 J0Sil26JiiRmyeB9dvG7wmb0YEOuZzmdqmVbWVApQL3kxTkCMQW3XzcPrzGxg+N4LQ6+sEnv6qK eyjaGntKw1Uy0NDy4lIEu9QYGIH9hIriDbbEr3izhH9pO65AgUcpiP8ghF3WIRd+PwxG4hjOdN5 bRUMiKNUtZC+6ZXhx/8N2ODbo5SqnndYHJcHBgoXPXlgdU4/hnx4Pm0xm7QvWK5zxw6IOlGm45h ohcGZo9clWfF4tkNmusWFysl5zJsYUNYqCRgPOQS9p0yzFLH0DqfZvpFlA9fs7ToQhwGQB40f/p bM4IOxuhVIkQ== X-Google-Smtp-Source: AGHT+IFLZ7NeRrZErlC6Qq5pjtvwgDvrbuJlJJYicwanUBiueqOMFFlxgpSf5L4RFrqpltv+pOl8wA== X-Received: by 2002:a05:6a20:2450:b0:220:78b9:f849 with SMTP id adf61e73a8af0-23dc0e445a2mr2099906637.24.1753833863440; Tue, 29 Jul 2025 17:04:23 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 53/89] linux-user/xtensa: Split out target_coredump.c.inc Date: Tue, 29 Jul 2025 13:59:26 -1000 Message-ID: <20250730000003.599084-54-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::532; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x532.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: 1753835364043116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 38 +------------------------ linux-user/xtensa/target_coredump.c.inc | 38 +++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 37 deletions(-) create mode 100644 linux-user/xtensa/target_coredump.c.inc diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 7cd0d5e7db..347af3202c 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -562,43 +562,7 @@ static bool init_guest_commpage(void) #define ELF_CLASS ELFCLASS32 #define ELF_ARCH EM_XTENSA =20 -/* See linux kernel: arch/xtensa/include/asm/elf.h. */ -#define ELF_NREG 128 -typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; - -enum { - TARGET_REG_PC, - TARGET_REG_PS, - TARGET_REG_LBEG, - TARGET_REG_LEND, - TARGET_REG_LCOUNT, - TARGET_REG_SAR, - TARGET_REG_WINDOWSTART, - TARGET_REG_WINDOWBASE, - TARGET_REG_THREADPTR, - TARGET_REG_AR0 =3D 64, -}; - -static void elf_core_copy_regs(target_elf_gregset_t *regs, - const CPUXtensaState *env) -{ - unsigned i; - - (*regs)[TARGET_REG_PC] =3D tswapreg(env->pc); - (*regs)[TARGET_REG_PS] =3D tswapreg(env->sregs[PS] & ~PS_EXCM); - (*regs)[TARGET_REG_LBEG] =3D tswapreg(env->sregs[LBEG]); - (*regs)[TARGET_REG_LEND] =3D tswapreg(env->sregs[LEND]); - (*regs)[TARGET_REG_LCOUNT] =3D tswapreg(env->sregs[LCOUNT]); - (*regs)[TARGET_REG_SAR] =3D tswapreg(env->sregs[SAR]); - (*regs)[TARGET_REG_WINDOWSTART] =3D tswapreg(env->sregs[WINDOW_START]); - (*regs)[TARGET_REG_WINDOWBASE] =3D tswapreg(env->sregs[WINDOW_BASE]); - (*regs)[TARGET_REG_THREADPTR] =3D tswapreg(env->uregs[THREADPTR]); - xtensa_sync_phys_from_window((CPUXtensaState *)env); - for (i =3D 0; i < env->config->nareg; ++i) { - (*regs)[TARGET_REG_AR0 + i] =3D tswapreg(env->phys_regs[i]); - } -} - +#include "target_coredump.c.inc" #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 diff --git a/linux-user/xtensa/target_coredump.c.inc b/linux-user/xtensa/ta= rget_coredump.c.inc new file mode 100644 index 0000000000..192589d1e3 --- /dev/null +++ b/linux-user/xtensa/target_coredump.c.inc @@ -0,0 +1,38 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +/* See linux kernel: arch/xtensa/include/asm/elf.h. */ +#define ELF_NREG 128 +typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; + +enum { + TARGET_REG_PC, + TARGET_REG_PS, + TARGET_REG_LBEG, + TARGET_REG_LEND, + TARGET_REG_LCOUNT, + TARGET_REG_SAR, + TARGET_REG_WINDOWSTART, + TARGET_REG_WINDOWBASE, + TARGET_REG_THREADPTR, + TARGET_REG_AR0 =3D 64, +}; + +static void elf_core_copy_regs(target_elf_gregset_t *regs, + const CPUXtensaState *env) +{ + unsigned i; + + (*regs)[TARGET_REG_PC] =3D tswapreg(env->pc); + (*regs)[TARGET_REG_PS] =3D tswapreg(env->sregs[PS] & ~PS_EXCM); + (*regs)[TARGET_REG_LBEG] =3D tswapreg(env->sregs[LBEG]); + (*regs)[TARGET_REG_LEND] =3D tswapreg(env->sregs[LEND]); + (*regs)[TARGET_REG_LCOUNT] =3D tswapreg(env->sregs[LCOUNT]); + (*regs)[TARGET_REG_SAR] =3D tswapreg(env->sregs[SAR]); + (*regs)[TARGET_REG_WINDOWSTART] =3D tswapreg(env->sregs[WINDOW_START]); + (*regs)[TARGET_REG_WINDOWBASE] =3D tswapreg(env->sregs[WINDOW_BASE]); + (*regs)[TARGET_REG_THREADPTR] =3D tswapreg(env->uregs[THREADPTR]); + xtensa_sync_phys_from_window((CPUXtensaState *)env); + for (i =3D 0; i < env->config->nareg; ++i) { + (*regs)[TARGET_REG_AR0 + i] =3D tswapreg(env->phys_regs[i]); + } +} --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753836175; cv=none; d=zohomail.com; s=zohoarc; b=NUX0VpLlB3lujsH3J4Mui8UDTKQJ9ARL9JC/ZRahlP9aJ1Djl4x3qZgs7LaQYHdvtgJ6yMEAP+y55Kf9Ij1Ri7MEHTqXy1FPd2sUisviBRUUjeD+6r0K9uciyxv4SBpLbgSVv3nC1a5OjGnhi9nknfTFfNAPsOSfwDx8hXq+z6c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753836175; 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=bfiIb00hzzMnfP+JG6ux4d2vmSlRDe73ZiSeXXSVVZ4=; b=J+e3bgH3sWAM7W7l2n4znAKhb3GgdCQPItYSryoB5RN64SZunlYvFG+ltG00XHxsadeuaZonoCAlFg+B5/cNNHhcaxRg7DBGu+hibehbtiBWt4Kd+3/LipqiGdlXcaYK1H+yFztbWJU0Q0kYanipawyS/73nr8Kvz6dceAtP4PE= 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 1753836175894935.7432326520614; Tue, 29 Jul 2025 17:42:55 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugucj-0008G1-Vo; Tue, 29 Jul 2025 20:24:50 -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 1uguJ2-0004fJ-5O for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:28 -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 1uguJ0-0004dV-8X for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:27 -0400 Received: by mail-pf1-x432.google.com with SMTP id d2e1a72fcca58-769a21bd4d5so1284452b3a.0 for ; Tue, 29 Jul 2025 17:04:25 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.23 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833865; x=1754438665; 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=bfiIb00hzzMnfP+JG6ux4d2vmSlRDe73ZiSeXXSVVZ4=; b=scEnPwEO6LfPoNRDYEF+t+ARSKxvgBt64J6EGieC8nfdjXvhnjygcXleDhEt2aZMp2 k54/iqlPWFylElpzg9Q1Ln5TFsLWkmQz9sQjixrpcywK5h+KSz6QcXpwceCO2xum3knH fbyLevPV2yIqAppWwQFYbkES6v0TYxgTvTBBZuSKR69jtovMF4D0Uyk5E4oHMelghFYZ Uc4CDrNWoK4IaUXaPQx0V/Ar189j4U+0YnxrcNzWjwABL2aKBqddzMFtV/+qzFZi5Ial OxorxA/ZDB+hqjjpx7V+Lx8DhXxrYcibMe7lzlr1xs3RbdMsE3wUZtJjCAtY+3buwk8J g4uA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833865; x=1754438665; 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=bfiIb00hzzMnfP+JG6ux4d2vmSlRDe73ZiSeXXSVVZ4=; b=sszvpkSj+gkaxWJBFZeCtUd+VpaqyjKrOYvulyckYxaWJOwn36aR3OpFxFbXkMyoo1 9Dlbxn3W9zu6uCzlE9gf5SML/jX7DmHkrYwSRoZwILRxC5jRX3tHNixYiZlwIJoJKWBO ezWZTBWi9+/Lj+3kUWAq737gSwlK6FFnN2LckRUAylEmJrpZlK1Fx0V4tYWF+aflI/oP r16GEb+8tqLA04d/fLVMY2x/Avymj7zD+tuZx9FvXh9qyMAg0Qpja6IEJcDQ8IKY+XID 41z/U0sJyW6KkVGlwIUicREIfQgh38S5MQ1rg4kUqaWCeKphuSatmTwJwQSffsFql6s6 nkpg== X-Gm-Message-State: AOJu0YyeqyqleHJzM31jpideqrJAWSjNhtTIKIv/6LIbTrFOGucAdXUH VFCgCvaBWDy4NyiiwElZ2OxhQr5Wjo03Pg4ElRTJknrHjyIdh+02QSUd0d1lfZ8WaRmoPfL6v2m Xs/oC X-Gm-Gg: ASbGncuZtkhieN/SHP6k3W+2I9G5lOMG7a1ZsawysZM+gWvBVUuRI1bWwBPqsmeMxoe 8tEH2psUfLKKHuDsR54VR3cDsn8QskYqE3Em1QEyzBX+ZiWlgesD5cHlAFJgsNUpXcrBzpL9jEm 8lD+/hgqq+ucuc2P1i7JILXHd/VDEyqghkRTu3rrQ7SmypWqJ/ogDiZyZE4We+w0PJo2DqgSHu6 WvsJPbTVD2U6KghZMQ9/HzRL6Ia7ZXJ8uYAOK+v23czDQ5BIj0z7hikAriKWnojCqDaiI6PrqQw +3JPSpFTHAdTUha2h6XVJpZLtK7MNjoaST7IQdOeTD6EPpQkBjlZQxkuEYP3v+zGmuMtJX3Wl23 bgVB3hAX8XadZGvW/7GI9Eechn8WXylP5LIWL/TJCeir8n9UK+SwjIA6F71EFhXi/6Z4iXEzM/7 NL/7EUt8kDkw== X-Google-Smtp-Source: AGHT+IG2XKkUA+DW3SxlCPlS9QuTfZ+laXJtZCfH8Kg9yTsYyOiBf4JmrpnAIsmbvA1O1yyFlOhy9w== X-Received: by 2002:aa7:8891:0:b0:75f:98b8:5f62 with SMTP id d2e1a72fcca58-76ab3301f30mr2131324b3a.24.1753833864688; Tue, 29 Jul 2025 17:04:24 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 54/89] linux-user: Unify the include of target_coredump.c.inc Date: Tue, 29 Jul 2025 13:59:27 -1000 Message-ID: <20250730000003.599084-55-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::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: 1753836177787116600 Content-Type: text/plain; charset="utf-8" Now that all target_coredump.c.inc files have been created, USE_ELF_CORE_DUMP signals that it is available. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 347af3202c..6feab68a52 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -159,8 +159,6 @@ typedef abi_int target_pid_t; #define ELF_CLASS ELFCLASS64 #define ELF_ARCH EM_X86_64 =20 -#include "target_coredump.c.inc" - #if ULONG_MAX > UINT32_MAX #define INIT_GUEST_COMMPAGE static bool init_guest_commpage(void) @@ -197,8 +195,6 @@ static bool init_guest_commpage(void) =20 #define EXSTACK_DEFAULT true =20 -#include "target_coredump.c.inc" - /* * i386 is the only target which supplies AT_SYSINFO for the vdso. * All others only supply AT_SYSINFO_EHDR. @@ -229,7 +225,6 @@ static bool init_guest_commpage(void) #define ELF_CLASS ELFCLASS32 #define EXSTACK_DEFAULT true =20 -#include "target_coredump.c.inc" #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 @@ -304,7 +299,6 @@ static const VdsoImageInfo *vdso_image_info(uint32_t el= f_flags) #define ELF_ARCH EM_AARCH64 #define ELF_CLASS ELFCLASS64 =20 -#include "target_coredump.c.inc" #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 @@ -376,7 +370,6 @@ static const VdsoImageInfo *vdso_image_info(uint32_t el= f_flags) NEW_AUX_ENT(AT_UCACHEBSIZE, 0); \ } while (0) =20 -#include "target_coredump.c.inc" #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 @@ -400,7 +393,6 @@ static const VdsoImageInfo *vdso_image_info(uint32_t el= f_flags) =20 #define VDSO_HEADER "vdso.c.inc" =20 -#include "target_coredump.c.inc" #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 @@ -422,7 +414,6 @@ static const VdsoImageInfo *vdso_image_info(uint32_t el= f_flags) #define elf_check_abi(x) (!((x) & EF_MIPS_ABI2)) #endif =20 -#include "target_coredump.c.inc" #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 @@ -437,7 +428,6 @@ static const VdsoImageInfo *vdso_image_info(uint32_t el= f_flags) =20 #define ELF_EXEC_PAGESIZE 4096 =20 -#include "target_coredump.c.inc" #define USE_ELF_CORE_DUMP #endif /* TARGET_MICROBLAZE */ =20 @@ -447,7 +437,6 @@ static const VdsoImageInfo *vdso_image_info(uint32_t el= f_flags) #define ELF_CLASS ELFCLASS32 #define ELF_DATA ELFDATA2MSB =20 -#include "target_coredump.c.inc" #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 8192 =20 @@ -458,7 +447,6 @@ static const VdsoImageInfo *vdso_image_info(uint32_t el= f_flags) #define ELF_CLASS ELFCLASS32 #define ELF_ARCH EM_SH =20 -#include "target_coredump.c.inc" #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 @@ -469,7 +457,6 @@ static const VdsoImageInfo *vdso_image_info(uint32_t el= f_flags) #define ELF_CLASS ELFCLASS32 #define ELF_ARCH EM_68K =20 -#include "target_coredump.c.inc" #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 8192 =20 @@ -490,7 +477,6 @@ static const VdsoImageInfo *vdso_image_info(uint32_t el= f_flags) #define ELF_DATA ELFDATA2MSB #define ELF_ARCH EM_S390 =20 -#include "target_coredump.c.inc" #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 @@ -562,7 +548,6 @@ static bool init_guest_commpage(void) #define ELF_CLASS ELFCLASS32 #define ELF_ARCH EM_XTENSA =20 -#include "target_coredump.c.inc" #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 @@ -2502,6 +2487,7 @@ int load_elf_binary(struct linux_binprm *bprm, struct= image_info *info) } =20 #ifdef USE_ELF_CORE_DUMP +#include "target_coredump.c.inc" =20 /* * Definitions to generate Intel SVR4-like core files. --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835922; cv=none; d=zohomail.com; s=zohoarc; b=kcEK4Csrzgft1c5LyJasMXrFCVyorCq0KTg938EeI3/9nXhO/iwGnUkkTEwtDGaBszl5UIP0rezOeBaVe7WiISWANjF8hHNafDlDLERyhzvP3HJI2rCdPJyrQVVImq7XmC2wSPKM+lKLMgpNsELfkaydUwv78EPeUsMLTy3qHsY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835922; 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=Ut68EBxP3nF3sszksqZbsbARC+pNHvmjmSrg0qwpPOA=; b=IoI/Uxcd7UUWkH228dHF9g3wpKtquWW/j5GAVOxgQqPLKz4ogW32xR/wmiBOvUsWJqgg8xO2c9PKmxCGZeTwAIP6YJqZcOFLc4iW9YQfMdE7YdaPWK9TVuufcrsxF/ndMpcUQJnfn6k14G9rpIg9vHXjVBUylvQMs432S5z1VzA= 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 1753835922683383.4204646944679; Tue, 29 Jul 2025 17:38:42 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugucp-0000Hd-Lz; Tue, 29 Jul 2025 20:24:56 -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 1uguJ3-0004gm-Iv for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:31 -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 1uguJ1-0004dk-HY for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:29 -0400 Received: by mail-pg1-x52e.google.com with SMTP id 41be03b00d2f7-b42099901baso1991842a12.2 for ; Tue, 29 Jul 2025 17:04:27 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.25 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833866; x=1754438666; 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=Ut68EBxP3nF3sszksqZbsbARC+pNHvmjmSrg0qwpPOA=; b=xu7WMZTrHQn2T+5A+BvpjgMSUAljAQAqIVX6IUfV2Eyx5d1mInaIkkAaLoRAzXvfgQ 6K9WXA6GviejGOY7mMczaWg0PhywE6Ec/sNqa87+utEmcpzhXj9Q1Kh8dftpPprStGr1 bY4ipre+1pc6On/k2I9n0hde04+8Z6ZRjj0TPZbWgsRtiV+j9QpvnQXXzweNuiqSnWRy vvQaBkNyL4JNb4xMaH2YhP/+x+DbFVFVYYnTYocLa32dVLkgqt6uWB4sNLxmHY00OkDb 3LoG+fmNkIiej28EpKRd1kJdf4ZCvbdo62ZWvvxYOBrzHUZXfFqHrcbRjO2/IAPYMCrN ZzRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833866; x=1754438666; 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=Ut68EBxP3nF3sszksqZbsbARC+pNHvmjmSrg0qwpPOA=; b=OZz9DVfehaJYr8ua9VTg/wDieiNf2ejWSOjdMxwkEBt5fQD4spytRy6bXDBz+ZnE37 TEy7Cz0QHmdHprM5LiBJYZHcj2z9IoKWG0xYEifz0DNapWfMrhajjpSX4ZJZb+oMe4Mg lEP1Z2WwLrBBfZlSoWh40Ef2N2LcOt7PbPbzt62qLVzLWnCktodX71DFdPpjNb1gFIBR 1V3T11yiR57Zw6F/hHYjyn927fPX7NMO2u8kyAfv9nqa93KwCQzYX1yK2b1yhbk/aH/s NVsIq7qWWAJKmYi0CZq4ROLSlFWVH8mpIKYmO2e1lk+CMem7PNUMm1g/0LDR4b6SWech qv8w== X-Gm-Message-State: AOJu0YzeiqH0qws553z8TyK0LEXRXtaKZF9usbvBWrvpZ9/uXoWjXkOm HSxPbDpjLSjDu4t6q4sFHBHlmtUraBykdzw8RHwuBvUyFDSis4CvravHoMlI6Y0gj2SPNAtjSNn 7VnGA X-Gm-Gg: ASbGnctWxBATmjUraPA11SguY6HOi9RhND9CIv7GvHsuyhX3NbENBLNAtgYWaTwn5uf 29POOdm8dyLzBD/GCdLrleG3GqYb5o7sdZ5BD+qjdV+6PZqqn9Q/UQnaORmh1Zt9eEv2ruEdXFg Og7WIuuOAu8vwtdmhK1w4VYDVRUPao7iFf5o1q5Hs8PGHGw/qiC5TdQ1b9+kcu/Bv1SqKQ+eeCM 30KUb6KGDZXI8TE+b+4PSgkxIgRwSuYR+5HDEKzp7r6A0Q7jqQeYcKjjQ/ugz9bHoauGyi8AzQ+ 0u3j12wqe73DBhLy39Gm/wJWPdhOAo/IMTQCrYOD0YhHT64knjKKfab8sXkukpc/6yh/j1UzhAX 8pN5c9RuoM8mr++ZgzcPlTC3MHztxaYbHIBoXAwFajsrE1ci/ioHOjHkP+BpR0GioMjqKDev2vL gD+Qa83yRD+g== X-Google-Smtp-Source: AGHT+IGHNHfmFIbtOMFk0yBCCD/FKmfPdXQMKb7RcNECeN43g7Kyiw6rXBTl/2219L5JuWfL6gWYSw== X-Received: by 2002:a05:6a20:5491:b0:1ee:d418:f764 with SMTP id adf61e73a8af0-23dc0ec3828mr1845923637.38.1753833865767; Tue, 29 Jul 2025 17:04:25 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 55/89] linux-user: Move init_guest_commpage to x86_64/elfload.c Date: Tue, 29 Jul 2025 13:59:28 -1000 Message-ID: <20250730000003.599084-56-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::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: 1753835923281116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/loader.h | 3 +++ linux-user/elfload.c | 20 -------------------- linux-user/x86_64/elfload.c | 20 ++++++++++++++++++++ 3 files changed, 23 insertions(+), 20 deletions(-) diff --git a/linux-user/loader.h b/linux-user/loader.h index 700bbdb02e..e5e317ab76 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -102,5 +102,8 @@ const char *elf_hwcap_str(uint32_t bit); const char *elf_hwcap2_str(uint32_t bit); const char *get_elf_platform(CPUState *cs); const char *get_elf_base_platform(CPUState *cs); +#if defined(TARGET_X86_64) +bool init_guest_commpage(void); +#endif =20 #endif /* LINUX_USER_LOADER_H */ diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 6feab68a52..297151e4fa 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -159,27 +159,7 @@ typedef abi_int target_pid_t; #define ELF_CLASS ELFCLASS64 #define ELF_ARCH EM_X86_64 =20 -#if ULONG_MAX > UINT32_MAX #define INIT_GUEST_COMMPAGE -static bool init_guest_commpage(void) -{ - /* - * The vsyscall page is at a high negative address aka kernel space, - * which means that we cannot actually allocate it with target_mmap. - * We still should be able to use page_set_flags, unless the user - * has specified -R reserved_va, which would trigger an assert(). - */ - if (reserved_va !=3D 0 && - TARGET_VSYSCALL_PAGE + TARGET_PAGE_SIZE - 1 > reserved_va) { - error_report("Cannot allocate vsyscall page"); - exit(EXIT_FAILURE); - } - page_set_flags(TARGET_VSYSCALL_PAGE, - TARGET_VSYSCALL_PAGE | ~TARGET_PAGE_MASK, - PAGE_EXEC | PAGE_VALID); - return true; -} -#endif #else =20 /* diff --git a/linux-user/x86_64/elfload.c b/linux-user/x86_64/elfload.c index bc40ed8c5b..98acca94ef 100644 --- a/linux-user/x86_64/elfload.c +++ b/linux-user/x86_64/elfload.c @@ -1,6 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0-or-later */ =20 #include "qemu/osdep.h" +#include "qemu/error-report.h" #include "qemu.h" #include "loader.h" =20 @@ -14,3 +15,22 @@ const char *get_elf_platform(CPUState *cs) { return "x86_64"; } + +bool init_guest_commpage(void) +{ + /* + * The vsyscall page is at a high negative address aka kernel space, + * which means that we cannot actually allocate it with target_mmap. + * We still should be able to use page_set_flags, unless the user + * has specified -R reserved_va, which would trigger an assert(). + */ + if (reserved_va !=3D 0 && + TARGET_VSYSCALL_PAGE + TARGET_PAGE_SIZE - 1 > reserved_va) { + error_report("Cannot allocate vsyscall page"); + exit(EXIT_FAILURE); + } + page_set_flags(TARGET_VSYSCALL_PAGE, + TARGET_VSYSCALL_PAGE | ~TARGET_PAGE_MASK, + PAGE_EXEC | PAGE_VALID); + return true; +} --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835554; cv=none; d=zohomail.com; s=zohoarc; b=L7zS6Jl8AECzRSkh39Giv7XRdx+tU2IrmY2vAF7Omyz+m1G6T8O5hRR3UTyjXIMQQGNEUpGE501jRiLAxB1EzgkU6Bfri1b4TUFeE5L9HbQUMT4WEMjI5hjQq21YqSPyMc/Do1PXqkwF8JBkb1J4TB8d27IW/VCvLjCD1ck1+jE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835554; 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=24GqgpfMUaaInHcHXkfkkXfG4qIE7avpsYSgsPmLIU8=; b=aXS5ui5Uxs0o8b6yLzHrCH1PGA06Q5elWMb7AmpnhJah7EyC9Eekyd421G+lMWrIWmRKq3rUjPgjSrD/T57NtA/vbofX/h9YT+PDH+OT7V3TxlrRHHNpTPIhEymk0UQHnhZwMqnoikjYAqYapGZ6zBqHKSpRIbglkzwL/EH3KPA= 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 1753835554844918.0303092456198; Tue, 29 Jul 2025 17:32:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugucW-0007He-3g; Tue, 29 Jul 2025 20:24:36 -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 1uguJ4-0004h7-Mj for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:31 -0400 Received: from mail-pf1-x429.google.com ([2607:f8b0:4864:20::429]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguJ2-0004du-Kz for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:30 -0400 Received: by mail-pf1-x429.google.com with SMTP id d2e1a72fcca58-76a3818eb9bso859745b3a.3 for ; Tue, 29 Jul 2025 17:04:28 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.26 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833867; x=1754438667; 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=24GqgpfMUaaInHcHXkfkkXfG4qIE7avpsYSgsPmLIU8=; b=JFtJ1uZx+kicRwHM/o3TfzkTBnle8jgmgERFbbwa+hyKGDqG0KOXdQvXoUD0Z1kcsk MCaquWoyi65j9vN9UIqfRLdMvPBSaR1iD6DXlRETvtLtUKamwO3yKc3gvjriABMrw9YK 08kIna81NvFCcut4+fwuUqG4WXI0gRxtRXPkvEetWLb7QaSo5dc7eEpEtjITnZtdXqPe QLvWjpkjyDAONUDHNx7yqJiUayrbXER5l+9LcgnLrcFgngv8IP5Ro20jnlk5X6Phkmtt T086Xli3I+bXq3H/0O0zKlcgZjkl0kDbIhJMljvUy04XRagc319RQ3FVmfQFs5eCePIa 9yTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833867; x=1754438667; 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=24GqgpfMUaaInHcHXkfkkXfG4qIE7avpsYSgsPmLIU8=; b=dTsveLuIhwlc0yzufS9FDbVuxQMfAZfJqc68g8/x1ZHJb5Cica+Li7nbZ9MsXYVDuh pouX21p9cuVVrfg+jCzoMV+voQwS/cWrQKtJeWIutCjLaNhkJ+mZuUXx16gbChjatveW z7tYI0N2CL6pgbthCM0k9UsVOqnvZouW/1TAEXFXZSCPCcPJfYIFPvCYWGmV5rO8SY7o O/0ejCZlyYyvpGeNWtTBwn4JlNxZ7e7KlzbwlfidFsHdVNeb/sY3yka9fuEMvtja/T3r VXjFcPBj4tdTcmO1QbXJTmlVO3EqjTa3ayPtU8/pGoc5qGfrw13Pn8/9jfC5CG8rpSj7 oTJg== X-Gm-Message-State: AOJu0YyyfCntPvj3vpbbXa1KV1aE4e/8HbmFrLEY45Ra0keTHd8w9BKZ WxyIWJha5HdThC/uOc11fC5FiEJQaY+226iSxZt5tuXTbS9n5pB/Eva04bj2anZPwvOWACXI6yY HQd2G X-Gm-Gg: ASbGncvWCbJgv93vGJsKOmsqiSLACwUppqwb0ghsv5ozWOKT0OmSniO5p7T5C88wi9z VZ6EaChRqq/aFhp9yIYn8CZKcIXlyLMTVksCqvlYewjz0rgUgs2yIQ6NZcuBF2tedDH2r34Ns72 UDYH77CX69g7mxguVkMCVdniG4KjEnd91zZrZmzlJHbxTh9gBLSuvlOA69XuK2AfYhx5wciwWaF 64w1kTUEOJYz76LZZeWgC8Wswo5WVCqk+KoWJdDL+14w0woJ3F6g39fC32lCLcOM9oyRoW96x/n qO/pNBuvdZ/U0VGHJlcYWR4+V7gcWezDPrV5uL1gMXSZJNu5EgNaAG1jcAculaR5MevT1/fCQwx gPg2skl9uocSQDz3ogJQBp0oY/DzIBTpWnGoNSr4aN4TzP8yg6SPAx8rqyYXKssZVmVB+ZSE9Vl uxKmBtBpYZGw== X-Google-Smtp-Source: AGHT+IEJVAQ7bwhDf1wJriOJJkiQVhmOgk/k6LNJdPRUZNdWFRynfQJ1PGYfbQDh6UmKE5eFxUxH3Q== X-Received: by 2002:a05:6a20:4327:b0:222:1802:2dd7 with SMTP id adf61e73a8af0-23dc0d57e5bmr2172966637.13.1753833867142; Tue, 29 Jul 2025 17:04:27 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 56/89] linux-user: Move init_guest_commpage to arm/elfload.c Date: Tue, 29 Jul 2025 13:59:29 -1000 Message-ID: <20250730000003.599084-57-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::429; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x429.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: 1753835556107116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/arm/target_elf.h | 4 ++++ linux-user/loader.h | 2 +- linux-user/arm/elfload.c | 46 +++++++++++++++++++++++++++++++++++ linux-user/elfload.c | 48 ------------------------------------- 4 files changed, 51 insertions(+), 49 deletions(-) diff --git a/linux-user/arm/target_elf.h b/linux-user/arm/target_elf.h index 58ff6a0986..bb9875fa2d 100644 --- a/linux-user/arm/target_elf.h +++ b/linux-user/arm/target_elf.h @@ -7,8 +7,12 @@ =20 #ifndef ARM_TARGET_ELF_H #define ARM_TARGET_ELF_H + +#define HI_COMMPAGE (intptr_t)0xffff0f00u + static inline const char *cpu_get_model(uint32_t eflags) { return "any"; } + #endif diff --git a/linux-user/loader.h b/linux-user/loader.h index e5e317ab76..28eebf2f0b 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -102,7 +102,7 @@ const char *elf_hwcap_str(uint32_t bit); const char *elf_hwcap2_str(uint32_t bit); const char *get_elf_platform(CPUState *cs); const char *get_elf_base_platform(CPUState *cs); -#if defined(TARGET_X86_64) +#if defined(TARGET_X86_64) || defined(TARGET_ARM) bool init_guest_commpage(void); #endif =20 diff --git a/linux-user/arm/elfload.c b/linux-user/arm/elfload.c index 8573e46f2c..ad0d88a7e0 100644 --- a/linux-user/arm/elfload.c +++ b/linux-user/arm/elfload.c @@ -3,6 +3,8 @@ #include "qemu/osdep.h" #include "qemu.h" #include "loader.h" +#include "user-internals.h" +#include "target_elf.h" #include "target/arm/cpu-features.h" =20 =20 @@ -194,3 +196,47 @@ const char *get_elf_platform(CPUState *cs) =20 #undef END } + +bool init_guest_commpage(void) +{ + ARMCPU *cpu =3D ARM_CPU(thread_cpu); + int host_page_size =3D qemu_real_host_page_size(); + abi_ptr commpage; + void *want; + void *addr; + + /* + * M-profile allocates maximum of 2GB address space, so can never + * allocate the commpage. Skip it. + */ + if (arm_feature(&cpu->env, ARM_FEATURE_M)) { + return true; + } + + commpage =3D HI_COMMPAGE & -host_page_size; + want =3D g2h_untagged(commpage); + addr =3D mmap(want, host_page_size, PROT_READ | PROT_WRITE, + MAP_ANONYMOUS | MAP_PRIVATE | + (commpage < reserved_va ? MAP_FIXED : MAP_FIXED_NOREPLACE), + -1, 0); + + if (addr =3D=3D MAP_FAILED) { + perror("Allocating guest commpage"); + exit(EXIT_FAILURE); + } + if (addr !=3D want) { + return false; + } + + /* Set kernel helper versions; rest of page is 0. */ + __put_user(5, (uint32_t *)g2h_untagged(0xffff0ffcu)); + + if (mprotect(addr, host_page_size, PROT_READ)) { + perror("Protecting guest commpage"); + exit(EXIT_FAILURE); + } + + page_set_flags(commpage, commpage | (host_page_size - 1), + PAGE_READ | PAGE_EXEC | PAGE_VALID); + return true; +} diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 297151e4fa..714b70757c 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -208,54 +208,6 @@ typedef abi_int target_pid_t; #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 -/* The commpage only exists for 32 bit kernels */ - -#define HI_COMMPAGE (intptr_t)0xffff0f00u - -static bool init_guest_commpage(void) -{ - ARMCPU *cpu =3D ARM_CPU(thread_cpu); - int host_page_size =3D qemu_real_host_page_size(); - abi_ptr commpage; - void *want; - void *addr; - - /* - * M-profile allocates maximum of 2GB address space, so can never - * allocate the commpage. Skip it. - */ - if (arm_feature(&cpu->env, ARM_FEATURE_M)) { - return true; - } - - commpage =3D HI_COMMPAGE & -host_page_size; - want =3D g2h_untagged(commpage); - addr =3D mmap(want, host_page_size, PROT_READ | PROT_WRITE, - MAP_ANONYMOUS | MAP_PRIVATE | - (commpage < reserved_va ? MAP_FIXED : MAP_FIXED_NOREPLACE), - -1, 0); - - if (addr =3D=3D MAP_FAILED) { - perror("Allocating guest commpage"); - exit(EXIT_FAILURE); - } - if (addr !=3D want) { - return false; - } - - /* Set kernel helper versions; rest of page is 0. */ - __put_user(5, (uint32_t *)g2h_untagged(0xffff0ffcu)); - - if (mprotect(addr, host_page_size, PROT_READ)) { - perror("Protecting guest commpage"); - exit(EXIT_FAILURE); - } - - page_set_flags(commpage, commpage | (host_page_size - 1), - PAGE_READ | PAGE_EXEC | PAGE_VALID); - return true; -} - #if TARGET_BIG_ENDIAN #include "elf.h" #include "vdso-be8.c.inc" --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835548; cv=none; d=zohomail.com; s=zohoarc; b=caYhpY1BNAT6u/CNJIsW/z2tZatKdw0it8wR1WR79u3dfPOauI/Nyqe9QRMy1wYDqCSxCyUeso+SbJa1m7BxiPufzFzpJsPg8upymrLp+mwG1J/91RNDhqtT9ZmUHFe3O/peK7ksjYybZ97ywq+GvjPPlK2Uc6HIb8elw0wZiIE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835548; 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=juYH+c/ClRU2NI+u8jrOit6393rsevQJwBnXFcRMCaY=; b=cCIY24yYhqm/QRqbfrJoz0orkj74cnACej0cYH7V35lJmJHmfRhKV8ka1KHP7Iy2FNd6E9C7dupVwnzeeiR9PJ7cBM/pDgvc76Je5pODrvx3Vu1Eo5bd9AAiGhY/muBONhMSflCRMnRGoOxhJyq83XmUfMKUCf3BW/PmcEJ3gcQ= 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 1753835548237698.8073747589248; Tue, 29 Jul 2025 17:32:28 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugucY-0007XK-K3; Tue, 29 Jul 2025 20:24:38 -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 1uguJ5-0004i6-Iu for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:31 -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 1uguJ3-0004eH-PX for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:31 -0400 Received: by mail-pf1-x432.google.com with SMTP id d2e1a72fcca58-76b0724d64bso92637b3a.1 for ; Tue, 29 Jul 2025 17:04:29 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.27 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833868; x=1754438668; 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=juYH+c/ClRU2NI+u8jrOit6393rsevQJwBnXFcRMCaY=; b=aQiOIR2IXaLBOkYWZ/xeimeXg1E90K+PrWJIp+4utCGIgjDDjRvRnqS4PPIoUw+qP0 OdTQfv2RmqC72ImdBsgsi3kHjrFyxvhwkHPP4cpV/ZutPEGRBlBodbHokgo3alwmskxE PtIXreWIv5E585UDh2vx8eSIXOJ+9dXFwGAkDfDp/DGVBqIxjO+T8D2WKPWOAY9C4rkR HH2AODSOXWYdB11VkVzazyNgzkHa7blgWc80SYEdr4rM6s7lOxMjj8GKz4AsepbyfhjP OjlXGaBavcBcLv4+dj7lZTj4qgSGFkuNx7zoxP+tEDk/zpIU6UHk2Bte8EqT8gapXfIl AFkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833868; x=1754438668; 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=juYH+c/ClRU2NI+u8jrOit6393rsevQJwBnXFcRMCaY=; b=rdV8OBF3wAywkb12cC+VvWTndzZVo0SGeRZHmdc2E08xmvihZ7xIkSJK8eZadgpTT1 cqeqEQuFSLriRpc7gvWF8vFiPL1Lv3BL10VAJ0m50uf8UHxzUxDjhVEUVZiKw/AUXdI1 6WOOjAPTOwRno9lM5OEmBSI2kIAp42fZ9GoMWj6L2dF6C+c8KfRRx3GGX0dWT+YR9UKS JBZJ9VebR5EFqnTIfawo5apmdPqCb41ewsCtmniTC4+tsDLBieePYEhUQUdYwirZJ22c 9CtEKkVgc7gzqMuyfiYt/UZs0qdXhcQHWcKxuIU6l1Kp3KC2tT7E8M3J2OiGkYxqddlA JB3g== X-Gm-Message-State: AOJu0Yx6jftm8Sj9i7j0p0rYRuvsTDI+rlNsq9wugAFhRSdO/mlL3HE/ /ZCMVAliLOmF8vNYvbnpWKtJnNQocjF5CuUUgRmx0LouMuTs3b8ywn8DkIWW8z++KUvSzU8UoRp O/5TQ X-Gm-Gg: ASbGncs58IWZTbn39nYSIwAOn2UvL2T8Yjfax8L7k2WvBZC+E8IX8i6uLkMbX5upfN0 MUPvxF/MkkaSDDGvkuAeTcZ2raR6IZAf0d9nk8KC2bjvg/Z4wqj15eZ6QmN1JHgenVmgZ6ZTLyt hXMijDuAPCaFfuoCVgRJdnhVzmSgj3xmb1B07foBcUn/0vP/ElFsqA9ewlcoY+Qzw4VOu/g7c8Y dkIaiPX5CUDAcb9qrCmRanDH9GQ54x3/I/6i6eJt669cHt0z6bRDCin2p3OmG/ebJKr9fwQ9RT4 m7fVjtyYOPU4EVy7URDJ+UdFsmsyoEq0lSmjhqSCSGgC6FIL6Nr5mm7cIlUcjl/zYEyK8hTYiXW lmT0s5eHgL0vQSasgoZVrYG05CKw6FEkfQxBx9cu2DHGDQEJ+yRNlP+H8sx6clZDO3rz58aXxpz LCKEy6dG2kepNX8r5GeUtM X-Google-Smtp-Source: AGHT+IE4EF2tUhdTcTyJGFmx7ukByZGbQiRYTMa2f+izIW5Nk4Z3c//A09N5Vq8Ae8RzeonJQVqb+g== X-Received: by 2002:a05:6a00:844:b0:76a:6d2b:f22 with SMTP id d2e1a72fcca58-76ab0f1fcf0mr1744903b3a.6.1753833868370; Tue, 29 Jul 2025 17:04:28 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 57/89] linux-user: Move init_guest_commpage to hppa/elfload.c Date: Tue, 29 Jul 2025 13:59:30 -1000 Message-ID: <20250730000003.599084-58-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::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: 1753835550028116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/hppa/target_elf.h | 4 ++++ linux-user/loader.h | 2 -- linux-user/elfload.c | 32 -------------------------------- linux-user/hppa/elfload.c | 31 +++++++++++++++++++++++++++++++ 4 files changed, 35 insertions(+), 34 deletions(-) diff --git a/linux-user/hppa/target_elf.h b/linux-user/hppa/target_elf.h index 19cae8bd65..00dc2d6684 100644 --- a/linux-user/hppa/target_elf.h +++ b/linux-user/hppa/target_elf.h @@ -7,8 +7,12 @@ =20 #ifndef HPPA_TARGET_ELF_H #define HPPA_TARGET_ELF_H + +#define LO_COMMPAGE 0 + static inline const char *cpu_get_model(uint32_t eflags) { return "hppa"; } + #endif diff --git a/linux-user/loader.h b/linux-user/loader.h index 28eebf2f0b..e6d02d186e 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -102,8 +102,6 @@ const char *elf_hwcap_str(uint32_t bit); const char *elf_hwcap2_str(uint32_t bit); const char *get_elf_platform(CPUState *cs); const char *get_elf_base_platform(CPUState *cs); -#if defined(TARGET_X86_64) || defined(TARGET_ARM) bool init_guest_commpage(void); -#endif =20 #endif /* LINUX_USER_LOADER_H */ diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 714b70757c..8ebde57fa5 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -441,38 +441,6 @@ static const VdsoImageInfo *vdso_image_info(uint32_t e= lf_flags) =20 #define VDSO_HEADER "vdso.c.inc" =20 -#define LO_COMMPAGE 0 - -static bool init_guest_commpage(void) -{ - /* If reserved_va, then we have already mapped 0 page on the host. */ - if (!reserved_va) { - void *want, *addr; - - want =3D g2h_untagged(LO_COMMPAGE); - addr =3D mmap(want, TARGET_PAGE_SIZE, PROT_NONE, - MAP_ANONYMOUS | MAP_PRIVATE | MAP_FIXED_NOREPLACE, -1,= 0); - if (addr =3D=3D MAP_FAILED) { - perror("Allocating guest commpage"); - exit(EXIT_FAILURE); - } - if (addr !=3D want) { - return false; - } - } - - /* - * On Linux, page zero is normally marked execute only + gateway. - * Normal read or write is supposed to fail (thus PROT_NONE above), - * but specific offsets have kernel code mapped to raise permissions - * and implement syscalls. Here, simply mark the page executable. - * Special case the entry points during translation (see do_page_zero). - */ - page_set_flags(LO_COMMPAGE, LO_COMMPAGE | ~TARGET_PAGE_MASK, - PAGE_EXEC | PAGE_VALID); - return true; -} - #endif /* TARGET_HPPA */ =20 #ifdef TARGET_XTENSA diff --git a/linux-user/hppa/elfload.c b/linux-user/hppa/elfload.c index ff0c2b862a..c7e1e3952a 100644 --- a/linux-user/hppa/elfload.c +++ b/linux-user/hppa/elfload.c @@ -3,9 +3,40 @@ #include "qemu/osdep.h" #include "qemu.h" #include "loader.h" +#include "target_elf.h" =20 =20 const char *get_elf_platform(CPUState *cs) { return "PARISC"; } + +bool init_guest_commpage(void) +{ + /* If reserved_va, then we have already mapped 0 page on the host. */ + if (!reserved_va) { + void *want, *addr; + + want =3D g2h_untagged(LO_COMMPAGE); + addr =3D mmap(want, TARGET_PAGE_SIZE, PROT_NONE, + MAP_ANONYMOUS | MAP_PRIVATE | MAP_FIXED_NOREPLACE, -1,= 0); + if (addr =3D=3D MAP_FAILED) { + perror("Allocating guest commpage"); + exit(EXIT_FAILURE); + } + if (addr !=3D want) { + return false; + } + } + + /* + * On Linux, page zero is normally marked execute only + gateway. + * Normal read or write is supposed to fail (thus PROT_NONE above), + * but specific offsets have kernel code mapped to raise permissions + * and implement syscalls. Here, simply mark the page executable. + * Special case the entry points during translation (see do_page_zero). + */ + page_set_flags(LO_COMMPAGE, LO_COMMPAGE | ~TARGET_PAGE_MASK, + PAGE_EXEC | PAGE_VALID); + return true; +} --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835803; cv=none; d=zohomail.com; s=zohoarc; b=SmD7sqlUFXNYk9rZIbXNS6bhkyjErBqVODx/diCZCrWmhw7+ukjENrEH+yNJc8h0TCjiFmJJOgyC+KgUNuJ+uY0Y0svi1i49KdM3EkDoKAiOhU1OzwXOudjcVoWriNzS0tV3dx8/+anyGVGDEAdHvtcSJz9eaCqgpz3Qj1XmTvQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835803; 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=B5S3KU2+IEJC2Yz/zbsZ8bGZAzr2DrP1ESEmkaGCKJo=; b=g320VRi6GdjZ+ZJNZvenhmLv1xlsBJ9NiqGqJJo+LTnVkFXevov1eKnvE5feUQgF12OCkFxy5zGA1oTypTBYgj02J4R5XKwGELR0T9e2OI0NbpCIDDv+W8JVve1EdVWYsYotJ3cJ4nHaeaSIsY6IGt3f4n1EchJWfKtBHytNPJc= 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 1753835803328862.7713139940593; Tue, 29 Jul 2025 17:36:43 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguct-0000jl-Po; Tue, 29 Jul 2025 20:24:59 -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 1uguJ6-0004kJ-IH for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:32 -0400 Received: from mail-pf1-x42b.google.com ([2607:f8b0:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguJ4-0004eR-UI for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:32 -0400 Received: by mail-pf1-x42b.google.com with SMTP id d2e1a72fcca58-769b19eeb3fso1457340b3a.2 for ; Tue, 29 Jul 2025 17:04:30 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.28 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833869; x=1754438669; 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=B5S3KU2+IEJC2Yz/zbsZ8bGZAzr2DrP1ESEmkaGCKJo=; b=FGINStPBvbVqvkSiOlR2j6T1dpuoRvZmDLyRyaj8WhJSwbnlt3mV6plKuWklO3OiMv tbxcGbGrV15SpdXs/rwu8baK7lHVQxW4B5y5Q9r5ExXbWHQanaYvk+Qt8j6unq6OcrmB 8YF4KRXO3vY0ABDjHhOuEo0FkjVaYpVls4r0rxgcC6eyxtOTFFZ0i9QI+Ia8RiNr452L cvve855WC3ahnvxlz7t0XhQPG0cFYl68C4C1c5DRhj15rUXleoO/uwvDufRqHVoG+6aT uH+KS27z2fpHZpllHW8rCpNFV4clS7CCI76obGWVI6wTOH0Dg5RrMmyMGOOq5/c6hvvL qZBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833869; x=1754438669; 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=B5S3KU2+IEJC2Yz/zbsZ8bGZAzr2DrP1ESEmkaGCKJo=; b=wnZ9bwGDVBQE6Z7mWkyRkzywtDXKcKYmqv2Ny/LIl+OL9Iuk0UlG2QrqAij9J5j9hs X1GMsLLbbxr0KrXVnq3a5N2kE+a0fpXfAmSEyKY6bENJFnfNCHEJ8INeNVg/esBaU9bX MT9s/R5zVivZVWtTJNUZpWmmQ8jBZy09dZLjO0UY1uZywviZtAb6gJ36QbzBciVnOqlG lPWIoAiazGWwOro2fK7kNHlDPx7PlWssfzzLuSLBRqmprk3Ixrzd2GaRLbHsI/6lqrX+ lZYjj1OUlAacUpubSqdxAVSTHSu5UkofanmrZKuW7MzB+wtGrU4wQYJyWOo1imhGArfd p38w== X-Gm-Message-State: AOJu0YwOA0VgUpvuCK3utZDjCO14/M3sXTh6t+vKcU8ort1T4uTjnShH Tv6jLEbidGPktiS+s8mVYR6yGI5OFXn5n4sVUVrV0O5EFnvMLzZBBHdK3KngKWG4+Yn0jPNuh2T +wQm6 X-Gm-Gg: ASbGncvTFKigiSOWJopuZP5ijGiark0PEZFZzeKR2ryeX4iOOuH9HqXvB7i+DY4jBeL DMFOtkuBuOlrC06BfICZwL9RkjdVn0eXE4+6KPYMnTXuLgWersPNtkXaeQJambFpbgb351/zdfu FpXTh3xvIoAPVJUdGeXJWvsg7n7r4pNHwgLjhX3E+9udGTXNDEBsC3eBEO0JMkeo0I3jbdnT/V2 U0HQ2OYZgrCxAf2rMzLUXdv5Z012sJckrbibrDFEEuVN55DXNR5T5+dmOQgI5lyDFSO5KCc7KJA kD7H2RHE4sLkf7hFWcn7U7G/9/yK5XoymewCBbgq+MOp5yG5jUyH+ylaDuFWtelZib3kZadKwQB mJN8qSD6XxWmuwJsO3KvfxuotFQBLfFGPocd3KaRz3vtAlJPlcjv7euxIuq0O8QSec0CZ6opQlW Mh3lYjb05RVg== X-Google-Smtp-Source: AGHT+IF/nU4ENhJdnMHAjIWN4l4E/y11koS/zqm0M9ZbSReLVGAvnI0qpgLBv2I3S1yPquq7WJZwTw== X-Received: by 2002:a05:6a21:66c9:b0:234:e597:fe27 with SMTP id adf61e73a8af0-23dc0d3e15fmr1563118637.16.1753833869480; Tue, 29 Jul 2025 17:04:29 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 58/89] linux-user: Remove INIT_GUEST_COMMPAGE Date: Tue, 29 Jul 2025 13:59:31 -1000 Message-ID: <20250730000003.599084-59-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::42b; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42b.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: 1753835804406116600 Content-Type: text/plain; charset="utf-8" Provide a weak stub version of init_guest_commpage instead of using the preprocessor. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 8ebde57fa5..01c39bf456 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -158,8 +158,6 @@ typedef abi_int target_pid_t; #ifdef TARGET_X86_64 #define ELF_CLASS ELFCLASS64 #define ELF_ARCH EM_X86_64 - -#define INIT_GUEST_COMMPAGE #else =20 /* @@ -1151,11 +1149,14 @@ static abi_ulong create_elf_tables(abi_ulong p, int= argc, int envc, #else #define HI_COMMPAGE 0 #define LO_COMMPAGE -1 -#ifndef INIT_GUEST_COMMPAGE -#define init_guest_commpage() true -#endif #endif =20 +bool __attribute__((weak)) init_guest_commpage(void) +{ + return true; +} + + /** * pgb_try_mmap: * @addr: host start address --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835251; cv=none; d=zohomail.com; s=zohoarc; b=f9FrPS9+DhVtLOXaQfranLnNRQgOH0WnoIg2HFNrdHLDNdtI+udO/gIxFrLF37OaHzcTHOpPFBdw9I3rB3CvvxztRxXhWj3a++I4s6iLTpvl3AYFcfIrvUEoPBhC8Hj6TuIl12SO82CYL9UW8Fx/7EfOvEXPTBYeuVqVp7Rao7E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835251; 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=VlbWwV3nxGhn1Ze57y00uhJHUwo3dhORAor2v/a3Spk=; b=fR3dpwfJwYBCBEPU91dTn4Mc2KNyonjOKmulyaUPTqCY4fQ5OzuGD/ZTxeTh6n8I6tR0CnKVQzgLrJo9elguVeF6VjLzGJFY6RE6UX7Xp72pjh98xr8gU/d3YZxv9dxzclcFrEFca0bRUN1pqEWcGtBPzx0W3Gt2nfOJC0dIgA0= 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 1753835251151199.27470894103874; Tue, 29 Jul 2025 17:27:31 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugucb-0007mM-Ui; Tue, 29 Jul 2025 20:24:42 -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 1uguJ8-0004m5-Em for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:35 -0400 Received: from mail-pf1-x431.google.com ([2607:f8b0:4864:20::431]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguJ6-0004eq-KG for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:34 -0400 Received: by mail-pf1-x431.google.com with SMTP id d2e1a72fcca58-7426c44e014so318692b3a.3 for ; Tue, 29 Jul 2025 17:04:31 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.29 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833871; x=1754438671; 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=VlbWwV3nxGhn1Ze57y00uhJHUwo3dhORAor2v/a3Spk=; b=C0XBmlInVDkFXLaIforgF8jYO9VwihJFLp9m5oYFM/aBbrGDSRV0zlzhMrPvZ9LvOV 37sYeg7hW/+hzsQjLgnQSZqwpuXb12//vjMRVQsBzderZO3f53JGXDnuo60kokKZSQMu kwqBHEM9aS5ClN+hUnia76AB2Ym8R3AVhqfR3TJ6SY3lgFgHqvXG0N4aC973G/cjA5bs MPrrlO/iQ7TgXrxVuRxl+ihCCGly9FU03B4kXBWi4M+LTXzNaTG/J9BUIBO2fEdApPi7 P1DgqhFhRx/QRF1c3vZ6/qMqIckk5D84NUs3J8F5okOePUywXutULYZI8QRNMyWNaSUk YblQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833871; x=1754438671; 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=VlbWwV3nxGhn1Ze57y00uhJHUwo3dhORAor2v/a3Spk=; b=Y5+sINH5xUO4CXqRUrGeL2TzwQubh4+d+IDFOc9WreT9CagUpPBdjPXdcE4W567q0q nIIww9oUIgh90YR90PBQJBGin3y0XpqSvSAKmyweNEotdXpO+YElx1EyoZltmEdx+ivi se0NLscCwCOqTDMeIrlpKv+cv7Z9oHvwcHjQ+R1gmc++lceHaTtzGJKhQA3+3ZT+7niJ Be9zFn5q+zy1pA328X/ByxJc+G++pB+u6YF1yA05hqrpd4bz1wg/IzgvO7UclxAsYmd/ wQGsRN6f4fpWZcwkIvJu8oShBYBdaORlxnj1swy9P3LaS7NUdP2W7itO5dfWTljLOowm kYdA== X-Gm-Message-State: AOJu0YyijNOOxB76P1SSY/TxJULE/jwhXGALOConipQObFRfvMP5tNpm pvbKY4edLtgjkWYahBvpTb9gf6KTOzgLgTVO2a9I99ZnhiZBCFbnCjQOHZnjPRT/A87/Z5S/A4r z3Lo8 X-Gm-Gg: ASbGncsFOLO4fu9S4n8TYxX/HQEtavZWZCQFAUmT/b29u0tea9/EGmQC1VkKsfTzSA7 xtSYT9uYwD1KfRLnMz30SKYdLFMfIBBQYmEhQCCwo3b7SDrdH0WqhT44OZKmqFor7+WfSjupjdi Hhq6ADfVe3p6x6/j2IFShM9DCj/42MVobB68uOog4N8K9NxVE8Q+kRUtE3Qr6rsX75B3UaQjMOh ED4lN3f14lrdJRfgKPHx3657qEHacOgQQ2zXaqUx6xgCNvTmjkPxpwzynsKGYN4DZUTNwA6dXGR 7MC4xYkqHQnVXjHR4n1N89DosUcC3eWVKXIc2MTzRQmnYT/rxYCz5w8k8r2gu+NxWqhvYXxkz9e v/+Ay1XapRiDoOLPg7HZsM0zg+J8qM2O38qaHRO732Da1pxk5WGJtUSPbIk/P5sHt1pQkDLEzy/ GbNDCrpQ5vy0V5zPFnD2UZ X-Google-Smtp-Source: AGHT+IF9U2DEPGn5FLj06t2IzLSHakR/uipI+U49wCHlcmZU2CfVuRKEfZE0UAbpoApR8XXIXUfEXg== X-Received: by 2002:a05:6a00:848:b0:742:aecc:c46b with SMTP id d2e1a72fcca58-76ab2319688mr1812800b3a.15.1753833870819; Tue, 29 Jul 2025 17:04:30 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 59/89] linux-user: Move get_vdso_image_info to arm/elfload.c Date: Tue, 29 Jul 2025 13:59:32 -1000 Message-ID: <20250730000003.599084-60-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::431; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x431.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: 1753835252882116600 Content-Type: text/plain; charset="utf-8" Rename from vdso_image_info to avoid a symbol clash. Provide fallback versions for other targets. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/loader.h | 12 ++++++++++++ linux-user/arm/elfload.c | 20 ++++++++++++++++++++ linux-user/elfload.c | 41 ++++++++++------------------------------ 3 files changed, 42 insertions(+), 31 deletions(-) diff --git a/linux-user/loader.h b/linux-user/loader.h index e6d02d186e..db6547ea7a 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -104,4 +104,16 @@ const char *get_elf_platform(CPUState *cs); const char *get_elf_base_platform(CPUState *cs); bool init_guest_commpage(void); =20 +typedef struct { + const uint8_t *image; + const uint32_t *relocs; + unsigned image_size; + unsigned reloc_count; + unsigned sigreturn_ofs; + unsigned rt_sigreturn_ofs; +} VdsoImageInfo; + +/* Note that both Elf32_Word and Elf64_Word are uint32_t. */ +const VdsoImageInfo *get_vdso_image_info(uint32_t elf_flags); + #endif /* LINUX_USER_LOADER_H */ diff --git a/linux-user/arm/elfload.c b/linux-user/arm/elfload.c index ad0d88a7e0..901141ad2a 100644 --- a/linux-user/arm/elfload.c +++ b/linux-user/arm/elfload.c @@ -6,6 +6,7 @@ #include "user-internals.h" #include "target_elf.h" #include "target/arm/cpu-features.h" +#include "elf.h" =20 =20 enum @@ -240,3 +241,22 @@ bool init_guest_commpage(void) PAGE_READ | PAGE_EXEC | PAGE_VALID); return true; } + +#if TARGET_BIG_ENDIAN +# include "vdso-be8.c.inc" +# include "vdso-be32.c.inc" +#else +# include "vdso-le.c.inc" +#endif + +const VdsoImageInfo *get_vdso_image_info(uint32_t elf_flags) +{ +#if TARGET_BIG_ENDIAN + return (EF_ARM_EABI_VERSION(elf_flags) >=3D EF_ARM_EABI_VER4 + && (elf_flags & EF_ARM_BE8) + ? &vdso_be8_image_info + : &vdso_be32_image_info); +#else + return &vdso_image_info; +#endif +} diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 01c39bf456..10fbe71e35 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -46,15 +46,6 @@ #define TARGET_ARCH_HAS_SIGTRAMP_PAGE 0 #endif =20 -typedef struct { - const uint8_t *image; - const uint32_t *relocs; - unsigned image_size; - unsigned reloc_count; - unsigned sigreturn_ofs; - unsigned rt_sigreturn_ofs; -} VdsoImageInfo; - #define ELF_OSABI ELFOSABI_SYSV =20 /* from personality.h */ @@ -206,23 +197,6 @@ typedef abi_int target_pid_t; #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 -#if TARGET_BIG_ENDIAN -#include "elf.h" -#include "vdso-be8.c.inc" -#include "vdso-be32.c.inc" - -static const VdsoImageInfo *vdso_image_info(uint32_t elf_flags) -{ - return (EF_ARM_EABI_VERSION(elf_flags) >=3D EF_ARM_EABI_VER4 - && (elf_flags & EF_ARM_BE8) - ? &vdso_be8_image_info - : &vdso_be32_image_info); -} -#define vdso_image_info vdso_image_info -#else -# define VDSO_HEADER "vdso-le.c.inc" -#endif - #else /* 64 bit ARM definitions */ =20 @@ -2011,14 +1985,19 @@ static void load_elf_interp(const char *filename, s= truct image_info *info, load_elf_image(filename, &src, info, &ehdr, NULL); } =20 -#ifndef vdso_image_info #ifdef VDSO_HEADER #include VDSO_HEADER -#define vdso_image_info(flags) &vdso_image_info +const VdsoImageInfo *get_vdso_image_info(uint32_t elf_flags) +{ + return &vdso_image_info; +} #else -#define vdso_image_info(flags) NULL +const VdsoImageInfo * __attribute__((weak)) +get_vdso_image_info(uint32_t elf_flags) +{ + return NULL; +} #endif /* VDSO_HEADER */ -#endif /* vdso_image_info */ =20 static void load_elf_vdso(struct image_info *info, const VdsoImageInfo *vd= so) { @@ -2349,7 +2328,7 @@ int load_elf_binary(struct linux_binprm *bprm, struct= image_info *info) * Load a vdso if available, which will amongst other things contain t= he * signal trampolines. Otherwise, allocate a separate page for them. */ - const VdsoImageInfo *vdso =3D vdso_image_info(info->elf_flags); + const VdsoImageInfo *vdso =3D get_vdso_image_info(info->elf_flags); if (vdso) { load_elf_vdso(&vdso_info, vdso); info->vdso =3D vdso_info.load_bias; --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835270; cv=none; d=zohomail.com; s=zohoarc; b=WDdp1flaMuGcfR67yxXQ0vbDIGfj/YHrsNgZtC1O7qaop8m34PFYKil+govdwyhGKFG4pABCMt+BG5YJNZYnRzRU9rcCoarwTtulDP0LRykKzrDCGeAfXFiYRO/BgKtIfSrwJJ+0B4QoE4sN53a2OLPXtb8zdKG4YNyJVRY2O3s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835270; 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=aB8lRdH7yf5aiRnNVr9D16UZuwoyOdOh75GfXw+byEc=; b=dsuRhMSu+rjwdik16mf5ri0J8AylTCLJEJlNyJbBYykcouKgiMiQ9m23y9LCr2dIiDb+aHImaoFyFMF7GzHw3c7Bo4VNufvmQJ2Ju3GbE8LYhbf9xAftx8uu/i3cFFSDJYKPr2ikrIWZOpmqe6x5NcEyGCGKaklQDy9OBHoSb4A= 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 1753835270501849.8393143076418; Tue, 29 Jul 2025 17:27:50 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguch-00083y-FR; Tue, 29 Jul 2025 20:24:47 -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 1uguJ9-0004my-Iv for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:37 -0400 Received: from mail-pf1-x42e.google.com ([2607:f8b0:4864:20::42e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguJ7-0004f3-Q8 for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:35 -0400 Received: by mail-pf1-x42e.google.com with SMTP id d2e1a72fcca58-7490acf57b9so4186034b3a.2 for ; Tue, 29 Jul 2025 17:04:33 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.31 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833872; x=1754438672; 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=aB8lRdH7yf5aiRnNVr9D16UZuwoyOdOh75GfXw+byEc=; b=XJE+Vt1CCO9W0SxkW3s/459XB2b9V4IkWeiR8OUiSBi/uEn9qiA+2dcjVaYEvwbHFl 81OUqk8QPvONo3ZUwVgj4/Y3vi/ij+JNNgYgk3wb+wRC/LcQcfCoDDx+A6P5BZXE+aMp ubVVnCGMzlW1tWcY0fQhWXYiGt2hSWNJ5IVOp7AT3dM0FQNzhj3s4WBlzgqevKmvLpdN x9fnHCh+7jzxk+ah41YWNgg2nKrfumKk6mBrIF7Yfse47VFdZTmd5axcXWZbW6UwWlFZ NbEvVhW8FZkw8S5VfmHyuaUb9vw+fPyGCj+rqcEpTB50PwfQjsJRmHjmPr8qY6GMeQG1 KLjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833872; x=1754438672; 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=aB8lRdH7yf5aiRnNVr9D16UZuwoyOdOh75GfXw+byEc=; b=r07GlKI1YxuorSl8PJ0iOfPtgsMrvPjaPxZuy5fuTohtNG+j0qVgqNohaI80kSO9Dw Z4bWxOimGC+mB1BwKwVfZi83gOmwUYYrOCjtXUsDvEoYSQAsy68e7VJsXaIMQAk+VDc5 /t6o+xhFD68BZZb4I96Zvxq8lFxHoLk1CkEVWoy9pvSgLkCXQ/lLZ4nrw4laxj+wsd69 +Eo+RO1fkVIQDAp6A7aZFt1eBHDU2ErabdXahnAOQCYTy3Cu+wSzB9Ctg6njHlOAgx2R 98fQYu5xPPoAfeMynXnV73dJ85Pr1751RWEJyeaCvrVA223hpzaqgzpuaKXOVIsQiqHc kQ7Q== X-Gm-Message-State: AOJu0YyvBpI+3V6trmrG5so9nKwtJtiPYJ0g3WgB/PyghC+d4bfO9l08 7tOixUro6XVzKx6t1nFLRZrMR0x+G05ipBvRe3xbnsXRzxRBTDLr+f1zoFJX1wCq6yAZOtFiq/v kDrAW X-Gm-Gg: ASbGncvBagbMffhk6KlIyjPXTbePyF2H+o2MG+dx/pFAyu3Kc441eZty/hEGeyLKnvg KvgBwTo9le8whOgBc6LZHiKqGAFydeX4fVZGNSpHLtwq9Ky7GzZKBkYZ66qbfm8cBC2yTxA9MAi 62+Xtyz57CDgA108Pus7qgqaWlN8o/nPpncvbZZFW7YMS/u07vznzbZ/qgJM3UJ885D5g87VP+T N0v4hH8pXAyWfnD+L/vX1kkXPeNFsnJ2rpzFqO5kffkhXA9HaMZxKC0n0qqAtjZoxgidXPKubiI rzpqn4UZKkmhy/JbCAMPIBhWX/weVOHAY//eDPmm8w3/P5YMoRW0+uKcVIDZfgMRLJmWJlJCLIY 6gVtUTwO5Z4pk6dzd/ZSPzzlj4ANTAkwZj+qrZ/Wb7/jR0sKjvY2YXFKMuw8is/kE2S0GrMx50h GyaKqGqbQp0Q== X-Google-Smtp-Source: AGHT+IFSoeSY5+AjU51sS0vdQytskPfb5+I7kwL5QyCnQCaQUrmQzKGddLrutbwUerqStbWtcrzlJw== X-Received: by 2002:a05:6a00:1150:b0:748:e5a0:aa77 with SMTP id d2e1a72fcca58-76ab2938394mr1931088b3a.13.1753833872153; Tue, 29 Jul 2025 17:04:32 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 60/89] linux-user: Remove ELF_EXEC_PAGESIZE Date: Tue, 29 Jul 2025 13:59:33 -1000 Message-ID: <20250730000003.599084-61-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::42e; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42e.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: 1753835270935116600 Content-Type: text/plain; charset="utf-8" Use TARGET_PAGE_SIZE instead. If the target page size may vary, using a different fixed size is wrong. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 21 ++------------------- 1 file changed, 2 insertions(+), 19 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 10fbe71e35..1ac3a20813 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -181,7 +181,6 @@ typedef abi_int target_pid_t; #define VDSO_HEADER "vdso.c.inc" =20 #define USE_ELF_CORE_DUMP -#define ELF_EXEC_PAGESIZE 4096 =20 #endif /* TARGET_I386 */ =20 @@ -195,7 +194,6 @@ typedef abi_int target_pid_t; #define EXSTACK_DEFAULT true =20 #define USE_ELF_CORE_DUMP -#define ELF_EXEC_PAGESIZE 4096 =20 #else /* 64 bit ARM definitions */ @@ -204,7 +202,6 @@ typedef abi_int target_pid_t; #define ELF_CLASS ELFCLASS64 =20 #define USE_ELF_CORE_DUMP -#define ELF_EXEC_PAGESIZE 4096 =20 #if TARGET_BIG_ENDIAN # define VDSO_HEADER "vdso-be.c.inc" @@ -275,7 +272,6 @@ typedef abi_int target_pid_t; } while (0) =20 #define USE_ELF_CORE_DUMP -#define ELF_EXEC_PAGESIZE 4096 =20 #ifndef TARGET_PPC64 # define VDSO_HEADER "vdso-32.c.inc" @@ -298,7 +294,6 @@ typedef abi_int target_pid_t; #define VDSO_HEADER "vdso.c.inc" =20 #define USE_ELF_CORE_DUMP -#define ELF_EXEC_PAGESIZE 4096 =20 #endif /* TARGET_LOONGARCH64 */ =20 @@ -319,7 +314,6 @@ typedef abi_int target_pid_t; #endif =20 #define USE_ELF_CORE_DUMP -#define ELF_EXEC_PAGESIZE 4096 =20 #endif /* TARGET_MIPS */ =20 @@ -330,8 +324,6 @@ typedef abi_int target_pid_t; #define ELF_CLASS ELFCLASS32 #define ELF_ARCH EM_MICROBLAZE =20 -#define ELF_EXEC_PAGESIZE 4096 - #define USE_ELF_CORE_DUMP #endif /* TARGET_MICROBLAZE */ =20 @@ -342,7 +334,6 @@ typedef abi_int target_pid_t; #define ELF_DATA ELFDATA2MSB =20 #define USE_ELF_CORE_DUMP -#define ELF_EXEC_PAGESIZE 8192 =20 #endif /* TARGET_OPENRISC */ =20 @@ -352,7 +343,6 @@ typedef abi_int target_pid_t; #define ELF_ARCH EM_SH =20 #define USE_ELF_CORE_DUMP -#define ELF_EXEC_PAGESIZE 4096 =20 #endif =20 @@ -362,7 +352,6 @@ typedef abi_int target_pid_t; #define ELF_ARCH EM_68K =20 #define USE_ELF_CORE_DUMP -#define ELF_EXEC_PAGESIZE 8192 =20 #endif =20 @@ -371,8 +360,6 @@ typedef abi_int target_pid_t; #define ELF_CLASS ELFCLASS64 #define ELF_ARCH EM_ALPHA =20 -#define ELF_EXEC_PAGESIZE 8192 - #endif /* TARGET_ALPHA */ =20 #ifdef TARGET_S390X @@ -382,7 +369,6 @@ typedef abi_int target_pid_t; #define ELF_ARCH EM_S390 =20 #define USE_ELF_CORE_DUMP -#define ELF_EXEC_PAGESIZE 4096 =20 #define VDSO_HEADER "vdso.c.inc" =20 @@ -400,8 +386,6 @@ typedef abi_int target_pid_t; #define VDSO_HEADER "vdso-64.c.inc" #endif =20 -#define ELF_EXEC_PAGESIZE 4096 - #endif /* TARGET_RISCV */ =20 #ifdef TARGET_HPPA @@ -421,7 +405,6 @@ typedef abi_int target_pid_t; #define ELF_ARCH EM_XTENSA =20 #define USE_ELF_CORE_DUMP -#define ELF_EXEC_PAGESIZE 4096 =20 #endif /* TARGET_XTENSA */ =20 @@ -2743,7 +2726,7 @@ static int wmr_fill_region_phdr(void *opaque, vaddr s= tart, phdr->p_flags =3D (flags & PAGE_READ ? PF_R : 0) | (flags & PAGE_WRITE_ORG ? PF_W : 0) | (flags & PAGE_EXEC ? PF_X : 0); - phdr->p_align =3D ELF_EXEC_PAGESIZE; + phdr->p_align =3D TARGET_PAGE_SIZE; =20 bswap_phdr(phdr, 1); d->phdr =3D phdr + 1; @@ -2851,7 +2834,7 @@ static int elf_core_dump(int signr, const CPUArchStat= e *env) offset +=3D size_note("CORE", sizeof(struct target_elf_prpsinfo)); offset +=3D size_note("CORE", sizeof(struct target_elf_prstatus)) * cp= us; note_size =3D offset - note_offset; - data_offset =3D ROUND_UP(offset, ELF_EXEC_PAGESIZE); + data_offset =3D TARGET_PAGE_ALIGN(offset); =20 /* Do not dump if the corefile size exceeds the limit. */ if (dumpsize.rlim_cur !=3D RLIM_INFINITY --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835878; cv=none; d=zohomail.com; s=zohoarc; b=gjLMnCVsj1JnZkgCywa6Xow/qlrk8Fn3Bsher9Us1pwRfbNNJalhEegn8EToLucCl2XWZKgjZXYCzgqWRCp6dxxdDnBIYlpdlVPkZ/RVm772MyI32Jbiji1X8sO0/Ww+Z61WlO9yrqr89omC5nnLbQf1Es9Kxe9J/qXlXyJJY50= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835878; 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=pzAo9og/LdnH6R3ajG/CQEAEEaS/KHsWi5yDM8S8I9o=; b=hxa5L9BgZSUWot038rL9oT69yWvqG1qyJeDl7PeiOEwOwOrFaQIG7v2T0w0KPpFpQoY/SCPhaXMRned4lvUBAOUM2bYsU7YV2QNMMXlgzXxHqSP8Z9tZYiDMUsmWwbWwOvQ1+yN34zOHpNqGa/6mxPjcEf/euKfuEvF0CkCXO9M= 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 1753835878941925.6143609034499; Tue, 29 Jul 2025 17:37:58 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugucm-0008SV-Bb; Tue, 29 Jul 2025 20:24:52 -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 1uguJC-0004oV-Cw for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:41 -0400 Received: from mail-pf1-x42a.google.com ([2607:f8b0:4864:20::42a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguJ9-0004fL-6W for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:38 -0400 Received: by mail-pf1-x42a.google.com with SMTP id d2e1a72fcca58-74b27c1481bso216750b3a.2 for ; Tue, 29 Jul 2025 17:04:34 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.32 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833874; x=1754438674; 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=pzAo9og/LdnH6R3ajG/CQEAEEaS/KHsWi5yDM8S8I9o=; b=TRmgCMMBNr4XX1eFSsjo620ruZu+CGiw2mgBYkixX2+2bi/N9B3C7+JpMc6tqR2+CX tOXm1CZRCG8+jtZJ2PoUzBqbSlWvu8hp+bKAU4QlY2ncClNSIGTgW1P4eQZ4hi6pTwwQ gkRSmcl8UUNPSlM1QSDZY47zxgrBaYNkdGkkOBSKGk8p3Qo4X3zkd/kX9003Wos/yxIl NluIrgP+IcZVJ1PZLIiJdHwUC3d1JxjCLRnOr9cqzOKK3BrGs7BcVVZs25d1bNfptJYF NfWvsCUUdg3HghGqRyaCJQIUT3vxe0V+VtSY4lOR9LfqJ/54MEcylMTULa+YisUOMrC5 xhhg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833874; x=1754438674; 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=pzAo9og/LdnH6R3ajG/CQEAEEaS/KHsWi5yDM8S8I9o=; b=KfBnh1Wpu7x3nU5u0AwYqYhmVVZaiFgeBJnNWNezrr1J/vc4iaH6pKERslI7SHrL1d ccYvp7c82Vp1ZOptKBDJJmX7vabCAFjDREuI4gKeVRy3Axhh6RlDOjirrHL1NV/QTKC7 2pYhEEXi3y/bOMsVNceZazjGyu6W8J3/ZPvv++SmxRY7CnBIK6gUZU41t+qoBhJwkYHa 005CYlkogxJjJg0YoYzMfvl+7EYPRkweQSjtUhbFpj9pZg8E606HAsySeahplrEQBEUZ G7ZrzWs3NjlmWRLbYv7RD1s8+CFSXhEVkPNkSyfoeOin/EI4FLz2ybeLnG/MwtEtvDC3 lHIg== X-Gm-Message-State: AOJu0Ywc3XdfUQ8BRZB5Z2coHWNo/n5Y6OBwD/xz1Y47zhFzlPs4zg0m Aur3SHyZLF0ofkj1LZxOxU8QMjLv0SbDR/xWlBjWP2N4JTGjjRsglOqPiq24eeUwcPvpGWIvxBd mA3eA X-Gm-Gg: ASbGncsrvnO9Oh/3uNVzsOqKtmyox5JoNfYDWZBxPUh407pmUm5xM45HtpEl2F79mL3 80IprcvNv+fNV+zUav76kvYj6UdpFdfVl3FtFq2v9Cx3gaaXpAklgj45hsgYoHNLBNedZd8yhfU yamfex6OXWJHNScipDcpYANdWr32X46vsCeJd6Bwu2zef+BeB0CLGutP2I0H9ND7XXnpcJDZGZ/ wBbZ62iNOHQB4bqmB9iL8IvxRNh5//BuqEpmsqdnA5ZZCGqLLlz2WyCdCYl5kXZrxpa/LsirtOJ +T874mtPoCkehR6/jGS3XyXEhz7q7+N7+R7SvDl0r4AJkQHYvsXXs7st/nXrwfzulRPoCAD+Mf1 aQDuARrbDjo/fKKLOED+bejG65AZ5M+rgDWhw0x5E56b0Q+/RYo+BGvDd+Oh7cnpLyLk67MhOVc SuM8y92ZzgCw== X-Google-Smtp-Source: AGHT+IE7thm27I+Wyp6tDkSZc5qErXcPVsHEzS8ijDXGB41hLgcSDm4t7K/hDdzN6ho9agA9J9wsLQ== X-Received: by 2002:aa7:88d1:0:b0:74b:4d96:d159 with SMTP id d2e1a72fcca58-76aad77f4d6mr1961540b3a.0.1753833873547; Tue, 29 Jul 2025 17:04:33 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 61/89] linux-user: Move get_elf_cpu_model to target/elfload.c Date: Tue, 29 Jul 2025 13:59:34 -1000 Message-ID: <20250730000003.599084-62-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::42a; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42a.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: 1753835881065116600 Content-Type: text/plain; charset="utf-8" Rename from cpu_get_model to emphasize that this is an elf-specific function. Declare the function once in loader.h. This frees up target_elf.h for other uses. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/aarch64/target_elf.h | 5 +--- linux-user/alpha/target_elf.h | 5 +--- linux-user/arm/target_elf.h | 5 ---- linux-user/hexagon/target_elf.h | 29 ---------------------- linux-user/hppa/target_elf.h | 5 ---- linux-user/i386/target_elf.h | 5 +--- linux-user/loader.h | 1 + linux-user/loongarch64/target_elf.h | 5 +--- linux-user/m68k/target_elf.h | 9 ------- linux-user/microblaze/target_elf.h | 5 +--- linux-user/mips/target_elf.h | 11 +-------- linux-user/mips64/target_elf.h | 27 +------------------- linux-user/openrisc/target_elf.h | 5 +--- linux-user/ppc/target_elf.h | 9 +------ linux-user/riscv/target_elf.h | 5 +--- linux-user/s390x/target_elf.h | 5 +--- linux-user/sh4/target_elf.h | 5 +--- linux-user/sparc/target_elf.h | 9 +------ linux-user/x86_64/target_elf.h | 5 +--- linux-user/xtensa/target_elf.h | 5 ---- linux-user/aarch64/elfload.c | 5 ++++ linux-user/alpha/elfload.c | 10 ++++++++ linux-user/arm/elfload.c | 5 ++++ linux-user/hexagon/elfload.c | 34 ++++++++++++++++++++++++++ linux-user/hppa/elfload.c | 5 ++++ linux-user/i386/elfload.c | 5 ++++ linux-user/loongarch64/elfload.c | 5 ++++ linux-user/m68k/elfload.c | 17 +++++++++++++ linux-user/main.c | 3 +-- linux-user/microblaze/elfload.c | 10 ++++++++ linux-user/mips/elfload.c | 38 +++++++++++++++++++++++++++++ linux-user/openrisc/elfload.c | 10 ++++++++ linux-user/ppc/elfload.c | 9 +++++++ linux-user/riscv/elfload.c | 5 ++++ linux-user/s390x/elfload.c | 5 ++++ linux-user/sh4/elfload.c | 5 ++++ linux-user/sparc/elfload.c | 9 +++++++ linux-user/x86_64/elfload.c | 5 ++++ linux-user/xtensa/elfload.c | 10 ++++++++ 39 files changed, 208 insertions(+), 147 deletions(-) diff --git a/linux-user/aarch64/target_elf.h b/linux-user/aarch64/target_el= f.h index a7eb962fba..d955b3d07f 100644 --- a/linux-user/aarch64/target_elf.h +++ b/linux-user/aarch64/target_elf.h @@ -7,8 +7,5 @@ =20 #ifndef AARCH64_TARGET_ELF_H #define AARCH64_TARGET_ELF_H -static inline const char *cpu_get_model(uint32_t eflags) -{ - return "any"; -} + #endif diff --git a/linux-user/alpha/target_elf.h b/linux-user/alpha/target_elf.h index b77d638f6d..52b68680ad 100644 --- a/linux-user/alpha/target_elf.h +++ b/linux-user/alpha/target_elf.h @@ -7,8 +7,5 @@ =20 #ifndef ALPHA_TARGET_ELF_H #define ALPHA_TARGET_ELF_H -static inline const char *cpu_get_model(uint32_t eflags) -{ - return "ev67"; -} + #endif diff --git a/linux-user/arm/target_elf.h b/linux-user/arm/target_elf.h index bb9875fa2d..209076284b 100644 --- a/linux-user/arm/target_elf.h +++ b/linux-user/arm/target_elf.h @@ -10,9 +10,4 @@ =20 #define HI_COMMPAGE (intptr_t)0xffff0f00u =20 -static inline const char *cpu_get_model(uint32_t eflags) -{ - return "any"; -} - #endif diff --git a/linux-user/hexagon/target_elf.h b/linux-user/hexagon/target_el= f.h index 36056fc9f0..eccf207f6b 100644 --- a/linux-user/hexagon/target_elf.h +++ b/linux-user/hexagon/target_elf.h @@ -18,33 +18,4 @@ #ifndef HEXAGON_TARGET_ELF_H #define HEXAGON_TARGET_ELF_H =20 -static inline const char *cpu_get_model(uint32_t eflags) -{ - static char buf[32]; - int err; - - /* For now, treat anything newer than v5 as a v73 */ - /* FIXME - Disable instructions that are newer than the specified arch= */ - if (eflags =3D=3D 0x04 || /* v5 */ - eflags =3D=3D 0x05 || /* v55 */ - eflags =3D=3D 0x60 || /* v60 */ - eflags =3D=3D 0x61 || /* v61 */ - eflags =3D=3D 0x62 || /* v62 */ - eflags =3D=3D 0x65 || /* v65 */ - eflags =3D=3D 0x66 || /* v66 */ - eflags =3D=3D 0x67 || /* v67 */ - eflags =3D=3D 0x8067 || /* v67t */ - eflags =3D=3D 0x68 || /* v68 */ - eflags =3D=3D 0x69 || /* v69 */ - eflags =3D=3D 0x71 || /* v71 */ - eflags =3D=3D 0x8071 || /* v71t */ - eflags =3D=3D 0x73 /* v73 */ - ) { - return "v73"; - } - - err =3D snprintf(buf, sizeof(buf), "unknown (0x%x)", eflags); - return err >=3D 0 && err < sizeof(buf) ? buf : "unknown"; -} - #endif diff --git a/linux-user/hppa/target_elf.h b/linux-user/hppa/target_elf.h index 00dc2d6684..a736bb9bb3 100644 --- a/linux-user/hppa/target_elf.h +++ b/linux-user/hppa/target_elf.h @@ -10,9 +10,4 @@ =20 #define LO_COMMPAGE 0 =20 -static inline const char *cpu_get_model(uint32_t eflags) -{ - return "hppa"; -} - #endif diff --git a/linux-user/i386/target_elf.h b/linux-user/i386/target_elf.h index 238a9aba73..e6f0d8fa4e 100644 --- a/linux-user/i386/target_elf.h +++ b/linux-user/i386/target_elf.h @@ -7,8 +7,5 @@ =20 #ifndef I386_TARGET_ELF_H #define I386_TARGET_ELF_H -static inline const char *cpu_get_model(uint32_t eflags) -{ - return "max"; -} + #endif diff --git a/linux-user/loader.h b/linux-user/loader.h index db6547ea7a..a4178ce2c1 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -96,6 +96,7 @@ abi_long memcpy_to_target(abi_ulong dest, const void *src, =20 extern unsigned long guest_stack_size; =20 +const char *get_elf_cpu_model(uint32_t eflags); abi_ulong get_elf_hwcap(CPUState *cs); abi_ulong get_elf_hwcap2(CPUState *cs); const char *elf_hwcap_str(uint32_t bit); diff --git a/linux-user/loongarch64/target_elf.h b/linux-user/loongarch64/t= arget_elf.h index 95c3f05a46..39a08d35d9 100644 --- a/linux-user/loongarch64/target_elf.h +++ b/linux-user/loongarch64/target_elf.h @@ -5,8 +5,5 @@ =20 #ifndef LOONGARCH_TARGET_ELF_H #define LOONGARCH_TARGET_ELF_H -static inline const char *cpu_get_model(uint32_t eflags) -{ - return "la464"; -} + #endif diff --git a/linux-user/m68k/target_elf.h b/linux-user/m68k/target_elf.h index 998fe0fe2f..62ff9d38d4 100644 --- a/linux-user/m68k/target_elf.h +++ b/linux-user/m68k/target_elf.h @@ -7,14 +7,5 @@ =20 #ifndef M68K_TARGET_ELF_H #define M68K_TARGET_ELF_H -static inline const char *cpu_get_model(uint32_t eflags) -{ - if (eflags =3D=3D 0 || (eflags & EF_M68K_M68000)) { - /* 680x0 */ - return "m68040"; - } =20 - /* Coldfire */ - return "any"; -} #endif diff --git a/linux-user/microblaze/target_elf.h b/linux-user/microblaze/tar= get_elf.h index 8a8f1debff..bfe2997fd2 100644 --- a/linux-user/microblaze/target_elf.h +++ b/linux-user/microblaze/target_elf.h @@ -7,8 +7,5 @@ =20 #ifndef MICROBLAZE_TARGET_ELF_H #define MICROBLAZE_TARGET_ELF_H -static inline const char *cpu_get_model(uint32_t eflags) -{ - return "any"; -} + #endif diff --git a/linux-user/mips/target_elf.h b/linux-user/mips/target_elf.h index 71a32315a8..febf710c7a 100644 --- a/linux-user/mips/target_elf.h +++ b/linux-user/mips/target_elf.h @@ -7,14 +7,5 @@ =20 #ifndef MIPS_TARGET_ELF_H #define MIPS_TARGET_ELF_H -static inline const char *cpu_get_model(uint32_t eflags) -{ - if ((eflags & EF_MIPS_ARCH) =3D=3D EF_MIPS_ARCH_32R6) { - return "mips32r6-generic"; - } - if (eflags & EF_MIPS_NAN2008) { - return "P5600"; - } - return "24Kf"; -} + #endif diff --git a/linux-user/mips64/target_elf.h b/linux-user/mips64/target_elf.h index 502af9d278..02e6d14840 100644 --- a/linux-user/mips64/target_elf.h +++ b/linux-user/mips64/target_elf.h @@ -7,30 +7,5 @@ =20 #ifndef MIPS64_TARGET_ELF_H #define MIPS64_TARGET_ELF_H -static inline const char *cpu_get_model(uint32_t eflags) -{ - switch (eflags & EF_MIPS_MACH) { - case EF_MIPS_MACH_OCTEON: - case EF_MIPS_MACH_OCTEON2: - case EF_MIPS_MACH_OCTEON3: - return "Octeon68XX"; - case EF_MIPS_MACH_LS2E: - return "Loongson-2E"; - case EF_MIPS_MACH_LS2F: - return "Loongson-2F"; - case EF_MIPS_MACH_LS3A: - return "Loongson-3A1000"; - default: - break; - } - switch (eflags & EF_MIPS_ARCH) { - case EF_MIPS_ARCH_64R6: - return "I6400"; - case EF_MIPS_ARCH_64R2: - return "MIPS64R2-generic"; - default: - break; - } - return "5KEf"; -} + #endif diff --git a/linux-user/openrisc/target_elf.h b/linux-user/openrisc/target_= elf.h index 265ecd3079..b34f2ff672 100644 --- a/linux-user/openrisc/target_elf.h +++ b/linux-user/openrisc/target_elf.h @@ -7,8 +7,5 @@ =20 #ifndef OPENRISC_TARGET_ELF_H #define OPENRISC_TARGET_ELF_H -static inline const char *cpu_get_model(uint32_t eflags) -{ - return "any"; -} + #endif diff --git a/linux-user/ppc/target_elf.h b/linux-user/ppc/target_elf.h index 0616618854..8c0a8ea431 100644 --- a/linux-user/ppc/target_elf.h +++ b/linux-user/ppc/target_elf.h @@ -7,12 +7,5 @@ =20 #ifndef PPC_TARGET_ELF_H #define PPC_TARGET_ELF_H -static inline const char *cpu_get_model(uint32_t eflags) -{ -#ifdef TARGET_PPC64 - return "POWER9"; -#else - return "750"; -#endif -} + #endif diff --git a/linux-user/riscv/target_elf.h b/linux-user/riscv/target_elf.h index dedd5956f3..bfe86105d0 100644 --- a/linux-user/riscv/target_elf.h +++ b/linux-user/riscv/target_elf.h @@ -7,8 +7,5 @@ =20 #ifndef RISCV_TARGET_ELF_H #define RISCV_TARGET_ELF_H -static inline const char *cpu_get_model(uint32_t eflags) -{ - return "max"; -} + #endif diff --git a/linux-user/s390x/target_elf.h b/linux-user/s390x/target_elf.h index 8114b59c1d..e51b053339 100644 --- a/linux-user/s390x/target_elf.h +++ b/linux-user/s390x/target_elf.h @@ -7,8 +7,5 @@ =20 #ifndef S390X_TARGET_ELF_H #define S390X_TARGET_ELF_H -static inline const char *cpu_get_model(uint32_t eflags) -{ - return "qemu"; -} + #endif diff --git a/linux-user/sh4/target_elf.h b/linux-user/sh4/target_elf.h index f485e0cef2..d17011bd75 100644 --- a/linux-user/sh4/target_elf.h +++ b/linux-user/sh4/target_elf.h @@ -7,8 +7,5 @@ =20 #ifndef SH4_TARGET_ELF_H #define SH4_TARGET_ELF_H -static inline const char *cpu_get_model(uint32_t eflags) -{ - return "sh7785"; -} + #endif diff --git a/linux-user/sparc/target_elf.h b/linux-user/sparc/target_elf.h index a510ceb612..7e46748d26 100644 --- a/linux-user/sparc/target_elf.h +++ b/linux-user/sparc/target_elf.h @@ -7,12 +7,5 @@ =20 #ifndef SPARC_TARGET_ELF_H #define SPARC_TARGET_ELF_H -static inline const char *cpu_get_model(uint32_t eflags) -{ -#ifdef TARGET_SPARC64 - return "TI UltraSparc II"; -#else - return "Fujitsu MB86904"; -#endif -} + #endif diff --git a/linux-user/x86_64/target_elf.h b/linux-user/x86_64/target_elf.h index 3f628f8d66..5849f96350 100644 --- a/linux-user/x86_64/target_elf.h +++ b/linux-user/x86_64/target_elf.h @@ -7,8 +7,5 @@ =20 #ifndef X86_64_TARGET_ELF_H #define X86_64_TARGET_ELF_H -static inline const char *cpu_get_model(uint32_t eflags) -{ - return "max"; -} + #endif diff --git a/linux-user/xtensa/target_elf.h b/linux-user/xtensa/target_elf.h index a9a3fabd89..2c55c22e14 100644 --- a/linux-user/xtensa/target_elf.h +++ b/linux-user/xtensa/target_elf.h @@ -8,9 +8,4 @@ #ifndef XTENSA_TARGET_ELF_H #define XTENSA_TARGET_ELF_H =20 -static inline const char *cpu_get_model(uint32_t eflags) -{ - return XTENSA_DEFAULT_CPU_MODEL; -} - #endif diff --git a/linux-user/aarch64/elfload.c b/linux-user/aarch64/elfload.c index 825be0a25a..1030cb8094 100644 --- a/linux-user/aarch64/elfload.c +++ b/linux-user/aarch64/elfload.c @@ -6,6 +6,11 @@ #include "target/arm/cpu-features.h" =20 =20 +const char *get_elf_cpu_model(uint32_t eflags) +{ + return "any"; +} + enum { ARM_HWCAP_A64_FP =3D 1 << 0, ARM_HWCAP_A64_ASIMD =3D 1 << 1, diff --git a/linux-user/alpha/elfload.c b/linux-user/alpha/elfload.c index 73fa78ef14..1e44475c47 100644 --- a/linux-user/alpha/elfload.c +++ b/linux-user/alpha/elfload.c @@ -1 +1,11 @@ /* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include "qemu/osdep.h" +#include "qemu.h" +#include "loader.h" + + +const char *get_elf_cpu_model(uint32_t eflags) +{ + return "ev67"; +} diff --git a/linux-user/arm/elfload.c b/linux-user/arm/elfload.c index 901141ad2a..82768c437a 100644 --- a/linux-user/arm/elfload.c +++ b/linux-user/arm/elfload.c @@ -9,6 +9,11 @@ #include "elf.h" =20 =20 +const char *get_elf_cpu_model(uint32_t eflags) +{ + return "any"; +} + enum { ARM_HWCAP_ARM_SWP =3D 1 << 0, diff --git a/linux-user/hexagon/elfload.c b/linux-user/hexagon/elfload.c index 73fa78ef14..d8b545032a 100644 --- a/linux-user/hexagon/elfload.c +++ b/linux-user/hexagon/elfload.c @@ -1 +1,35 @@ /* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include "qemu/osdep.h" +#include "qemu.h" +#include "loader.h" + + +const char *get_elf_cpu_model(uint32_t eflags) +{ + static char buf[32]; + int err; + + /* For now, treat anything newer than v5 as a v73 */ + /* FIXME - Disable instructions that are newer than the specified arch= */ + if (eflags =3D=3D 0x04 || /* v5 */ + eflags =3D=3D 0x05 || /* v55 */ + eflags =3D=3D 0x60 || /* v60 */ + eflags =3D=3D 0x61 || /* v61 */ + eflags =3D=3D 0x62 || /* v62 */ + eflags =3D=3D 0x65 || /* v65 */ + eflags =3D=3D 0x66 || /* v66 */ + eflags =3D=3D 0x67 || /* v67 */ + eflags =3D=3D 0x8067 || /* v67t */ + eflags =3D=3D 0x68 || /* v68 */ + eflags =3D=3D 0x69 || /* v69 */ + eflags =3D=3D 0x71 || /* v71 */ + eflags =3D=3D 0x8071 || /* v71t */ + eflags =3D=3D 0x73 /* v73 */ + ) { + return "v73"; + } + + err =3D snprintf(buf, sizeof(buf), "unknown (0x%x)", eflags); + return err >=3D 0 && err < sizeof(buf) ? buf : "unknown"; +} diff --git a/linux-user/hppa/elfload.c b/linux-user/hppa/elfload.c index c7e1e3952a..018034f244 100644 --- a/linux-user/hppa/elfload.c +++ b/linux-user/hppa/elfload.c @@ -6,6 +6,11 @@ #include "target_elf.h" =20 =20 +const char *get_elf_cpu_model(uint32_t eflags) +{ + return "hppa"; +} + const char *get_elf_platform(CPUState *cs) { return "PARISC"; diff --git a/linux-user/i386/elfload.c b/linux-user/i386/elfload.c index 6a79738786..ef3a6c35d2 100644 --- a/linux-user/i386/elfload.c +++ b/linux-user/i386/elfload.c @@ -5,6 +5,11 @@ #include "loader.h" =20 =20 +const char *get_elf_cpu_model(uint32_t eflags) +{ + return "max"; +} + abi_ulong get_elf_hwcap(CPUState *cs) { return cpu_env(cs)->features[FEAT_1_EDX]; diff --git a/linux-user/loongarch64/elfload.c b/linux-user/loongarch64/elfl= oad.c index 450e567c72..911352840f 100644 --- a/linux-user/loongarch64/elfload.c +++ b/linux-user/loongarch64/elfload.c @@ -5,6 +5,11 @@ #include "loader.h" =20 =20 +const char *get_elf_cpu_model(uint32_t eflags) +{ + return "la464"; +} + /* See arch/loongarch/include/uapi/asm/hwcap.h */ enum { HWCAP_LOONGARCH_CPUCFG =3D (1 << 0), diff --git a/linux-user/m68k/elfload.c b/linux-user/m68k/elfload.c index 73fa78ef14..561ac5b3b3 100644 --- a/linux-user/m68k/elfload.c +++ b/linux-user/m68k/elfload.c @@ -1 +1,18 @@ /* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include "qemu/osdep.h" +#include "qemu.h" +#include "loader.h" +#include "elf.h" + + +const char *get_elf_cpu_model(uint32_t eflags) +{ + if (eflags =3D=3D 0 || (eflags & EF_M68K_M68000)) { + /* 680x0 */ + return "m68040"; + } + + /* Coldfire */ + return "any"; +} diff --git a/linux-user/main.c b/linux-user/main.c index d962f344b8..189b77b578 100644 --- a/linux-user/main.c +++ b/linux-user/main.c @@ -49,7 +49,6 @@ #include "qemu/guest-random.h" #include "elf.h" #include "trace/control.h" -#include "target_elf.h" #include "user/cpu_loop.h" #include "crypto/init.h" #include "fd-trans.h" @@ -805,7 +804,7 @@ int main(int argc, char **argv, char **envp) } =20 if (cpu_model =3D=3D NULL) { - cpu_model =3D cpu_get_model(get_elf_eflags(execfd)); + cpu_model =3D get_elf_cpu_model(get_elf_eflags(execfd)); } cpu_type =3D parse_cpu_option(cpu_model); =20 diff --git a/linux-user/microblaze/elfload.c b/linux-user/microblaze/elfloa= d.c index 73fa78ef14..b92442dfeb 100644 --- a/linux-user/microblaze/elfload.c +++ b/linux-user/microblaze/elfload.c @@ -1 +1,11 @@ /* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include "qemu/osdep.h" +#include "qemu.h" +#include "loader.h" + + +const char *get_elf_cpu_model(uint32_t eflags) +{ + return "any"; +} diff --git a/linux-user/mips/elfload.c b/linux-user/mips/elfload.c index f2b132697e..c353ccc1ad 100644 --- a/linux-user/mips/elfload.c +++ b/linux-user/mips/elfload.c @@ -3,8 +3,46 @@ #include "qemu/osdep.h" #include "qemu.h" #include "loader.h" +#include "elf.h" =20 =20 +const char *get_elf_cpu_model(uint32_t eflags) +{ +#ifdef TARGET_MIPS64 + switch (eflags & EF_MIPS_MACH) { + case EF_MIPS_MACH_OCTEON: + case EF_MIPS_MACH_OCTEON2: + case EF_MIPS_MACH_OCTEON3: + return "Octeon68XX"; + case EF_MIPS_MACH_LS2E: + return "Loongson-2E"; + case EF_MIPS_MACH_LS2F: + return "Loongson-2F"; + case EF_MIPS_MACH_LS3A: + return "Loongson-3A1000"; + default: + break; + } + switch (eflags & EF_MIPS_ARCH) { + case EF_MIPS_ARCH_64R6: + return "I6400"; + case EF_MIPS_ARCH_64R2: + return "MIPS64R2-generic"; + default: + break; + } + return "5KEf"; +#else + if ((eflags & EF_MIPS_ARCH) =3D=3D EF_MIPS_ARCH_32R6) { + return "mips32r6-generic"; + } + if (eflags & EF_MIPS_NAN2008) { + return "P5600"; + } + return "24Kf"; +#endif +} + /* See arch/mips/include/uapi/asm/hwcap.h. */ enum { HWCAP_MIPS_R6 =3D (1 << 0), diff --git a/linux-user/openrisc/elfload.c b/linux-user/openrisc/elfload.c index 73fa78ef14..b92442dfeb 100644 --- a/linux-user/openrisc/elfload.c +++ b/linux-user/openrisc/elfload.c @@ -1 +1,11 @@ /* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include "qemu/osdep.h" +#include "qemu.h" +#include "loader.h" + + +const char *get_elf_cpu_model(uint32_t eflags) +{ + return "any"; +} diff --git a/linux-user/ppc/elfload.c b/linux-user/ppc/elfload.c index 3b2dcdfc47..a214675650 100644 --- a/linux-user/ppc/elfload.c +++ b/linux-user/ppc/elfload.c @@ -5,6 +5,15 @@ #include "loader.h" =20 =20 +const char *get_elf_cpu_model(uint32_t eflags) +{ +#ifdef TARGET_PPC64 + return "POWER9"; +#else + return "750"; +#endif +} + /* * Feature masks for the Aux Vector Hardware Capabilities (AT_HWCAP). * See arch/powerpc/include/asm/cputable.h. diff --git a/linux-user/riscv/elfload.c b/linux-user/riscv/elfload.c index 4e2ec3df5b..2e7d622232 100644 --- a/linux-user/riscv/elfload.c +++ b/linux-user/riscv/elfload.c @@ -5,6 +5,11 @@ #include "loader.h" =20 =20 +const char *get_elf_cpu_model(uint32_t eflags) +{ + return "max"; +} + abi_ulong get_elf_hwcap(CPUState *cs) { #define MISA_BIT(EXT) (1 << (EXT - 'A')) diff --git a/linux-user/s390x/elfload.c b/linux-user/s390x/elfload.c index 29dab42933..79ceaba51d 100644 --- a/linux-user/s390x/elfload.c +++ b/linux-user/s390x/elfload.c @@ -6,6 +6,11 @@ #include "elf.h" =20 =20 +const char *get_elf_cpu_model(uint32_t eflags) +{ + return "qemu"; +} + #define GET_FEATURE(_feat, _hwcap) \ do { if (s390_has_feat(_feat)) { hwcap |=3D _hwcap; } } while (0) =20 diff --git a/linux-user/sh4/elfload.c b/linux-user/sh4/elfload.c index 098ca44f80..99ad4f6334 100644 --- a/linux-user/sh4/elfload.c +++ b/linux-user/sh4/elfload.c @@ -5,6 +5,11 @@ #include "loader.h" =20 =20 +const char *get_elf_cpu_model(uint32_t eflags) +{ + return "sh7785"; +} + enum { SH_CPU_HAS_FPU =3D 0x0001, /* Hardware FPU support */ SH_CPU_HAS_P2_FLUSH_BUG =3D 0x0002, /* Need to flush the cache in P2= area */ diff --git a/linux-user/sparc/elfload.c b/linux-user/sparc/elfload.c index b4b8e4916e..ba6e4a38bc 100644 --- a/linux-user/sparc/elfload.c +++ b/linux-user/sparc/elfload.c @@ -6,6 +6,15 @@ #include "elf.h" =20 =20 +const char *get_elf_cpu_model(uint32_t eflags) +{ +#ifdef TARGET_SPARC64 + return "TI UltraSparc II"; +#else + return "Fujitsu MB86904"; +#endif +} + abi_ulong get_elf_hwcap(CPUState *cs) { /* There are not many sparc32 hwcap bits -- we have all of them. */ diff --git a/linux-user/x86_64/elfload.c b/linux-user/x86_64/elfload.c index 98acca94ef..befaab7cb0 100644 --- a/linux-user/x86_64/elfload.c +++ b/linux-user/x86_64/elfload.c @@ -6,6 +6,11 @@ #include "loader.h" =20 =20 +const char *get_elf_cpu_model(uint32_t eflags) +{ + return "max"; +} + abi_ulong get_elf_hwcap(CPUState *cs) { return cpu_env(cs)->features[FEAT_1_EDX]; diff --git a/linux-user/xtensa/elfload.c b/linux-user/xtensa/elfload.c index 73fa78ef14..e35ba69a10 100644 --- a/linux-user/xtensa/elfload.c +++ b/linux-user/xtensa/elfload.c @@ -1 +1,11 @@ /* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include "qemu/osdep.h" +#include "qemu.h" +#include "loader.h" + + +const char *get_elf_cpu_model(uint32_t eflags) +{ + return XTENSA_DEFAULT_CPU_MODEL; +} --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753836134; cv=none; d=zohomail.com; s=zohoarc; b=n/w/RN4j5f6sPbzPh6at4vXQ6rlaodHvkTfs805YBNZg5RxuGiEKwvGUFujUejXtGgMs/Wj82L80T4hMajfUjEWb9sVUaQeAdpgX6FXroYwbU57bqLHaNDLRL67zNsSiNU/HM+VpNssmvOQHbUX4XEfUSIuy6sLdM9KbPb0UFJ8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753836134; 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=DZ//QELelSxw3zEngsoJMwE8i1iZC2E4gBdrBvf657A=; b=BPYI+FtSrTUtUawSctvy3PKJPOgkHNFflQKfX18zYzA+mW2qxOVEYDchNDAk30p4HKX1kNx28Das2yZesZBa7dgd+FCZcs7GF+HIYBJ9bYYbc0MpkFtehUcyub8LM4rmDPZ0KLZ+kN3y58VwLrvFtaB7x2gQU33QeGn/O9Gc32w= 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 1753836134725469.9696698399018; Tue, 29 Jul 2025 17:42:14 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugucy-000173-Vw; Tue, 29 Jul 2025 20:25:05 -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 1uguJC-0004oX-Q5 for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:41 -0400 Received: from mail-pf1-x429.google.com ([2607:f8b0:4864:20::429]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguJB-0004fh-2y for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:38 -0400 Received: by mail-pf1-x429.google.com with SMTP id d2e1a72fcca58-7425bd5a83aso5934165b3a.0 for ; Tue, 29 Jul 2025 17:04:36 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.34 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833875; x=1754438675; 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=DZ//QELelSxw3zEngsoJMwE8i1iZC2E4gBdrBvf657A=; b=M1kfCaP/wNKnmc8eHwgpS4A1dsPO4tfCKMMRtUp7SiNp5r3ZI0ARbts51oy3sd6xll 123f4HN5KYgDiUsmXOPvIkzB1yWhULNGMf5XrGTygBhzOTavvL/SpIaH+5380lwEH2zK nRpY+Z1vBk6Erj8EF29MX9QSaIskfzbkv3JljgRefOm042FUr4vjE1Lj29lvAg8/cK/u SFR04/MY4yG0j3tfGrE2SgmIzVrUchS554li0HAJlVjzvV8ZFtMQLzDFAjXrllmaEvA8 DcAiLDdXAjZGwoUNPuU7y4DpzM3I7QH5KdzPGnpPCWPcoDvIIr1JsRN8v+wbDerN4nAR IITw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833875; x=1754438675; 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=DZ//QELelSxw3zEngsoJMwE8i1iZC2E4gBdrBvf657A=; b=LF5zZ7NufrKKoyMYm5RAXYqVzdvs5wM4BgJx6KlHPswSJUNyVBtDuv6hdW3Jk0qKUn YFtrS41Mob376CFBxSslKw2ViOeLGeouNts+8ClqO3Zz2HTTBayrz33rNpDVAFF3JPan gTdhEaMhh4LZZp8SSDk86vMXyX/sg4MbMBh4BCBvG71tfJgQ6cMYdUGg69H8+VhDM5aU JUgOg0sKj7fgXyeYET5g+67NfC5PltxB4CEa+x/zyRdCOLiUfCehJHnHBfdiPOUggmnC 5R9qE2d/Mz2u6FaNEZXRlt53x9Iq32fGkD5xZcj+op6mLJtt+wOyYppifpyr7dw3LVhA B88Q== X-Gm-Message-State: AOJu0YxT1GnAju/S3DOrTKVtnbu84AIPW1F8YC/J3nwPFEtchEnNYCiZ 1XXPlpg69c9gwm2a30cK0ivYJx58vSutJ64I7u9eg0ebbwt2EW2laHAS0/p4oNK94ZdNKnG9to8 Zp90n X-Gm-Gg: ASbGncvK3qWKTwfpmcXwUgPeE6wgdrLN3g7hFhBlPBHj6J9ve12IsCOSosC9NWHSZj1 Z2WavK8bNQEGBBRq+Kc3nWzc4PQvtAnqE8JPhBcWNVyLRcsoTW4LPy6AwLJ85vJNLyFtA4qN9qB 5BRP6NAc6wIhvcdAHUFYzMgtI/Hz5Ne2SW5eQjy7CHpFiQVqUO1kLoLZV3f0f9lDhdB8sECRBMA YAileCZ6G7WkHOnN60XVmw2I4sI/kJ6f6eU5pZ3d48bLlA53nJQpL/FhvVOFQoTJ54zEBj/P/PE uPoQ/IZPzXRWoIgs9V0rTFblPK0WnT0QVjClru9CGFtj8+qgsR5P6f1KbS6CaA5SU7hvXNZ0/mA jkSojFCof8ef8vISfkcLMJ6gyd0mqYcQZhRKoNrYWh9aJ61qvYVJsnQCJnF6j9vwcRww/AnVacE Kfc/7VRERa3A== X-Google-Smtp-Source: AGHT+IHSkRztpI8MUWq/IsDuH6ZZnMufVS3CSnDseqiL7aKoVHBY/UxZIYk12GtJPv6IO/XNnPj8Sw== X-Received: by 2002:a05:6a00:2347:b0:74e:a560:dd23 with SMTP id d2e1a72fcca58-76ab30c553dmr2237845b3a.21.1753833875451; Tue, 29 Jul 2025 17:04:35 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 62/89] linux-user: Move ppc uabi/asm/elf.h workaround to osdep.h Date: Tue, 29 Jul 2025 13:59:35 -1000 Message-ID: <20250730000003.599084-63-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::429; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x429.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: 1753836135353116600 Content-Type: text/plain; charset="utf-8" Move the workaround out of linux-user/elfload.c, so that we don't have to replicate it in many places. Place it immediately after the include of , which draws in the relevant symbols. Signed-off-by: Richard Henderson --- include/qemu/osdep.h | 8 ++++++++ linux-user/elfload.c | 7 ------- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h index 96fe51bc39..be3460b32f 100644 --- a/include/qemu/osdep.h +++ b/include/qemu/osdep.h @@ -133,6 +133,14 @@ QEMU_EXTERN_C int daemon(int, int); #include #include =20 +/* + * Avoid conflict with linux/arch/powerpc/include/uapi/asm/elf.h, included + * from , but we might as well do this unconditionally. + */ +#undef ELF_CLASS +#undef ELF_DATA +#undef ELF_ARCH + #ifdef CONFIG_IOVEC #include #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 1ac3a20813..70bfd18de6 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -35,13 +35,6 @@ #include "target/arm/cpu-features.h" #endif =20 -#ifdef _ARCH_PPC64 -#undef ARCH_DLINFO -#undef ELF_CLASS -#undef ELF_DATA -#undef ELF_ARCH -#endif - #ifndef TARGET_ARCH_HAS_SIGTRAMP_PAGE #define TARGET_ARCH_HAS_SIGTRAMP_PAGE 0 #endif --=20 2.43.0 From nobody Sat Nov 15 06:33:16 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1753835152957260.2324628450431; Tue, 29 Jul 2025 17:25:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugud4-0001LB-Ag; Tue, 29 Jul 2025 20:25:10 -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 1uguJF-0004p2-Au for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:42 -0400 Received: from mail-pf1-x42e.google.com ([2607:f8b0:4864:20::42e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguJC-0004fu-K0 for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:40 -0400 Received: by mail-pf1-x42e.google.com with SMTP id d2e1a72fcca58-769a21bd4d5so1284548b3a.0 for ; Tue, 29 Jul 2025 17:04:38 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.35 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833877; x=1754438677; 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=YZoq+hHfPevFxCSDdOA+glZMG/9hobef5ggmN7qr+g0=; b=g5lYZWMpud47Ax/oeSfAOFn2iI7zPyWyQIJvhRAyFn7cvrpo27Ftrma3Awn583j1oJ pv8VJi7HTVaXvKDakKBcGlw3n92e8t/rm1gBel9jBxliVP+J2gQBYNKhNOdyoVCZikuG OipqjqncQrvbBUQoxRzS+6763tGtFh0BSjIt4mvl1UxVq/PvWAZJAa77nq7vnoiGmHim AJfKr9SFX1tWymTPeWKfddxJl3thFjg/bDmbnVsjsjBVHQKJ/WcI+fWIXHl8wZWzDbWh UbMEUPSPI5/x/uvVe2OrCNyviB44ghIZTeb7Ay6lCePZ1aJTzTlDOkoB5aVsmsTM/8+c rlRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833877; x=1754438677; 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=YZoq+hHfPevFxCSDdOA+glZMG/9hobef5ggmN7qr+g0=; b=f8WLRshFqqVDpRBxZ+wNu6w9tpJ7wrba2Cv8/UnjDjK8BNkllBId21QH2TMH8GLpoV psqDVMuCzzbUr/k02bInevUBQozjk/hgQiE++/9aEMrDY3S1YD9LSEN8/+vLqXJj1mKp 55klbfMOvARWA3QYlnBTQkAzNl9Mf4texj+p5bqfPyz/Epv7f/ZlKVHmlE3TGZExGV0x cPpmhHaOdOroj0PLUg2W8qCF0eoobGXEfmiB0yqhPkkQh7YOpr1UV8ieldulREju+izg q5zBG0SYiyDgNbuailgNCjNTNp9kFx6nD1yK0CovuSELfMM/MqXoBjLvgethQGuHi56u +/bQ== X-Gm-Message-State: AOJu0YwywqWCY2r89ih8qKlkr+twnmTFVBFU2QQtKddMcoF3KlNM9VOB 7gV3KTGBujrszlkjQDBKAH9BXftzs090wIcpztgD4Kxhsy0U6Oj/tMC0nIKVETtwk/lf66YJflS WmR4r X-Gm-Gg: ASbGncs9NYCavfxcVzHkL6MC02Y9NVFeJBqtmF2gkoE7KIfZBq1VjpXGIJFVLm+l5jW oFb8b9P0vir2PyC48OnKQFFlZZpksZy8MgjkiAIEZpS9CC0OS8p8Vn1OQ2gA7Att+XsAj4Q6q7U QKC0aBn2caMrR88d7EWhS7Ri4m281CrKtqQYzI1BtoffMOG6b3bd/dEigY21Pj9VSCcZ+n/F0Kl lB7Qa6ZEV6fZQ0oSnUDxdxCjadPnTbWyteX97axCL2AHbUmMK3JtgCALu7ExwEtsJ9jvrENsSoW dzI1Mv8vOIueH3on4JFS2UvSrSGKPHrfQx2OoExgRlvBCkYofjHQSNn/LfIMxzQ3angmINJBjkB dBhbGPOY7TEilzK3s10ZW0Sy9zOdTeSMVtId84rh2TvKVg2XqvxnC38nRsOxuHG2kAwuUv9Fxr3 Inr8H2K+5GUg== X-Google-Smtp-Source: AGHT+IGoiE3ynd5lFvhbbq8vh9IePg+V5TJ/kHISWgVu9kw9tyniczkzXdDPJux1phOUiQ207Gu3oA== X-Received: by 2002:a05:6a20:7283:b0:233:d150:77b0 with SMTP id adf61e73a8af0-23dc0ed4106mr1817001637.28.1753833877086; Tue, 29 Jul 2025 17:04:37 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 63/89] linux-user: Move elf parameters to {i386, x86_64}/target_elf.h Date: Tue, 29 Jul 2025 13:59:36 -1000 Message-ID: <20250730000003.599084-64-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::42e; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42e.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: fail (Header signature does not verify) X-ZM-MESSAGEID: 1753835153915116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/i386/target_elf.h | 23 +++++++++++++++++++ linux-user/x86_64/target_elf.h | 5 +++++ linux-user/elfload.c | 41 +--------------------------------- 3 files changed, 29 insertions(+), 40 deletions(-) diff --git a/linux-user/i386/target_elf.h b/linux-user/i386/target_elf.h index e6f0d8fa4e..032abe5d24 100644 --- a/linux-user/i386/target_elf.h +++ b/linux-user/i386/target_elf.h @@ -8,4 +8,27 @@ #ifndef I386_TARGET_ELF_H #define I386_TARGET_ELF_H =20 +#define ELF_CLASS ELFCLASS32 +#define ELF_ARCH EM_386 +#define EXSTACK_DEFAULT true +#define VDSO_HEADER "vdso.c.inc" +#define USE_ELF_CORE_DUMP + +/* + * This is used to ensure we don't load something for the wrong architectu= re. + */ +#define elf_check_arch(x) ( ((x) =3D=3D EM_386) || ((x) =3D=3D EM_486) ) + +/* + * i386 is the only target which supplies AT_SYSINFO for the vdso. + * All others only supply AT_SYSINFO_EHDR. + */ +#define DLINFO_ARCH_ITEMS (vdso_info !=3D NULL) +#define ARCH_DLINFO \ + do { \ + if (vdso_info) { \ + NEW_AUX_ENT(AT_SYSINFO, vdso_info->entry); \ + } \ + } while (0) + #endif diff --git a/linux-user/x86_64/target_elf.h b/linux-user/x86_64/target_elf.h index 5849f96350..7eac11e338 100644 --- a/linux-user/x86_64/target_elf.h +++ b/linux-user/x86_64/target_elf.h @@ -8,4 +8,9 @@ #ifndef X86_64_TARGET_ELF_H #define X86_64_TARGET_ELF_H =20 +#define ELF_CLASS ELFCLASS64 +#define ELF_ARCH EM_X86_64 +#define VDSO_HEADER "vdso.c.inc" +#define USE_ELF_CORE_DUMP + #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 70bfd18de6..d071bca660 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -28,6 +28,7 @@ #include "qemu/lockable.h" #include "qapi/error.h" #include "qemu/error-report.h" +#include "target_elf.h" #include "target_signal.h" #include "tcg/debuginfo.h" =20 @@ -137,46 +138,6 @@ typedef abi_uint target_gid_t; #endif typedef abi_int target_pid_t; =20 -#ifdef TARGET_I386 - -#ifdef TARGET_X86_64 -#define ELF_CLASS ELFCLASS64 -#define ELF_ARCH EM_X86_64 -#else - -/* - * This is used to ensure we don't load something for the wrong architectu= re. - */ -#define elf_check_arch(x) ( ((x) =3D=3D EM_386) || ((x) =3D=3D EM_486) ) - -/* - * These are used to set parameters in the core dumps. - */ -#define ELF_CLASS ELFCLASS32 -#define ELF_ARCH EM_386 - -#define EXSTACK_DEFAULT true - -/* - * i386 is the only target which supplies AT_SYSINFO for the vdso. - * All others only supply AT_SYSINFO_EHDR. - */ -#define DLINFO_ARCH_ITEMS (vdso_info !=3D NULL) -#define ARCH_DLINFO \ - do { \ - if (vdso_info) { \ - NEW_AUX_ENT(AT_SYSINFO, vdso_info->entry); \ - } \ - } while (0) - -#endif /* TARGET_X86_64 */ - -#define VDSO_HEADER "vdso.c.inc" - -#define USE_ELF_CORE_DUMP - -#endif /* TARGET_I386 */ - #ifdef TARGET_ARM =20 #ifndef TARGET_AARCH64 --=20 2.43.0 From nobody Sat Nov 15 06:33:16 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1753835039649106.66130527824612; Tue, 29 Jul 2025 17:23:59 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguZY-0008Lt-Rf; Tue, 29 Jul 2025 20:21:33 -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 1uguJH-0004qP-D4 for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:44 -0400 Received: from mail-pf1-x430.google.com ([2607:f8b0:4864:20::430]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguJF-0004g7-2j for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:42 -0400 Received: by mail-pf1-x430.google.com with SMTP id d2e1a72fcca58-769a21bd4d5so1284554b3a.0 for ; Tue, 29 Jul 2025 17:04:39 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.37 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833878; x=1754438678; 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=LMG725nib6z5VR/+Q3UcrgvM0cFgPWaum8FcyQV4Vtw=; b=WyKsq6L3dRsxCio7V8Rxnjzvb4E6d8pSt8rGSI5rcb3ehzcXqi9Y1ocYdt4wlvtZaN PnrSWJ7/aj7rhN58YbFo0spSeSbRf/tXVEe9Z6g0gX6vtcdweMYx3qovxsON11x3k+ZB 7GZLWFW849bYrrPREXgVtlnhPb2WRo9aTfxD4sC9e+x1tM5BR0uXoIeHom1pCPYF4Eud yL3LBFcTxZYeNHsJ1trNn4q3/ihIGg9CvV2SFGhQZWfxbbqMjCjyh0nuudNf+joYF9ot gNnlVnRiXFRfRASuxS74L39qRNiaP/mWSUxNYfrkfNCJdmeAti9UvmNdyJ+6sw2h5XyO U1UQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833878; x=1754438678; 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=LMG725nib6z5VR/+Q3UcrgvM0cFgPWaum8FcyQV4Vtw=; b=dPbKkD0L2rYViKcXAie6EVG56HlLaDwRkZtJbt2u1A0/Xq1PmAed1zGLGiXbosg+AW RaPBiRKm4j/YAAsOfWu98jLRPrteWndlMBQs69/3hILf7F0fCx22DJ4+2XsYQZmd4Qxw Dleh1Siu4wSuiyQdrw5r39Y7qJpg4wA8hVnuic+bU5BWztilfztW4aKXoQONl41I4gGb IqxHiqev0yyXVab7WVwp7yNAk1LFKNrIivX/hrjP87J4eNxM25qZCE9dBRGfssINt2oB C6InfLDqYrVKve8nTn891VletgstGLo3JQ7pE2XqAR+n3n5LtH2SzzAYwcxB5sDR3R3N K/iw== X-Gm-Message-State: AOJu0YzVNPbSUM69/neoIXknT0I/a1x9S+14h0Mi5CaxesQQkOVqgHDC tLF+szE5L3KvbmVn5pt3FZnDLtZy9sFVjjqYuefTtUitCRpmsFZ7wUFCCt8uxaPMTP57YQtRq0u 03WQU X-Gm-Gg: ASbGncvyP5tua0C3/wvNZEP/U4zAkXFiO2aHRk5T5Neh6nGLUZbSfnjT2X8pjau5dE8 Umn+7vCxcLT8noiwVc4qo0y1WevlxsimFgaXcTghKE6eSZ2V/cyhS5xv05H2afJgSslbCzO/kro +mtoxlkc+3d5aFBm73JVZ1ojYv/eJNGPrCJjC2RfwnPTR0RsDi4TdpaQZt1gVlcT7Ro2EdS/UAY OPfHrLbb864piPmgZUvEf7Ykzm4dN8timb/en2u6droL9PrFKgjXQgiZpJ+5wmC9d39unWQAQJq VUl/z7zXVwDFh6rwi/8cg2cc6vWO0yaMbYWy2cHSIjSkaICuUNf5BKFVr60+uQEkuHOw35aiMQ5 Haco3iGGmx6xkJekCbH+yMElxkfIpQ5zGw94dJUz5KGuHn+ZHWS1WKJ/p38OSJ6T60SUrsetZL8 KLKQC1OB4LFgI2RFpbcSNB X-Google-Smtp-Source: AGHT+IHTfBTfQ8EdScH5kVwG3IRfs8xGzaOJ/hHQK4UZq6gI7mm30paR9BuwT4Y734aUjGfHWtaNwA== X-Received: by 2002:a05:6a00:2a0f:b0:758:b81:603a with SMTP id d2e1a72fcca58-76ab102133dmr1808221b3a.2.1753833878204; Tue, 29 Jul 2025 17:04:38 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 64/89] linux-user: Move elf parameters to {arm, aarch64}/target_elf.h Date: Tue, 29 Jul 2025 13:59:37 -1000 Message-ID: <20250730000003.599084-65-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::430; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x430.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: fail (Header signature does not verify) X-ZM-MESSAGEID: 1753835040676116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/aarch64/target_elf.h | 10 ++++++++++ linux-user/arm/target_elf.h | 5 +++++ linux-user/elfload.c | 29 ----------------------------- 3 files changed, 15 insertions(+), 29 deletions(-) diff --git a/linux-user/aarch64/target_elf.h b/linux-user/aarch64/target_el= f.h index d955b3d07f..8f704055ec 100644 --- a/linux-user/aarch64/target_elf.h +++ b/linux-user/aarch64/target_elf.h @@ -8,4 +8,14 @@ #ifndef AARCH64_TARGET_ELF_H #define AARCH64_TARGET_ELF_H =20 +#define ELF_ARCH EM_AARCH64 +#define ELF_CLASS ELFCLASS64 +#define USE_ELF_CORE_DUMP + +#if TARGET_BIG_ENDIAN +# define VDSO_HEADER "vdso-be.c.inc" +#else +# define VDSO_HEADER "vdso-le.c.inc" +#endif + #endif diff --git a/linux-user/arm/target_elf.h b/linux-user/arm/target_elf.h index 209076284b..2f8564a484 100644 --- a/linux-user/arm/target_elf.h +++ b/linux-user/arm/target_elf.h @@ -8,6 +8,11 @@ #ifndef ARM_TARGET_ELF_H #define ARM_TARGET_ELF_H =20 +#define ELF_ARCH EM_ARM +#define ELF_CLASS ELFCLASS32 +#define EXSTACK_DEFAULT true +#define USE_ELF_CORE_DUMP + #define HI_COMMPAGE (intptr_t)0xffff0f00u =20 #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index d071bca660..dec27496ff 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -138,35 +138,6 @@ typedef abi_uint target_gid_t; #endif typedef abi_int target_pid_t; =20 -#ifdef TARGET_ARM - -#ifndef TARGET_AARCH64 -/* 32 bit ARM definitions */ - -#define ELF_ARCH EM_ARM -#define ELF_CLASS ELFCLASS32 -#define EXSTACK_DEFAULT true - -#define USE_ELF_CORE_DUMP - -#else -/* 64 bit ARM definitions */ - -#define ELF_ARCH EM_AARCH64 -#define ELF_CLASS ELFCLASS64 - -#define USE_ELF_CORE_DUMP - -#if TARGET_BIG_ENDIAN -# define VDSO_HEADER "vdso-be.c.inc" -#else -# define VDSO_HEADER "vdso-le.c.inc" -#endif - -#endif /* not TARGET_AARCH64 */ - -#endif /* TARGET_ARM */ - #ifdef TARGET_SPARC =20 #ifndef TARGET_SPARC64 --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835660; cv=none; d=zohomail.com; s=zohoarc; b=EtYsWiUHJXMJVX/Kkg/JkXrPmRK44hf2KcJuzbN961/nJLQS4eXDIZqENkx6gYC0moA4Dpzow7Dkt9KNE0GBE6TWI1ychgwbnCOvXTmFXZOGTeqUKQu+SPW1qzEtogXcHyB9ZO1ZRkgASl4EKPD9oDH06dZtwDUGBLBCU8enewY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835660; 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=5eZ8C15sPWJhyjb6gKj/Ku2hIeU/HidEd1w9ZOXgGX8=; b=fqg7kuS85bOhLtCoCOvtEDvMXm3KjElkVCu1QJgd8/8vFSbt9RIZeouRs7ME0yi/WzrMeGzYLi1uz9Ay5Ew6PqvJtuiIaGgztFFnywGtZEHKZW2dAWKGqNyO9dfymSnILHRCVznmgv6iOcPdXS+ZreXu5NobsiHwPaJvc9QN6J0= 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 175383566069617.662745361900193; Tue, 29 Jul 2025 17:34:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugucq-0000JL-9q; Tue, 29 Jul 2025 20:24:56 -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 1uguJH-0004qT-Dn for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:44 -0400 Received: from mail-pf1-x431.google.com ([2607:f8b0:4864:20::431]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguJF-0004gC-6F for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:42 -0400 Received: by mail-pf1-x431.google.com with SMTP id d2e1a72fcca58-748d982e97cso5675335b3a.1 for ; Tue, 29 Jul 2025 17:04:40 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.38 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833880; x=1754438680; 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=5eZ8C15sPWJhyjb6gKj/Ku2hIeU/HidEd1w9ZOXgGX8=; b=EKWL8MLdxjMESVkD6gpbLEeHXF1TB+5XiFldFYNDMkF9j9R+YZmOD292QO0okcuH19 YxX2qjvUJrO5q+hQqF1tsCve7J++skV5PeyE6a7yQ5JoRP+95aAkuKIw+zCc1WOJrXTR WxQb/hpeI8R/Bd9CA9J+kZ3wxUEtK+jjvUCAv7T4dO5Mnus0oeg3n80Ag969MWAq/ljO 1grCreFTv2j+Zmk5wkJgY0A4OVs5rrwm8zSMEPbWCDk8Rf/4xlgbktOAJ+teYksOyG1B 7V4kgt2wWIjpDak6ctFNdTsaoWRq3wUBsjAzWl5H9WBVhBW55dpYAMki9rYMpp4IXyUp 4y4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833880; x=1754438680; 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=5eZ8C15sPWJhyjb6gKj/Ku2hIeU/HidEd1w9ZOXgGX8=; b=Y+flBK9GAMQJG45FFOWHVBuQ9XkBYd4BZKBOn4lDTX4dH/LOCLfVPSpKotZdqS9vsN sDCXfmRjNYelpUogX6d25/4dJNdqwb9+yvCRClXE/S75uIAHJSc9EeFRgxnQCoPfNRXW ddIUjTLTPJhbTc8/NAU+ZcGsHlfZ/PUOiT4ZpGlRR4o5rfah2ha2iUfKLx42IHrF8SWk 11B9Vg7CcWVBcoSjejvjqF7JsAS7z7eLPO4tU2va9OxxN4dTKEanUDooJv5XU1BRV7om 0ipwnTMI91r5j6HfXpibU1f5ljpVtm90Dc63UBaGdKJY7WE0/UF6EYmiJR8TF8bhVLxl eISg== X-Gm-Message-State: AOJu0YwoisSn6++N6VuQ9G+gCx/EbXUArU89YmMi1LaXJ2cwKzUWJhAc OuGubm9RramN1nRGfDvPQo4C3/uzG5TdIn2Akkjp+Bs7SRLEF62GlZqO4K/9RF2RHEDScZLbv6/ k9Xci X-Gm-Gg: ASbGnctGmM6JMJSU2K059CVFbyy6V9qfQu+tsdh23czfvpmXxADuVlMSDZlI78DY05X GrSmHJXe6xDMfQi5tpG5JqW5AD5NlLqrMOoCrnQHPxfMa6LDLz+XNPSmfEQbtVLoe6xuxsGbBa2 8QK9oSK93R94DiX2wos67sk5hF+GFh5phaxq0clFOaQH+6e2DkDXj298W27rd/rLhR0fPh0sP+a MowlCFR6Ft1YoJI+rnFy2DuMnO3++ay3zI2ZOlm3UCwjrA5ln4+4Vfl9YQpBLyTzmp+ghPixh+E d9Mxf9qnGMrdxHS97lgHm2USrECuXAwhZrEz3FSo1awfg4OnkBI03jsVFQlmV8GA34uoth2shXG EApdTTu3m/MiCkBO2iM8kbZIKv2KnCieuGhzBhPiGFKoEFyAGqVfdPrO8iHGsP7/ywFSvh2pIpf 6e7VlJAeWZkQ== X-Google-Smtp-Source: AGHT+IGk3wQCCgfDClvRpbzfZFFF1kdBxfvSlRpmUZgaEHZ0A2aLR96x5xMbbkW/ZVLvH7Qv5a7vYw== X-Received: by 2002:a05:6a00:398b:b0:757:ca2b:48a3 with SMTP id d2e1a72fcca58-76ab161afcbmr1837932b3a.9.1753833879779; Tue, 29 Jul 2025 17:04:39 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 65/89] linux-user: Move elf parameters to sparc/target_elf.h Date: Tue, 29 Jul 2025 13:59:38 -1000 Message-ID: <20250730000003.599084-66-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::431; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x431.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: 1753835662889116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/sparc/target_elf.h | 11 +++++++++++ linux-user/elfload.c | 15 --------------- 2 files changed, 11 insertions(+), 15 deletions(-) diff --git a/linux-user/sparc/target_elf.h b/linux-user/sparc/target_elf.h index 7e46748d26..8bd6e3e427 100644 --- a/linux-user/sparc/target_elf.h +++ b/linux-user/sparc/target_elf.h @@ -8,4 +8,15 @@ #ifndef SPARC_TARGET_ELF_H #define SPARC_TARGET_ELF_H =20 +#ifndef TARGET_SPARC64 +# define ELF_CLASS ELFCLASS32 +# define ELF_ARCH EM_SPARC +#elif defined(TARGET_ABI32) +# define ELF_CLASS ELFCLASS32 +# define elf_check_arch(x) ((x) =3D=3D EM_SPARC32PLUS || (x) =3D=3D E= M_SPARC) +#else +# define ELF_CLASS ELFCLASS64 +# define ELF_ARCH EM_SPARCV9 +#endif + #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index dec27496ff..429d343adc 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -138,21 +138,6 @@ typedef abi_uint target_gid_t; #endif typedef abi_int target_pid_t; =20 -#ifdef TARGET_SPARC - -#ifndef TARGET_SPARC64 -# define ELF_CLASS ELFCLASS32 -# define ELF_ARCH EM_SPARC -#elif defined(TARGET_ABI32) -# define ELF_CLASS ELFCLASS32 -# define elf_check_arch(x) ((x) =3D=3D EM_SPARC32PLUS || (x) =3D=3D EM_SPA= RC) -#else -# define ELF_CLASS ELFCLASS64 -# define ELF_ARCH EM_SPARCV9 -#endif - -#endif /* TARGET_SPARC */ - #ifdef TARGET_PPC =20 #define ELF_MACHINE PPC_ELF_MACHINE --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753836189; cv=none; d=zohomail.com; s=zohoarc; b=NaOgoS5+4TAxn7hZPYRgbvvOsiurXMlEF8NoASUw4GCYZh+SW6V56eCXMEzqE2g+nwV2wUjTJVbEaj/jkZGuH9rdmeNyhyoLvmPTFhz6QnKe0Kv21ZLVIlhwSmf9854wMekT6FD1uCMF6+T035XlyuticaOCcnVLwhzmR/mdjg0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753836189; 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=wDVXMkbf8uh1k6EXf1UrVxpK6EEbwg5/xdyhEsotRYw=; b=Jd8aelwiodzgqGaRBxtDTcoIfIdcCeNMeZI+dM3RfO7hEzuLRsPrpPZezmYrvD1U9Tiz1yzDZ66ygMhtWavFmJHOYm9qAU+nIDORehaVAkux2RSBtnuvpIe4o3mQ6FQm+nxpNvnBwM4B9iqC8KnRXMwEm7xX9vPuKR42q7VsEhA= 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 1753836189553537.085598316264; Tue, 29 Jul 2025 17:43:09 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugudg-00023J-19; Tue, 29 Jul 2025 20:25:48 -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 1uguJJ-0004rr-3k for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:45 -0400 Received: from mail-pf1-x429.google.com ([2607:f8b0:4864:20::429]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguJH-0004gO-56 for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:44 -0400 Received: by mail-pf1-x429.google.com with SMTP id d2e1a72fcca58-75ce8f8a3a1so3621487b3a.3 for ; Tue, 29 Jul 2025 17:04:42 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.40 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833881; x=1754438681; 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=wDVXMkbf8uh1k6EXf1UrVxpK6EEbwg5/xdyhEsotRYw=; b=XdqpIO5VGee2l09mlHiRbgWKaPrOJP6qvAZ6IeBqgsVt2stuPMgT6KA2qx7zV+5kpg sixiWZtWpc5l3Y8XzB9yWulvB7FcEXgwd1ggMU/Cu1JSvwZJEDyWsTgcHsN6IPjAbGZ+ yOpKPJ/VbwMI2WCsRW3sSessaBN5N+SemBFkunqUdI472twJshrQ4VmiSIgikUJO+rOq uW7RYY0WWXVOU+GKxWexoCHL7EyURpkAzLeV+OHWJSOXACNCeq6cuczWyzTym3fQaJyK f3koxh9e9dn51Yajs9l6jer3ddIygptVe1t4yW/toZlr/ok0H9OKJRqSD3rJ/Vu+/vNb 70KQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833881; x=1754438681; 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=wDVXMkbf8uh1k6EXf1UrVxpK6EEbwg5/xdyhEsotRYw=; b=uTuJbS3GsC4CfBx//1p6QhlVvAn04KA3nTGa0cTpRtkcMrfBwpfTzfyV1tZgEnKli3 wlmlCaOpotNZuiJe4sN6KOck8rdkC0V56qonmG3h1kQlIdO93D2Rvhd7CLxhltWUJTUA NzmyuDPRJAD/deB4Favc9tH/DA89QT/SJ/Wqp0qG0JHMYNioF0/qYTKTjGGk7NY6s2zY zVIYshcTdiHMSXihenca8CH5RmfNb4Ml8G6rjYZR5QbIbFciOfIvxE4nXpjtJJRE6SXn 230xAu8ienALeoCD5Iq4mR7PBeY7qsWFAWaLhTZ/i5qt4yXx/wDcHnEE6VBtl+jcrOV3 LnMA== X-Gm-Message-State: AOJu0YxXkV0ifWLTKYspSLF/2j0ksqFk0NXHgrrDikKjGGPahSRk+61I gSdrjYaPdZGMGgrvfm9k9Pc6gTpQhU4K4J+8yiHmUrLQfEIzh8CPdX+e/aAxxOsv7tqxBt/H9iA JV0Gk X-Gm-Gg: ASbGncuiwc19n/uG5DW3gYly0fPA4iR+xobhPMtLZ9U9BYT4Je5oT4RSk3ysRt2+D6Z x/1vHr0iDIlxSOt6MW19BItRqeGfT3QHCWTZUG/MgLNgfdhqr500pkt0wN9yrCPBe+rboVdAiUo Wh6AOinGSynCOJUAv9BxuLyb9igLjBjfdSxQt6tfMRi4zWDgDsYwvim+2toCT6GGcmUUzEQg72l uHcu4Uh/iiZVbmH3mFXef6c/AqT3SlbHBbnsRo+EwqaS19OQGMSHJextPw2d1VnPDGptKk7QdRT TN0Z8h8eE4BIzlYotwSC1ts26DIFKd9eE62LcoTb/fbPLgMW/TfjqBeOhvGZQZ3BmawFjNtwgYE J04VToI2AVT4vWfUuB44pj2igXia93EE5Tel5Lgp80xT5hJ95C42g2xX2c3ZRm+mjU5+DpHcXQ2 NO7M+usdo/Zg== X-Google-Smtp-Source: AGHT+IEMsnxYFKPzxwEZrCgKtgM1DyhMw+zcFXdpSPpDENClge8QnQhJaUUuX2dQRtx00JmHdJszKQ== X-Received: by 2002:a05:6a00:8c9:b0:747:accb:773c with SMTP id d2e1a72fcca58-76ab2f4beabmr1843345b3a.13.1753833881279; Tue, 29 Jul 2025 17:04:41 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 66/89] linux-user: Move elf parameters to ppc/target_elf.h Date: Tue, 29 Jul 2025 13:59:39 -1000 Message-ID: <20250730000003.599084-67-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::429; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x429.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: 1753836190024116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/ppc/target_elf.h | 45 ++++++++++++++++++++++++++++++ linux-user/elfload.c | 55 ------------------------------------- 2 files changed, 45 insertions(+), 55 deletions(-) diff --git a/linux-user/ppc/target_elf.h b/linux-user/ppc/target_elf.h index 8c0a8ea431..d42b9dc9cb 100644 --- a/linux-user/ppc/target_elf.h +++ b/linux-user/ppc/target_elf.h @@ -8,4 +8,49 @@ #ifndef PPC_TARGET_ELF_H #define PPC_TARGET_ELF_H =20 +#define ELF_MACHINE PPC_ELF_MACHINE + +#ifdef TARGET_PPC64 +# define elf_check_arch(x) ((x) =3D=3D EM_PPC64) +# define ELF_CLASS ELFCLASS64 +#else +# define ELF_CLASS ELFCLASS32 +# define EXSTACK_DEFAULT true +#endif +#define ELF_ARCH EM_PPC + +/* + * The requirements here are: + * - keep the final alignment of sp (sp & 0xf) + * - make sure the 32-bit value at the first 16 byte aligned position of + * AUXV is greater than 16 for glibc compatibility. + * AT_IGNOREPPC is used for that. + * - for compatibility with glibc ARCH_DLINFO must always be defined on PP= C, + * even if DLINFO_ARCH_ITEMS goes to zero or is undefined. + */ +#define DLINFO_ARCH_ITEMS 5 +#define ARCH_DLINFO \ + do { \ + PowerPCCPU *cpu =3D POWERPC_CPU(thread_cpu); \ + /* \ + * Handle glibc compatibility: these magic entries must \ + * be at the lowest addresses in the final auxv. \ + */ \ + NEW_AUX_ENT(AT_IGNOREPPC, AT_IGNOREPPC); \ + NEW_AUX_ENT(AT_IGNOREPPC, AT_IGNOREPPC); \ + NEW_AUX_ENT(AT_DCACHEBSIZE, cpu->env.dcache_line_size); \ + NEW_AUX_ENT(AT_ICACHEBSIZE, cpu->env.icache_line_size); \ + NEW_AUX_ENT(AT_UCACHEBSIZE, 0); \ + } while (0) + +#define USE_ELF_CORE_DUMP + +#ifndef TARGET_PPC64 +# define VDSO_HEADER "vdso-32.c.inc" +#elif TARGET_BIG_ENDIAN +# define VDSO_HEADER "vdso-64.c.inc" +#else +# define VDSO_HEADER "vdso-64le.c.inc" +#endif + #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 429d343adc..eae3260c9e 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -138,61 +138,6 @@ typedef abi_uint target_gid_t; #endif typedef abi_int target_pid_t; =20 -#ifdef TARGET_PPC - -#define ELF_MACHINE PPC_ELF_MACHINE - -#if defined(TARGET_PPC64) - -#define elf_check_arch(x) ( (x) =3D=3D EM_PPC64 ) - -#define ELF_CLASS ELFCLASS64 - -#else - -#define ELF_CLASS ELFCLASS32 -#define EXSTACK_DEFAULT true - -#endif - -#define ELF_ARCH EM_PPC - -/* - * The requirements here are: - * - keep the final alignment of sp (sp & 0xf) - * - make sure the 32-bit value at the first 16 byte aligned position of - * AUXV is greater than 16 for glibc compatibility. - * AT_IGNOREPPC is used for that. - * - for compatibility with glibc ARCH_DLINFO must always be defined on PP= C, - * even if DLINFO_ARCH_ITEMS goes to zero or is undefined. - */ -#define DLINFO_ARCH_ITEMS 5 -#define ARCH_DLINFO \ - do { \ - PowerPCCPU *cpu =3D POWERPC_CPU(thread_cpu); \ - /* \ - * Handle glibc compatibility: these magic entries must \ - * be at the lowest addresses in the final auxv. \ - */ \ - NEW_AUX_ENT(AT_IGNOREPPC, AT_IGNOREPPC); \ - NEW_AUX_ENT(AT_IGNOREPPC, AT_IGNOREPPC); \ - NEW_AUX_ENT(AT_DCACHEBSIZE, cpu->env.dcache_line_size); \ - NEW_AUX_ENT(AT_ICACHEBSIZE, cpu->env.icache_line_size); \ - NEW_AUX_ENT(AT_UCACHEBSIZE, 0); \ - } while (0) - -#define USE_ELF_CORE_DUMP - -#ifndef TARGET_PPC64 -# define VDSO_HEADER "vdso-32.c.inc" -#elif TARGET_BIG_ENDIAN -# define VDSO_HEADER "vdso-64.c.inc" -#else -# define VDSO_HEADER "vdso-64le.c.inc" -#endif - -#endif - #ifdef TARGET_LOONGARCH64 =20 #define ELF_CLASS ELFCLASS64 --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835480; cv=none; d=zohomail.com; s=zohoarc; b=fs0+jKPMq2O1TAntV32cm+JoQ8KVYTsa1vZHYsqC0r3IehIgX0OyOVZJqcRWKT4LUWBmKaLT/5JIrp/OZAAUIEBxLBaryxkW94/osiPDycE0W7QbXgw9U38TCH3Kv9ChqaqGZhzilShF7LKLv2tlwjeSyLMNtNc6DiL/Bu5iIdM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835480; 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=bmVBB02WViRDaWegeK7GjXuBg4XFIgnlwIeIpu6pXNg=; b=Aa+vnzUxq+kLLLrmiw71pAkMmdW6eWWQE/eBVucHs6vufNKxIPsjw81t+Z2mg9ylzedCOWZDTXDRBY7LNqTiUW54QpHD93drV9/hSuE5tdLEY4bZ5BW+69BCIYEMWKf9dBLNhqYALkcqSbaRyGnNJXVsICSIVB4wVUKpQRNPpWg= 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 1753835479977245.35278250382953; Tue, 29 Jul 2025 17:31:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguct-0000dQ-Fw; Tue, 29 Jul 2025 20:24:59 -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 1uguJK-0004sK-Ln for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:47 -0400 Received: from mail-pf1-x42b.google.com ([2607:f8b0:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguJJ-0004ge-2k for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:46 -0400 Received: by mail-pf1-x42b.google.com with SMTP id d2e1a72fcca58-769a9c3bbc4so1412321b3a.3 for ; Tue, 29 Jul 2025 17:04:43 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.41 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833883; x=1754438683; 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=bmVBB02WViRDaWegeK7GjXuBg4XFIgnlwIeIpu6pXNg=; b=ZC3GBIqDEKFqajLtiYsc86MpjSNXwXA13u1KqGf+Np59NSASzqm7Oc/F7gZ/V7v121 dGH8QH6Weg3B/isGQnXsc2NV0RLnfTcKvgocqAUp8fNrDmV/TMx4RoYMfarl16U/id7k vGx+EgIStKYE3YGL9YBVLaULsb9e4OFaw7l96Gkaxaajs5S+kt6y8cLnHw+2Bd731l8G iDhYNZbrPWlDD04KF58RLo6UC6whdiWeY3QQ5oMd+uZnW7dYcmMUVUKXNutqGy5aeay8 WcgiOAfSLuGVfBBtp5YEuoTtheSctR4iKGIeOunoNisZh3LefYE/rPn1241bR7FkAtRI 6HVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833883; x=1754438683; 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=bmVBB02WViRDaWegeK7GjXuBg4XFIgnlwIeIpu6pXNg=; b=nPwzIQc72YiU509yQtrOgSmJ31kdj0gz2XxpZU1KrteGuCD1KNzzDGzZrZrzGRCYa9 mpRZ6RZyTnkelaroIIGJvpm3D39s350xI08Pdnu7HSStC3V1m0lVkOgK1pcLeG/dASRa Dr8+URqIC04+bPJTsTFKjZtlTvtXSAqUl6aV0ok5yLxDgcfwC8oHkf8VAu/K+eVQkNxa 1zWIkC9xmg+l8p3lddl4+iQIwT48QNIQvEnztrCZtcla/MhvsAhKIBk1EbEfQfeCKqA8 hhFlko69ZPdERpj6XebIPnROSrIbcSg3j9+Hh8846SJDYUz6kIv8tRiNrc3bwnc3a8vl LYtA== X-Gm-Message-State: AOJu0YyHR3RI43Iz+TCb++RGxr4yahaBCwsIhpzscGwIAgjqwlAz2i2t QVtHIk7CErEIxznsSUUwLGePZ9B0k2ma9H/8SJ0iHZo3cwkOzaJA//sbH4wlaAWG+IGnaqg4PM7 +MefH X-Gm-Gg: ASbGncuiiX4QCofa2+SGdHGh119VVHt0dmXwzubbtlYMA00cJjod82KsHypBlay4ehe BxloNFyqdRFA7/jboq0KedwCssSqenEqBhhrCcv8oNnIBJZFiPlVTi7ns7DXhkVvsriyUFep99G aweJBSJL53CzEBpOXeGj1EhEVrqV1tdnDz02aHPwa88/QwqePuDUypJIEjJWSqo5kc3EsyDSAdC Y+wWJTs1fe0gOxIuwtSngPMMHSm/j9WwGBRWTTPr0frfIU8ZCr/xlPQdF+JEaQH914kXoB62OIb 7gE3c5TbX4IagLOmKy5ats7u8soZJCZYMTgar+UNa8F7tIrDI8t9mvQMMkvhITLFg/e8exJG55k LYtBqUzy0ZjjTl2BKMp4NG+qPhhit3BHL8KCL1ROTEqldqTyRKyaUzP/J8lcV463QEzahrg84Yb Qk/EZQKSrOBQ== X-Google-Smtp-Source: AGHT+IEDnRyANtaHKh8jPNevtAf6a59mF2pXBS8id5HAcuPpgh0biXkmSiMh3o4ABDiRm7S3OkPziw== X-Received: by 2002:a05:6a20:4309:b0:237:90ae:82de with SMTP id adf61e73a8af0-23dc0ecda2emr1775262637.16.1753833882712; Tue, 29 Jul 2025 17:04:42 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 67/89] linux-user: Move elf parameters to loongarch64/target_elf.h Date: Tue, 29 Jul 2025 13:59:40 -1000 Message-ID: <20250730000003.599084-68-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::42b; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42b.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: 1753835481333116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/loongarch64/target_elf.h | 7 +++++++ linux-user/elfload.c | 14 -------------- 2 files changed, 7 insertions(+), 14 deletions(-) diff --git a/linux-user/loongarch64/target_elf.h b/linux-user/loongarch64/t= arget_elf.h index 39a08d35d9..e99aa3df4c 100644 --- a/linux-user/loongarch64/target_elf.h +++ b/linux-user/loongarch64/target_elf.h @@ -6,4 +6,11 @@ #ifndef LOONGARCH_TARGET_ELF_H #define LOONGARCH_TARGET_ELF_H =20 +#define ELF_CLASS ELFCLASS64 +#define ELF_ARCH EM_LOONGARCH +#define EXSTACK_DEFAULT true +#define elf_check_arch(x) ((x) =3D=3D EM_LOONGARCH) +#define VDSO_HEADER "vdso.c.inc" +#define USE_ELF_CORE_DUMP + #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index eae3260c9e..49fd098067 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -138,20 +138,6 @@ typedef abi_uint target_gid_t; #endif typedef abi_int target_pid_t; =20 -#ifdef TARGET_LOONGARCH64 - -#define ELF_CLASS ELFCLASS64 -#define ELF_ARCH EM_LOONGARCH -#define EXSTACK_DEFAULT true - -#define elf_check_arch(x) ((x) =3D=3D EM_LOONGARCH) - -#define VDSO_HEADER "vdso.c.inc" - -#define USE_ELF_CORE_DUMP - -#endif /* TARGET_LOONGARCH64 */ - #ifdef TARGET_MIPS =20 #ifdef TARGET_MIPS64 --=20 2.43.0 From nobody Sat Nov 15 06:33:16 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1753836183826257.19768537712105; Tue, 29 Jul 2025 17:43:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugudj-0002TZ-OI; Tue, 29 Jul 2025 20:25:52 -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 1uguJK-0004sQ-RF for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:48 -0400 Received: from mail-pf1-x42e.google.com ([2607:f8b0:4864:20::42e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguJJ-0004gq-97 for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:46 -0400 Received: by mail-pf1-x42e.google.com with SMTP id d2e1a72fcca58-7425bd5a83aso5934235b3a.0 for ; Tue, 29 Jul 2025 17:04:44 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.43 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833884; x=1754438684; 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=ACTPDzjgFM8M0mjF0F8qeqd+i/BH+25wG7KoNivcYas=; b=lBBqK7t3rtpDmX3+wZoXjW5Vuxi/3EgfdXYwVxxu0uwA/A5EKnT43bAQAkbhNr/EPm 7US/81ucXpADhsiqV4WJAHUr9hp7xgocLvfCtYO8lqAP4/9f1C3IV40+5cA1y8YlMJxq gBoLq5a9ItqL+WopZiLyqWKRn16DEM3EDks7f0DUIynSyROMS+H3AWM6MsY4PremuZAR VMSmPOpYovUz7dXUcR+gJ5kFmRwYq61xJMMWltLHC53xAnUjHzEQZlhKmgnh/OS3+e6t 232C/8aR+QhScATUh+IeT7lAGQ5EpLKlp7mKwq94dwpJU49bSLEpKjMJmc3Gz6gnmHX1 +4Yw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833884; x=1754438684; 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=ACTPDzjgFM8M0mjF0F8qeqd+i/BH+25wG7KoNivcYas=; b=Q12CaI0d1Mh+caxuwyZHRFmY0EVM10D43d9JiaV6Hg4vRP3DDsBdLxdez7r4S4RpNM zqep0xiVebiKM1tNa6/ugBa9WovGje3U7bn5plkQ5/QQKRbgTtiINkKvCTMjRpQfkHGg tnWKdwmaxTY7a9AKIZcGNo+tw8GJHXJrWb1HvXp0Ol3OdS5dkk3iwB/Qv2UlvQzGAIhw uxsKH6i9cC8tK0qLziqNXeOWGSR1fyb7oXXae2PWTcQQzhObi8UWp1IOZL+G69cjC9V2 QkAR7DALJxp3Cjcm8f7rxA7du2Ivxtg20+X1nmjGsw0zQJiAdf5a3yOgQJurLaeYUP7L nXvA== X-Gm-Message-State: AOJu0YzJ9EYDrjBWnYYe4aF+4HP8Qsf8uRqOuvOqSjTJkagB1AS4NAx+ VFAMrGnjqXdgbLxTq3LhuBnD8Q4N+rkD964Tj3/OC32ZE2Q+oNa8wP3huseAhgGYQ62wVTGof/x RZ+3k X-Gm-Gg: ASbGncvjJzcjsdni5hWT7ctghS5rpCvi+mrIqkxUKWW4t0LxPSkx6qhg7PfHNBrDkm0 I54eggyEp+f/t9Vypk8gMKZfRZfo7RSWMVO/elYoeYmLuZL5ISpmRloiC1+aNN0ujTcCzjgsX1E RmDkEXya1QHIaiTc8iCpvO3J9Q6i9RzZPNWRGfd/BuLwHJv1a/kE95CzdCuSddgSFD/B7sPk14F Jib8YuZmIDlNR9wd2CfE+sKtYCRAlHnspz2oBXjabkg1n6J4Kz9s36785dc5d0E7tArIB8q3tSC rrzv3JYZM3vz5wdDPE+8u361NWqj+FxsHTBmUuqywdcUDpUQH+0W4aZoI+mbG3/VfjxFE+QH6dH O0E281Ine+QH+LEDrW5O9QdZ+VXplK8pCuqjZJYw0sciZemAhDwWOjlf4/9FwUQ1rq4UGTtK4Hf PXM1GQm1mi0Zek5WCUKgx3 X-Google-Smtp-Source: AGHT+IGeOFqIN593tLV9TZbcSlmvPYEFcZjQsrFlGGqoL8ingwzSvbhK6Q0Ao79OF5mARyfVY0ER5g== X-Received: by 2002:a05:6a00:2347:b0:74e:a560:dd23 with SMTP id d2e1a72fcca58-76ab30c553dmr2238588b3a.21.1753833883869; Tue, 29 Jul 2025 17:04:43 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 68/89] linux-user: Move elf parameters to {mips, mips64}/target_elf.h Date: Tue, 29 Jul 2025 13:59:41 -1000 Message-ID: <20250730000003.599084-69-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::42e; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42e.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: fail (Header signature does not verify) X-ZM-MESSAGEID: 1753836185829116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/mips/target_elf.h | 5 +++++ linux-user/mips64/target_elf.h | 12 ++++++++++++ linux-user/elfload.c | 20 -------------------- 3 files changed, 17 insertions(+), 20 deletions(-) diff --git a/linux-user/mips/target_elf.h b/linux-user/mips/target_elf.h index febf710c7a..850a6d83cc 100644 --- a/linux-user/mips/target_elf.h +++ b/linux-user/mips/target_elf.h @@ -8,4 +8,9 @@ #ifndef MIPS_TARGET_ELF_H #define MIPS_TARGET_ELF_H =20 +#define ELF_CLASS ELFCLASS32 +#define ELF_ARCH EM_MIPS +#define EXSTACK_DEFAULT true +#define USE_ELF_CORE_DUMP + #endif diff --git a/linux-user/mips64/target_elf.h b/linux-user/mips64/target_elf.h index 02e6d14840..77f3b4685a 100644 --- a/linux-user/mips64/target_elf.h +++ b/linux-user/mips64/target_elf.h @@ -8,4 +8,16 @@ #ifndef MIPS64_TARGET_ELF_H #define MIPS64_TARGET_ELF_H =20 +#define ELF_CLASS ELFCLASS64 +#define ELF_ARCH EM_MIPS +#define EXSTACK_DEFAULT true + +#ifdef TARGET_ABI_MIPSN32 +#define elf_check_abi(x) ((x) & EF_MIPS_ABI2) +#else +#define elf_check_abi(x) (!((x) & EF_MIPS_ABI2)) +#endif + +#define USE_ELF_CORE_DUMP + #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 49fd098067..609e9b99b5 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -138,26 +138,6 @@ typedef abi_uint target_gid_t; #endif typedef abi_int target_pid_t; =20 -#ifdef TARGET_MIPS - -#ifdef TARGET_MIPS64 -#define ELF_CLASS ELFCLASS64 -#else -#define ELF_CLASS ELFCLASS32 -#endif -#define ELF_ARCH EM_MIPS -#define EXSTACK_DEFAULT true - -#ifdef TARGET_ABI_MIPSN32 -#define elf_check_abi(x) ((x) & EF_MIPS_ABI2) -#else -#define elf_check_abi(x) (!((x) & EF_MIPS_ABI2)) -#endif - -#define USE_ELF_CORE_DUMP - -#endif /* TARGET_MIPS */ - #ifdef TARGET_MICROBLAZE =20 #define elf_check_arch(x) ( (x) =3D=3D EM_MICROBLAZE || (x) =3D=3D EM_MICR= OBLAZE_OLD) --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835345; cv=none; d=zohomail.com; s=zohoarc; b=cCO3mRfCHpskEAxa62S28dfZ9bPcBtuSYs09Kq6jNMmHEw6ITtKWUDwOa9tAWEh0dN+HtGdZlG6eO+tgkbiDeMzkC/AKBz6JCPIYqXx+iSSua7Qalwzz7ZRwe218uDYwaljqpkn7FsdE6hhWlRmSHr+3oDh2es8u+mMmjS2xvsY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835345; 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=beNBwLii5Jeq9xzNg4DtNko2NKZVFnUreMAkEt6EnY0=; b=ZpZljLKlfuKQFisuKuIBAqVg62pZDsbZBYCkNHd3U7qeRNKe9szOxckw3ZNuKgoXZTXDcuCWRKW94FEHZxn74ajLuSd87Tu6/K9WeY6vPKcNSkam6CfeMPwopRGh8KOKMcCu5aS98SkkQ1d+Cz04d9MiDpIHFc9ichRuzMJ6x6E= 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 17538353454724.558152208872912; Tue, 29 Jul 2025 17:29:05 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugucw-0000zD-Fv; Tue, 29 Jul 2025 20:25:02 -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 1uguJM-0004uD-Rl for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:48 -0400 Received: from mail-pf1-x42d.google.com ([2607:f8b0:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguJK-0004h4-S4 for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:48 -0400 Received: by mail-pf1-x42d.google.com with SMTP id d2e1a72fcca58-7490702fc7cso214224b3a.1 for ; Tue, 29 Jul 2025 17:04:46 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.44 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833885; x=1754438685; 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=beNBwLii5Jeq9xzNg4DtNko2NKZVFnUreMAkEt6EnY0=; b=b5RcCzdoJlslOxAwh9dhyZ8YybtXjtG39WikIfQSF4qmt/qjZlj3qSACV+m1jD8isV TfJsT3LZDnrVXr8TvUIZF35/vjnDHY0yyT0H4t1iI66vZNrZKNcMeri4/WBCQsKdDCFs hTO0ihRZP9f1f/R+aYEdk7pcQFOS+FWEdYoTT3Js83+QtZZFAynb+ecO3mmKKxnQqivH 6dne8XASEUzajBHQBVRTAB2No4sIRAM0RTDLM4znJpYjI+fj9rqrgbtLBqBDRVw1999D 6aLM7EORVaZKXWOEYZwHCAMadYWtZT4J5NZNwFX5p2RxMuT+HabD7Kt0gvAfOTi+NToV jniw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833885; x=1754438685; 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=beNBwLii5Jeq9xzNg4DtNko2NKZVFnUreMAkEt6EnY0=; b=GEJNPLQ5xA0LBn8ZfS9H82cWerrINU+OZUyV/hqxKereEfdf4y/8ZbjofrnbHg7hQa U3Q20WB8FCdEQhAdW4BN2RTFlvNz8eNnZUcQyaqbR9hV9plrhiuyG2pFVmJxFsqcQJM1 cgRrmQjRo5x7LEO3ZogPmTmhgqTWrm7U2iqBibyHg5ydm0/z2FOYSd9gnRw+rwCRwhMI XXmtN1G+lOa0r3jO4WvnGDz9LaxZp06eieXDqPWYNnQQ1QRVjVNaNHSuZ1yCyAdJime0 MX/6jBPRcIPAP6amjF97ZloLjQ8I0We3x1Kel/xk+aT0XgP1nR4VpDh/a7GI0eTIVhC/ 5SuQ== X-Gm-Message-State: AOJu0YyjdS7UER2WsnEpUFGqgeSUAu5v9wrR6IoaIEM0DdThfb6TJP/W sMhaYtJftW/Wbb9zBR6nZvi3DXxIuEFpE5P7QKQ24aCAqL6ForN6pJ7+ldPeSvDJa9kwZ48liNF iN1Ke X-Gm-Gg: ASbGnctlXWXZR4lF3SRa2Z2xTjFYdVwVKsS7C2hnxc5nDZHD/fZsBhpXRyCo0EVsYXc boVQssiquvqzK/rEm9G/7pxDuqrNf6msrsm/V6bGOpO7XBPBEKDvQO/OeyrVYQs7bi0kHWUayhd /hyr4UIECw1eyqPPcAi1Ht/AGc4quCwdgSZNjrjRpyP36iYKtwB73eqPPCqX+CFexp6E57mPj6x 1t8a4Nv8a8FtyiZDDb+cria7+7ywrmFp6tIVBd4qr5E9cbGGIC5MS3z+3c0InkLALZM/T3Beoyu YBq01slSHuuoLs1sJZvBnjTWbX76VhOYtvNj4mX1010s+oQ9A31ue/XZnEMieeJJPLVKHZv+zeJ LDXAVFtorC6gPtq+SeYqfMyYdwJGGyKaaEFxWlaBp5uwWjFqKUKo0tVWDS3L938OJQEPR6vJ61a 9JXyrCXHoYFQ== X-Google-Smtp-Source: AGHT+IEdbgrxAqklWPMdyvmV4Ju/g3hL4HuIs6FO1f+sMrMWIYnJxUmxcYnGX2qz6tz4p6ZAKynJxQ== X-Received: by 2002:a05:6a20:729c:b0:231:620a:4509 with SMTP id adf61e73a8af0-23dc0e59dd5mr1824299637.30.1753833885191; Tue, 29 Jul 2025 17:04:45 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 69/89] linux-user: Move elf parameters to microblaze/target_elf.h Date: Tue, 29 Jul 2025 13:59:42 -1000 Message-ID: <20250730000003.599084-70-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::42d; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42d.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: 1753835345689116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/microblaze/target_elf.h | 5 +++++ linux-user/elfload.c | 10 ---------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/linux-user/microblaze/target_elf.h b/linux-user/microblaze/tar= get_elf.h index bfe2997fd2..738a101f67 100644 --- a/linux-user/microblaze/target_elf.h +++ b/linux-user/microblaze/target_elf.h @@ -8,4 +8,9 @@ #ifndef MICROBLAZE_TARGET_ELF_H #define MICROBLAZE_TARGET_ELF_H =20 +#define ELF_CLASS ELFCLASS32 +#define ELF_ARCH EM_MICROBLAZE +#define elf_check_arch(x) ((x) =3D=3D EM_MICROBLAZE || (x) =3D=3D EM_MIC= ROBLAZE_OLD) +#define USE_ELF_CORE_DUMP + #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 609e9b99b5..aa05abec05 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -138,16 +138,6 @@ typedef abi_uint target_gid_t; #endif typedef abi_int target_pid_t; =20 -#ifdef TARGET_MICROBLAZE - -#define elf_check_arch(x) ( (x) =3D=3D EM_MICROBLAZE || (x) =3D=3D EM_MICR= OBLAZE_OLD) - -#define ELF_CLASS ELFCLASS32 -#define ELF_ARCH EM_MICROBLAZE - -#define USE_ELF_CORE_DUMP -#endif /* TARGET_MICROBLAZE */ - #ifdef TARGET_OPENRISC =20 #define ELF_ARCH EM_OPENRISC --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753836307; cv=none; d=zohomail.com; s=zohoarc; b=jMR/ZUtDazhM2X31Lxc4wgXhqeosN7BndeulTNIuLL54SdHPQGBKwB5lo9BmOb3TXXg/Paq7gUEZa+iiEEG/S/ReT5bP7SNgzniae7bwBPhVp5n0yQ8bJZlZE6+AwJL8AcD6INnyVWuMGCMvxiFIckxzgLUEmqLXPRnUFySGrHM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753836307; 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=P8lPJjGll0So1byMy/+oBlKdiKlOqDRJHguxp9paJTQ=; b=TTzalBVC+c55PISKcnS9OQ6xnQRzRsq3VOfHY2ofNMk8n8DqFOAdRHjOfkd+UydUAGgpFGWjHTjgurYLpdIOwnq7yR8s0bqgkpSweLTo4kE7HBMna34AtnX7jUQKWB2kAINCm584bNgDezx29bnl7jjoaBLcxqkiuwqBjFfaLwM= 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 1753836307476353.02052369079297; Tue, 29 Jul 2025 17:45:07 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugueV-0003MB-Tm; Tue, 29 Jul 2025 20:26:40 -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 1uguJO-0004vg-DU for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:50 -0400 Received: from mail-pf1-x431.google.com ([2607:f8b0:4864:20::431]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguJL-0004hJ-P7 for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:49 -0400 Received: by mail-pf1-x431.google.com with SMTP id d2e1a72fcca58-769a9c3bbc4so1412347b3a.3 for ; Tue, 29 Jul 2025 17:04:47 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.45 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833886; x=1754438686; 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=P8lPJjGll0So1byMy/+oBlKdiKlOqDRJHguxp9paJTQ=; b=kzosJjLhSEh/vNIC629JJ3+61kmFvE++X3S1YHvpELyewDanNguCxtdUbgJ9DwmZ+B UQSqapwSChm5qFOroB7/8AAqbSEiEfShx+N/7WFUVLbErHGEBJ5Zqgj01aAgPYBGeF+N PlVoQcWXNcudmTVNx4qzd+S4cNSz8MuuC+5fzRSuXgaaE4ruYYwnLdlu3+bez4WuITtl 70ooYAeKE0jL+gxydY7DInqCgCBGuAi1jqSvTXIo7+R60C/vPPUNS4uTAQZGDvQsGcb4 cHZ1bclIiwScuIjkU5s0jnrEZkjit3wfdhy3U4HpPmU26K1xuFmamTd6S8UOOC/5SHI5 DoZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833886; x=1754438686; 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=P8lPJjGll0So1byMy/+oBlKdiKlOqDRJHguxp9paJTQ=; b=LhJkqMij1fjv6saSL7Q2cuekBnS6T8TX8w9XeGgHn8uFXgJ3jPJu7uwGsJ9ZcfyBkU BQrLm31cJuncUfHZpB8aarJQI3T9TrYgJ75JHaQ9oo789at06xW9YwiHmgzdonQDdFq5 v3NJKvNOgIt5jfo/DHxgR93JSEyFnwjAjQ/7lpkXIUNh9YJnvTWz5gkb+MUSQi8/BAEJ InOJvxCcHrnR8Put8am0fWzJV1Tsy74RdQS9hgRkqUO2n9IWzQ6MuUGdsZv7QQ7bMnPQ Bb2MDCZ5hk8tJQoKIWkdWJGwOVe5f1I1uxnCyJEUDn3YzFe3xApek20kG8fnAAq7B63Z Qrkw== X-Gm-Message-State: AOJu0YwVbJWzaADAbfmXvd7XG8wtaEcYj0v/+eKqFb6TWym4QvLCJzPG 3zH1OqASg2xsiaxyVX7DDvFhz2ZHwuvvrSRmWPAAwSAUnTufrNEgTvDSmNCcvo/ioukrlueesAY Ynbi3 X-Gm-Gg: ASbGnctnkeSR0Wgq3WxIxn+kw8K2MHc1LxKfNNEUsNZo8GGvTVtOuDe4+rcPWUYjU5m WVvr3ljTJxqslZlCCLzMWBPojV0T+BHSJc+2t8avf+6uxJYn4zQ07tk62b22IwIGhJqHrHG5z6c 6uFd2R1nmlMQQffSvFlVRqVGycDbVfv18He/SkgWi3t7difV947ZfD3ctCBxL7c9yaawWMUM+mr kE2sXEHoEgpUfIsjg27gA8j7CncgGicZLqvRaS4GGACYSWOM6asFHrMTTcvrXjo4JsDk1M+a7en fDcLzOKtaa+uVlRHse865KJ+K/6DbGOy9w7R5Z/7OOTTAGpPdhEfX3qYjgRCJ0Gj6EUyu17WhdR YwQoeNwNxvMxFBXZTbTttQmo9ujfQvGQZIVRs46A/jy6PkFhz3h+pnZdPxbMnYHO/Deq4VU+R+r DfQpMfY2EJ2w== X-Google-Smtp-Source: AGHT+IHI9/RTY2PxpTjJmAZ3AjCwNNr3N2KSX+xCeyT8mvBAldvmiVz5u7u32XBCD7zjP2CCayGyog== X-Received: by 2002:a05:6a00:3d12:b0:736:4d05:2e2e with SMTP id d2e1a72fcca58-76ab1021712mr1866683b3a.6.1753833886409; Tue, 29 Jul 2025 17:04:46 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 70/89] linux-user: Move elf parameters to openrisc/target_elf.h Date: Tue, 29 Jul 2025 13:59:43 -1000 Message-ID: <20250730000003.599084-71-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::431; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x431.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: 1753836309039116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/openrisc/target_elf.h | 4 ++++ linux-user/elfload.c | 10 ---------- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/linux-user/openrisc/target_elf.h b/linux-user/openrisc/target_= elf.h index b34f2ff672..0a2b3ef762 100644 --- a/linux-user/openrisc/target_elf.h +++ b/linux-user/openrisc/target_elf.h @@ -8,4 +8,8 @@ #ifndef OPENRISC_TARGET_ELF_H #define OPENRISC_TARGET_ELF_H =20 +#define ELF_ARCH EM_OPENRISC +#define ELF_CLASS ELFCLASS32 +#define USE_ELF_CORE_DUMP + #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index aa05abec05..a45d23b91d 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -138,16 +138,6 @@ typedef abi_uint target_gid_t; #endif typedef abi_int target_pid_t; =20 -#ifdef TARGET_OPENRISC - -#define ELF_ARCH EM_OPENRISC -#define ELF_CLASS ELFCLASS32 -#define ELF_DATA ELFDATA2MSB - -#define USE_ELF_CORE_DUMP - -#endif /* TARGET_OPENRISC */ - #ifdef TARGET_SH4 =20 #define ELF_CLASS ELFCLASS32 --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753836281; cv=none; d=zohomail.com; s=zohoarc; b=LNS04oBKNYNKTa4nsHvOLFO/iyWjYx8xt6Z4KTkfN/WBtv1lKfDc4eOUMaGDc9n9zLwKXAVRbMcPXCo1Mr4bIVEMAtQXX1VZd97vMfI4ilzQTasb+WcPh+Idkqi5FLolqDBUVrlL8usoZBvTE1Tzx7ZfXnOq8uprUuJdEE/TDK8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753836281; 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=51SXI9qij0/dgOIFVRy8/27FFUS6YEhrr91BtvZXKvA=; b=jD8AiSwrJGFD6JzqW6Nptwk5AB6cRFUch0tUK3pl9Zw3d5WSAJSAgj197EjP2Nx9JctIt72SHN6tN8TGXLlV+pMep1NlOsKPE1hxDHY381Y1InK/D1F3T1aTR1b2eyuQhthGBjOKvBiipCasofCRraz/zwyAmoajVbcMG6pdUfM= 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 1753836281676362.5992843688332; Tue, 29 Jul 2025 17:44:41 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguen-0003uP-K3; Tue, 29 Jul 2025 20:26:58 -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 1uguJP-0004yT-Ts for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:52 -0400 Received: from mail-pf1-x42f.google.com ([2607:f8b0:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguJO-0004hT-4n for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:51 -0400 Received: by mail-pf1-x42f.google.com with SMTP id d2e1a72fcca58-74924255af4so5228232b3a.1 for ; Tue, 29 Jul 2025 17:04:48 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.46 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833888; x=1754438688; 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=51SXI9qij0/dgOIFVRy8/27FFUS6YEhrr91BtvZXKvA=; b=V2IBNwup/PyR63QC65uqf5hBY4j03tx9mbhY0p6BSKUquos+uXPQ3+U7fh3Kejh2tm uMsjCpBKX09wTmDk9WAYQeGu7vH5KC85z6tN3oRohSBiQjGvBgfjHmG3WfaAfMi1p4KC YRpWhpBmB63kFvGycAEdYDD4Hy7OqZ3Iw0DHhgW0MJcyZA+Qm1tAtN7mVdYq+jq4xp6r Osiylkn2rRM9QYSUSJLbg7dt5eN8JHliKdPAxkr5+bNGHrd1Ev09WfewrBe2kUYKclRE NaUdldaJgPDGaz+y+GpVyKweFSiVnOkNYlAkbijHl00Y1Hfkuh2n1CX+cCkmlUtttK41 Pu8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833888; x=1754438688; 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=51SXI9qij0/dgOIFVRy8/27FFUS6YEhrr91BtvZXKvA=; b=FYtDSRvcG6ixy/s+f2O0F3k7NlliACFcXKZD90eriKOyS3/CqzfqTMv/xtHWmpAFdJ j50PKL5rYD9EUsyNQinuanLVpJZ86JAtMb6iOfPWf9ZdCcLT5luCrm6ZF2PgmjmihLLE tv/WjSbOLwvqgfifuEo4TdEqDsm+H6mw9q3RGozUV36HL7pZaYjB7nUpFEMMj+XF7+2F Ms1z6eJEU4X7Ibg1vrLa7uKEXi1fI4Gdk/zygZhRcKgL7S78IK82UGAesI8N17PI+OU1 c/NCGC4fbJk9k7xqYIGtYxeR7d/WQ2gqhaufrtV6CpWz6yurtCm6/EZaYDb4yhEry+dG YeNg== X-Gm-Message-State: AOJu0Yyxnjgwti7+Qkyw9iAgR2SXFmhH57JVE2CGKSfT9v73GIkDNIQh J7S9hWOTZe1IDgUfgwFdxKgLTv0ScyKSGjOfR1c5grlrZYOj+TY5PeagagVFzgW8e9l+ny462u7 oOfho X-Gm-Gg: ASbGnctSXtmgBG8DC5kLvD0lyd3ZiDPjN6q0/tPqLsOG4vx65YOR2Jj4dzq8uBvT5bY tJaGDIpdas98/9bVtS4X9RJuBlZcdUlOFhQB6FnQ96eFKs0eRYFTTD82B5H9YY/FF6naErI5baU qYrlHmFlDaiaPgSmQPrZF1KxN1RjpOJvbyChyGXFMsV9Bmt6uWTjqGvjfjmJsl9uZs0KWCo0f9t FRVddW8ZTyAXq14F3SmcWhHp2fnphxWbXh1HUjerwi8VcoZCOR1L310cGSsJDZ9Ez401zvgim56 KwinAMiY2PDOV6Wk6Eg27ELvegVeX3AjQiyd9rA3zWFbAtUUWZfmZZoelOLOMB8klA/IQGJfuLd 6LrFQ8BPNdUJFFnpaf6L7DyoOJy2YJBwCt2Gevdn0DR+UHofpZw/Wfqxxaub5R4aoVWCRSidT0Z xZRXZU8JR6+w== X-Google-Smtp-Source: AGHT+IGvX0Z23xSVDbt0uaV8HAr3lrq1tp/vk7H6yi6fjwTBZ4S9TqCONocEqJsVvPtKsxV45ah5zQ== X-Received: by 2002:a05:6a20:3d26:b0:237:b2ff:d1e9 with SMTP id adf61e73a8af0-23dc0d04459mr1831827637.5.1753833887591; Tue, 29 Jul 2025 17:04:47 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 71/89] linux-user: Move elf parameters to sh4/target_elf.h Date: Tue, 29 Jul 2025 13:59:44 -1000 Message-ID: <20250730000003.599084-72-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::42f; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42f.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: 1753836282940116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/sh4/target_elf.h | 4 ++++ linux-user/elfload.c | 9 --------- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/linux-user/sh4/target_elf.h b/linux-user/sh4/target_elf.h index d17011bd75..68b58beaa4 100644 --- a/linux-user/sh4/target_elf.h +++ b/linux-user/sh4/target_elf.h @@ -8,4 +8,8 @@ #ifndef SH4_TARGET_ELF_H #define SH4_TARGET_ELF_H =20 +#define ELF_CLASS ELFCLASS32 +#define ELF_ARCH EM_SH +#define USE_ELF_CORE_DUMP + #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index a45d23b91d..38c5f2c4e9 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -138,15 +138,6 @@ typedef abi_uint target_gid_t; #endif typedef abi_int target_pid_t; =20 -#ifdef TARGET_SH4 - -#define ELF_CLASS ELFCLASS32 -#define ELF_ARCH EM_SH - -#define USE_ELF_CORE_DUMP - -#endif - #ifdef TARGET_M68K =20 #define ELF_CLASS ELFCLASS32 --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835030; cv=none; d=zohomail.com; s=zohoarc; b=MUHVcd2rTuE+5ZF5AFI1Wz2dzSG86o7nuDnJ4cMyvoctnqDrJLgRVMrxPUOC3Av/SxeggYNW+zWta8SfLAqBwgb5u7M4WpptbI03Z1YOJDvKbaU+oSRnJoALRPP3dKnPgNH6rw0cc3z4j7l9BGQRboTHrw6bLYifFUTyaEddYHE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835030; 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=BRAZx2uDN1mem6V9ZwYcKBEKSI/7pCLC129eqDEE/rE=; b=ZKwwEI4y1zgGv0f6QVz7CoFar0Dvrl7kVJokL/l1v2c/NxLLGw/3+qy1FEvgeDSwTVcDrmOxMHwJYNZ+nkWdqIQvmVRg3AghcqIv5rxFpt7OKBVdCihaMJ64qKryzPSkzvJbhOdTaRI4NHF+/NlptpMvWO3Dwb5wVf6EW/hofiI= 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 1753835029956609.8441253423692; Tue, 29 Jul 2025 17:23:49 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguZi-0000UO-Vl; Tue, 29 Jul 2025 20:21:44 -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 1uguJQ-0004zL-9Z for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:52 -0400 Received: from mail-pf1-x429.google.com ([2607:f8b0:4864:20::429]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguJO-0004hl-A1 for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:51 -0400 Received: by mail-pf1-x429.google.com with SMTP id d2e1a72fcca58-76858e9e48aso2362195b3a.2 for ; Tue, 29 Jul 2025 17:04:49 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.47 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833889; x=1754438689; 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=BRAZx2uDN1mem6V9ZwYcKBEKSI/7pCLC129eqDEE/rE=; b=HVXANgszimjV1icv9cyObScynvBq9tq6h8atyTcSRhKiGl4MbQzAKg/UmAnOc/9C7g yEJjjikHav8pvtq2rHedl+yIX96p8jHYZiwag9CypBJA5mGfw/CTWJHEzI6vKOFD3/tR +LxW+x65zvq8nSAb5dToT6Eldmqp2X+oCxPAUxdlSmc2w2INmLkaPj0prDMqvvv1mKu7 0JAVMxwmZ083aGHhH6U8D1h3gBJF51IQHn8hdZt1iQ8H7VYPTX6/LgTczweCsPQr35e2 0GSzA+OPYwYKxX8ljY796Xqra6+Vniz1ea9A8+jtMypeJ8G/Ed36KmapbzKG3BId1z5d oNVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833889; x=1754438689; 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=BRAZx2uDN1mem6V9ZwYcKBEKSI/7pCLC129eqDEE/rE=; b=waJ0xONX2EZ9XpPpIsyUnFi6lBKffON1g3CICIl7bpY5KqBSOuAOt4nyCX5tZpqWUt hx+vgFHXaCjekk7V4Jl5n9plMmAJE8df9LYPd4GbuZAnL2D4tLrLA0zoSA5IxsqnTiuQ kVMzhifnvVqG5xWTpQtZAbTXIaDqNXgtXhRhfX3uCBpLLnxStAWXFhrI4ez/VKO64xFm oZ1L/iH0wKTwP2VnHSkio6YuUG0E2Dk06j6oXNxGupHsAhyYD9dlLXJ2N1HMQ+RZU/+/ R7svsN0BPhB22Q1xrjAUKaDDYMtq7kTV6Vdi7lxcxT0MenK7RLMYwApzR6FzwDm7ZzpW 0U9A== X-Gm-Message-State: AOJu0YyaNMqhp+bcMSDNAImIBDyKAWxZ1B5+JXGE5+Ntl/NRRuIDfOmz Y0+em5AEYbQH6IuxOCxSgJ897CtosHeg+0QTpvqBDlr9JCdh1LQiMr+/gxllk0RYr6G723SHt6Q 0LG/+ X-Gm-Gg: ASbGncvdyb5Ug3OnYQQQchAiavd3JEkAhWxd9Nv3qcriBQEJV/sAB/noZc7mUFK34+9 xoQxMaMiMSHgRfy6GM8bhnIuVRz4KcJ+9KBaMdsNw7hkeP7yRUGSz21UdZYoJDhu+IpVdR36CTa +Q9vB1gjyzcvkBEMaEJSyb/5TRzSKOQ5eMmh7QZxd+vxIaLfJp1/oLUSc83lGQkir7EGnUF85qx M8mC/0HQOI4KyqJywsXS8jNjKIeZMZFiCh8YL5RuxqRlfUkXPG6CWLuaqsBUGbA45+1Ph+cynru ykPv/m2D8Q85PBXpPH1a0HTFmbAhGDTFF+LP8zKBwQh8NtJujHBa4k95iB0O8Pe5UuIOolsb+IA um4d3xV+epYa6sF/oLYOuQ7LixJs8yBxIf2UIXahSqD5ZDfvqKtWKO4p6+fYzr93hay7xZA03rV dRT9yBI8dBFg== X-Google-Smtp-Source: AGHT+IEZWe+wNj31XbuZYcLXcxPtZGa+esQh2OLCiXgYlz/BqgyG2NV7F5O7EcuWt4mQVZDnk+EiaQ== X-Received: by 2002:a05:6a20:9392:b0:21f:39c9:2122 with SMTP id adf61e73a8af0-23dc0d84dacmr1919869637.2.1753833888607; Tue, 29 Jul 2025 17:04:48 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 72/89] linux-user: Move elf parameters to m68k/target_elf.h Date: Tue, 29 Jul 2025 13:59:45 -1000 Message-ID: <20250730000003.599084-73-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::429; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x429.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: 1753835030709116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/m68k/target_elf.h | 4 ++++ linux-user/elfload.c | 9 --------- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/linux-user/m68k/target_elf.h b/linux-user/m68k/target_elf.h index 62ff9d38d4..baabc1c040 100644 --- a/linux-user/m68k/target_elf.h +++ b/linux-user/m68k/target_elf.h @@ -8,4 +8,8 @@ #ifndef M68K_TARGET_ELF_H #define M68K_TARGET_ELF_H =20 +#define ELF_CLASS ELFCLASS32 +#define ELF_ARCH EM_68K +#define USE_ELF_CORE_DUMP + #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 38c5f2c4e9..c88fbdebb0 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -138,15 +138,6 @@ typedef abi_uint target_gid_t; #endif typedef abi_int target_pid_t; =20 -#ifdef TARGET_M68K - -#define ELF_CLASS ELFCLASS32 -#define ELF_ARCH EM_68K - -#define USE_ELF_CORE_DUMP - -#endif - #ifdef TARGET_ALPHA =20 #define ELF_CLASS ELFCLASS64 --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835236; cv=none; d=zohomail.com; s=zohoarc; b=Q5vjM0Uuv7yppG1ehyECRWZGQaeYlbW7xvpdjON1vDG3KQnONg06okwbaLWNTn7vVkdeSryxXHsa2h2LxTv9QoEbEth/8a8E3/Kiu6knb5GGMQwwVkK1RsFSNPl47Pce3IDDdXAt24rCqhDOlFj6FXZCXNeF0umuzZa8jQ0LY6Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835236; 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=x277x9XlfNKg6YalaQn5z9z1qFLWVkh1m89cfSCEzVg=; b=c8O6c2ZpNlvFL+c92BHuD7+kJ7skgLWAEdghYQq3UbeQtwHM+qcLvGzLebo0/1LDP+/d6KQlhg0qy6NmEZeE4Iw21XDAv2iqQ0rksoHjjWNwrh43B7GO1REromFXkhAPWFMsLOdrcap9f0R93k3b2/NIXfU0dQId+bXh+Fl6YaU= 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 175383523687862.238211245891534; Tue, 29 Jul 2025 17:27:16 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugud4-0001LR-Ab; Tue, 29 Jul 2025 20:25:10 -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 1uguJR-00050d-FW for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:54 -0400 Received: from mail-pf1-x42d.google.com ([2607:f8b0:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguJP-0004i1-79 for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:53 -0400 Received: by mail-pf1-x42d.google.com with SMTP id d2e1a72fcca58-75ce8f8a3cdso3992004b3a.0 for ; Tue, 29 Jul 2025 17:04:50 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.48 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833890; x=1754438690; 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=x277x9XlfNKg6YalaQn5z9z1qFLWVkh1m89cfSCEzVg=; b=qkVovCLjc/bBuWIX3JiXCGbrDETb5mkBEjdtQds5CZJFEzo1dsCWOVdrNpEy7PoXyQ 6f0pcJgE9wAQ3jb6F+Kvfl4tzaBsQRtpOFpZmp6M+5EKenovr7RHAd12+k9LgfEx6+tk q6SxCbSRxBOnu0fbcG8zL2oraDXU05suEH+gu3TgJyP/qQSd0oaM/xrJsPgx4CA1r6Xn GNe2iNIvonqTWjBIqRygYSUB37gihKBqS/7OJhOWzt56TIYhBDAqahVHgHtEWnblRNi4 Rac/b5hcrLewEn9UIStLbbyDKBAjR64b4++BJEKtffVj891etewjlSQHENK3me9U6fXQ s0Og== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833890; x=1754438690; 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=x277x9XlfNKg6YalaQn5z9z1qFLWVkh1m89cfSCEzVg=; b=nfnxwDLLgxnUKGV3LG8wdlpGb4xs66K5sPpUkbrmurvpydSxqWsuyARxSOU+s34uKJ gcuiwApeN+CTDXgsW59eRComG+vpHcMrOaOABzRtVEfCbbOEOkAposCUyy5+utdBWOoM OAndlCpQblU0SM+Rgxc4P0lverLues8tT17HQKyGX/uOcmG2/pWhlrcn7/SpuSL7+Ocx ROdoEkZcHcF24k5B21hY0AiuUj/S38LJtjFqZuG3bRZT5PIJ1YvV02ISnip0DFC4I6hj DSgm4JV3L90wBY983BJfI+m0f1gaMERf9Tt58iwa3LlNV9xdxrFbesGoTPwLD/eLSQZD MagA== X-Gm-Message-State: AOJu0YxY7/jLPLti41+gbSRzw3vwH06tHp53Cut5s1YqHtMejqybMlox ynIV6sJRp/28gh1WwYp3y4+B1CDC3HIvCOU/qwKeZHASMIbA1YZiNTSVITObToB1XpStueQji1J ae618 X-Gm-Gg: ASbGncvlxj6P2+7kX5BnhtPFEfDCAH/QeX1OCSZQmgA6EollmSyP2wiu6WTMH9xWyZg uA3HKOAfyzn66GYHaZNMGQUVlGqluYqyoNiewhW2C+zghs7B2RtesLtRawjanbRTWZsOOjGqAom GcyFC8JCZma2ogHQBPIUAOkpNsaGc6vBiQ9wHj5rQUOzOGHFPXFwqIHdEar3xQY3y2itdGdjVt9 LmPzS0nRE4MoMuRtebuiWk43JmBytEuf6mmHgL8YJoemtktwJm+ZXpQp+zlxDvjM0T0hQQfybGV UdAWh0P1QpUs+Y/VuxAUYon1TqRU2nZphV5s3r36eK/U12DLQqqbZO2uPXPybixO/B4Y+CH49mP gidoUs8eCMd8LmBmbyy9uXHg+OR7wW4q4uCzUDPzMmCYVwEr5yehD2t8XKutrsJW6xFqNC8wcKw JwZMvNST3wOg== X-Google-Smtp-Source: AGHT+IHFu5AY9ar2uCqIQvvA9LT1HyKB2hfAbx623gqO4S/KfYz0J7laLbE98mz5qy8HsAP4gbykWw== X-Received: by 2002:a05:6a20:431b:b0:231:c237:2452 with SMTP id adf61e73a8af0-23dc0ea7c28mr1945410637.42.1753833889780; Tue, 29 Jul 2025 17:04:49 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 73/89] linux-user: Move elf parameters to alpha/target_elf.h Date: Tue, 29 Jul 2025 13:59:46 -1000 Message-ID: <20250730000003.599084-74-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::42d; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42d.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: 1753835238795116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/alpha/target_elf.h | 3 +++ linux-user/elfload.c | 7 ------- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/linux-user/alpha/target_elf.h b/linux-user/alpha/target_elf.h index 52b68680ad..f9d6372c9f 100644 --- a/linux-user/alpha/target_elf.h +++ b/linux-user/alpha/target_elf.h @@ -8,4 +8,7 @@ #ifndef ALPHA_TARGET_ELF_H #define ALPHA_TARGET_ELF_H =20 +#define ELF_CLASS ELFCLASS64 +#define ELF_ARCH EM_ALPHA + #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index c88fbdebb0..4294a6582e 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -138,13 +138,6 @@ typedef abi_uint target_gid_t; #endif typedef abi_int target_pid_t; =20 -#ifdef TARGET_ALPHA - -#define ELF_CLASS ELFCLASS64 -#define ELF_ARCH EM_ALPHA - -#endif /* TARGET_ALPHA */ - #ifdef TARGET_S390X =20 #define ELF_CLASS ELFCLASS64 --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835029; cv=none; d=zohomail.com; s=zohoarc; b=BJSTP2WZBm3ULxRbOnMvq3SSm6IOyFpbWBVJcCLZx752925S+gnkmbwG8ssx+ERBP+Qi2tAmonbxcG9NbHjri+jLK/vqVR8pcQ63q0oqiAUb+KjaT+0etSh38WXBQobvfw952C4J14dkT6L/s5LrSzGYsHYzwSP9ivITT6q8GdU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835029; 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=1+P6kcom5eZVcs4b+LLYYeR5bzhVw4lKdm1pavD8/Ww=; b=k9xkOksYjPRxxccan7QfUaXzJioZCfMc07Vp25SvOUKN1Xe8zAC4wxOL2I7tXniYU/8h1fwVLiQmCLd8tT1gScvuddLxRQTM1/R359ASJWk73EBqcKal6Xeyuq3QbU/4XAUus0BnA09pT59UvM5GKYD2M3haK8h4rUnDfohu80E= 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 1753835029513685.9798821868943; Tue, 29 Jul 2025 17:23:49 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugua9-00016l-Po; Tue, 29 Jul 2025 20:22:09 -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 1uguJT-000520-7B for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:55 -0400 Received: from mail-pf1-x42c.google.com ([2607:f8b0:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguJQ-0004iD-Ro for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:54 -0400 Received: by mail-pf1-x42c.google.com with SMTP id d2e1a72fcca58-74b54cead6cso4142264b3a.1 for ; Tue, 29 Jul 2025 17:04:52 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.50 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833891; x=1754438691; 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=1+P6kcom5eZVcs4b+LLYYeR5bzhVw4lKdm1pavD8/Ww=; b=WhT1E6w6kp2wZJaLwpmnLgJ0SKJdNbsm7xNo3eWNCtAAqpHxjxeEPy2yWapk1cNi0z r/OWZPp+YUk9TOwu7HN7kccswAJw8A0DQVHyDv6HN7khHQV3JI5M41J0tJnWfG/HA5le bNZ3wlfaDLZDElIq2SToP7JFRYzguck/netwKVZ34Gr1qEenpci+X527JrSQYlmu9ZCE xUibGaa7DbFtI1Y2vfanVFSdncBLQ8xEtv0twosRuYZ9PI06s4+eyJl6j7ojG5q907Iz xXnX887r6XkVIjYzKg7bSi2+RvY/tJGXZg+sF1nZNSUHCh9F0OpbaXBdtwNpLReyRkSY Ma0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833891; x=1754438691; 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=1+P6kcom5eZVcs4b+LLYYeR5bzhVw4lKdm1pavD8/Ww=; b=LEmTFQYwfIznlIqWF465ml+EVVU8vmFV3jh3f182XrnD0dzoIvfZDgdd1LyiRi10GF ubQF+5CjZK3v6hgcoVPwhK2hwuXX8qQiqmQLZug3Nvf+LG62/JtxSkYGwoOTyRETUdug 2Ltq30C0Xl7XttugY4z6ZfdiuYBqwRYbA9R8+xYqriRukZWgbSCDC/+kJpkK1CxZFd2B 3n3aY6hfTLwpKjub1U+PNkB/JYSl1pMXlM4qOANbk2FbRU8I277VU3XDLMSHU7ZIpSM5 yozsNL3dQDHZvLg6su8lO92k6K1N9HNrgJvi9gOzeGyw5CZWxFiDihRGnT7CGxktjEcS MRyA== X-Gm-Message-State: AOJu0Yynec1k3ofYZjh2tVlhjK7QRLLMaCHCC/J3z1wIEAeAfL2q2YIO gSOo+rlUZQpFS9shGlXS6AhKxBuu36y6/Mk/vKopykFcJvoKxYESrM3Uv7rZsR6gDT2/vTGV1Ra uNTeK X-Gm-Gg: ASbGncudOxyxNIE0jqA78lEr9E0U/bdlg/BSDQh5y7XtI3h7kaCUR2wU+xYvTjzBEfO +B+xohQ//RuQdVpqY3KvXlyTzVEKjpTe27kr1wFZiwDV6w0PlCUr3eiptz9w7h9qIo0DJC1ahjC H1h0VWm2OjNy8zaoKlQ0PI346RXyNJUpu/aiw/r0chLX8lBdfGxnKhJOYm0hygBrgppmZk5klQy LOGxTyk2GtEPovcr2hGqj5oA42Hf7wUV84f45Bx5wzbKfitqtF7bL6b0UUqGNbKZsGuaP6vizyw ixKmFO1oZYlnc2Z0HSc/wZK3+pSA9xHzltnifD8Ivk5zuZ0rjx1FOsdb35UcXbMtjQ731mOTZl6 /mqa2ydNSr6mDkgZjW7aDmAKJnMI0uKAWwaqBnGHOKvp+xMvvCvA9VyHgkgmSQpwiTGY74oT3eC Ym8ti9UzSchw== X-Google-Smtp-Source: AGHT+IH1AQFW8LikGQ8I7UKsfMJJK33lFQ8jSphVSt5qCnGWon06cjLP6pI87Q0kTqqJos0L6PbWjg== X-Received: by 2002:a05:6a00:2e17:b0:736:51ab:7aed with SMTP id d2e1a72fcca58-76ab2e55d58mr1847586b3a.16.1753833890959; Tue, 29 Jul 2025 17:04:50 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 74/89] linux-user: Move elf parameters to s390x/target_elf.h Date: Tue, 29 Jul 2025 13:59:47 -1000 Message-ID: <20250730000003.599084-75-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::42c; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42c.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: 1753835030755116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/s390x/target_elf.h | 6 ++++++ linux-user/elfload.c | 12 ------------ 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/linux-user/s390x/target_elf.h b/linux-user/s390x/target_elf.h index e51b053339..aa12ecf36b 100644 --- a/linux-user/s390x/target_elf.h +++ b/linux-user/s390x/target_elf.h @@ -8,4 +8,10 @@ #ifndef S390X_TARGET_ELF_H #define S390X_TARGET_ELF_H =20 +#define ELF_CLASS ELFCLASS64 +#define ELF_DATA ELFDATA2MSB +#define ELF_ARCH EM_S390 +#define VDSO_HEADER "vdso.c.inc" +#define USE_ELF_CORE_DUMP + #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 4294a6582e..28407a7a00 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -138,18 +138,6 @@ typedef abi_uint target_gid_t; #endif typedef abi_int target_pid_t; =20 -#ifdef TARGET_S390X - -#define ELF_CLASS ELFCLASS64 -#define ELF_DATA ELFDATA2MSB -#define ELF_ARCH EM_S390 - -#define USE_ELF_CORE_DUMP - -#define VDSO_HEADER "vdso.c.inc" - -#endif /* TARGET_S390X */ - #ifdef TARGET_RISCV =20 #define ELF_ARCH EM_RISCV --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835897; cv=none; d=zohomail.com; s=zohoarc; b=IJZEgKxnUPJbWnr/IJ2VIGCxACf0zjWstHs6iMa7giqOwYCmndaLR/p8hrZ2DqmUG5u0CWjB+lYesrhNFulQHv2jn4STioe7ZR0SDodSawdNQYHh6JVcf/XXkJ7bGmHRGkKePw9NlQJDF1BO9Y9wunTIPc3N0EtBg+5YMJsVmDk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835897; 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=kWgDhWz4q+LKEdoNajQZaWxu0VZK98DRBw6c95eDtrE=; b=dhPVlCeDvu7RNhTsk/6NDLhgG11lo+Paa2Exg/EJtJVfEkKZp6EB5oSf/tpw8kNMxd3Ki+U/WYzA0/PHXkOySqt/REfLRBXSgC48Wqt5pA3mmEZ2MjVR4J3pE4zQ8jd/2NBOJRFqZgMlzQreQlgP6mDiieLMPh0xsR6W1InSYKI= 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 1753835897337119.94000469654793; Tue, 29 Jul 2025 17:38:17 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguf4-0004Re-FE; Tue, 29 Jul 2025 20:27:15 -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 1uguJT-00052M-Fv for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:55 -0400 Received: from mail-pf1-x431.google.com ([2607:f8b0:4864:20::431]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguJR-0004iW-Oy for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:55 -0400 Received: by mail-pf1-x431.google.com with SMTP id d2e1a72fcca58-76b0724d64bso92860b3a.1 for ; Tue, 29 Jul 2025 17:04:53 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.51 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833892; x=1754438692; 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=kWgDhWz4q+LKEdoNajQZaWxu0VZK98DRBw6c95eDtrE=; b=lPG9rhgcgjxMOMP5SGN4AkDuTtZn3hzqMk31yMpR6YQwYHrkEsGV80uLVROhYW7Z47 AH71k0kGP+8878OEyYUKlTwSXHBB3pFvbxT5IjzyAW1DbgEvih2uFEDNcc0rV0D4eQBm vJkBaJ2Zq6Cb8Bk5Hcz4HpD5UZmo0/qYLuQyYtKuGuKejRI1r9VPPZKEBjguOssITTlS PY8azF1YWUe1De6dTCeu81uRwQ2YfN3mv0FtuNa8GDRCqkh1A0Hw/MwY/iJhKV27C/Mc o9GQgOjTUdjPOmtKrsW/6qlUhogGgaBjzuSX/2mZC611M6YautIHBWfqIR8APlgt6AWC cx6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833892; x=1754438692; 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=kWgDhWz4q+LKEdoNajQZaWxu0VZK98DRBw6c95eDtrE=; b=HhdAlDdN1LCFM0F/O9YbTHAYU6t7YmtuDsiIsMfDCP8f2bt+J+gmrURiifR7QniDuz CNHVJPKIKaQ9OJf6I6wx1MVYAyfM5ZjbSpuATgtFITk4/xzFbLah9ByPDcM+NnwwRDxr Wx/sUl6VC589gRVKlEGQ4c2/pqRmV9jlLAgAqHh7Xa0azDo3x5A79cmYRTgTdmWUh77O v1o8TpV7PdnslXFByRfPMEyyLS9D3hxIwDOFPxXyt1jnO4CL5KrFEAaSewn6Pe+PYT57 AKtDRZOBVObR+UR4rcy2m0DsPrnXC2TmJKXyh2F5WtP6AIntMTqfK/aWqiVSfzCHFPIc 7nBg== X-Gm-Message-State: AOJu0Yx1q1Sd1tXh69JfGpEfoEmwTJC4KDsEDjMpnHtYxh9gq8jPEcp7 XT3sEc9y0iDQYeSYXuganfTWIil0pM+k7wdkV2uJOFm1hpbN9yTz47SGiLMPBNqQ6lQwq8UF+Eg NmXwX X-Gm-Gg: ASbGncvXHTuURKvXcXOupfw0yu71yYDjZydIgsEaYckG3GG0IUL6p37GoKJ6+5LrFQ6 aEnrijv0EXVLHD2quYVBG9d8DXlmN8OtBGmyKHvq7jA4otZ+7j/MIBYGwvB2PjIniv+r8TQi9SQ b9f55IyACaJOIfgVszyBjhVQSgBoxkVFqSq/3tdUy2A1iuLNkVuZb2M+EG3CmWtQ4bmi3X3ezEg O5auvsFGCjm4yKBIY8UcNl7z0kfaSKXU617wS7FiS9lBQrecBbZTM5kzOn2/fOe0UBT5VPcEqUw Npk+YHxkM5p6MzljnIwLIZmV5R3awHiVGYX5Qr6gy9dcLOMT9C6YyfhxGDAtxhGVoqSY5WPiqLv kz7jPJR/Pp0G5tFtKWwz7CJ4Q2ZhdWKmt5a34f3A3IEIrgZhMfWgDc7bhnasVGoy+pbjvD5YJdF ymMMBXkC8FZA== X-Google-Smtp-Source: AGHT+IFIASPJvEb5WOK8dyCeTTi/C1keyJA4ecT/T/1bIApIXk49QXmUgQMZAkjehmqSYyr+RWoQ7A== X-Received: by 2002:a05:6a20:734b:b0:232:a762:def with SMTP id adf61e73a8af0-23dc0e585c5mr1861809637.30.1753833892068; Tue, 29 Jul 2025 17:04:52 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 75/89] linux-user: Move elf parameters to riscv/target_elf.h Date: Tue, 29 Jul 2025 13:59:48 -1000 Message-ID: <20250730000003.599084-76-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::431; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x431.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: 1753835899051116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/riscv/target_elf.h | 10 ++++++++++ linux-user/elfload.c | 14 -------------- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/linux-user/riscv/target_elf.h b/linux-user/riscv/target_elf.h index bfe86105d0..61446dd945 100644 --- a/linux-user/riscv/target_elf.h +++ b/linux-user/riscv/target_elf.h @@ -8,4 +8,14 @@ #ifndef RISCV_TARGET_ELF_H #define RISCV_TARGET_ELF_H =20 +#define ELF_ARCH EM_RISCV + +#ifdef TARGET_RISCV32 +#define ELF_CLASS ELFCLASS32 +#define VDSO_HEADER "vdso-32.c.inc" +#else +#define ELF_CLASS ELFCLASS64 +#define VDSO_HEADER "vdso-64.c.inc" +#endif + #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 28407a7a00..5b3bdf58cb 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -138,20 +138,6 @@ typedef abi_uint target_gid_t; #endif typedef abi_int target_pid_t; =20 -#ifdef TARGET_RISCV - -#define ELF_ARCH EM_RISCV - -#ifdef TARGET_RISCV32 -#define ELF_CLASS ELFCLASS32 -#define VDSO_HEADER "vdso-32.c.inc" -#else -#define ELF_CLASS ELFCLASS64 -#define VDSO_HEADER "vdso-64.c.inc" -#endif - -#endif /* TARGET_RISCV */ - #ifdef TARGET_HPPA =20 #define ELF_CLASS ELFCLASS32 --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835012; cv=none; d=zohomail.com; s=zohoarc; b=UirGEXamW5PMpyWKmkGxDFxgExbWrtfmkTfI4ZgNM2zXpVqoS8koYtUECehEavPYpgGLLMh5yOO6gXabls3s3+gGLHADhKBT7utaJ04MdgtaP2hPTq1LvCBuzIonq8RNPDsLe+I4Ez4YojfLC95GsWZQL/UhfOjPjHHWCsFuZiE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835012; 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=uwpHuSE/h5PFhnCkORbwzYhE3VlT2Ub2wvIj4OwEWco=; b=n600PRPsoMcXhz9dS2T+ApE+7D00/9V8ii75AV/vd6jxPrgplxnSjrG8rzmHlesuLDqwtDKqPaPgDw30PqcD7r0mCa7hCP38u+0APJg3zd0VW+dAqyO7hZOnza2lhqxSdpQRZ/CjzFY+Xg6fg27H5xNu8KQsRqZkj4aROmBRYd0= 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 175383501285975.58341631901044; Tue, 29 Jul 2025 17:23:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguaC-0001Yh-QF; Tue, 29 Jul 2025 20:22:13 -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 1uguJU-00053e-IS for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:57 -0400 Received: from mail-pf1-x42a.google.com ([2607:f8b0:4864:20::42a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguJS-0004im-Tq for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:56 -0400 Received: by mail-pf1-x42a.google.com with SMTP id d2e1a72fcca58-7682560a2f2so435379b3a.1 for ; Tue, 29 Jul 2025 17:04:54 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.52 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833893; x=1754438693; 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=uwpHuSE/h5PFhnCkORbwzYhE3VlT2Ub2wvIj4OwEWco=; b=a7TVC4HcyJ2eOvSxva2pna0N2v9JZfwC1Gchuf6dTxmDFO+Z4HcylHMnsZiAu61HJq Jwn1x5UUCSqGTg9cSZSsx8gZtUToRnCYM4IYcjenlN8oz5eayonzmcO/D+p6r6dohQ4n MlycZNmBe0IkRydq+ZPiH2DnVtypp1ZDiR4YgR45C4TqTdTVQxoYlEwjQNqzha0icv0/ ixRW67TPuJb81XXLFcXs/51wCX2HRFqBSLD52XOHgpey/qX3yIHKTtQsrt+XdeMmPOpH XgODM03I+9u5usOR8gCpjiVWoAW9F9lMNeREvsP26cpa90zp42oRbKx6i0a4PLxpQOVZ roxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833893; x=1754438693; 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=uwpHuSE/h5PFhnCkORbwzYhE3VlT2Ub2wvIj4OwEWco=; b=lSA8HoPjvi0YwGt897E5/YEf8UUGTeTwUO9GPY59uzGd+1SrY//t4uK8L01CqmUu0V 0wNrEbaLgRyCZAgEQXavOeHhghKAGm/riktZRGJ9Lu5zvRknoXpU/p640AdHlRg0/s4a G8TYn4MWWJ0vp3uJ7EXZfQcLzHJo1oOgHxqriIRcCH0NCLMWkarY6a+2Jb0LyrLe0mm+ fC4+jbGQv2LiCjTui99vWpzHWUB6S36GKZbRyrmfaifmjQriQLYv9RIoyEQDkquwU/Yl 61UmapPvL6digQEDYxBb05NiftK8uwURrYOGHsL5yQCOaY9Kq6DOVoqWeCXaRZ3n5oF4 Tw8g== X-Gm-Message-State: AOJu0YxRWheVg/4SuDSgL0t1Wpz93QHZ5uRA6DjqbLqGdv9AxccpCU23 MT2ydNd3iSiF3dJ6V1hXZAsgvoyW3+bQwDWwI8Fs6oK6hNIO/lumtkgNUdnQT+r7D/F7a3xYjv6 abZJK X-Gm-Gg: ASbGncs3kOTYvaojALvYZjjTrS1XuU5wnoeCRBLlW7H3s0DZ8xy5k332FCsAHVIyOAY wzcBL+IlVN0LcTh9hciYg555YBemOybqsQ1fmrgpuXn4HnnJXSMtL3OCUg49qTBFL1BNsgucb4T y6ovvirgTMSMjbQdCMjBUhDt5uqaOJkhv4TnxrvXk66n1/VBJGUciXsuWbg4whZaFUBYMTfu8VD x9tniAddchnMqY3iJY8DsWEfiLk7LKVWYnA9JEVYNWsDS/FbMgwpoXP9ElW68NjRx49KZEIDGHB hg4+TzP/lFj94E5Hc8b0EoYgzx8+H21kR3Co5OFbEZNnVchhF5t5pJifSPWdNEkilO4n9laHc91 OvFascyX+VMKczzcb9SK6ATkqO26jbQga9i+BEfIThYMunNF3LUQZj8iXTTaTBAF6znRmS3Vt95 d7eb+8NGXqPpq3NRjOjO2i X-Google-Smtp-Source: AGHT+IFKFHn8HfPvMTMrh/LcSpB2BWKTXuG4+N6SmwsL0nbh+Q2wWYWjCmzylxl0NFL2uUo35N3qJw== X-Received: by 2002:a05:6a20:3d20:b0:23d:45b2:8e3c with SMTP id adf61e73a8af0-23dc0522316mr1972173637.6.1753833893234; Tue, 29 Jul 2025 17:04:53 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 76/89] linux-user: Move elf parameters to hppa/target_elf.h Date: Tue, 29 Jul 2025 13:59:49 -1000 Message-ID: <20250730000003.599084-77-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::42a; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42a.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: 1753835014528116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/hppa/target_elf.h | 6 ++++++ linux-user/elfload.c | 11 ----------- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/linux-user/hppa/target_elf.h b/linux-user/hppa/target_elf.h index a736bb9bb3..ed2ce895f5 100644 --- a/linux-user/hppa/target_elf.h +++ b/linux-user/hppa/target_elf.h @@ -8,6 +8,12 @@ #ifndef HPPA_TARGET_ELF_H #define HPPA_TARGET_ELF_H =20 +#define ELF_CLASS ELFCLASS32 +#define ELF_ARCH EM_PARISC +#define STACK_GROWS_DOWN 0 +#define STACK_ALIGNMENT 64 +#define VDSO_HEADER "vdso.c.inc" + #define LO_COMMPAGE 0 =20 #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 5b3bdf58cb..e6d49d982f 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -138,17 +138,6 @@ typedef abi_uint target_gid_t; #endif typedef abi_int target_pid_t; =20 -#ifdef TARGET_HPPA - -#define ELF_CLASS ELFCLASS32 -#define ELF_ARCH EM_PARISC -#define STACK_GROWS_DOWN 0 -#define STACK_ALIGNMENT 64 - -#define VDSO_HEADER "vdso.c.inc" - -#endif /* TARGET_HPPA */ - #ifdef TARGET_XTENSA =20 #define ELF_CLASS ELFCLASS32 --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753836174; cv=none; d=zohomail.com; s=zohoarc; b=fUC1HFyPFr3eBTPtbId3o+kBC2wH0/RsSgcRJSyf/MfpGJ8hL75bFgkD/LmxFbAWxsTyVwmDqaMbXogpQCR4e+qexZ8/hh5MNWmvASoZpWNA6qu6kDXsuSQbMRq9csNnGnX+SYUc5Q9ofGWCEyZBoTtf+HmpRo6+f4JdK3r34is= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753836174; 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=D8c9A8gEVNrBzI7nvbSwZ/yGjMaZTzGH5x9BolyT4I0=; b=EnfrnuE8eVW2XWESNHPrUQeMSjKMn3nfdlScpw2EAXT0cLdae9zcMykh/x1jj+vfOglCEwsbGSymBH7SRK8SuAmMyjr3ACNx5K3PqHNvep+U7K7DPcseXo1CTSMqf+w8/U34htKIP65fcrrodqEdKlwo4k5gBKxkb560xq56NSI= 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 1753836174744370.01568474192845; Tue, 29 Jul 2025 17:42:54 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugudg-0002Dx-KM; Tue, 29 Jul 2025 20:25:48 -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 1uguJV-00054o-HL for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:59 -0400 Received: from mail-pf1-x42d.google.com ([2607:f8b0:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguJT-0004j1-SA for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:57 -0400 Received: by mail-pf1-x42d.google.com with SMTP id d2e1a72fcca58-76858e9e48aso2362258b3a.2 for ; Tue, 29 Jul 2025 17:04:55 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.53 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833894; x=1754438694; 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=D8c9A8gEVNrBzI7nvbSwZ/yGjMaZTzGH5x9BolyT4I0=; b=ixB7jLQcha+g/rKwY2+8qskMvlsjJhIjb5MekBszzQuhv3VvkeBv9k5jKC4iPPZSfv uohmg81X9u1jgl66tXNNh0TYzZpfJbC+1zKixbnlWYeu/9xA+d8Rn+ajk/h4hCmZNyAq ifANRM8jqV13sVqWDkD4ze9Dfq5aoywpGDbniQCEIqrq0pWPBZHMzliJQsMshRk6Q+tm hfEEpZPEl3jkKR7qgXnlZjNMpJ8js8O6he33maNWLJF1Vaex5IL6BCytVSunErKoAwhB eWNoBDlYVXp7OLU2RldDtkK+8J3NTfQ242o+eU+ACGgPuG7WnO8wE4gvqOao8dakctEd FdZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833894; x=1754438694; 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=D8c9A8gEVNrBzI7nvbSwZ/yGjMaZTzGH5x9BolyT4I0=; b=sGn8J6QikU4byLlS2x67YgLsOutNp/HfKLI34h95JeNOs2tuaNQIQtmS898+O8X7Gd LZqefIJud24SPkhzmLZMCzh/ZgNyAx1WATPomWV2kiVGUnTZV/xZN3ddQSFY7dldTisQ SxBKMjd+f3T+2a1okAkiYMC+fREigwqZ5A4PZf/36DwbI/stvD8aJhbNMsBlrwckrk43 yibhuoKl+n93z+bXDZsaRZWoV/YT+mGdV6VpBqjgL2xLroi8JIQ3PUc4GfPEi38W7hPd lyYkIOK3d2qP4FnoZzDDntYF3+DAF0q2khgONKtiWTxbkyhsLcnshu8rzm0+wQScfRDq opYw== X-Gm-Message-State: AOJu0Yx16cCiu5Tnwckg0bSz3WqgE72bAXFrHKw/31HBvd7S5grDZOqr SMfYB7lnhfsViWEyJ3KH7xYJdkeDwB/XZhrj/wW3oPuADeB4oqzX4wONEyyDpsS26azrFyC7ZQQ fLXjp X-Gm-Gg: ASbGncsQIgZTRAv7h8wrIkZ6wfqLSd4oqPfitmjU7fAtbHNaVTtgr/ETiT/cT83OQqq VQeyEi5r6+Lgzm8WWS6xUGEM3UObvPQJacpIf7VBT9RV7Gnm2P4Sqp5yIXn+G+nSYLyrgX/k+0U t4twRw5sixd1obx2pC9VkU8TVqbZBtUxpPxk5szONAwB7k8ucGAdAlpvpjKRuyI5UtphDn5sNzE 0ZdAUzv2QnhWqiu4N+/GPgIth1tyqgI3J+ynxx/KI4aday2InbfTwdhpmzZdYfbRQWG8ohxiAQy wM0BPJ6dHv9N5JnBsKCQ1K/v8YuS7bXxaUBKXdXL4qRPkZHJhr/6dviE+kiKL/9V/nld4mSQELF 3GbwfDla+fbgTmzQXTQPI1eK80A0aBn9FrjTT9uDK+MeNQGiBe0I4y2WNvU0GYAbc8fwLJrGrEq ElOIdhh0hyAw== X-Google-Smtp-Source: AGHT+IEIU6acmICz0Ce1Vhp2eYsNH3HJmc3Ly+VQSNg+sEHNvZ67SEJGykFYDUO3kVbXY3j1GeSOPg== X-Received: by 2002:a05:6a21:3294:b0:237:b53b:64dd with SMTP id adf61e73a8af0-23dc0dca865mr1978039637.11.1753833894426; Tue, 29 Jul 2025 17:04:54 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 77/89] linux-user: Move elf parameters to xtensa/target_elf.h Date: Tue, 29 Jul 2025 13:59:50 -1000 Message-ID: <20250730000003.599084-78-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::42d; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x42d.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: 1753836175730116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/xtensa/target_elf.h | 4 ++++ linux-user/elfload.c | 9 --------- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/linux-user/xtensa/target_elf.h b/linux-user/xtensa/target_elf.h index 2c55c22e14..cacfb6e81a 100644 --- a/linux-user/xtensa/target_elf.h +++ b/linux-user/xtensa/target_elf.h @@ -8,4 +8,8 @@ #ifndef XTENSA_TARGET_ELF_H #define XTENSA_TARGET_ELF_H =20 +#define ELF_CLASS ELFCLASS32 +#define ELF_ARCH EM_XTENSA +#define USE_ELF_CORE_DUMP + #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index e6d49d982f..b67bb7deab 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -138,15 +138,6 @@ typedef abi_uint target_gid_t; #endif typedef abi_int target_pid_t; =20 -#ifdef TARGET_XTENSA - -#define ELF_CLASS ELFCLASS32 -#define ELF_ARCH EM_XTENSA - -#define USE_ELF_CORE_DUMP - -#endif /* TARGET_XTENSA */ - #ifdef TARGET_HEXAGON =20 #define ELF_CLASS ELFCLASS32 --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835480; cv=none; d=zohomail.com; s=zohoarc; b=kjLreDINz+JZl2EvrM9xOupdyyh4EMT50nMG+fs1TK82mDSBiTMOE9VjgiQoe0PYSgJkjCRxQonHvqnnUvGtbzArRvTXL2QzjvuiGInzpERaX6616vJ91LY5HSRB7BTclaQM+qQUE8Vij4NXYPkX7CyxrCHEUNrOcBRrbVJptx4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835480; 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=SxXNmNqWMUeslWUNuofoobvvYxt/1wv93E6nr48LJXA=; b=HxUgFkKQHQox25C5eu7SyyPriupQcVVpPkLLs96/MnbqlKKHVaVF/YJ87zFfuvcPdIQPiqKZA18MmSFu44dJ17033AnmMwXcZC+60FXRv51hp8LA3hPYFSmrnir1VlccpUQTrCqAkWGNTdMMXV3IS0UxpyPSLeTMzKiGNZRENBY= 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 1753835480628931.2896827621965; Tue, 29 Jul 2025 17:31:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugufN-0004ym-Jq; Tue, 29 Jul 2025 20:27:35 -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 1uguJW-000553-Nq for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:59 -0400 Received: from mail-pf1-x431.google.com ([2607:f8b0:4864:20::431]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguJV-0004jK-50 for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:04:58 -0400 Received: by mail-pf1-x431.google.com with SMTP id d2e1a72fcca58-748e378ba4fso7915594b3a.1 for ; Tue, 29 Jul 2025 17:04:56 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.54 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833896; x=1754438696; 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=SxXNmNqWMUeslWUNuofoobvvYxt/1wv93E6nr48LJXA=; b=oUy9EuZ2JnbW4ByD21NBMNSNmscB1B6BZVtWv94U4H/tKJLjimTj1viZzgNizB/spT sDt5TXUw2cDE1Ee4GI8Ln8Ic/dbH6Yk0/YN1HgbBGa0JVRYiTnihzBvNAOP1E6f3igEN I2btHIqlU0J4GwzGrdCvNrz1NA+ArTb8VNLsyljcNE6K1LQGHn39hWYqCdLysFx1ep17 XJ4/ntSid/NmOMDytk25zyXSUKUZLmAcBnH9bGkmTA97FeHRzCmaeKoUulcxWSr/4ZUM TNWixLNOzBDStbCFYBGjkebJlLiUfJc4R6MwlFZSRd8aG3gvO7RUXse2B0ZOitb+sKiq WDtw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833896; x=1754438696; 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=SxXNmNqWMUeslWUNuofoobvvYxt/1wv93E6nr48LJXA=; b=GfbkVVxRrOD/gn4JcPkLEqsv/mbOxChXT/nUK0amGgxeNyS85A12ux3NhL7K2jejQ7 N6MMlg8neBqr+iS3+42tiKkNVIQ39BJMOEq23AU+Z/2Q7FHgVQupxR9VXrYwbew2rMIZ aR36m+vSnIw+2VQBzPEOxRm8a0MXuf7D1w9AvLTBHbbEmutg810vDUaws6BQbvyD3Vfp RZDaEPss7A+8flex1H7AzyhQ8/iaLdoIEYdarvMq7sWsfji0dQMyoMoISKFnqTiRW2+A Ee6IaGU5RFoBkv+4kl1wpDafOoRUx1q3OZJ3qpFyUsOKwzzWC9ahFWczap5mmvcn8Bpd 40nA== X-Gm-Message-State: AOJu0YzJEBHLDlV3jwsBHlv4PuE3dv/fABaDnrQcOcoHO0S/d0GVA8sr qcS+wcpgxQpWO+amqgYApWj0qop8L0z8gqAU3jLP4WTZ1657DWwUxA7Ns0jqJI4645fvTujuH9U ZI3a8 X-Gm-Gg: ASbGncs1bnzti+DyFcSpjTl+gjtz5/ScnpCoU4Yz1rcBD2ICfLvUW6nYJniGr6PfUbd CWhfi6Pq+TojnFAu8bsG5IokJRCKl4PTC1bhGNRc8RefUpkKJO0q4BlI6d6ogN9YkLJTDjC7rD7 /JJKAoPQ5FFvjy9WnzGcUGH3JgrdjAQD3JQFK7b21hsuJCBzV/eV35wiwUct4QHWOwjaUsrUB3k 2xKxHsRKHoJZPX7vHKdS5u5v473H9TSwZay4jGMNhSZoGGxB+mbf7mUMLSDZ7K7wWFsmcXHB0vW FraJyl4cLRHPBvmQbqK8T0y1Q7yk87TA409cqGIUQ4LoFwoMxe4Y/P0vIpJPM4pPLQfDCQB7Ow5 nTIEaScS5wtNPIi444FaogLqEsBJ+jy0eMoOETiJj6jQl0ykxCxle4h6KuNrKOKRfRcDIcJZ1Xw sEPXNzpBT66Q== X-Google-Smtp-Source: AGHT+IEcwIuICd65dWt68IZ/Tpi6EQxt0EDV33p2kVOAdZ/XOHL7o4TvH9o5Zmke6cLwW6PwOxLgJw== X-Received: by 2002:a05:6a00:288a:b0:736:4644:86ee with SMTP id d2e1a72fcca58-76ab2b576aemr1658209b3a.14.1753833895620; Tue, 29 Jul 2025 17:04:55 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 78/89] linux-user: Move elf parameters to hexagon/target_elf.h Date: Tue, 29 Jul 2025 13:59:51 -1000 Message-ID: <20250730000003.599084-79-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::431; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x431.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: 1753835481296116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/hexagon/target_elf.h | 3 +++ linux-user/elfload.c | 7 ------- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/linux-user/hexagon/target_elf.h b/linux-user/hexagon/target_el= f.h index eccf207f6b..a9f6d77fc6 100644 --- a/linux-user/hexagon/target_elf.h +++ b/linux-user/hexagon/target_elf.h @@ -18,4 +18,7 @@ #ifndef HEXAGON_TARGET_ELF_H #define HEXAGON_TARGET_ELF_H =20 +#define ELF_CLASS ELFCLASS32 +#define ELF_ARCH EM_HEXAGON + #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index b67bb7deab..25a3d5c9cb 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -138,13 +138,6 @@ typedef abi_uint target_gid_t; #endif typedef abi_int target_pid_t; =20 -#ifdef TARGET_HEXAGON - -#define ELF_CLASS ELFCLASS32 -#define ELF_ARCH EM_HEXAGON - -#endif /* TARGET_HEXAGON */ - #ifndef ELF_MACHINE #define ELF_MACHINE ELF_ARCH #endif --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753834943; cv=none; d=zohomail.com; s=zohoarc; b=fZieU0B1eBQrSwlWqrbdjIU1BNTVGwXkqGID7LfrN7d9aP7m/BVZ53KV/uIG3Q1A+u2H1tfJl98XQHjcgzRX3f7NHmW/vcD2R+ZX5+ePttfvhJUv4ytDklbIJuvtQ6ita5noqnUwnbwb1I3q1snDkruCfxLMXYk+9eQAJTRqMho= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753834943; 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=TNcO9hPdoq7RaFvEUV80wvvmqUSlcX+cteAzXkSonr0=; b=UOktOXu2FpaakPxZ097fuoX31uWFUIajcfRCHVqhr21LN7kbK7WA7bgLgiplGTXwx1eJNkhQYhe2FFVOhKXoVyxMXMjuRnIHehbsSTlgZtN9o2GYZKRJ3XCWrH5D1tBFT8pEiolwFGAstfeI63vcwm6YbtQ00dmdkZ0700ZUaxU= 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 1753834943503128.55607626113522; Tue, 29 Jul 2025 17:22:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguaG-0001oC-9s; Tue, 29 Jul 2025 20:22:16 -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 1uguJd-00056s-I0 for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:05:09 -0400 Received: from mail-pf1-x430.google.com ([2607:f8b0:4864:20::430]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguJb-0004kE-CX for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:05:05 -0400 Received: by mail-pf1-x430.google.com with SMTP id d2e1a72fcca58-7426c44e014so319010b3a.3 for ; Tue, 29 Jul 2025 17:05:02 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7640ad06762sm9101302b3a.80.2025.07.29.17.04.55 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:04:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753833902; x=1754438702; 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=TNcO9hPdoq7RaFvEUV80wvvmqUSlcX+cteAzXkSonr0=; b=HmSRZgAxvEHmDZ5q45/v9GKrPRqokyfGCeGvLo35sc8r7oBWSE64VJgt2sAgAfNHsw M2mk+oPZLtHbUlabOEsdLRdrrwoVa1bGOGvv6bnn+Y6QmGAgPZPAwfNAMyINx21Cqx2Y eVs8L1vDBga0VbMjQg0iraciXcbQLbtzIq7ZRAuPw5BsZbQw2PBfXKEHBDKg89l/BHxd feH1npoqAaQfnJLfk5ybWepfmvH8FDLRzGmhPOfJbkKtfw04XLPsQSquepYRukqJUjtK XdkM7SS5OWu/7HwIGk4hmyVgwDvsCDVO4RSVyu9A57bqsUpd65e7ISZTvNfJj3BSIdWZ LWSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753833902; x=1754438702; 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=TNcO9hPdoq7RaFvEUV80wvvmqUSlcX+cteAzXkSonr0=; b=nppbyD0wxoPta3eRIfyz/YAyDeHXQm/8VP5v0M+aUl+PTS4FijfJHmGozn/CwCbIkq jAm+oh9HU8+F4WPy92lqUd7Fo/FUpuG67BF7DtB6x84ody7lCm3dSbmFssnMYb/1BCeW mvUBZIhRwvWb1IenqoBYvp6v5OdLESufsZAuE3GCh3xisyY+mPPqzpbBCHmEur7+x0sJ vI6d69Sn1sfs6tRzXrhkDj+MHRU5o20479ZNy1b0lW0smxNj5SI+ze9e4PK8TVCnZnN0 9bqiDIRi00VG8OvIG2daNiZhQ+Ce/CWItTllGsxengYrrckRxiox9GodmSWvd1CH8Vat L5DA== X-Gm-Message-State: AOJu0YwWzlNxacvkYERI03tqnbhmbxuUa5HbFe0TAqE9SNVfHVOTf41l Rst9efMOW8DL5WwvNuosqf2kqlL8l0UJwZT16kCg2nZ1ZTw0GfCqowuCprnb6W0GcuzjODSLCqe 8NeQ7 X-Gm-Gg: ASbGncsD7uGywvysVjlaWDI3fqT+ELyERdUpygSd+PNDXKn7Tzm4zxFRkAtrlsSPfdA 2XH2FCkwIPWqpQHo4GZhoX5JENt2qMSDMBkvWtlWZKTLRSlGpwoYSwSVaFCCaOleHpbJ05QaIiz YKke1z60IBe3aZYuMRQimcc8CEbV8JoZNZfbP8wgJkr5a6zpeTEnYQmtgnPz/JTUlnfNQmI9My3 SmS5ZqXEY60BXTcj5Ph63gOdVuw370un0AhaWk9kDCg6RSuocuSEnm1FbPrj7NZdxc0HlMVw1RO zkd1LlIZCaHih8mwoKhlBLzt5wBfMUdh2eIiWm2LylBszmmUMPmbnW1UGjE78rg4HPhfQ41cLxB u0QnLGm5s2871UzSAml/Bp8naELYv4sKvEKVsCRyY/CXrYQrXv2LdJ/EsvFwcvwaoKqvpqZ7BhP HY7/Pp7LD2kA== X-Google-Smtp-Source: AGHT+IHcTdv0aQ0XCS6XkQRjvNCNvXOuyKbJha7hxss/pFLAOAkgmsijQn16MN6L/pXVDt5LxG4a1w== X-Received: by 2002:a05:6a00:6d58:20b0:748:f1ba:9af8 with SMTP id d2e1a72fcca58-76ab2d56a7dmr1551727b3a.21.1753833896635; Tue, 29 Jul 2025 17:04:56 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 79/89] linux-user: Standardize on ELF_MACHINE not ELF_ARCH Date: Tue, 29 Jul 2025 13:59:52 -1000 Message-ID: <20250730000003.599084-80-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::430; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x430.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: 1753834943900116600 Content-Type: text/plain; charset="utf-8" PowerPC was the one outlier that defined both ELF_ARCH and ELF_MACHINE; ELF_ARCH was defined incorrectly, necessitating the definition of elf_check_arch. However, the elf file header field in question is called e_machine, so ELF_MACHINE is in fact the better name. Mechanically change most target/target_elf.h files, then adjust ppc/target_elf.h manually. Do not provide a default for ELF_MACHINE. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/aarch64/target_elf.h | 2 +- linux-user/alpha/target_elf.h | 2 +- linux-user/arm/target_elf.h | 2 +- linux-user/hexagon/target_elf.h | 2 +- linux-user/hppa/target_elf.h | 2 +- linux-user/i386/target_elf.h | 2 +- linux-user/loongarch64/target_elf.h | 2 +- linux-user/m68k/target_elf.h | 2 +- linux-user/microblaze/target_elf.h | 2 +- linux-user/mips/target_elf.h | 2 +- linux-user/mips64/target_elf.h | 2 +- linux-user/openrisc/target_elf.h | 2 +- linux-user/ppc/target_elf.h | 5 +---- linux-user/riscv/target_elf.h | 2 +- linux-user/s390x/target_elf.h | 2 +- linux-user/sh4/target_elf.h | 2 +- linux-user/sparc/target_elf.h | 4 ++-- linux-user/x86_64/target_elf.h | 2 +- linux-user/xtensa/target_elf.h | 2 +- linux-user/elfload.c | 6 +----- 20 files changed, 21 insertions(+), 28 deletions(-) diff --git a/linux-user/aarch64/target_elf.h b/linux-user/aarch64/target_el= f.h index 8f704055ec..16acf6d47f 100644 --- a/linux-user/aarch64/target_elf.h +++ b/linux-user/aarch64/target_elf.h @@ -8,7 +8,7 @@ #ifndef AARCH64_TARGET_ELF_H #define AARCH64_TARGET_ELF_H =20 -#define ELF_ARCH EM_AARCH64 +#define ELF_MACHINE EM_AARCH64 #define ELF_CLASS ELFCLASS64 #define USE_ELF_CORE_DUMP =20 diff --git a/linux-user/alpha/target_elf.h b/linux-user/alpha/target_elf.h index f9d6372c9f..864dc6e2e6 100644 --- a/linux-user/alpha/target_elf.h +++ b/linux-user/alpha/target_elf.h @@ -9,6 +9,6 @@ #define ALPHA_TARGET_ELF_H =20 #define ELF_CLASS ELFCLASS64 -#define ELF_ARCH EM_ALPHA +#define ELF_MACHINE EM_ALPHA =20 #endif diff --git a/linux-user/arm/target_elf.h b/linux-user/arm/target_elf.h index 2f8564a484..f769108adb 100644 --- a/linux-user/arm/target_elf.h +++ b/linux-user/arm/target_elf.h @@ -8,7 +8,7 @@ #ifndef ARM_TARGET_ELF_H #define ARM_TARGET_ELF_H =20 -#define ELF_ARCH EM_ARM +#define ELF_MACHINE EM_ARM #define ELF_CLASS ELFCLASS32 #define EXSTACK_DEFAULT true #define USE_ELF_CORE_DUMP diff --git a/linux-user/hexagon/target_elf.h b/linux-user/hexagon/target_el= f.h index a9f6d77fc6..f81ae3895a 100644 --- a/linux-user/hexagon/target_elf.h +++ b/linux-user/hexagon/target_elf.h @@ -19,6 +19,6 @@ #define HEXAGON_TARGET_ELF_H =20 #define ELF_CLASS ELFCLASS32 -#define ELF_ARCH EM_HEXAGON +#define ELF_MACHINE EM_HEXAGON =20 #endif diff --git a/linux-user/hppa/target_elf.h b/linux-user/hppa/target_elf.h index ed2ce895f5..c2484230b0 100644 --- a/linux-user/hppa/target_elf.h +++ b/linux-user/hppa/target_elf.h @@ -9,7 +9,7 @@ #define HPPA_TARGET_ELF_H =20 #define ELF_CLASS ELFCLASS32 -#define ELF_ARCH EM_PARISC +#define ELF_MACHINE EM_PARISC #define STACK_GROWS_DOWN 0 #define STACK_ALIGNMENT 64 #define VDSO_HEADER "vdso.c.inc" diff --git a/linux-user/i386/target_elf.h b/linux-user/i386/target_elf.h index 032abe5d24..f5eeb36b31 100644 --- a/linux-user/i386/target_elf.h +++ b/linux-user/i386/target_elf.h @@ -9,7 +9,7 @@ #define I386_TARGET_ELF_H =20 #define ELF_CLASS ELFCLASS32 -#define ELF_ARCH EM_386 +#define ELF_MACHINE EM_386 #define EXSTACK_DEFAULT true #define VDSO_HEADER "vdso.c.inc" #define USE_ELF_CORE_DUMP diff --git a/linux-user/loongarch64/target_elf.h b/linux-user/loongarch64/t= arget_elf.h index e99aa3df4c..a76aa9f56c 100644 --- a/linux-user/loongarch64/target_elf.h +++ b/linux-user/loongarch64/target_elf.h @@ -7,7 +7,7 @@ #define LOONGARCH_TARGET_ELF_H =20 #define ELF_CLASS ELFCLASS64 -#define ELF_ARCH EM_LOONGARCH +#define ELF_MACHINE EM_LOONGARCH #define EXSTACK_DEFAULT true #define elf_check_arch(x) ((x) =3D=3D EM_LOONGARCH) #define VDSO_HEADER "vdso.c.inc" diff --git a/linux-user/m68k/target_elf.h b/linux-user/m68k/target_elf.h index baabc1c040..77533a9086 100644 --- a/linux-user/m68k/target_elf.h +++ b/linux-user/m68k/target_elf.h @@ -9,7 +9,7 @@ #define M68K_TARGET_ELF_H =20 #define ELF_CLASS ELFCLASS32 -#define ELF_ARCH EM_68K +#define ELF_MACHINE EM_68K #define USE_ELF_CORE_DUMP =20 #endif diff --git a/linux-user/microblaze/target_elf.h b/linux-user/microblaze/tar= get_elf.h index 738a101f67..037ff595b6 100644 --- a/linux-user/microblaze/target_elf.h +++ b/linux-user/microblaze/target_elf.h @@ -9,7 +9,7 @@ #define MICROBLAZE_TARGET_ELF_H =20 #define ELF_CLASS ELFCLASS32 -#define ELF_ARCH EM_MICROBLAZE +#define ELF_MACHINE EM_MICROBLAZE #define elf_check_arch(x) ((x) =3D=3D EM_MICROBLAZE || (x) =3D=3D EM_MIC= ROBLAZE_OLD) #define USE_ELF_CORE_DUMP =20 diff --git a/linux-user/mips/target_elf.h b/linux-user/mips/target_elf.h index 850a6d83cc..06a88fe254 100644 --- a/linux-user/mips/target_elf.h +++ b/linux-user/mips/target_elf.h @@ -9,7 +9,7 @@ #define MIPS_TARGET_ELF_H =20 #define ELF_CLASS ELFCLASS32 -#define ELF_ARCH EM_MIPS +#define ELF_MACHINE EM_MIPS #define EXSTACK_DEFAULT true #define USE_ELF_CORE_DUMP =20 diff --git a/linux-user/mips64/target_elf.h b/linux-user/mips64/target_elf.h index 77f3b4685a..c0c7f3e97c 100644 --- a/linux-user/mips64/target_elf.h +++ b/linux-user/mips64/target_elf.h @@ -9,7 +9,7 @@ #define MIPS64_TARGET_ELF_H =20 #define ELF_CLASS ELFCLASS64 -#define ELF_ARCH EM_MIPS +#define ELF_MACHINE EM_MIPS #define EXSTACK_DEFAULT true =20 #ifdef TARGET_ABI_MIPSN32 diff --git a/linux-user/openrisc/target_elf.h b/linux-user/openrisc/target_= elf.h index 0a2b3ef762..d7a85cc0d0 100644 --- a/linux-user/openrisc/target_elf.h +++ b/linux-user/openrisc/target_elf.h @@ -8,7 +8,7 @@ #ifndef OPENRISC_TARGET_ELF_H #define OPENRISC_TARGET_ELF_H =20 -#define ELF_ARCH EM_OPENRISC +#define ELF_MACHINE EM_OPENRISC #define ELF_CLASS ELFCLASS32 #define USE_ELF_CORE_DUMP =20 diff --git a/linux-user/ppc/target_elf.h b/linux-user/ppc/target_elf.h index d42b9dc9cb..c4cc40a4aa 100644 --- a/linux-user/ppc/target_elf.h +++ b/linux-user/ppc/target_elf.h @@ -8,16 +8,13 @@ #ifndef PPC_TARGET_ELF_H #define PPC_TARGET_ELF_H =20 -#define ELF_MACHINE PPC_ELF_MACHINE - #ifdef TARGET_PPC64 -# define elf_check_arch(x) ((x) =3D=3D EM_PPC64) # define ELF_CLASS ELFCLASS64 #else # define ELF_CLASS ELFCLASS32 # define EXSTACK_DEFAULT true #endif -#define ELF_ARCH EM_PPC +#define ELF_MACHINE PPC_ELF_MACHINE =20 /* * The requirements here are: diff --git a/linux-user/riscv/target_elf.h b/linux-user/riscv/target_elf.h index 61446dd945..ce8df23cd7 100644 --- a/linux-user/riscv/target_elf.h +++ b/linux-user/riscv/target_elf.h @@ -8,7 +8,7 @@ #ifndef RISCV_TARGET_ELF_H #define RISCV_TARGET_ELF_H =20 -#define ELF_ARCH EM_RISCV +#define ELF_MACHINE EM_RISCV =20 #ifdef TARGET_RISCV32 #define ELF_CLASS ELFCLASS32 diff --git a/linux-user/s390x/target_elf.h b/linux-user/s390x/target_elf.h index aa12ecf36b..a7c6e33300 100644 --- a/linux-user/s390x/target_elf.h +++ b/linux-user/s390x/target_elf.h @@ -10,7 +10,7 @@ =20 #define ELF_CLASS ELFCLASS64 #define ELF_DATA ELFDATA2MSB -#define ELF_ARCH EM_S390 +#define ELF_MACHINE EM_S390 #define VDSO_HEADER "vdso.c.inc" #define USE_ELF_CORE_DUMP =20 diff --git a/linux-user/sh4/target_elf.h b/linux-user/sh4/target_elf.h index 68b58beaa4..053ea53aa8 100644 --- a/linux-user/sh4/target_elf.h +++ b/linux-user/sh4/target_elf.h @@ -9,7 +9,7 @@ #define SH4_TARGET_ELF_H =20 #define ELF_CLASS ELFCLASS32 -#define ELF_ARCH EM_SH +#define ELF_MACHINE EM_SH #define USE_ELF_CORE_DUMP =20 #endif diff --git a/linux-user/sparc/target_elf.h b/linux-user/sparc/target_elf.h index 8bd6e3e427..8071638e18 100644 --- a/linux-user/sparc/target_elf.h +++ b/linux-user/sparc/target_elf.h @@ -10,13 +10,13 @@ =20 #ifndef TARGET_SPARC64 # define ELF_CLASS ELFCLASS32 -# define ELF_ARCH EM_SPARC +# define ELF_MACHINE EM_SPARC #elif defined(TARGET_ABI32) # define ELF_CLASS ELFCLASS32 # define elf_check_arch(x) ((x) =3D=3D EM_SPARC32PLUS || (x) =3D=3D E= M_SPARC) #else # define ELF_CLASS ELFCLASS64 -# define ELF_ARCH EM_SPARCV9 +# define ELF_MACHINE EM_SPARCV9 #endif =20 #endif diff --git a/linux-user/x86_64/target_elf.h b/linux-user/x86_64/target_elf.h index 7eac11e338..13035a7a5b 100644 --- a/linux-user/x86_64/target_elf.h +++ b/linux-user/x86_64/target_elf.h @@ -9,7 +9,7 @@ #define X86_64_TARGET_ELF_H =20 #define ELF_CLASS ELFCLASS64 -#define ELF_ARCH EM_X86_64 +#define ELF_MACHINE EM_X86_64 #define VDSO_HEADER "vdso.c.inc" #define USE_ELF_CORE_DUMP =20 diff --git a/linux-user/xtensa/target_elf.h b/linux-user/xtensa/target_elf.h index cacfb6e81a..d8ecce6a96 100644 --- a/linux-user/xtensa/target_elf.h +++ b/linux-user/xtensa/target_elf.h @@ -9,7 +9,7 @@ #define XTENSA_TARGET_ELF_H =20 #define ELF_CLASS ELFCLASS32 -#define ELF_ARCH EM_XTENSA +#define ELF_MACHINE EM_XTENSA #define USE_ELF_CORE_DUMP =20 #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 25a3d5c9cb..41f022569b 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -138,12 +138,8 @@ typedef abi_uint target_gid_t; #endif typedef abi_int target_pid_t; =20 -#ifndef ELF_MACHINE -#define ELF_MACHINE ELF_ARCH -#endif - #ifndef elf_check_arch -#define elf_check_arch(x) ((x) =3D=3D ELF_ARCH) +#define elf_check_arch(x) ((x) =3D=3D ELF_MACHINE) #endif =20 #ifndef elf_check_abi --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835882; cv=none; d=zohomail.com; s=zohoarc; b=VqSm+zi/QCj5Ne40sbaBE2NZYQkCDtxLg+kJBrxsvS68ktqbpfiafpSLEIftZjMYhrgpnKSo31YG4ALlztlOBIzGyObD3AVdjRY2rnDX97EQuuKsFbGthj3dblVr1iYREA+vWlQSWzZe06OvHVKnJj7weJDyQcd1TcunbrLtmhQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835882; 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=lgGEqtm67CSxG8kcjLYn+s9ezHdinYD/rh9GJNXU2vs=; b=WcdAxDeCMDbDkslQDqrBkerGixyw9/h1QIY3iWcxnh/MI596n7L940bk+YH1J4UULD4MRgW2KuM1Vdvb0mvaL0zdj2TXXaJ8F3U4oT2QSyyC0zmT3/BmURn0e/KtfUEHdpITpo8bBFXZjBiGBSZCjJW5GCO6jth7SQYQrp7n3F0= 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 1753835881994925.2086460355292; Tue, 29 Jul 2025 17:38:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguoQ-0002H3-Uy; Tue, 29 Jul 2025 20:36:55 -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 1uguMV-0006my-7L for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:08:04 -0400 Received: from mail-pj1-x1035.google.com ([2607:f8b0:4864:20::1035]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguMS-00057e-QM for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:08:02 -0400 Received: by mail-pj1-x1035.google.com with SMTP id 98e67ed59e1d1-315f6b20cf9so6727992a91.2 for ; Tue, 29 Jul 2025 17:08:00 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-31f63ddfb2asm281868a91.22.2025.07.29.17.07.58 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:07:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753834079; x=1754438879; 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=lgGEqtm67CSxG8kcjLYn+s9ezHdinYD/rh9GJNXU2vs=; b=sYObtRNz7QrI+bSYkbpVhWchGCmfAwHDJUWWKCmnyqJqrwfQYG/21WtoZ40GKE5LQ6 B1J+kgGv2rtfTsLOl1720fd/StgfM66nbW/HsmTK5tZcwSvxLE0lPfhWDcMq5A48LE5O nWfEgOy0QF68ywwg6IK+t4hA9tgI55/QwFCw+ewN2q+4zpqDNTx1eUeyoYxTsp+gyhTl 9eHd8FBVdjaOt8dRU3UKJ14LW+83z4CsPhoZc59hk67m2+rwvTUpbZBSYOolhFMdIMwA Loy5+JiTxn8byBjhgEcYtLoimM9xi0tdoX42jb4t4WHytCy4m9bi5ILkTKIMBqLUY5jB z4hQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753834079; x=1754438879; 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=lgGEqtm67CSxG8kcjLYn+s9ezHdinYD/rh9GJNXU2vs=; b=FfZsV2KNr+HZgYnJIPUXxzhZgw0VutXrP8OgGLYUUW4MAomE4UXWcVJWklKXjqAWHE TZ1tS3JR/wURGa6Rq3r36+E9x2ySO0l8UT0lO6/7WwNE106z6Ecc+3DYzR4Romy4EWSr 86rWAML3sdWJqF0zs7vsLWOnu/1onxm4EqDyGs2RP59/1MlEjGDLSjXbWwYUIo+RUoXK Koak6kYKST+AuZEt9XtkuytjlR3ANNvH9k4e707JeegRJ+mXvS7RYMZkeQ3v9Xx+saZe b9LJ2R6PbFz9/2zo9RyD3ntTSY4OCNOlbZYEgBPfI+A3BuboIpgUAe3NRqGikDdFCked 94Rw== X-Gm-Message-State: AOJu0YxbKOb5CllxQEURoDLVTXFoFJubC4IZsl9CswTunZFdQ/Uwh1g7 iAB+dE/MngM7vQhAULSbqZzBzzXzxrK6zovnEONurp56eVrPpH0Js95myrJcuG68+/UDqqulwbi IoI4Y X-Gm-Gg: ASbGnct3geae507c0qBrUbCmJR2Xh5ZDS9KyrUjB2U7j26T63hJosEklElMN9PIoGF1 rh+5bBypCZz0lFkQJaHxnJgpnsjWgLVJyGk7d3s5g12SSzqhIhWq3vSGp6YHvb3mPVVVh0KaJZV GISKly4T9TRfrfmWxJno8I/aYEpPcl4Jv+7c+8YgpAuaxYQ5t0bV9TODScU9oJ2O7snXEc5cUPB IEtS+h9IAjBP+uP+k028lZ8vljEKYb+GX3JQRuam913ZRUGtZbQ/IEwhx/lPA3RjqEQOKDgrg38 TEDbIY74JULs2xhfC6bAnodyn4zHuPLPUzpwSgQ9UKsdfbdARuubXrWD7WuSybo82wrwHrVVTsu 32yzUlDfrZlXcHVyOYS4dr7iaSTRX/TRv5wnsdBEwsYH2X7KgpERBzUxYUgL2iGYGhiwgc/v/LU gNpACLAnwTvg== X-Google-Smtp-Source: AGHT+IFMxcRmOoy0Zbn3lLtkVHb45LRjoZHll9jLzWlcqYsKFQFenAh1j0eOLNSd1JObvXNj5yv/oQ== X-Received: by 2002:a17:90b:39c5:b0:311:c1ec:7d12 with SMTP id 98e67ed59e1d1-31f5deb8759mr1656022a91.23.1753834079182; Tue, 29 Jul 2025 17:07:59 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 80/89] linux-user: Rename elf_check_arch Date: Tue, 29 Jul 2025 13:59:53 -1000 Message-ID: <20250730000003.599084-81-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::1035; envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x1035.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: 1753835883090116600 Content-Type: text/plain; charset="utf-8" Rename to elf_check_machine to match ELF_MACHINE. Remove the unnecessary definition for loongarch64. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/i386/target_elf.h | 2 +- linux-user/loongarch64/target_elf.h | 1 - linux-user/microblaze/target_elf.h | 2 +- linux-user/sparc/target_elf.h | 2 +- linux-user/elfload.c | 6 +++--- 5 files changed, 6 insertions(+), 7 deletions(-) diff --git a/linux-user/i386/target_elf.h b/linux-user/i386/target_elf.h index f5eeb36b31..510fd53cd8 100644 --- a/linux-user/i386/target_elf.h +++ b/linux-user/i386/target_elf.h @@ -17,7 +17,7 @@ /* * This is used to ensure we don't load something for the wrong architectu= re. */ -#define elf_check_arch(x) ( ((x) =3D=3D EM_386) || ((x) =3D=3D EM_486) ) +#define elf_check_machine(x) ((x) =3D=3D EM_386 || (x) =3D=3D EM_486) =20 /* * i386 is the only target which supplies AT_SYSINFO for the vdso. diff --git a/linux-user/loongarch64/target_elf.h b/linux-user/loongarch64/t= arget_elf.h index a76aa9f56c..5f6c1c2808 100644 --- a/linux-user/loongarch64/target_elf.h +++ b/linux-user/loongarch64/target_elf.h @@ -9,7 +9,6 @@ #define ELF_CLASS ELFCLASS64 #define ELF_MACHINE EM_LOONGARCH #define EXSTACK_DEFAULT true -#define elf_check_arch(x) ((x) =3D=3D EM_LOONGARCH) #define VDSO_HEADER "vdso.c.inc" #define USE_ELF_CORE_DUMP =20 diff --git a/linux-user/microblaze/target_elf.h b/linux-user/microblaze/tar= get_elf.h index 037ff595b6..ecf163d7e6 100644 --- a/linux-user/microblaze/target_elf.h +++ b/linux-user/microblaze/target_elf.h @@ -10,7 +10,7 @@ =20 #define ELF_CLASS ELFCLASS32 #define ELF_MACHINE EM_MICROBLAZE -#define elf_check_arch(x) ((x) =3D=3D EM_MICROBLAZE || (x) =3D=3D EM_MIC= ROBLAZE_OLD) +#define elf_check_machine(x) ((x) =3D=3D EM_MICROBLAZE || (x) =3D=3D EM_MI= CROBLAZE_OLD) #define USE_ELF_CORE_DUMP =20 #endif diff --git a/linux-user/sparc/target_elf.h b/linux-user/sparc/target_elf.h index 8071638e18..3fa5d12e34 100644 --- a/linux-user/sparc/target_elf.h +++ b/linux-user/sparc/target_elf.h @@ -13,7 +13,7 @@ # define ELF_MACHINE EM_SPARC #elif defined(TARGET_ABI32) # define ELF_CLASS ELFCLASS32 -# define elf_check_arch(x) ((x) =3D=3D EM_SPARC32PLUS || (x) =3D=3D E= M_SPARC) +# define elf_check_machine(x) ((x) =3D=3D EM_SPARC32PLUS || (x) =3D=3D E= M_SPARC) #else # define ELF_CLASS ELFCLASS64 # define ELF_MACHINE EM_SPARCV9 diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 41f022569b..5185c84e58 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -138,8 +138,8 @@ typedef abi_uint target_gid_t; #endif typedef abi_int target_pid_t; =20 -#ifndef elf_check_arch -#define elf_check_arch(x) ((x) =3D=3D ELF_MACHINE) +#ifndef elf_check_machine +#define elf_check_machine(x) ((x) =3D=3D ELF_MACHINE) #endif =20 #ifndef elf_check_abi @@ -364,7 +364,7 @@ static bool elf_check_ident(struct elfhdr *ehdr) This has to wait until after bswapping the header. */ static bool elf_check_ehdr(struct elfhdr *ehdr) { - return (elf_check_arch(ehdr->e_machine) + return (elf_check_machine(ehdr->e_machine) && elf_check_abi(ehdr->e_flags) && ehdr->e_ehsize =3D=3D sizeof(struct elfhdr) && ehdr->e_phentsize =3D=3D sizeof(struct elf_phdr) --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835979; cv=none; d=zohomail.com; s=zohoarc; b=f19502pR2wwHr5xY+sRWX5dJQMdK8cgObTufVXqPDww1J4OEadrdVmnn8yYNGNszjUXdPOTS+h/YbPtVfpnZda5Wfw1iZVj6e2BPqzzspAOJQk7KwvTtwFu9XDmSxiam6pBh7F+PCcKWvC4U1KRH1IrAr73YcW7eQiGHTvszSk0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835979; 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=9DoPP6e2vc+dYpUccWoXLOyyZ909534j7zoyV1tXOsc=; b=J2GRxEvsfiTy7r3xgrFtRQs1lvppBC283IB5vKeDbSwJVOi6e221TNDVf62ykpTPOKgrqlQy68eLI+WWYVnntpAZbvFKLYY8yFyShjK9MOoN3O6MoG1gc+Jh6/QNrNyI71rChk5jXFBcjqXVQ6sP06YqpeVU3cJ4kB00eU6aJlw= 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 1753835979970575.3475910757446; Tue, 29 Jul 2025 17:39:39 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uguoa-0002Zc-JO; Tue, 29 Jul 2025 20:37:08 -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 1uguMW-0006o6-Mj for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:08:04 -0400 Received: from mail-pg1-x52c.google.com ([2607:f8b0:4864:20::52c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguMU-00057k-Os for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:08:04 -0400 Received: by mail-pg1-x52c.google.com with SMTP id 41be03b00d2f7-b170c99aa49so4497614a12.1 for ; Tue, 29 Jul 2025 17:08:01 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-31f63ddfb2asm281868a91.22.2025.07.29.17.07.59 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:08:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753834081; x=1754438881; 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=9DoPP6e2vc+dYpUccWoXLOyyZ909534j7zoyV1tXOsc=; b=rW2izyJeHv2NVsTN1MmI2YE2DYytOL20NZvwcW53SBOdb2Xuna4c6iSRgSf7bgXh2x u40eDgzNsJmN1fg4r5MlT9C+TSnutyUQsWuIxO9Q+yF8iAB9GxZgZe7aM4SnPI3pPZEm u8tly3ZK76vDJMYsfhEIjzsAhDcjFz8gNjU/397FOqFPvYXS6a7HQxXDvFNoN/yoIgve 6ZVe5cpVQtuTK7JkQbDR+0MskN0KXPaixG1tR3Vsj3hgbJhimnKepM1aO/gG0AM2h5v6 HRG5bxP2bvaaqGEKbSjht/IGB7ZgNgms267Y9IxQyLx5Lgl4xJEVS0Avv7DwKUranE8c 9Tvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753834081; x=1754438881; 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=9DoPP6e2vc+dYpUccWoXLOyyZ909534j7zoyV1tXOsc=; b=sfAcuE3fsY3VHa+xyzgCdfPWoXiiABES4r/W0q0I5UCTazT7HbKd2VfB/tmYfb+MX5 nLqoc3g73BIiMF9gMevgJynFAF8X6404MT9Z/GhNlQWTSm59AiTWYRT2t7RoDu+dwePV N/kbAONFVs0WrP8LQhclAvfuxaTvLB4edMPHhO5mHXI3C7p9ICP2HlkxVB5WlppRz0xL iD/oWTpk0LLtjE5A5OwXcFuYnriTQKhBE8tWEmLyqR8co52ZbMaYpZI+IyDnFQP6T/05 vp0Mve8aeSag1gkyJ1TMxBNHkBYncrKVx7nNqvjsyj3e85Vk1CfYe9tdIHvj5hSGNFDd Xpvw== X-Gm-Message-State: AOJu0YxY3BXKNxe0w4wyLDhmElUp3fuYznH7sTkfMSdi1L5HfNtexHnf wv4DkwU0MABHWCSz2mTZ4afBKCEGG9v1YxOaN//J45A7K+u0XL6UWVb/duNSZxp0pLCMymDtl0d teIDY X-Gm-Gg: ASbGnct7fpcD5HP0ZOWm+kRq2WMIdmySe4NCK+U/LJcA7/0W7V1fG4pQHzzerj40/xx kDucSYbpHPOGgIsQBu3ucsexQVwVzZoTQ4F8HOjWxwzSJZgCo3jFlLp3cnL4DwzoA84tsJifzCM 0xMW4lVyaM/gc35tP+h0Ag44TzjCVM6GTZoD6pF8t8DXNLWYlDWj/q4aLj9KHqBp5a7p5FpG++x fXtjH1kJkIDrOhFSbygQWwzVRgThTouVcXTzIRIawiy9JVSofm/Z4KAAQem2A3V03ml/X0w/sL/ yqlucNWMC5F/stqM2umuJAo/HvRYPZc4RYKKm/AvCbtcLl/6k2O0Qu6pzIL6xG5WxHeLvVET57A yfn+zzdz5D+HSeKEWznlyO322/zzuupIxkOJZCm81n4/T9H/PMvVYCdu1tR0Pf4km16jZXJLdQo VD3NUOqL5ESg== X-Google-Smtp-Source: AGHT+IFopPYYUMXWSK7uvtj8ns87b6zbkamHYFMQc/7tNw+EYsBXQMeNOyLLjJyTEt2eWEAP1mGucg== X-Received: by 2002:a17:90b:3d4d:b0:31f:2558:46cb with SMTP id 98e67ed59e1d1-31f5de32904mr1820314a91.16.1753834080548; Tue, 29 Jul 2025 17:08:00 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 81/89] linux-user: Remove ELIBBAD from elfload.c Date: Tue, 29 Jul 2025 13:59:54 -1000 Message-ID: <20250730000003.599084-82-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::52c; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x52c.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: 1753835981952116600 Content-Type: text/plain; charset="utf-8" The last use of this fallback was removed in 8e62a71738bc. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 5185c84e58..6eb4e31bdb 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -110,11 +110,6 @@ int info_is_fdpic(struct image_info *info) #define MAP_DENYWRITE 0 #endif =20 -/* should probably go in elf.h */ -#ifndef ELIBBAD -#define ELIBBAD 80 -#endif - #if TARGET_BIG_ENDIAN #define ELF_DATA ELFDATA2MSB #else --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753836161; cv=none; d=zohomail.com; s=zohoarc; b=YODExhPURZEmNEv2qPD4HFwguwCQgYXskU7u5ezfi8elTfAUlHUGnOR6v13HkCWgebSxaLD3dam7/aKU0VATmhT5QKPHjIcSsbK6T3i+AyQP+73T0iyOVrBuX3ZbRh415vEYqp36MWu7fsCf7TZxC6nXV3wU2mg3mj5VJYS+jK0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753836161; 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=h3mKJMqydLY1W9tyxTMyrwndX6R0yQFewWeiuoVpWn4=; b=lBtzv7y3BC0OVOX3y2opBRtbqVSOuD9DQERQgCx3ir9IHCGCM3tUv/1P1oPVMmsuqlvVT4ZR3HAhIBmj5yxSj6PCD6RXRcO1rlOiEolh4NNSgO1tMjQ/FsXdxAFZKny5WBtAD2llt/xX5sXWsgT2u7kbz+LZcR/yp4SekMiynyI= 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 1753836161065639.6557365181435; Tue, 29 Jul 2025 17:42:41 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugup8-000300-NA; Tue, 29 Jul 2025 20:37:38 -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 1uguMX-0006oy-Ah for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:08:05 -0400 Received: from mail-pj1-x1032.google.com ([2607:f8b0:4864:20::1032]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguMV-00057v-BR for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:08:04 -0400 Received: by mail-pj1-x1032.google.com with SMTP id 98e67ed59e1d1-31f3b54da19so240222a91.1 for ; Tue, 29 Jul 2025 17:08:02 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-31f63ddfb2asm281868a91.22.2025.07.29.17.08.00 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:08:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753834082; x=1754438882; 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=h3mKJMqydLY1W9tyxTMyrwndX6R0yQFewWeiuoVpWn4=; b=fflX9kun3DC20O5AczpSznhGF42/h+C4v9MOcTb6WQhgTRB1FSmtw0Fn5S83lmzAjT 7kc3XdRkSZQuhnRhy389PK/f5B/qpXbxmFT3oM812rS5HcvH9GkzbymbFWe5+qzNTC7w WFizfr1OipplWVU4cm4wO3TnG6V8BHKQOLUaVfOo1Y3q6tdE0NBXBDhYwZyg19jzco/D 4EBVfifxtpQHIGJ9Y/JKj/AkjDTX/XXmLfp/Jtk7RpkD7sCLLcnlGf5gTo52mZ3TcdLx JwSQd1XmPlz+IOhVAkxsOyjOE0lXzv2D2/dpLnh6kYCdPPzQbSQC27/qrEiB+TkLRMZT BoyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753834082; x=1754438882; 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=h3mKJMqydLY1W9tyxTMyrwndX6R0yQFewWeiuoVpWn4=; b=tSURQBJOtF/ocdtD/rFmcWlBrZq/M1Fjv9dI6b3uRqMMBb77hB7havSxI0A9pFhSOH 1znGNPyv6gxZixU+dK8cMAK8wBrLqsx6dqcBqPQ+0l20isHtRWVJrWHdiRJhcNENgFos jEASuWbnIQg078r/Jj2pGBlKZI0ykN+EUINRO07/q0bVZYROqd0+mADuAGC3phvlsfQZ S7fWRRgRZp9q/iuD/vTdbXFzM8eHgp+Ktp+SFpzrnfqmLCEURehyXjeOF4Un/Kuq3ryD MHWXoK9OKJ1YVlPMpSxIaOhJwSwujO11DDp78alJe04gxmQW7CtHDnF+9P8BAnFdz8B+ u5zg== X-Gm-Message-State: AOJu0YzALnptgy1WjvJrAyiSanfgGzokMgUbxL/cxDQ33Wdb2MGElI3z oC6Q2wUmR1+fZ8al0TGi8MKok8aNZ+QnqUVFgo45TThraVsqEXVLzIfn9jwoVYxv9jmodW5H0kI h5Bel X-Gm-Gg: ASbGncvi5l1UXACXjHGOo857g/8Zw38z8Gw5gGAQGDf+SeAXQYrZ0Nwt9ixuXun5gB2 1GoBaRxguobvWiMK/zjJO+hn7FeDBTWDTTMcFYCdEzU1mk4qhOAuzRMdh5/oEAwRxwaX26Zt5Io F9fFUFxsRGpus7omjYH1uwK+ttXZKKj5FbBwiACMiVx7rbwjl3bpwE4fHNEIkeGPm0AUX1imEdB JcfZ8A3SuaAQee3HVMlHHxm0mcdLBUb4N/qxrHqeKWKK8CZFIoH5n9sSH4bumiL0P1wzhwVhln3 E1yYOj2Xtz1lRv6uZ+N6kFtlb9Qj3d4wCpCE5gQtO/1IdHTY5OuT5gBM15y5TxCXU+wy4rFB9Jb 17V8wwdfxcy9OBBdR7zFFCEoMHsxL3ejHJGDkYdp3odV/RZhcNUPVxlSrW0hlnnXctbB5FFIZxP tJ6IaJ5WZbjA== X-Google-Smtp-Source: AGHT+IGns91RM/ual+Mb5+t2Q5mLPpmKA9IhlA7e+rG8zjK3wN1UlxnfVW0/mO8ALwl3T2QIpFHPIg== X-Received: by 2002:a17:90b:2683:b0:313:1c7b:fc62 with SMTP id 98e67ed59e1d1-31f5de4bffamr1472573a91.22.1753834081591; Tue, 29 Jul 2025 17:08:01 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 82/89] linux-user: Remove MAP_DENYWRITE from elfload.c Date: Tue, 29 Jul 2025 13:59:55 -1000 Message-ID: <20250730000003.599084-83-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::1032; envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x1032.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: 1753836163919116600 Content-Type: text/plain; charset="utf-8" The last use of this fallback was removed in bf858897b769. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 6eb4e31bdb..14d4502b3c 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -105,11 +105,6 @@ int info_is_fdpic(struct image_info *info) return info->personality =3D=3D PER_LINUX_FDPIC; } =20 -/* this flag is uneffective under linux too, should be deleted */ -#ifndef MAP_DENYWRITE -#define MAP_DENYWRITE 0 -#endif - #if TARGET_BIG_ENDIAN #define ELF_DATA ELFDATA2MSB #else --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835345; cv=none; d=zohomail.com; s=zohoarc; b=BqHMLfJqx0OB6DVIG+23c8QrOqXYKa2cWEnWlpRe1yw3RN08rhUei/cuKxLbiGU8M+AR3jP36GynUwkfvVPcx9E19x30dqMJF7qovpEu53yPjJefTWCj8bejHlI/qtSKrCEqFzH4ICbuyA6HeTx6MJialAQo7KdjidU2U5eROgE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835345; 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=qSjnwPeDWDBrNlNB24iCT3wnvDV5JdCbq4vVQKGP1nQ=; b=UfIf59H84I2k0/wrXKun2DTrC0v/DQNqb7ix6ZNjVNQPkpiWt3qI8QsW9p2lOtoHp31LjG7p7RzbIPyLYs6mEIrNW2B7yvACVdbpjgIoolAW5HU5SObkw2y1+ZB4gV2fOehefyeIBcSUA20qo9te5d/rOZ7nwccWXTeuTjUzMy0= 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 1753835345058851.1913796761472; Tue, 29 Jul 2025 17:29:05 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugufE-0004cE-31; Tue, 29 Jul 2025 20:27:25 -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 1uguMY-0006ps-Cm for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:08:06 -0400 Received: from mail-pg1-x52c.google.com ([2607:f8b0:4864:20::52c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguMW-00058B-7h for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:08:06 -0400 Received: by mail-pg1-x52c.google.com with SMTP id 41be03b00d2f7-b34a71d9208so4702955a12.3 for ; Tue, 29 Jul 2025 17:08:03 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-31f63ddfb2asm281868a91.22.2025.07.29.17.08.01 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:08:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753834083; x=1754438883; 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=qSjnwPeDWDBrNlNB24iCT3wnvDV5JdCbq4vVQKGP1nQ=; b=WPRE2JwNUSYKkOUnquoGjlsncD7f4SDcyJJojEE7EKTbgqwNlfB5e1GJoBac9AuGB0 06lYuKAGEE1CHI9fB2zyeuniD51Xn+NRQewH9WmrUpI3H1KIaVPUTKEiqeFNXbM0I2bI nja9yWYThMBEHEzcbxSgoy4nLAXMGNuFdxWbItpmPP2Kw+r5qjOEHtNMXwS9FEAmpXmg VXZR+pnQT5KgWpq7/F0imgOC+5d2cprfC/jW134SDIYgobm48O/FWQNPKK25HGloxp4E 9psCoB46pjFjNtjoYBwSuOBLsOMdwj0YunDf2XtCMuqeMkfcwve7uFcb4k0gdB7jnY5h E1cQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753834083; x=1754438883; 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=qSjnwPeDWDBrNlNB24iCT3wnvDV5JdCbq4vVQKGP1nQ=; b=RPPVCkID62K4E4JuVkMkVVjpOpIHuTzSTp/YxoM3ZSmG1ix2uWWfkWdxQYH+PMSskE 61pr+wxYSG8Ugq+T3z01jwFaOgInF38TNRXQnA554nIAxdLNBQR6tqmGPeqSxo22FaQY 0DHbarTzyKHNbMc49pvoxWFm5C4SNZi3Nlc8y5oN9EQSB+jJtLNa97xSresjY+viLukH GpAd87Xu3xHIUSH5Or8MEXDVN5EY7LV0YvLCgnA5J2mR2Q0b+jo2fEX7ipgtKsiczRgQ DNbhswOWcyZ8zLSndBGYpI53IWX0HJiMg/O3faNlhY+Oq9afrH5KocTTbhViA345kdJu XrIA== X-Gm-Message-State: AOJu0Yz6s8XKNJvkwBNJCOTqMhhkdfJbItdv7CM+68XcF+AJJVxMBl8N ZfsK5Lxf2WGSMcRDMgmewGesyKa6KUK9LpxNRC/uZyhBXsvBe6jLSQhmO8p+FOTXyAFYHvmcRqZ uzMbm X-Gm-Gg: ASbGncvu3FMgPK9o1DU82xB6FVk1yMZpx7t5CQTuvWYMPsRZUxY0mkXjDqBVMpvwCge oUNYz1mAJhl+sgx/esGe98FweNi+Tf9TdYG7rI1UKjI8oYen88agnLBhfdAu5BHEBtNGihRxVK7 J7I4P46Ic584glmtpPWo9afhy4pG9rbAvUjkb/rtbvlvFgxpztA/WSG+Akz9AR/I1Q3k/x5bgD1 +Tg7S30MtNoqILxZC9aAzmIgHdE517CKzu+W7yCZZeXo8knylPicu/uzbHP21BOynZdAvAIobS8 ZAsxRLUcyeU4phIUDHK6LfOmEXzgtAEjoNTFL7NoDUqX9FYPWmzWsyAfUik990EunI7/2q4V5JG +ZRMtT339z2cOaviTA9JFw3wD9DGngnl8U1jqWrMBnjZxT0zZYLACckgbiUvjZVDjsc1xme+91Y /CcVSU8NrtCg== X-Google-Smtp-Source: AGHT+IFc3p1IG1BerogQy/5kybjqgSGeyUfWId8O0KmNGxi3y6/fcvreXHJXQvuNUPx4MDHLRkpR4A== X-Received: by 2002:a17:90b:5103:b0:312:f0d0:bb0 with SMTP id 98e67ed59e1d1-31f5dd9bc9amr1749078a91.12.1753834082651; Tue, 29 Jul 2025 17:08:02 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 83/89] linux-user: Move arch_parse_elf_property to aarch64/elfload.c Date: Tue, 29 Jul 2025 13:59:56 -1000 Message-ID: <20250730000003.599084-84-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::52c; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x52c.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: 1753835345839116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/aarch64/target_elf.h | 1 + linux-user/loader.h | 5 +++++ linux-user/aarch64/elfload.c | 18 +++++++++++++++++ linux-user/elfload.c | 35 ++++++--------------------------- 4 files changed, 30 insertions(+), 29 deletions(-) diff --git a/linux-user/aarch64/target_elf.h b/linux-user/aarch64/target_el= f.h index 16acf6d47f..2d396ad11a 100644 --- a/linux-user/aarch64/target_elf.h +++ b/linux-user/aarch64/target_elf.h @@ -11,6 +11,7 @@ #define ELF_MACHINE EM_AARCH64 #define ELF_CLASS ELFCLASS64 #define USE_ELF_CORE_DUMP +#define ARCH_USE_GNU_PROPERTY 1 =20 #if TARGET_BIG_ENDIAN # define VDSO_HEADER "vdso-be.c.inc" diff --git a/linux-user/loader.h b/linux-user/loader.h index a4178ce2c1..95cbeed5d4 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -117,4 +117,9 @@ typedef struct { /* Note that both Elf32_Word and Elf64_Word are uint32_t. */ const VdsoImageInfo *get_vdso_image_info(uint32_t elf_flags); =20 +bool arch_parse_elf_property(uint32_t pr_type, uint32_t pr_datasz, + const uint32_t *data, + struct image_info *info, + Error **errp); + #endif /* LINUX_USER_LOADER_H */ diff --git a/linux-user/aarch64/elfload.c b/linux-user/aarch64/elfload.c index 1030cb8094..d186b4685c 100644 --- a/linux-user/aarch64/elfload.c +++ b/linux-user/aarch64/elfload.c @@ -1,9 +1,11 @@ /* SPDX-License-Identifier: GPL-2.0-or-later */ =20 #include "qemu/osdep.h" +#include "qapi/error.h" #include "qemu.h" #include "loader.h" #include "target/arm/cpu-features.h" +#include "elf.h" =20 =20 const char *get_elf_cpu_model(uint32_t eflags) @@ -347,3 +349,19 @@ const char *get_elf_platform(CPUState *cs) { return TARGET_BIG_ENDIAN ? "aarch64_be" : "aarch64"; } + +bool arch_parse_elf_property(uint32_t pr_type, uint32_t pr_datasz, + const uint32_t *data, + struct image_info *info, + Error **errp) +{ + if (pr_type =3D=3D GNU_PROPERTY_AARCH64_FEATURE_1_AND) { + if (pr_datasz !=3D sizeof(uint32_t)) { + error_setg(errp, "Ill-formed GNU_PROPERTY_AARCH64_FEATURE_1_AN= D"); + return false; + } + /* We will extract GNU_PROPERTY_AARCH64_FEATURE_1_BTI later. */ + info->note_flags =3D *data; + } + return true; +} diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 14d4502b3c..54ea9221d9 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -184,41 +184,18 @@ const char * __attribute__((weak)) get_elf_base_platf= orm(CPUState *cs) return NULL; } =20 -#include "elf.h" - -/* We must delay the following stanzas until after "elf.h". */ -#if defined(TARGET_AARCH64) - -static bool arch_parse_elf_property(uint32_t pr_type, uint32_t pr_datasz, - const uint32_t *data, - struct image_info *info, - Error **errp) -{ - if (pr_type =3D=3D GNU_PROPERTY_AARCH64_FEATURE_1_AND) { - if (pr_datasz !=3D sizeof(uint32_t)) { - error_setg(errp, "Ill-formed GNU_PROPERTY_AARCH64_FEATURE_1_AN= D"); - return false; - } - /* We will extract GNU_PROPERTY_AARCH64_FEATURE_1_BTI later. */ - info->note_flags =3D *data; - } - return true; -} -#define ARCH_USE_GNU_PROPERTY 1 - -#else - -static bool arch_parse_elf_property(uint32_t pr_type, uint32_t pr_datasz, - const uint32_t *data, - struct image_info *info, - Error **errp) +#ifndef ARCH_USE_GNU_PROPERTY +bool arch_parse_elf_property(uint32_t pr_type, uint32_t pr_datasz, + const uint32_t *data, struct image_info *info, + Error **errp) { g_assert_not_reached(); } #define ARCH_USE_GNU_PROPERTY 0 - #endif =20 +#include "elf.h" + struct exec { unsigned int a_info; /* Use macros N_MAGIC, etc for access */ --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753836408; cv=none; d=zohomail.com; s=zohoarc; b=j0xbBejmHp8ZV/JIZ8fUSbH381QaSJkwpRY/iMcU/s7ei36qOIwahzObSGJCdUf6uFKP2uPh2C371brw3pfvNc6Bdv54XzYHcdZv2K/FXJsNZbg0up2BA7LiQf6GIhPdmNp5jyOtMjH+y0XZs2de+Hej7oPdOFLMW1Y+IdpW4E8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753836408; 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=dXnqA+NzaQFwXgBV+sYKikVPl172tw4EYkes2gL+wwk=; b=lSLiRYFXz2UKJor93G6lIQzA0pnlY9UozyFaKXQNq1Lq0oXAsXaWbL17R1ezkm1A3zy9cEGOtblu6e6iGW355z7y3basZSHbqsvMw8Utb0j3eg1NrSAvLx5MOZyqFVpI2erHGFp7LLREGC1+/mck6epkvqXVa9NZsNm0WCiiPBM= 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 1753836408825742.4185626692293; Tue, 29 Jul 2025 17:46:48 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugulV-0007c7-55; Tue, 29 Jul 2025 20:33:54 -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 1uguMZ-0006qw-D4 for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:08:08 -0400 Received: from mail-pj1-x1036.google.com ([2607:f8b0:4864:20::1036]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguMX-00058T-DK for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:08:06 -0400 Received: by mail-pj1-x1036.google.com with SMTP id 98e67ed59e1d1-31329098ae8so384027a91.1 for ; Tue, 29 Jul 2025 17:08:04 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-31f63ddfb2asm281868a91.22.2025.07.29.17.08.03 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:08:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753834084; x=1754438884; 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=dXnqA+NzaQFwXgBV+sYKikVPl172tw4EYkes2gL+wwk=; b=Urt+xYNZY11xUEQ2pB40GokdveGWCSVzDB88yZ5jW3Qkl/9MOVTqu1ZjATAkcNyyqG zGjdC1al/Am/RUSn35CyJGdNvUhhFCU4dv7KGEQdWEkkIIp8OUxPUP6kqr/hNXkWKtZX t5uc1ncC0MwMRBN1dYx3ZfAU9r/GTRixZLjygjRGJInw1chgBsadjZeeO/ZhforzYzwy 1pXbhcGt9QIzPki96Vj1lzK3TqssKmEcCBzexr34Xmt5J9Q1kL9hOCihx2YqA3P08LfQ sgcrMNRmNzlfdU7vAIKtW7v6jeFfYBd/WVV8bfmNHnZ6ivhoTnzqYSuPOYLx/sajBZRH GMKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753834084; x=1754438884; 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=dXnqA+NzaQFwXgBV+sYKikVPl172tw4EYkes2gL+wwk=; b=bT/Mose2uzRLb9KLglnQxNwcFzkqD30QthMBVkZQ8hTBDQQbmmcPf04Xehlmu+G1Sn q7AnopM3F22A//JL+uhSOsfEtulnC7qmEn1Ib6pAY0BHkn9dUBxAY2ah776u1/Eh3vgx fp4JXp91pNG1zOKQmKdyS+9r0MiiddoGm+Lj/0i+/p3eU50LB/Os3mPHJ+Zs9IbCZiHU 0gXM9WRE1ts/nj0jDD4AVyYPww3sFnN4uMimMG4ROuR30yl+qE5vGwm8BHADDbnyEK9u D+tFElgwg8Sr+WkbkL2Ip0DFJi1F7UKyCl1nyfVXOkZdW97Y8Ne5pUOutuGGtoOJwbov EWRQ== X-Gm-Message-State: AOJu0YxpgwIuZhfcaR7Eg5xNNNOys6yif1HbIGDA3iatWoWn1QjT+QcT q+zy5RXFdWqwI+osRZSCC6ozK69oIn0jud39d0BlORj7TTo0LbzKP2pXSeeXB4IAaHOSe0sjqjs 6zoQA X-Gm-Gg: ASbGncuzRCW7rzNxE1noJpBBCiakpQ3YcPBBlvSz94iszIJVFEE8JGOortT2v+V09RX plH83LrkGGgYVGONkCUP/VCO4D4gUQjufvCocloeI4Q+sa5mWndpq706vZSSvqj61ERryI7TnZi 1Yv+MjhrOWzSPo0P3++2MRyeWz9Pnl7A3opDTQ5RixlJGcELwt3nFtfa2LiXH3vSjsFO8wMjCB1 flav5Dl9foogfcQxJ2R9WJb28od1x62u9CeNDarkIB0CjezWhJpB2EcGbvIOT96cpjAX3uWC3H2 0nsktidJUJkcAhANPaOD1ARsXvHrdJgBiCziDlTWvIbMecLQ3hP+9Mc9qZe6JgdHyKNf88nO1Bo TDkxgNUjMKHQ7nmW8vXpz6B/qJnv3R698ptr//U3MgUePJpLy6WQfPDoAMjFaWKlGoLjPPaYbiA ffnT+kglMXSQ== X-Google-Smtp-Source: AGHT+IFW4iEYu/r0V2YpsKLjyRDcgAE3jaFXnt1iff1bOp/xt5KevOCzT8dAVAlTjsvEgLE6OwYHvg== X-Received: by 2002:a17:90b:4b0b:b0:31e:f30f:6d3b with SMTP id 98e67ed59e1d1-31f28c7a951mr7080830a91.2.1753834083730; Tue, 29 Jul 2025 17:08:03 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 84/89] linux-user: Remove a.out declarations from elfload.c Date: Tue, 29 Jul 2025 13:59:57 -1000 Message-ID: <20250730000003.599084-85-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::1036; envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x1036.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: 1753836410251116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 54ea9221d9..e8d5b56cfb 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -196,25 +196,6 @@ bool arch_parse_elf_property(uint32_t pr_type, uint32_= t pr_datasz, =20 #include "elf.h" =20 -struct exec -{ - unsigned int a_info; /* Use macros N_MAGIC, etc for access */ - unsigned int a_text; /* length of text, in bytes */ - unsigned int a_data; /* length of data, in bytes */ - unsigned int a_bss; /* length of uninitialized data area, in bytes = */ - unsigned int a_syms; /* length of symbol table data in file, in byte= s */ - unsigned int a_entry; /* start address */ - unsigned int a_trsize; /* length of relocation info for text, in bytes= */ - unsigned int a_drsize; /* length of relocation info for data, in bytes= */ -}; - - -#define N_MAGIC(exec) ((exec).a_info & 0xffff) -#define OMAGIC 0407 -#define NMAGIC 0410 -#define ZMAGIC 0413 -#define QMAGIC 0314 - #define DLINFO_ITEMS 16 =20 static inline void memcpy_fromfs(void * to, const void * from, unsigned lo= ng n) --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835965; cv=none; d=zohomail.com; s=zohoarc; b=ZB+wlJLtfFJYtVh7ZaZpqCA9pWMYXhD8Tw9PG4g44hi0tiW6qhSsC198hWzwf0iYuk+izuCgmH0gbkd4SMxxETPWCBTfkUp4cVZ/zh/ioT6yKDYpkLCUCWP5vJk0iSumplWHWGdD/8gEUawKg4UAE5T7XCUc1iGvS0rlrU0oJJs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835965; 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=vKU7aau6wblJ2iE6GxOueIIcL13PuWGFXXZqmIS92ng=; b=lUeoaePnYWUbyJ8KLB3qTkhFoqweaztTFCZjfrrhTKadQcl44szNU+rDgBnz7D5gL8L0uOkxEWsHAZoD4X160XAnmokyp9my0n9pb/ybcevSS4QzCPg8+bIOCiMIFrx3sAc+HpWvNYdYSzzDrFZp6Y5K//NXkYgZlmToiEqdXXk= 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 1753835965558626.5338522822506; Tue, 29 Jul 2025 17:39:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugupK-0003Kz-I2; Tue, 29 Jul 2025 20:37:50 -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 1uguMa-0006rU-EU for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:08:09 -0400 Received: from mail-pl1-x62e.google.com ([2607:f8b0:4864:20::62e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguMY-00058m-GH for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:08:08 -0400 Received: by mail-pl1-x62e.google.com with SMTP id d9443c01a7336-2403df11a2aso20536505ad.0 for ; Tue, 29 Jul 2025 17:08:06 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-31f63ddfb2asm281868a91.22.2025.07.29.17.08.04 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:08:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753834085; x=1754438885; 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=vKU7aau6wblJ2iE6GxOueIIcL13PuWGFXXZqmIS92ng=; b=hVgdObqO5vUNEjJKuSH84D2XP6tWgaYMC5T4eJH9eZTrV524rw9frB6DwPJDzkUiGe 7Pz50qHreY7kArL1kPA7o1Ui0XPIJqrH51vBBjhu3/6scLVk5QVDHFON44VtKAC+/UjC /dwCcir9LJiLjZOjkhIu+dUwvCJL8xsNs5BWC5yQ0ng5A8qOqERIq0hf7Pt0LaR0L1B0 ztsfJIkh3Db3HmABpuLWMGCMS/lsl1idiOjcY/9EkYrdMNnvRrYzlIP8wDR02MiUoN0Y X6aFYmkmvURHIv4gXZWKUupu6h6p3ARXjurlSjovqOF3fqXU/AtxRrCXIeCJ04E8XkOG Mxpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753834085; x=1754438885; 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=vKU7aau6wblJ2iE6GxOueIIcL13PuWGFXXZqmIS92ng=; b=CZOt/g//ASC+N7AHBiWVsMX5yoBICJRZUL6lnUsBQt0r5TswPkp2M1Gvv1zF2l8EBE qmqSdmxmilccuAz4QJPPFE5WEMpAAD/P8LCb1LIQ7UiKE7+NO6X3+TPotl/0PzeXH4xi pWg07ZCUB4C/lSIon5TBRFV/6RV0ZDsaFvjg/A5M7nvAmfULKqIZD60U3Nawqg253N4v 0YrPTYM2FEojSz1Rye93Qf/ZNlDDIAw1W4ptMtCniWjBhYHMzYjvLwai/i2qOwCzRIP0 E4n7Gr8rrCoQIY5ZtI9l0g1PVhQ1CpR3h2F77eZoZh4PQiuTSc2GKFoixA9H4TyrRD8t 6Pvw== X-Gm-Message-State: AOJu0YwD5MiF+HdkiHqO0CfgSwUbEWGaeVudnafvUI4mpji91bxemaB1 gewcbPuhFWdpdt3P4woCzw7PRUI3EPGUmAZCTjX5JU2IwjpEm2cWyJFwvVk9DmyREkfXlBao2ri XhB6N X-Gm-Gg: ASbGncteYTbmkPtdbb3r4S7fyfQCogYWSkAamSq6RFuSdB5ulxqIzxvX+tEUPbSPd+/ GS2s44WxFyNFgE+2d1K78Ab4odcw3xoJObt8HJ1PxR0BCXEVt1VEYKSW4iTeYP4k8B+MANYPvLY skTAVgJ+NY7qqC8Vf20E7NjnvC4PQzXt+npaN/1tp6r4cSFgrJiyol17cVy8zWdaXiNb90ZzXYE 86NikDetW3OsueRdVtW5nBfYqimq+qfPznlUWk4ctLd3/zM5u31RWftfyoIoMdAzoPDB3gTL1c5 gwjZepj2rxK5QWatqXKw+mSmnuh5SB0XJM+uN78NJq+SlLanYyWmESWyzKalU0EJKH1qPLQRpBf iJsof8Lj0gg9LIwW0/LIhZ1omPGftqpemzQCTJ7lIEeKKPd891V8Et6NuNhDROjQNtEhWEkOi37 0eZjMj4tFNgg== X-Google-Smtp-Source: AGHT+IG9Yj3xADeedzWGWjMIL8LGuiAWbcKLusqtdvJlrWktvj3i2NcsOQd0irz+yh10C8xswMphyg== X-Received: by 2002:a17:903:291:b0:240:14c:c648 with SMTP id d9443c01a7336-24096b1c548mr17695875ad.25.1753834084816; Tue, 29 Jul 2025 17:08:04 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 85/89] linux-user/sparc: Move target_pt_regs to signal.c Date: Tue, 29 Jul 2025 13:59:58 -1000 Message-ID: <20250730000003.599084-86-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::62e; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x62e.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: 1753835967823116600 Content-Type: text/plain; charset="utf-8" This structure is part of the sparc signal frame. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/sparc/target_syscall.h | 19 ------------------- linux-user/sparc/signal.c | 20 ++++++++++++++++++++ 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/linux-user/sparc/target_syscall.h b/linux-user/sparc/target_sy= scall.h index e421165357..a90ed2983a 100644 --- a/linux-user/sparc/target_syscall.h +++ b/linux-user/sparc/target_syscall.h @@ -1,25 +1,6 @@ #ifndef SPARC_TARGET_SYSCALL_H #define SPARC_TARGET_SYSCALL_H =20 -#if defined(TARGET_SPARC64) && !defined(TARGET_ABI32) -struct target_pt_regs { - abi_ulong u_regs[16]; - abi_ulong tstate; - abi_ulong pc; - abi_ulong npc; - uint32_t y; - uint32_t magic; -}; -#else -struct target_pt_regs { - abi_ulong psr; - abi_ulong pc; - abi_ulong npc; - abi_ulong y; - abi_ulong u_regs[16]; -}; -#endif - #ifdef TARGET_SPARC64 # define UNAME_MACHINE "sparc64" #else diff --git a/linux-user/sparc/signal.c b/linux-user/sparc/signal.c index 8181b8b92c..944769a8de 100644 --- a/linux-user/sparc/signal.c +++ b/linux-user/sparc/signal.c @@ -22,6 +22,26 @@ #include "signal-common.h" #include "linux-user/trace.h" =20 + +#if defined(TARGET_SPARC64) && !defined(TARGET_ABI32) +struct target_pt_regs { + abi_ulong u_regs[16]; + abi_ulong tstate; + abi_ulong pc; + abi_ulong npc; + uint32_t y; + uint32_t magic; +}; +#else +struct target_pt_regs { + abi_ulong psr; + abi_ulong pc; + abi_ulong npc; + abi_ulong y; + abi_ulong u_regs[16]; +}; +#endif + /* A Sparc register window */ struct target_reg_window { abi_ulong locals[8]; --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835803; cv=none; d=zohomail.com; s=zohoarc; b=njPKqfFzCANpuDde+t/WkcSy1ybAligKQEJR8SBaMHUxAVWjGqjVOTZpYM2tGORgfzZ95gvpynpx3WPpUFSwwDcKDqEuTjaOEj6MXtfbHTsalAbpY32iuqFqBs25X0wLt5N5TeVbcjwYaOLclQ9oGcXwpsMsd/5zm7F+qxl5AZY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835803; 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=j71IaTtPMXoz6fbGb+M6MA3PKEcR2w4MIFOEVOFwAB0=; b=Vjk+nVWkmP0u2d9HkXY9vytMWaauXfF7gEcWfDUPWGi0JfAZR3E7iRie9AUJeWBU7nGcLuV6mu2KpCHJSWdU1mH7JNQ70D7o4IMuqGLIZmPkMlXCJH/24H0OlnVs3GduFtkB+HaZ6Zs9YzmDGiWmdw0c/Vs4SVRsJPN6F0WaNqw= 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 1753835803326706.5660840337374; Tue, 29 Jul 2025 17:36:43 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugulh-0007r3-W6; Tue, 29 Jul 2025 20:34:06 -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 1uguMb-0006rr-6M for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:08:10 -0400 Received: from mail-pg1-x532.google.com ([2607:f8b0:4864:20::532]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguMZ-00058y-BU for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:08:08 -0400 Received: by mail-pg1-x532.google.com with SMTP id 41be03b00d2f7-b31e0ead80eso5065708a12.0 for ; Tue, 29 Jul 2025 17:08:06 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-31f63ddfb2asm281868a91.22.2025.07.29.17.08.05 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:08:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753834086; x=1754438886; 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=j71IaTtPMXoz6fbGb+M6MA3PKEcR2w4MIFOEVOFwAB0=; b=l7E/6kSkMtkGj6BYiADO2nc4+Inuq4/2XrtnfoNKE5b7hQkVNxU95viLyl8IG7Zex/ stDfh3wJ4LX/h29sqz6CaUBunPXJvrR4u0VDHGZoY994EsjxfT3egej6qgkOeiSZ55z0 C/nQ0yRziKxPRO/lBlLbR5RAGLpByDsUu98KF9+/qR8Td833KlYkKAIixRp1ynRoyWrm iysUvvpWQzjg5y5A3W+Ql+SO6xoIR9K6v3ZagQEGb5bbjINZDb4qJiz+RnWKzUrjI8n/ ciNuYZILdlesggcTn4KvDfI80qOtrucaDZxZwFHp/xUJUFCguT0j9vDcFh0yebIqqdVZ J9iw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753834086; x=1754438886; 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=j71IaTtPMXoz6fbGb+M6MA3PKEcR2w4MIFOEVOFwAB0=; b=ki3KLxeB8xVIvNPm92dH7vrI5QLb0gg3zzEVkWK7ogD3o8GLHlxsZk6LcZJURkPzPj o+Hb7FKcW/TuuTKw7gIoQHrdS9KAnwpRUvN9mmLIXcuesCd/G6DzLu9OamfVA/aNcG5R 1RIwWBuXqtuAwc/8JYFb3bf8A293fngoNstHmDElSIqUB17IQcHEk4o0vd1u/NWt0tzN hE1Uw3jH5EjigyD/9l7gByk+ED05SKaz/wfCtpQ2Tlit6PdgjtqjjqRODh8OtnDac3oL wnltYIwz4h7hCoHt0Ntn9Bwel7jDZdeYJgYwaPtd/y4DZS/yDoZJ/BIxdnrc9yrOWQeq ifnQ== X-Gm-Message-State: AOJu0YzsbdPJvoGZon7UTRpjj6uUj26Ind2hjBr2b2j/ZVsvCPdj2nDn xv5cVFYU1IvhVT6BIg0kC/wdTqslO2qRwa7ynQkwtF7wLDeEumjnL7twMsyAlPu/g0uLHzrHQyg E9HDQ X-Gm-Gg: ASbGnctoS7UqkCNN4vROAhp1r8BIhjzUYGzd/JDlZwfEqhP2ARc42su3ivVB5egUtYD CkktlkkHesDyRaR+/yCQwAoP8CGg3suyOe63N12IUHyisD+tNv/fw7BbnmCQAZgQ7udo313g0Rj pUI2HpqNz+i/C4mCO/8v+Drv+LcXF6ckcqJ+0m7/K3wE5OhGbggaNlzJsC5kRU08p0Xnnn0wcQv +ke0DiJH5iI/lQ90+/PDbEtMmaYBPKgrm2wonXxn10l3NNAct1QcPyV3fBXGgCJ6TNPKapzbXU0 YJaqoaQL+oFBDx3NKP07USxgCZkyQYcYxleIJvQtUuIapkT0TYS2iNn7s5y8xtjK/ewOY90+qwm VJfwz2TNl04EpbFd3nK7K8zIImRRN2TG3rPnfdLSRb6wPmhLerKWnhsbkBIEkdVa0yNyFtHrhUb j5E/TR5iJliQ== X-Google-Smtp-Source: AGHT+IEODpb0grAO/RVAJJNADrhHHjwPktJLRY3O6QAkjZiiTLkunFgZdfv2vk0XW6OHCQPsR58mfQ== X-Received: by 2002:a17:90b:1d05:b0:312:639:a06a with SMTP id 98e67ed59e1d1-31f5de656edmr1696735a91.31.1753834085786; Tue, 29 Jul 2025 17:08:05 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 86/89] linux-user/microblaze: Move target_pt_regs to signal.c Date: Tue, 29 Jul 2025 13:59:59 -1000 Message-ID: <20250730000003.599084-87-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::532; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x532.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: 1753835804381116600 Content-Type: text/plain; charset="utf-8" This structure is part of the microblaze signal frame. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/microblaze/target_syscall.h | 44 -------------------------- linux-user/microblaze/signal.c | 44 ++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 44 deletions(-) diff --git a/linux-user/microblaze/target_syscall.h b/linux-user/microblaze= /target_syscall.h index 43362a1664..66f5a9ebe2 100644 --- a/linux-user/microblaze/target_syscall.h +++ b/linux-user/microblaze/target_syscall.h @@ -4,50 +4,6 @@ #define UNAME_MACHINE "microblaze" #define UNAME_MINIMUM_RELEASE "2.6.32" =20 -/* We use microblaze_reg_t to keep things similar to the kernel sources. = */ -typedef uint32_t microblaze_reg_t; - -struct target_pt_regs { - microblaze_reg_t r0; - microblaze_reg_t r1; - microblaze_reg_t r2; - microblaze_reg_t r3; - microblaze_reg_t r4; - microblaze_reg_t r5; - microblaze_reg_t r6; - microblaze_reg_t r7; - microblaze_reg_t r8; - microblaze_reg_t r9; - microblaze_reg_t r10; - microblaze_reg_t r11; - microblaze_reg_t r12; - microblaze_reg_t r13; - microblaze_reg_t r14; - microblaze_reg_t r15; - microblaze_reg_t r16; - microblaze_reg_t r17; - microblaze_reg_t r18; - microblaze_reg_t r19; - microblaze_reg_t r20; - microblaze_reg_t r21; - microblaze_reg_t r22; - microblaze_reg_t r23; - microblaze_reg_t r24; - microblaze_reg_t r25; - microblaze_reg_t r26; - microblaze_reg_t r27; - microblaze_reg_t r28; - microblaze_reg_t r29; - microblaze_reg_t r30; - microblaze_reg_t r31; - microblaze_reg_t pc; - microblaze_reg_t msr; - microblaze_reg_t ear; - microblaze_reg_t esr; - microblaze_reg_t fsr; - uint32_t kernel_mode; -}; - #define TARGET_CLONE_BACKWARDS #define TARGET_MCL_CURRENT 1 #define TARGET_MCL_FUTURE 2 diff --git a/linux-user/microblaze/signal.c b/linux-user/microblaze/signal.c index f6d47d76ff..add814acd6 100644 --- a/linux-user/microblaze/signal.c +++ b/linux-user/microblaze/signal.c @@ -22,6 +22,50 @@ #include "signal-common.h" #include "linux-user/trace.h" =20 +/* We use microblaze_reg_t to keep things similar to the kernel sources. = */ +typedef uint32_t microblaze_reg_t; + +struct target_pt_regs { + microblaze_reg_t r0; + microblaze_reg_t r1; + microblaze_reg_t r2; + microblaze_reg_t r3; + microblaze_reg_t r4; + microblaze_reg_t r5; + microblaze_reg_t r6; + microblaze_reg_t r7; + microblaze_reg_t r8; + microblaze_reg_t r9; + microblaze_reg_t r10; + microblaze_reg_t r11; + microblaze_reg_t r12; + microblaze_reg_t r13; + microblaze_reg_t r14; + microblaze_reg_t r15; + microblaze_reg_t r16; + microblaze_reg_t r17; + microblaze_reg_t r18; + microblaze_reg_t r19; + microblaze_reg_t r20; + microblaze_reg_t r21; + microblaze_reg_t r22; + microblaze_reg_t r23; + microblaze_reg_t r24; + microblaze_reg_t r25; + microblaze_reg_t r26; + microblaze_reg_t r27; + microblaze_reg_t r28; + microblaze_reg_t r29; + microblaze_reg_t r30; + microblaze_reg_t r31; + microblaze_reg_t pc; + microblaze_reg_t msr; + microblaze_reg_t ear; + microblaze_reg_t esr; + microblaze_reg_t fsr; + uint32_t kernel_mode; +}; + struct target_sigcontext { struct target_pt_regs regs; /* needs to be first */ uint32_t oldmask; --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835927; cv=none; d=zohomail.com; s=zohoarc; b=MPUQeWHX80/AGiyUBnIEu5p/HLn0+S+QozNkki0RpA2QAxCcJ+UWwWK0Y15QjaVne1PZ9xAe18AlrtM7Gd48TBVBewNvUdSa6HqLZ67UCSWH6o17dSg7Nc+7XJXzCUBhNLHB3BD9Sv1JtuYqWeVUzUF2pnr2QiPvJ/paWwvGMXU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835927; 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=lSxLBrV8mXcKHHkWNXdf48xKgnlnxkiZZ+U8+XaPSEc=; b=EKpHKDzFx7T7zMe6E7d2r3+NpoXLKPeE3I7engjzRDDohBwiq/kay0FyY5Gt/kTOy28vzt0a2aQ8zfl9ZlhUFAX6l7yFU4lKUMQ1xFU0nqpLeqgBthONzOrON5E/ViKNVVEimWL+OL3mpc0scr50e+2f0CmaUXIRMSVWjE6bmG0= 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 1753835927058335.127595009021; Tue, 29 Jul 2025 17:38:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugupc-0004dA-DM; Tue, 29 Jul 2025 20:38:09 -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 1uguMc-0006sF-Fi for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:08:13 -0400 Received: from mail-pj1-x102e.google.com ([2607:f8b0:4864:20::102e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguMa-000598-Lz for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:08:10 -0400 Received: by mail-pj1-x102e.google.com with SMTP id 98e67ed59e1d1-31329098ae8so384068a91.1 for ; Tue, 29 Jul 2025 17:08:08 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-31f63ddfb2asm281868a91.22.2025.07.29.17.08.06 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:08:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753834087; x=1754438887; 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=lSxLBrV8mXcKHHkWNXdf48xKgnlnxkiZZ+U8+XaPSEc=; b=DBCkMm1pwv4TIIWU+b939rZz43Z89LklmCE8rIiFBImuAecan39kjtEEcIqWoHmHZz yKS5gdGpj8GwejHj2DzRp/zQUhSKe37j8Bp3JkXsIFjL0BbqVEUArLqV29cvGAHsAGno X27vxI1hxdyiAmb2Gj3LoDNHNmvZdmagDsQV3lc+iLtXzL82CmnJX7wnib23K1iHMbHe fkML67E4WMqeM3LvbGXlFlMhx2tgifxlLK1DWA2IKiKEAFEghRzJ9L7OI1OdUDLhvgvM d9HLbqkFg9POmEcN8oyl3WsEFyAIzKf5W0yzeOEyU9mW2i/cuqYN/eWOoUfTe2rDX/SA Tn+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753834087; x=1754438887; 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=lSxLBrV8mXcKHHkWNXdf48xKgnlnxkiZZ+U8+XaPSEc=; b=Coc/KEpDnzx3cFwTlMx43JgucKdEn6UZo9sszD7CTNKvHU854QBeVlnIRlIUAaotCN cWKEvGzq2hp4Oe+6EfHJL01ClOdglhDfDdVsAkj8vQL1HfyZwdjrP2LvJXJwEnpdp5S3 BWKEk30ZR0h3fLaUjQXCZxB5vm0A4k+QnbYQQ8yFiCNLTvr7rD3ZhEDsGZskWm4Y4b2b cFfltTvtwfoYTUC3C4WJ7zMQbh86wDEExHGa2Lm6qJEMBaz0FhHs4Du4OU2IPR2MdgsF C8IenwBGkOEPO73h3fyYdBlUNO5+g2J0hNnJAUlxeGFDNJtvUKmKjNHduWcF3dQek1D+ F+bg== X-Gm-Message-State: AOJu0YyfVbw37mXNxoWZkDCAlDQ3NH2p1kHIkJmAyzJ0swY6ujYR9Bfc xjIwO87gT8nw14mNwvoDiKo8fI8oLOxEPkAIHB79V+wJEfVcsZfEteFhSl6ZXQ2zQqev+YlPwAL vKKa6 X-Gm-Gg: ASbGncvBR0Eva6U4QcqvrH6fH03N4o08UdSdtuvIcfDhYlSp6xgFPDww0fop6hVCDnb MnQEHMfV+heGTY0SBM/fuRMwmAAUaHDV1cjNJi1CNOWzRvjCHoFt3v4F8GYs2IfTVkU5GLe9lMX Q4S+/CXrTQb/tmKdGUzMIZYTHFBSgGlZfZvaH10hhE2jru/X62CejIb9W0YdBMyD+RgMB9mEzOt PdD6lD0zDqrQ4/KUMZk2cKshnwQzIT2OpksaUNoCrHaFWOQiEAxGGhUQdp5OlffkETQeyIFLEBA 4q+xrnB5cFg4qywSGxlNZXpL1+vDfFRhmS2tDkn/Q+gPdKJCEK7G8pVEo2AuhDRLQbFl3S0RO5/ fDPa/4QnKn7lziuMpLd+SPHoWQXYMHMcmxmVsWkzif5GfLVxtLjWF/6be5GALbwmwSffCZSTfwo kNUPAkcDRXDw== X-Google-Smtp-Source: AGHT+IEXxbj5hKqs4UlZw4M3xqHNuCVHV009jB3rux0ARzv8ajdCRwzFW0UkkCIwvlH++zXWNt5FOg== X-Received: by 2002:a17:90a:77c6:b0:31f:2bbb:e6a8 with SMTP id 98e67ed59e1d1-31f2bbbe819mr5117555a91.12.1753834086838; Tue, 29 Jul 2025 17:08:06 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 87/89] linux-user/openrisc: Move target_pt_regs to signal.c Date: Tue, 29 Jul 2025 14:00:00 -1000 Message-ID: <20250730000003.599084-88-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::102e; envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x102e.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: 1753835929681116600 Content-Type: text/plain; charset="utf-8" This structure is part of the openrisc signal frame. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/openrisc/target_syscall.h | 11 ----------- linux-user/openrisc/signal.c | 12 ++++++++++++ 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/linux-user/openrisc/target_syscall.h b/linux-user/openrisc/tar= get_syscall.h index 7fe5b73d3b..c8394e9dcd 100644 --- a/linux-user/openrisc/target_syscall.h +++ b/linux-user/openrisc/target_syscall.h @@ -1,17 +1,6 @@ #ifndef OPENRISC_TARGET_SYSCALL_H #define OPENRISC_TARGET_SYSCALL_H =20 -/* Note that in linux/arch/openrisc/include/uapi/asm/ptrace.h, - * this is called user_regs_struct. Given that this is what - * is used within struct sigcontext we need this definition. - * However, elfload.c wants this name. - */ -struct target_pt_regs { - abi_ulong gpr[32]; - abi_ulong pc; - abi_ulong sr; -}; - #define UNAME_MACHINE "openrisc" #define UNAME_MINIMUM_RELEASE "2.6.32" =20 diff --git a/linux-user/openrisc/signal.c b/linux-user/openrisc/signal.c index cb74a9fe5e..9242d06002 100644 --- a/linux-user/openrisc/signal.c +++ b/linux-user/openrisc/signal.c @@ -22,6 +22,18 @@ #include "signal-common.h" #include "linux-user/trace.h" =20 +/* + * Note that in linux/arch/openrisc/include/uapi/asm/ptrace.h, + * this is called user_regs_struct. Given that this is what + * is used within struct sigcontext we need this definition. + * However, elfload.c wants this name. + */ +struct target_pt_regs { + abi_ulong gpr[32]; + abi_ulong pc; + abi_ulong sr; +}; + typedef struct target_sigcontext { struct target_pt_regs regs; abi_ulong oldmask; --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835926; cv=none; d=zohomail.com; s=zohoarc; b=LHV16LNVf0OC4rBMQlNpiYxuo8sSbjOn8RG397J1CozjDInIHDCdnIa+QcJ/zsGaVzlhKBqzZSqN8Y+8/ZHuwU//JdQNkzO6wezPOVU45rWy94pEkv0ITMXCVrqhvrBW1044H9D2eLaGuFuQr4zuZPbenMIbmJS5sC2lSZhQsz0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835926; 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=WC9oUvRCMrCYnYBvur63Dpq5l4F1AQCsSeMzT7kqFfI=; b=huWEt76sq3XXshqtmNxg9zOLjLghKHp3osTQNabZoUcN3ezylzR2mVZ6L00bXt0LCd84c8XrqTPncR3E5xxitJk98BHSD5eWCnPiyAR9cRukUf0JuOusyOhOcDSBrFY7+GX0NBZW4k0RvodQsMK/AT5zWFz+M6oJO3qwCXPAglQ= 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 1753835926896149.20758175440812; Tue, 29 Jul 2025 17:38:46 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugufR-00051r-4G; Tue, 29 Jul 2025 20:27:37 -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 1uguMd-0006sQ-CP for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:08:13 -0400 Received: from mail-pj1-x102d.google.com ([2607:f8b0:4864:20::102d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguMb-00059M-Go for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:08:10 -0400 Received: by mail-pj1-x102d.google.com with SMTP id 98e67ed59e1d1-313910f392dso4832530a91.2 for ; Tue, 29 Jul 2025 17:08:09 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-31f63ddfb2asm281868a91.22.2025.07.29.17.08.07 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:08:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753834088; x=1754438888; 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=WC9oUvRCMrCYnYBvur63Dpq5l4F1AQCsSeMzT7kqFfI=; b=pfaAybSwLIuJUDrreVNNfwHjsFZbuFYkOV3XyrsxnTKUZZ5Aq+nrCG12xAoaEzUkDv voAcdS28L0iigpBna+t27UeJXsx7FP5rGR0u7SN1EEHXz8nnFcrEMHTcOTjoQYIZm+TE z57+gFi9VSyw0dg7HJyMYpMbn/isZ1JgqtO3R8o2gFV5g9DFY5s0s5T4TI1whfH6ibbk soAzDHKzixkAeYJVR4nHv/CM4c7CDnyhgt0/meFORukJfOUrxaKg3rSSXaXYqQ1CbpdP F9MNwm8uDkqp7kZwE3ieKsH5gUYDF3LOPSpNNL3n6SWMVlvoaJ1741v+R+8osjEKwULE VN7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753834088; x=1754438888; 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=WC9oUvRCMrCYnYBvur63Dpq5l4F1AQCsSeMzT7kqFfI=; b=XP0Etz0nDDIkQOWKdURvhraCBGXfaa9PuXg698dQU++GFmHn60jhvxrKFOOs4FpC/z uJuExxnCKFFuSbfosfTOcqwu7DVq5IcPIHcFQlou/wIQYoyE+NqFsHTKAFH34Sr3bG0o T0nNRZzK4gX1nVcrx44olNZjoB+h1mQuxFSh/QJTqbA/RSPSlBgs6YSHemDwQCK3oQAD CvYYhIpGbbDdZSYeSnVYLE6atIYQqGYMj7XzmlXFwpmq80uKvsTp5XBhiVM/JDh0DFQU 9nX/mPwbk3yQJhMeb3AKUO5MU1jj8ppZYb5ESzbRRJxrZhH28CuLyO0fVcvZPuwTP3XQ MEXg== X-Gm-Message-State: AOJu0YyEQQSYhNO/zv3Ok2dnhcsBg60Iu3PFq9DNKe2gvPffVHpV/ZI+ hdAo5nlp0roFH6QCqsdehoXUICsw9El0OyT4OPOiNOMEKsLmFq8fv05FM5Y9KpI0i1h4DsmfS+h xKrF5 X-Gm-Gg: ASbGncvCr1tglwtTq5kbS6qnu9DQRX/LS8kX5f4leLuIoTPSNdy7C9BA9ZTvEcELixZ 0A6gs0fEim3oYxvfe8L1hsDPBeXk6StUPAime/G6GpvRvbNpCc40hX+vUBKKTJqzL/d672I6ZzM c4MpGgYerF/Yuc7uTUbxTnXJiJh/HX/3gVEeLRDn4EfZPcVkTIew89RusKN4TXBh6Nork8ZyHJw sqL6rq534q33SKZT3YW+8mbl+Qc3PdJg3jqROLVuyp5ViG/vxD5/vwXQjUSivCZ/+dW4F9hM6aq t34uxDVlljrq7e8ImhqNAuSglIQdke8EAo3ZS2EJ7FZb2o3qtFZWoWSWQ4m7A4PTsBQtu2KprPM 7fx/8Ip9sqwfUvwwAu89J6jjUbyTrIDQWATAWxYi0e5uGNYTHTAJ8QG/NOwv7U0rv63F+J1U7Mc DVk+hVIhPn3A== X-Google-Smtp-Source: AGHT+IGuETlA2k53lsfGSFZ6Li8Q4289Af3Tv1b/ddRDXruXJ91Sy1a6EknS+WomYwfe7Gf7npiKJA== X-Received: by 2002:a17:90b:250a:b0:313:dcf4:37bc with SMTP id 98e67ed59e1d1-31f5de59cf0mr1117712a91.34.1753834087825; Tue, 29 Jul 2025 17:08:07 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 88/89] linux-user/s390x: Move target_psw_t to signal.c Date: Tue, 29 Jul 2025 14:00:01 -1000 Message-ID: <20250730000003.599084-89-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::102d; envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x102d.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: 1753835927338116600 Content-Type: text/plain; charset="utf-8" Remove struct target_pt_regs as unused. Move target_psw_t to signal.c, as it is used there. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/s390x/target_syscall.h | 22 ---------------------- linux-user/s390x/signal.c | 5 +++++ 2 files changed, 5 insertions(+), 22 deletions(-) diff --git a/linux-user/s390x/target_syscall.h b/linux-user/s390x/target_sy= scall.h index 4018988a25..f01f9a0baa 100644 --- a/linux-user/s390x/target_syscall.h +++ b/linux-user/s390x/target_syscall.h @@ -1,28 +1,6 @@ #ifndef S390X_TARGET_SYSCALL_H #define S390X_TARGET_SYSCALL_H =20 -/* this typedef defines how a Program Status Word looks like */ -typedef struct { - abi_ulong mask; - abi_ulong addr; -} __attribute__ ((aligned(8))) target_psw_t; - -/* - * The pt_regs struct defines the way the registers are stored on - * the stack during a system call. - */ - -#define TARGET_NUM_GPRS 16 - -struct target_pt_regs { - abi_ulong args[1]; - target_psw_t psw; - abi_ulong gprs[TARGET_NUM_GPRS]; - abi_ulong orig_gpr2; - unsigned short ilen; - unsigned short trap; -}; - #define UNAME_MACHINE "s390x" #define UNAME_MINIMUM_RELEASE "2.6.32" =20 diff --git a/linux-user/s390x/signal.c b/linux-user/s390x/signal.c index df49c24708..e964876123 100644 --- a/linux-user/s390x/signal.c +++ b/linux-user/s390x/signal.c @@ -33,6 +33,11 @@ #define _SIGMASK_COPY_SIZE (sizeof(unsigned long)*_SIGCONTEXT_NSIG_WORD= S) #define S390_SYSCALL_OPCODE ((uint16_t)0x0a00) =20 +typedef struct { + abi_ulong mask; + abi_ulong addr; +} __attribute__ ((aligned(8))) target_psw_t; + typedef struct { target_psw_t psw; abi_ulong gprs[__NUM_GPRS]; --=20 2.43.0 From nobody Sat Nov 15 06:33:16 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=1753835993; cv=none; d=zohomail.com; s=zohoarc; b=bONdt4QDVKuW3gWSJ3RjgNHvvQJV8nIsyWlHYkHPGsEzfU6aE7d+EduX7kqTRyP8EJYqCvWVVlK+0Stw5TYGwAY4tvY/5Q16Uuf6v4fpewxi4vzTyLgY7LHA9dbcR3+ncoT9YUvrONsW7MqudNDCk1sOMUW95IJC2bdwNH5SkZM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753835993; 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=oTWjrTg9ePA1um90GS9B4jVmb7n8JchIdFObD0/T/9I=; b=NKePl4FSLQR4S50xjtbKgzxBCWWeVlKoLHu2xXgyUBZIPgGFQ3RDg4m46OB9gc9W0mB4BOI0LtB72kTgp84gG39WDJXQmGocqocq01kimqc34Y86LlKc3iSpFW2X7AGg1kZ3IbMTreODYXZKErFTCUCJSyOytFmwrqFmCRSN9IY= 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 175383599324495.83525723187677; Tue, 29 Jul 2025 17:39:53 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ugunR-0000zb-Ea; Tue, 29 Jul 2025 20:35:56 -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 1uguMf-0006sz-8z for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:08:13 -0400 Received: from mail-pj1-x1033.google.com ([2607:f8b0:4864:20::1033]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uguMc-00059V-Kt for qemu-devel@nongnu.org; Tue, 29 Jul 2025 20:08:13 -0400 Received: by mail-pj1-x1033.google.com with SMTP id 98e67ed59e1d1-313a001d781so5283279a91.3 for ; Tue, 29 Jul 2025 17:08:10 -0700 (PDT) Received: from localhost.localdomain (syn-098-150-199-049.res.spectrum.com. [98.150.199.49]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-31f63ddfb2asm281868a91.22.2025.07.29.17.08.08 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 17:08:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1753834089; x=1754438889; 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=oTWjrTg9ePA1um90GS9B4jVmb7n8JchIdFObD0/T/9I=; b=sYPVjk8Ema2QdHfDYA1/6oonwTPhceg9WIMBTlNcz64jJQpogqKuKRNuAJTyXOoZR8 kiF5jzkfj1xiopv4/7IXLWb7wkTbohV5sA7MppJPa6WczNPrW/uJhkfcP8qct/L1H/23 R1I6Y0HUNLinuIwEPsduTF7GvK5bak3krgDAvCyelhvRW1BjZp67EJDahdjtPcg5kPr2 vVyqZ60cHv4oorPZzLuMC3H78dj6kq/SSJaw1tnFFv2pq2q0tJUxDCA4gzFuD/10uio8 XtmWjPzssdX0OOxCM75WAwafA2YQ5LYKG/BlAxn6NO7d00Zp+wKlZwz0USt2k6H7+pmd RPLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753834089; x=1754438889; 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=oTWjrTg9ePA1um90GS9B4jVmb7n8JchIdFObD0/T/9I=; b=msfW926vA6YMltOpqfg6lfXKSWk670Boz/bJrOwDMSkVY6PMFotls1DxvVSYMtBWUH 5/jS4BkTWc2Mr7GWOe3+1ym55SB9pnTmjkZ52CoKjbbi5jd79QL2sK59aSWUlyNpg/8u R4oWjjPodypTwwPM1x59s90oBRwSHZ0z0+I3X8jJi6ZCOn3lFzzVLuZu2lf/qEZwd9xD sn2W2xUlb+huS6Vi9jamFTtifjLG5CHtd1zoUprWmBgnViDjACqQGJWZmiRrG4XWrKyU 4c15wVdEemcu5ibjCtGQb5LdfhmpNA9AHG3v17PsvgpAQzeaIOwu04G+IeI6VZraqMDI hnmQ== X-Gm-Message-State: AOJu0YzZRUoQX9zch3+wTokkKw0SjaomFhcYRvbNKhcKGP/SyJYUn9QP fWymKNF0pnDLjIm674Ld1TVFz5bXYzMi9vjNvUJ42xqpi/3Pkd+9+LgyN5mQ8x557al4ob31w5E KXjjl X-Gm-Gg: ASbGncvyaEtiq/SiwMbhLPhtYmyodemDwni4vP78OI2mf7iSE8CLdomPKFI0yhBya5t Y9airQRzhFaCRXLLimLXanTEkpTdhdH4moEtSZ4gCuE153NumMMioy0vctH8HJVeUgsWGHeYxm2 LT4XzdYNRHAgq0uD4vNrsT+sT87Q7nssjK/q8m9OaPOyHNEwz3x1jsqups6U9PM7m1qxfdIf7+V js3KIkiJTCQjcGGUqGJ0ww23HOEHwwtA6qHt4WGNM+mBuhQ4sw542IYUFcQCU2LoD2pBn+c7Pzz l1VjtgihDsEmHEIw8n1B8OXZo8ShHugwMOMh6c7Cw1ndoiKEtUWk4Nd98lQFevg7XYnxN6yUP+K 6mwvqJqP2GvWCSBWXGftOGazb8KS3T5HbGETNmZBIpXuPeoEkhBAyqTARvhEUbp3DX7+BU+zdBB D2/U24NdeNjA== X-Google-Smtp-Source: AGHT+IFMzLvWezCy4FqeAlAA9zUR2toYsHAHfdKEyymBFwzw4baxTWY4Xm8sCY1/DD0gFc/6AFyThA== X-Received: by 2002:a17:90b:4c0e:b0:313:283e:e881 with SMTP id 98e67ed59e1d1-31f5de42a08mr1899550a91.11.1753834088954; Tue, 29 Jul 2025 17:08:08 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 89/89] linux-user: Remove struct target_pt_regs from target_syscall.h Date: Tue, 29 Jul 2025 14:00:02 -1000 Message-ID: <20250730000003.599084-90-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730000003.599084-1-richard.henderson@linaro.org> References: <20250730000003.599084-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::1033; envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x1033.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: 1753835994402116600 Content-Type: text/plain; charset="utf-8" This structure is unused, and would only ever be used for the ptrace syscall, which we will never implement for linux-user. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/aarch64/target_syscall.h | 7 ----- linux-user/alpha/target_syscall.h | 40 ------------------------- linux-user/arm/target_syscall.h | 8 ----- linux-user/hexagon/target_syscall.h | 5 ---- linux-user/hppa/target_syscall.h | 18 ----------- linux-user/i386/target_syscall.h | 18 ----------- linux-user/loongarch64/target_syscall.h | 23 -------------- linux-user/m68k/target_syscall.h | 16 ---------- linux-user/mips/target_syscall.h | 19 ------------ linux-user/mips64/target_syscall.h | 16 ---------- linux-user/ppc/target_syscall.h | 28 ----------------- linux-user/riscv/target_syscall.h | 35 ---------------------- linux-user/sh4/target_syscall.h | 11 ------- linux-user/x86_64/target_syscall.h | 28 ----------------- linux-user/xtensa/target_syscall.h | 35 ---------------------- 15 files changed, 307 deletions(-) diff --git a/linux-user/aarch64/target_syscall.h b/linux-user/aarch64/targe= t_syscall.h index c055133725..bd05f6c7fe 100644 --- a/linux-user/aarch64/target_syscall.h +++ b/linux-user/aarch64/target_syscall.h @@ -1,13 +1,6 @@ #ifndef AARCH64_TARGET_SYSCALL_H #define AARCH64_TARGET_SYSCALL_H =20 -struct target_pt_regs { - uint64_t regs[31]; - uint64_t sp; - uint64_t pc; - uint64_t pstate; -}; - #if TARGET_BIG_ENDIAN #define UNAME_MACHINE "aarch64_be" #else diff --git a/linux-user/alpha/target_syscall.h b/linux-user/alpha/target_sy= scall.h index fda3a49f29..53706b749f 100644 --- a/linux-user/alpha/target_syscall.h +++ b/linux-user/alpha/target_syscall.h @@ -1,46 +1,6 @@ #ifndef ALPHA_TARGET_SYSCALL_H #define ALPHA_TARGET_SYSCALL_H =20 -/* default linux values for the selectors */ -#define __USER_DS (1) - -struct target_pt_regs { - abi_ulong r0; - abi_ulong r1; - abi_ulong r2; - abi_ulong r3; - abi_ulong r4; - abi_ulong r5; - abi_ulong r6; - abi_ulong r7; - abi_ulong r8; - abi_ulong r19; - abi_ulong r20; - abi_ulong r21; - abi_ulong r22; - abi_ulong r23; - abi_ulong r24; - abi_ulong r25; - abi_ulong r26; - abi_ulong r27; - abi_ulong r28; - abi_ulong hae; -/* JRP - These are the values provided to a0-a2 by PALcode */ - abi_ulong trap_a0; - abi_ulong trap_a1; - abi_ulong trap_a2; -/* These are saved by PAL-code: */ - abi_ulong ps; - abi_ulong pc; - abi_ulong gp; - abi_ulong r16; - abi_ulong r17; - abi_ulong r18; -/* Those is needed by qemu to temporary store the user stack pointer */ - abi_ulong usp; - abi_ulong unique; -}; - #define UNAME_MACHINE "alpha" #define UNAME_MINIMUM_RELEASE "2.6.32" =20 diff --git a/linux-user/arm/target_syscall.h b/linux-user/arm/target_syscal= l.h index 412ad434cf..8c4ddba717 100644 --- a/linux-user/arm/target_syscall.h +++ b/linux-user/arm/target_syscall.h @@ -1,14 +1,6 @@ #ifndef ARM_TARGET_SYSCALL_H #define ARM_TARGET_SYSCALL_H =20 -/* this struct defines the way the registers are stored on the - stack during a system call. */ - -/* uregs[0..15] are r0 to r15; uregs[16] is CPSR; uregs[17] is ORIG_r0 */ -struct target_pt_regs { - abi_long uregs[18]; -}; - #define ARM_SYSCALL_BASE 0x900000 #define ARM_THUMB_SYSCALL 0 =20 diff --git a/linux-user/hexagon/target_syscall.h b/linux-user/hexagon/targe= t_syscall.h index 7f91a4abc7..d9c94737a5 100644 --- a/linux-user/hexagon/target_syscall.h +++ b/linux-user/hexagon/target_syscall.h @@ -18,11 +18,6 @@ #ifndef HEXAGON_TARGET_SYSCALL_H #define HEXAGON_TARGET_SYSCALL_H =20 -struct target_pt_regs { - abi_long sepc; - abi_long sp; -}; - #define UNAME_MACHINE "hexagon" #define UNAME_MINIMUM_RELEASE "4.15.0" =20 diff --git a/linux-user/hppa/target_syscall.h b/linux-user/hppa/target_sysc= all.h index 9a8f8ca628..4b21e85371 100644 --- a/linux-user/hppa/target_syscall.h +++ b/linux-user/hppa/target_syscall.h @@ -1,24 +1,6 @@ #ifndef HPPA_TARGET_SYSCALL_H #define HPPA_TARGET_SYSCALL_H =20 -struct target_pt_regs { - target_ulong gr[32]; - uint64_t fr[32]; - target_ulong sr[8]; - target_ulong iasq[2]; - target_ulong iaoq[2]; - target_ulong cr27; - target_ulong __pad0; - target_ulong orig_r28; - target_ulong ksp; - target_ulong kpc; - target_ulong sar; - target_ulong iir; - target_ulong isr; - target_ulong ior; - target_ulong ipsw; -}; - #define UNAME_MACHINE "parisc" #define UNAME_MINIMUM_RELEASE "2.6.32" #define TARGET_CLONE_BACKWARDS diff --git a/linux-user/i386/target_syscall.h b/linux-user/i386/target_sysc= all.h index aaade06b13..c214a909a6 100644 --- a/linux-user/i386/target_syscall.h +++ b/linux-user/i386/target_syscall.h @@ -5,24 +5,6 @@ #define __USER_CS (0x23) #define __USER_DS (0x2B) =20 -struct target_pt_regs { - long ebx; - long ecx; - long edx; - long esi; - long edi; - long ebp; - long eax; - int xds; - int xes; - long orig_eax; - long eip; - int xcs; - long eflags; - long esp; - int xss; -}; - /* ioctls */ =20 #define TARGET_LDT_ENTRIES 8192 diff --git a/linux-user/loongarch64/target_syscall.h b/linux-user/loongarch= 64/target_syscall.h index 39f229bb9c..f7ced7b2be 100644 --- a/linux-user/loongarch64/target_syscall.h +++ b/linux-user/loongarch64/target_syscall.h @@ -8,29 +8,6 @@ =20 #include "qemu/units.h" =20 -/* - * this struct defines the way the registers are stored on the - * stack during a system call. - */ - -struct target_pt_regs { - /* Saved main processor registers. */ - target_ulong regs[32]; - - /* Saved special registers. */ - struct { - target_ulong era; - target_ulong badv; - target_ulong crmd; - target_ulong prmd; - target_ulong euen; - target_ulong ecfg; - target_ulong estat; - } csr; - target_ulong orig_a0; - target_ulong __last[0]; -}; - #define UNAME_MACHINE "loongarch64" #define UNAME_MINIMUM_RELEASE "5.19.0" =20 diff --git a/linux-user/m68k/target_syscall.h b/linux-user/m68k/target_sysc= all.h index 8d4ddbd76c..3ca0231c70 100644 --- a/linux-user/m68k/target_syscall.h +++ b/linux-user/m68k/target_syscall.h @@ -1,22 +1,6 @@ #ifndef M68K_TARGET_SYSCALL_H #define M68K_TARGET_SYSCALL_H =20 -/* this struct defines the way the registers are stored on the - stack during a system call. */ - -struct target_pt_regs { - abi_long d1, d2, d3, d4, d5, d6, d7; - abi_long a0, a1, a2, a3, a4, a5, a6; - abi_ulong d0; - abi_ulong usp; - abi_ulong orig_d0; - int16_t stkadj; - uint16_t sr; - abi_ulong pc; - uint16_t fntvex; - uint16_t __fill; -}; - #define UNAME_MACHINE "m68k" #define UNAME_MINIMUM_RELEASE "2.6.32" =20 diff --git a/linux-user/mips/target_syscall.h b/linux-user/mips/target_sysc= all.h index 08ead67810..dfcdf320b7 100644 --- a/linux-user/mips/target_syscall.h +++ b/linux-user/mips/target_syscall.h @@ -1,25 +1,6 @@ #ifndef MIPS_TARGET_SYSCALL_H #define MIPS_TARGET_SYSCALL_H =20 -/* this struct defines the way the registers are stored on the - stack during a system call. */ - -struct target_pt_regs { - /* Pad bytes for argument save space on the stack. */ - abi_ulong pad0[6]; - - /* Saved main processor registers. */ - abi_ulong regs[32]; - - /* Saved special registers. */ - abi_ulong cp0_status; - abi_ulong lo; - abi_ulong hi; - abi_ulong cp0_badvaddr; - abi_ulong cp0_cause; - abi_ulong cp0_epc; -}; - #define UNAME_MACHINE "mips" #define UNAME_MINIMUM_RELEASE "2.6.32" =20 diff --git a/linux-user/mips64/target_syscall.h b/linux-user/mips64/target_= syscall.h index 358dc2d64c..9135bf5e8b 100644 --- a/linux-user/mips64/target_syscall.h +++ b/linux-user/mips64/target_syscall.h @@ -1,22 +1,6 @@ #ifndef MIPS64_TARGET_SYSCALL_H #define MIPS64_TARGET_SYSCALL_H =20 -/* this struct defines the way the registers are stored on the - stack during a system call. */ - -struct target_pt_regs { - /* Saved main processor registers. */ - target_ulong regs[32]; - - /* Saved special registers. */ - target_ulong cp0_status; - target_ulong lo; - target_ulong hi; - target_ulong cp0_badvaddr; - target_ulong cp0_cause; - target_ulong cp0_epc; -}; - #define UNAME_MACHINE "mips64" #define UNAME_MINIMUM_RELEASE "2.6.32" =20 diff --git a/linux-user/ppc/target_syscall.h b/linux-user/ppc/target_syscal= l.h index 77b36d0b46..976b4bb7e9 100644 --- a/linux-user/ppc/target_syscall.h +++ b/linux-user/ppc/target_syscall.h @@ -20,34 +20,6 @@ #ifndef PPC_TARGET_SYSCALL_H #define PPC_TARGET_SYSCALL_H =20 -/* XXX: ABSOLUTELY BUGGY: - * for now, this is quite just a cut-and-paste from i386 target... - */ - -/* default linux values for the selectors */ -#define __USER_DS (1) - -struct target_pt_regs { - abi_ulong gpr[32]; - abi_ulong nip; - abi_ulong msr; - abi_ulong orig_gpr3; /* Used for restarting system calls */ - abi_ulong ctr; - abi_ulong link; - abi_ulong xer; - abi_ulong ccr; -#if defined(TARGET_PPC64) - abi_ulong softe; -#else - abi_ulong mq; /* 601 only (not used at present) */ -#endif - /* Used on APUS to hold IPL value. */ - abi_ulong trap; /* Reason for being here */ - abi_ulong dar; /* Fault registers */ - abi_ulong dsisr; - abi_ulong result; /* Result of a system call */ -}; - /* ioctls */ struct target_revectored_struct { abi_ulong __map[8]; /* 256 bits */ diff --git a/linux-user/riscv/target_syscall.h b/linux-user/riscv/target_sy= scall.h index 7601f10c28..69a7b753eb 100644 --- a/linux-user/riscv/target_syscall.h +++ b/linux-user/riscv/target_syscall.h @@ -8,41 +8,6 @@ #ifndef LINUX_USER_RISCV_TARGET_SYSCALL_H #define LINUX_USER_RISCV_TARGET_SYSCALL_H =20 -struct target_pt_regs { - abi_long sepc; - abi_long ra; - abi_long sp; - abi_long gp; - abi_long tp; - abi_long t0; - abi_long t1; - abi_long t2; - abi_long s0; - abi_long s1; - abi_long a0; - abi_long a1; - abi_long a2; - abi_long a3; - abi_long a4; - abi_long a5; - abi_long a6; - abi_long a7; - abi_long s2; - abi_long s3; - abi_long s4; - abi_long s5; - abi_long s6; - abi_long s7; - abi_long s8; - abi_long s9; - abi_long s10; - abi_long s11; - abi_long t3; - abi_long t4; - abi_long t5; - abi_long t6; -}; - #ifdef TARGET_RISCV32 #define UNAME_MACHINE "riscv32" #define UNAME_MINIMUM_RELEASE "5.4.0" diff --git a/linux-user/sh4/target_syscall.h b/linux-user/sh4/target_syscal= l.h index 148398855d..2f3557742d 100644 --- a/linux-user/sh4/target_syscall.h +++ b/linux-user/sh4/target_syscall.h @@ -1,17 +1,6 @@ #ifndef SH4_TARGET_SYSCALL_H #define SH4_TARGET_SYSCALL_H =20 -struct target_pt_regs { - unsigned long regs[16]; - unsigned long pc; - unsigned long pr; - unsigned long sr; - unsigned long gbr; - unsigned long mach; - unsigned long macl; - long tra; -}; - #define UNAME_MACHINE "sh4" #define UNAME_MINIMUM_RELEASE "2.6.32" =20 diff --git a/linux-user/x86_64/target_syscall.h b/linux-user/x86_64/target_= syscall.h index fb558345d3..68f55f8e7b 100644 --- a/linux-user/x86_64/target_syscall.h +++ b/linux-user/x86_64/target_syscall.h @@ -4,34 +4,6 @@ #define __USER_CS (0x33) #define __USER_DS (0x2B) =20 -struct target_pt_regs { - abi_ulong r15; - abi_ulong r14; - abi_ulong r13; - abi_ulong r12; - abi_ulong rbp; - abi_ulong rbx; -/* arguments: non interrupts/non tracing syscalls only save up to here */ - abi_ulong r11; - abi_ulong r10; - abi_ulong r9; - abi_ulong r8; - abi_ulong rax; - abi_ulong rcx; - abi_ulong rdx; - abi_ulong rsi; - abi_ulong rdi; - abi_ulong orig_rax; -/* end of arguments */ -/* cpu exception frame or undefined */ - abi_ulong rip; - abi_ulong cs; - abi_ulong eflags; - abi_ulong rsp; - abi_ulong ss; -/* top of stack page */ -}; - /* Maximum number of LDT entries supported. */ #define TARGET_LDT_ENTRIES 8192 /* The size of each LDT entry. */ diff --git a/linux-user/xtensa/target_syscall.h b/linux-user/xtensa/target_= syscall.h index afc86a153f..5d4352a4d1 100644 --- a/linux-user/xtensa/target_syscall.h +++ b/linux-user/xtensa/target_syscall.h @@ -8,41 +8,6 @@ =20 #define MMAP_SHIFT TARGET_PAGE_BITS =20 -typedef uint32_t xtensa_reg_t; -typedef struct { -} xtregs_opt_t; /* TODO */ - -struct target_pt_regs { - xtensa_reg_t pc; /* 4 */ - xtensa_reg_t ps; /* 8 */ - xtensa_reg_t depc; /* 12 */ - xtensa_reg_t exccause; /* 16 */ - xtensa_reg_t excvaddr; /* 20 */ - xtensa_reg_t debugcause; /* 24 */ - xtensa_reg_t wmask; /* 28 */ - xtensa_reg_t lbeg; /* 32 */ - xtensa_reg_t lend; /* 36 */ - xtensa_reg_t lcount; /* 40 */ - xtensa_reg_t sar; /* 44 */ - xtensa_reg_t windowbase; /* 48 */ - xtensa_reg_t windowstart; /* 52 */ - xtensa_reg_t syscall; /* 56 */ - xtensa_reg_t icountlevel; /* 60 */ - xtensa_reg_t scompare1; /* 64 */ - xtensa_reg_t threadptr; /* 68 */ - - /* Additional configurable registers that are used by the compiler. */ - xtregs_opt_t xtregs_opt; - - /* Make sure the areg field is 16 bytes aligned. */ - int align[0] __attribute__ ((aligned(16))); - - /* current register frame. - * Note: The ESF for kernel exceptions ends after 16 registers! - */ - xtensa_reg_t areg[16]; -}; - #define TARGET_MCL_CURRENT 1 #define TARGET_MCL_FUTURE 2 #define TARGET_MCL_ONFAULT 4 --=20 2.43.0