From nobody Sat Nov 15 07:41:35 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=1754176008; cv=none; d=zohomail.com; s=zohoarc; b=jIUEYbywXsi8+LUuY0XSwA9yif6PkF/BbSQatgilxqB8Q+kKz2c+e5EgqPytKr/X+gmaX+l4VpacHNnFHZC0v46Lxo3NOjeK3/SBNpurj5PYs3+VqiIHxehB2XrgoxbfooERqu5HptyQ5j1ASbP7QylihK3X+Bq0TBExTPQAsF8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176008; 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=1teBz1tpgu95L0I+2UE2HVAE2iWmmgVf0P4YpDt2W3o=; b=gPZwOtCJLEzZB8FBQ+4EQ8vgJ2Av02Kt58VmurXOQC2nArCW8qRu8lLqBqwykA5wWps9+ZkVfQ45M+bhROrW4OzWRJgXo0pT59TAjWUZomzGUwrHbT38q7UgsqwKksFtazjjNvVehOKJPT/rsKbNmfewpY95SD67/Z5ywEFuXgY= 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 175417600802687.4559280199544; Sat, 2 Aug 2025 16:06:48 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLI5-0000PE-5y; Sat, 02 Aug 2025 19:05: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 1uiLHx-0000M8-IM for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:05:17 -0400 Received: from mail-ot1-x32e.google.com ([2607:f8b0:4864:20::32e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLHv-00012I-SL for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:05:17 -0400 Received: by mail-ot1-x32e.google.com with SMTP id 46e09a7af769-741a6272c8fso138681a34.3 for ; Sat, 02 Aug 2025 16:05:15 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.05.11 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:05:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754175914; x=1754780714; 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=1teBz1tpgu95L0I+2UE2HVAE2iWmmgVf0P4YpDt2W3o=; b=tVYn1ubtKGFv7hqsxgRA1Pyr3QhFyTK14D7VGhM3fwF6XCJ8ywAEUVVys5o6+B1VWW XXjOjBGJCcW5Iu5CgYN2BisNIUs75vGoyW3erVrMdQoPlr1mnRthCAI+ONrkp2lQWxlN GsKJ1BLLP8cdg0BtjaS8jiOKJ4t/0V0H4px3DgpqP5cJT0uDq8C+XDJEbNEwq6AUDHnS eYrrbPSq+8Dgc/LaMsGh7b6kgIErSjGSZ9/C4E7f/VQGXxGHh+XCSiWlT4LhXgfrk24S 3jJi5SMqP+5opy7FrfeQjb1bUo3xkTe3TXXzvWa4pIoySuSGgiMunjX7d6E8LGtQSyeZ t5ow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754175914; x=1754780714; 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=1teBz1tpgu95L0I+2UE2HVAE2iWmmgVf0P4YpDt2W3o=; b=c1Gq2Q+z82Md3fftcvAQlSWegwiA8YSFL1vo/Ekg994h0tR3T0nTC4U/Q/JsjwnqYt 57skgqcvHi5pQ86+3Nb6hJ/Tg9rDlozxnmNmVgTBtiAhjr1lv5YwhqJrLHehQwkNiogD l25zG2Tm4wwYCi/2JNuaawmOOAK6wP6z82+I5BfE2kAEyBgYflmGgk86Xrbwms2rOyla RKsYcXl/qdwlMVNyufsQ3YiZTDVOo0Po67gVxapZI7EkVEWTUsk7xTV4+9TO/MOyDc4u OhllLZJwyyNzSvgAEcSupYncym4T1OeNl/VlBMm/n9DmRE3byDr7LsOjRs4iGy5Zem8k 2PJQ== X-Gm-Message-State: AOJu0Yx9ypqI94dW7mVexpd77Vv7POWgz/W65tT6aeJgsewKeNf9Iz9v ZUXbjNcLn1aU9bE+z1Z1ACKpDz2sv79YubfqB5g0KE6lT2BvNP8gdrfaH2pHuUEl1yimAJ03ZYc USlm4yDk= X-Gm-Gg: ASbGncusa0l1quA6qWjtYp/v1ovw4o6J4AB5TZDD3EeH1ZxFfm8NNzKwuYpECxXOsWF GFj3/3xM6f9ToZtuQSoEK0idJR0aVUIUQQ6IwLWhoHcevQuXcAPcq8yqn8fWxrOt5OUyJS+1ZK8 Ns1DP2qY8bxmLEXczW0uZY3hosC/3nopCmcVZcrd5FhypTpSnT7HEsemTXgTUSLFrorytH6rAq6 3NbQ48gsOkxzuYiIDX5P1QIsPcnapafICcY3IZlmdWniCUNXJwi1kpUzhh8AaT8nDJHs2NpXoQT V/YF2+tpEfqBvCK4oyL5JV1MX7yRb8AgZl229It2MkBFw+VOzy/EK8DQ6fEKyaFxS9k7RX0Fr6W RBoCu44VdUbLUHP8Hf69czUg5fryOAEH+UpHrprj9+pvTPM7wZiUXqdJkYfOHoNc= X-Google-Smtp-Source: AGHT+IHlGc+P1F7URvQ4im32KFVhTjCF8nMUgoBLSvtkGXLanyC6rPcWlEUFkipTcv/PA/ruUiOhuw== X-Received: by 2002:a05:6830:438b:b0:72c:320c:d960 with SMTP id 46e09a7af769-7419d287c4cmr2596065a34.15.1754175913840; Sat, 02 Aug 2025 16:05:13 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v2 01/95] semihosting: Retrieve stack top from image_info Date: Sun, 3 Aug 2025 09:03:25 +1000 Message-ID: <20250802230459.412251-2-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::32e; envelope-from=richard.henderson@linaro.org; helo=mail-ot1-x32e.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: 1754176011176124100 Content-Type: text/plain; charset="utf-8" Remove the write-once field TaskState.stack_base, and use the same value from struct image_info. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/qemu.h | 1 - linux-user/aarch64/cpu_loop.c | 1 - linux-user/arm/cpu_loop.c | 1 - linux-user/m68k/cpu_loop.c | 1 - linux-user/riscv/cpu_loop.c | 1 - semihosting/arm-compat-semi.c | 6 +++++- 6 files changed, 5 insertions(+), 6 deletions(-) diff --git a/linux-user/qemu.h b/linux-user/qemu.h index 0b19fa43e6..b6621536b3 100644 --- a/linux-user/qemu.h +++ b/linux-user/qemu.h @@ -127,7 +127,6 @@ struct TaskState { abi_ulong heap_base; abi_ulong heap_limit; #endif - abi_ulong stack_base; 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..b65999a75b 100644 --- a/linux-user/aarch64/cpu_loop.c +++ b/linux-user/aarch64/cpu_loop.c @@ -168,7 +168,6 @@ void target_cpu_copy_regs(CPUArchState *env, target_pt_= regs *regs) qemu_guest_getrandom_nofail(&env->keys, sizeof(env->keys)); } =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; diff --git a/linux-user/arm/cpu_loop.c b/linux-user/arm/cpu_loop.c index 33f63951a9..e40d6beafa 100644 --- a/linux-user/arm/cpu_loop.c +++ b/linux-user/arm/cpu_loop.c @@ -504,7 +504,6 @@ void target_cpu_copy_regs(CPUArchState *env, target_pt_= regs *regs) 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; diff --git a/linux-user/m68k/cpu_loop.c b/linux-user/m68k/cpu_loop.c index 5da91b997a..3aaaf02ca4 100644 --- a/linux-user/m68k/cpu_loop.c +++ b/linux-user/m68k/cpu_loop.c @@ -117,7 +117,6 @@ void target_cpu_copy_regs(CPUArchState *env, target_pt_= regs *regs) env->aregs[7] =3D regs->usp; env->sr =3D regs->sr; =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; diff --git a/linux-user/riscv/cpu_loop.c b/linux-user/riscv/cpu_loop.c index 3ac8bbfec1..541de765ff 100644 --- a/linux-user/riscv/cpu_loop.c +++ b/linux-user/riscv/cpu_loop.c @@ -109,7 +109,6 @@ void target_cpu_copy_regs(CPUArchState *env, target_pt_= regs *regs) exit(EXIT_FAILURE); } =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; diff --git a/semihosting/arm-compat-semi.c b/semihosting/arm-compat-semi.c index 86e5260e50..bc04b02eba 100644 --- a/semihosting/arm-compat-semi.c +++ b/semihosting/arm-compat-semi.c @@ -696,7 +696,11 @@ void do_common_semihosting(CPUState *cs) =20 retvals[0] =3D ts->heap_base; retvals[1] =3D ts->heap_limit; - retvals[2] =3D ts->stack_base; + /* + * Note that semihosting is *not* thread aware. + * Always return the stack base of the main thread. + */ + retvals[2] =3D ts->info->start_stack; retvals[3] =3D 0; /* Stack limit. */ #else retvals[0] =3D info.heapbase; /* Heap Base */ --=20 2.43.0 From nobody Sat Nov 15 07:41:35 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=1754175977; cv=none; d=zohomail.com; s=zohoarc; b=ImnaJm7s0J10xuDn8ubn8W0SWPiS6qwN4PVag4GavIcGf80dWBcF4Vx7xJFxQz9LDOyZfM/7gVz1SZejzKPXRkci9sGrBxpS3bIvjyFNDW4//0weploLvCNHHb4rXlF0PIvcdwr8nd5Y1fN9PNl6kQU8bCVBSS9aGTjDHnVgqFU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754175977; 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=wsD/T5ArHHArFjhWxQoJY0mtVxQQIZjsJkSHvkETv7Y=; b=GbOjXmQ45fQT6zmxoDi9KsdcDDRFw92AJ7W8ZvP4+/E9Y+/BqRTrsUkon3jdf8Xc4J6ZzmKJjdO3/qkRNptN1fAsypCVT7dAgp6sgKo0kzsrY3fEfSlbssWhHwryMJzGO8k2Ge3j31IA/RANzHo6ekl3+7XF0WorZ2AHlC3JXsM= 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 1754175977647861.2690321274266; Sat, 2 Aug 2025 16:06:17 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLI9-0000Sz-IN; Sat, 02 Aug 2025 19:05: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 1uiLI1-0000Ng-05 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:05:23 -0400 Received: from mail-oo1-xc30.google.com ([2607:f8b0:4864:20::c30]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLHy-00012S-42 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:05:19 -0400 Received: by mail-oo1-xc30.google.com with SMTP id 006d021491bc7-6196ca9a2edso833272eaf.2 for ; Sat, 02 Aug 2025 16:05:17 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.05.14 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:05:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754175917; x=1754780717; 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=wsD/T5ArHHArFjhWxQoJY0mtVxQQIZjsJkSHvkETv7Y=; b=uSplK13dPF4YKM7SpGSdKpl4e5sSFTACdNeMmP4SAXourWMZ8hOs1+tRtqSubVj1Ey 7FiPikhLIxqWZ8hPN2qZZb2sX71FLbUm6kgwTPQ4KDSNbZBkZyBQ0eHKVwjpN1Pp53x6 nh05xmvxnTYdTQOMqMrShXfx7wDGZrWgGZiVEbGErHAVMpmw4mXhwCp9wzN/WqBRNk3e djRwbB954dSElQhdwNbeTJcgwSjnjKGts4to8uqBo1dEtO7pbxJdFGnO9pAANevtZ/y0 1miFv4KE0NwQn5Q16JnOPGDdJF1LJqjZP8v7p9ChI4rKzUNyKktTl9m51Rl4tKBvkQ5h X9tg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754175917; x=1754780717; 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=wsD/T5ArHHArFjhWxQoJY0mtVxQQIZjsJkSHvkETv7Y=; b=v4iVH9a5X2gW63ujumMCVYVSRkUblh76UA4mDWkBBM/C9fT89gHT/ouf4SRCLEtQnE eCl2gzPnH80z9EnAZAlKdIFQNwkzXcc63geVAOOFbierogDagZpq4IJXm9z8ly6RAPvd ZVZ8azWuWjx3M6FgM+WugZ6hUpJomBcl/bI9+OyfpJup8j5NsIHF2tNJDzATq/YwSEKc j4Csmh7FZ+EOX+1sPhglloXKjZr0nqXg3nCt9Rq4h0Sh4l677pZNesFrHFe6nHNFjmwA 5BcwAe11/BVc92BjSbX0gFm/iogLOBN2uVhc0HIep+C9OeefcRJDEwTrF+pPVR9LFAxo t0Fw== X-Gm-Message-State: AOJu0YyH7piT88KpIRZKd6rrqVok4dLbCORlGUIIO3fOdGqTja39A0ZY /tQNff8sYF9pVi62bbbZSqpdVEBTXUNLT3WX3PbEA1UDq3AwtPSSZk4dPAPnbyXaEbAIZgsf3Uv vuiU8sfI= X-Gm-Gg: ASbGncv+BUSSL04iWRquB5+dTDhlkHedeNKtefHxwWniyB2nxLcx9yTTw9DYm1yJKyu d4dOJ6wjHNBfJ1IXV1DYNOT9j75u9t7LNAp1EtpD+yWCPiXbyi7NIBjXLSSPnByGsKuWiwThwXm zMGP3AfCe9faY6F2zWtxF+HNVqkuIlPuD3YOEMNx3lkwlq5d0RhMpqH4RyP+ONEHwO+JANetIF6 y6+OcD5eteCapfoO+7pRQ7oJr5NiVNxLebcAHZ5zJXI+E5zKKUAE8tzsw4z9nydWUgI2kqdeL+v N6V/RwtSsLxFWHvCg+D8GKuhMFiMObuG7swv6KIWew1w9gIyl6CEhKtKPjJeq7EadHLs300LBRe moqEP1tQq4/l3laxNP0qIKnuM4Mr5qOy2lMGXLCDhZ6ueKz9rqKMx X-Google-Smtp-Source: AGHT+IFuaTnfxtq9reBfsxiSvrEsJfe7omUhLWHDAl4k0FhuX64kfJ267mbIvKLizEuiFSbGQICuUw== X-Received: by 2002:a05:6820:290a:b0:613:bd07:4e26 with SMTP id 006d021491bc7-6198f234510mr3215284eaf.4.1754175916684; Sat, 02 Aug 2025 16:05:16 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v2 02/95] semihosting: Initialize heap once per process Date: Sun, 3 Aug 2025 09:03:26 +1000 Message-ID: <20250802230459.412251-3-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c30; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc30.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: 1754175980836124100 Content-Type: text/plain; charset="utf-8" While semihosting isn't really thread aware, the current implementation allocates space for the heap per-thread. Remove the heap_base and heap_limit fields from TaskState. Replace with static variables within do_common_semihosting. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/qemu.h | 5 ----- linux-user/aarch64/cpu_loop.c | 7 ------- linux-user/arm/cpu_loop.c | 32 +++++++++++++++----------------- linux-user/m68k/cpu_loop.c | 8 -------- linux-user/riscv/cpu_loop.c | 4 ---- semihosting/arm-compat-semi.c | 22 +++++++++------------- 6 files changed, 24 insertions(+), 54 deletions(-) diff --git a/linux-user/qemu.h b/linux-user/qemu.h index b6621536b3..4d6fad28c6 100644 --- a/linux-user/qemu.h +++ b/linux-user/qemu.h @@ -121,11 +121,6 @@ struct TaskState { abi_ulong child_tidptr; #ifdef TARGET_M68K abi_ulong tp_value; -#endif -#if defined(TARGET_ARM) || defined(TARGET_M68K) || defined(TARGET_RISCV) - /* Extra fields for semihosted binaries. */ - abi_ulong heap_base; - abi_ulong heap_limit; #endif int used; /* non zero if used */ struct image_info *info; diff --git a/linux-user/aarch64/cpu_loop.c b/linux-user/aarch64/cpu_loop.c index b65999a75b..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,8 +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->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 e40d6beafa..e2b4099aa4 100644 --- a/linux-user/arm/cpu_loop.c +++ b/linux-user/arm/cpu_loop.c @@ -482,9 +482,6 @@ 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; =20 cpsr_write(env, regs->uregs[16], CPSR_USER | CPSR_EXEC, @@ -492,19 +489,20 @@ void target_cpu_copy_regs(CPUArchState *env, target_p= t_regs *regs) for(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->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 3aaaf02ca4..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,8 +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->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/riscv/cpu_loop.c b/linux-user/riscv/cpu_loop.c index 541de765ff..2dd30c7b28 100644 --- a/linux-user/riscv/cpu_loop.c +++ b/linux-user/riscv/cpu_loop.c @@ -108,8 +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->heap_base =3D info->brk; - /* This will be filled in on the first SYS_HEAPINFO call. */ - ts->heap_limit =3D 0; } diff --git a/semihosting/arm-compat-semi.c b/semihosting/arm-compat-semi.c index bc04b02eba..bcd13cd6df 100644 --- a/semihosting/arm-compat-semi.c +++ b/semihosting/arm-compat-semi.c @@ -666,7 +666,7 @@ void do_common_semihosting(CPUState *cs) int i; #ifdef CONFIG_USER_ONLY TaskState *ts =3D get_task_state(cs); - target_ulong limit; + static abi_ulong heapbase, heaplimit; #else LayoutInfo info =3D common_semi_find_bases(cs); #endif @@ -678,24 +678,20 @@ void do_common_semihosting(CPUState *cs) * Some C libraries assume the heap immediately follows .bss, = so * allocate it using sbrk. */ - if (!ts->heap_limit) { - abi_ulong ret; - - ts->heap_base =3D do_brk(0); - limit =3D ts->heap_base + COMMON_SEMI_HEAP_SIZE; + if (!heaplimit) { + heapbase =3D do_brk(0); /* Try a big heap, and reduce the size if that fails. */ - for (;;) { - ret =3D do_brk(limit); + for (abi_ulong size =3D COMMON_SEMI_HEAP_SIZE; ; size >>= =3D 1) { + abi_ulong limit =3D heapbase + size; + abi_ulong ret =3D do_brk(limit); if (ret >=3D limit) { + heaplimit =3D limit; break; } - limit =3D (ts->heap_base >> 1) + (limit >> 1); } - ts->heap_limit =3D limit; } - - retvals[0] =3D ts->heap_base; - retvals[1] =3D ts->heap_limit; + retvals[0] =3D heapbase; + retvals[1] =3D heaplimit; /* * Note that semihosting is *not* thread aware. * Always return the stack base of the main thread. --=20 2.43.0 From nobody Sat Nov 15 07:41:35 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=1754175978; cv=none; d=zohomail.com; s=zohoarc; b=RuIPArfVvREM8oxw725/ib/GCffDsSeQE6ysLJIQyqxtaVat/PpRvqbkeMTdX1jyhryP8lMKMCOuJL4N6eMnAfVPA5+dUhhjBiJFSYG653JQdyjjXY7e2sedlci+X73/RZiteyQ45lEod/yF8dedMZAzqbYLTqLNj7Bg3EhLnWQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754175978; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=B26XEzTuyDyoyfRXGAI8azHJHvfTHmvtHQG/o3LWCYo=; b=J/qtCoq6aCmeT536CpM9dCb9MM+KF5OSKQ80wMz8hiopwFUf7CoUbgwLpChqjJBstiK09fxqAaYvJcIXWyyDjhDhaIfnTANZHNGwQsy/MQU2yqPo6simMOjz3aH4yluBaYTdMPowDvtEbZ7KV08MBGGTsdsWWFwKKIa0Nk/bsBg= 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 1754175978234975.6233330677135; Sat, 2 Aug 2025 16:06:18 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLI9-0000T0-JK; Sat, 02 Aug 2025 19:05: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 1uiLI5-0000QF-DO for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:05:25 -0400 Received: from mail-oo1-xc2f.google.com ([2607:f8b0:4864:20::c2f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLI3-00012q-Dj for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:05:25 -0400 Received: by mail-oo1-xc2f.google.com with SMTP id 006d021491bc7-61997c8e2a1so386203eaf.1 for ; Sat, 02 Aug 2025 16:05:22 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.05.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:05:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754175921; x=1754780721; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=B26XEzTuyDyoyfRXGAI8azHJHvfTHmvtHQG/o3LWCYo=; b=qI2Mnzvoctuxj4ifpKCdnytcpFvUuoeyd6PyVZ8ZtseryOwYrHdY6DBHkOltTcd5uO TxCR8mZJMjwIzUlp5Py9pHdF0tLdxqqOtcyw4r19uI4kOo2F6Blxm3sQcoXQAZdHsi0/ yto9/7a5xMGB/ok/+PF8f6JszHGJ+lfettSqC0gsutIvH28wT0nZlpDJJTKfwrY6d1Su txow0A2ErDfPvHpUWEzKOVj1XpCHT2sYBYMbj15ZohvRMNn4x6zOBoXU6VvkZcjPDpDQ x7OmipOCJzJXwtw1w5mBHmOcnxhM6HVI69UPa0jv1EfIDrsKh02tUAPLbCedlQJzDVhr ZkQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754175921; x=1754780721; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=B26XEzTuyDyoyfRXGAI8azHJHvfTHmvtHQG/o3LWCYo=; b=ee+AlB9rT1jGJ8aAJ4+kghYgR6uhDLAl43WJnb0BA9lJ77uVIJUMIqWJg9xnY0W8gR 2HW6c2hIMaOQgxA9g1NnkWri3A/ijaR3u0RXDh2nnq7AM72B7b0YDhnA/eeoxOTF1BDa ARxwCRQCk1gP3cBWkrzWFpXluEsQMkk5LesHoVjzEZvLAR1Ekj/m3wh5bDUYixVeO5aH qa8WxdiwOiQqmRiR+WJpb/572jLb5id1VGrnGC9dTidCUdtp6CS0TijaQZ1J4iIGJBOY zSLVuyYIKMRMPDe5S2u5fYpCdkbXqYveOdhk10uP5Jok3RlcrlM1CYgrlC5qybq8pY16 p5xw== X-Gm-Message-State: AOJu0Yw6TO9R3uDkEhykgSg4lrUaxdkh5+RuN0MsRcsPZbBpK3uDo+mj AjRjbASVxV6QLhxEQ82gvRinEsrNMsVLL77XjsPVn89n6upPsaU8Q0pLsaPcUAkPP6KsB6014xL pyr8vQN4= X-Gm-Gg: ASbGncs+OPxG0c9OJJwClNc954kabDDfhpFMPnXzVGPWcJf0xhU9hbWGx+UMTt+hYWz 0I8nXEIsj2dJlYubwSds0LfEMitpLUlpcJt9S7e0HzYXdydqWZBLopK+e9zv+s9rNq4fsvqmxES tLsPi3hXl6STyvvV7TNIJ54uY/y+dik22K66AeD1VhFj98Yjibms2mfqsY1qQxSaJ25ZCgiL4H8 mwljsaJs0y2Ot1jxX84WHARPmnWG79waCW9+HseZov6GF5/CrdA1E0eXQ4TrUDXhnfbot+CHkjN /XR1SIz9/7LcP8zNWpBNeNWXbBir7DH9noEgAPapeMSYM1lJ4xnlIwHexx4wXvgAJeH+GPLOdpo aV9wPmjoqIdi4JqdOoMpVLrPuMvXfFwgZLygeTIqxzoUxvxn7AmLq X-Google-Smtp-Source: AGHT+IF78d4SzmDD8oMO453uYrlE3nC1gu34XE+LlT36ilo0Z2HByPhOy7U6s93ilRxP+NX+IU68AA== X-Received: by 2002:a05:6820:c314:b0:615:85cc:339 with SMTP id 006d021491bc7-619706fb096mr5028373eaf.2.1754175920853; Sat, 02 Aug 2025 16:05:20 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 03/95] linux-user: Create target/elfload.c files Date: Sun, 3 Aug 2025 09:03:27 +1000 Message-ID: <20250802230459.412251-4-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c2f; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc2f.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: 1754175979249116600 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. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- 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 07:41:35 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=1754176683; cv=none; d=zohomail.com; s=zohoarc; b=moLIvwOwYItKqO+xZjiqgTQ86DU8+BO3KyL9MfJbsAxUwWmJzWaM693a8sQ/IVgOBoiVPfAAE6LAxRpCFkkjaWqWgXcDkdZ3rghCoeqg+JZ0sGOD+5fkx67/zqlsAMPjlA+elroerU5QxKZVE8eP4/rwS9Y+PqVB1Eqs8t7UPKc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176683; 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=H0jeyCcSEjMBxTKGV/82sfQKVYsOIFo4wUMfyRnC/oo=; b=U0vwHSDq0Z+zQlOX7rzEGvY1URxsT0soZvS0fTcJE0XZXKZ4Ewj53gDdSXA5WjI1R7cXSSwM0dnBmohIItf2uFQUS89TPKn5Ax1y+VwOizKS+DaLhBnwsISEel2YIs7HnG1BZlnwzVtzucU5p36wGSkQHRiyWbuPls3wBU9FvYU= 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 175417668365561.06812861963067; Sat, 2 Aug 2025 16:18:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLID-0000Yf-Ga; Sat, 02 Aug 2025 19:05: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 1uiLI8-0000SZ-7m for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:05:28 -0400 Received: from mail-oo1-xc35.google.com ([2607:f8b0:4864:20::c35]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLI6-00013H-9K for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:05:27 -0400 Received: by mail-oo1-xc35.google.com with SMTP id 006d021491bc7-61585dfc8f8so1027536eaf.0 for ; Sat, 02 Aug 2025 16:05:25 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.05.22 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:05:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754175925; x=1754780725; 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=H0jeyCcSEjMBxTKGV/82sfQKVYsOIFo4wUMfyRnC/oo=; b=N+wn9uywBpYiWn4d3aLoB2BPLO8bRXik2sC4BRUx9W6GDBj3O99CHl2pOVXMvYRFAe e3y6rUekMKPsKWnAXdZMArD1VwtT89RARClCBQXdwkZmHOiovUF16zO8gdJZMFSIT8ph sLQACMYainQ5okmM0OLnR+4OrS1QZ2WBP6CYsqgOmr0gmpyiTCfK3TfthM8GW5T3wSCl lsboi33yJqJJqcDbl+WBQTh7UlXpCIxz2ft754VrY+P7R5lbfbI0pJEvivAdBJNb5CAA 0Q+Qjm6Vn32P/yt5rjUS1cuMuMLhybCHJvGaBKyzgEpNHO3ljNcgRj/1NbZ+GxXpqQpz s+Ng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754175925; x=1754780725; 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=H0jeyCcSEjMBxTKGV/82sfQKVYsOIFo4wUMfyRnC/oo=; b=ra1O/HqGB/nt1ACfER37DzHkc5UqgWleyjUx5pWhgR1NeB2tJ8vU5AVBI+mA8ZNuay Y33sQst3VY9joY5+NA/hwSVq4H5JJF/ms6f/CiqHf353uzDYDPRZR7XUY48FxvlVkW8K M8GlutUCHvpcS4Vzp0lj62yT7J0wRdh7oK9jCufPQGFGJS0eUDVkGRw4kIK6pMgwGt+Q +z1DTyQ5ohsmwN5hwnSpwkpk4euAvtVQXSGU8mlh+CIukr8aZ/n3iov1zvd3tbfkOBru 9wmA7RRkMbfm0gPpwVDfNf3uRuilRzC9xXEm+5MG69/lqFx/3BaKAlIXd7T+/QOb6FDq Y1cA== X-Gm-Message-State: AOJu0Yxkcm7YrjP3E5asKWHww0Hj9auy8ZiNaLBn6ufItZyLcWx3Lnme Fpgx2iW41FkDh2eTm4RoETvU7k4HH20heIYeoyrLR2eCnK+/MJxVjIB0az2PB35iHIBu8K3d/eE 8XM19fIM= X-Gm-Gg: ASbGncuCM1BwIQRTOGpsmA7tf+8vZ/+45h71oW6Kiu1j5evyAfdG/9IRiUoPO54h45r psIiMFYttTGb6JdDbbfPpnYLhPfDJ3lsAisuJcLP6ZbYKR+lduo1KWs19zaThqzbj7DfD5lWC+L 9Mj0VXQRPVr89Y12NClTIMXmbkTfHl3wCs0TiIQd4p7FMACkdSwvvACiEGeOUVsCY4/HiHw5Y6N 8hQHZVZ7JAD2lSbDm9gveH63ddx0e+o4sGVEoprDSaYpjKPVEiU8eEIZMjW7MCaK0dOuLBZ88ut +++TD3OGa54hL76Oqy+dgGAKlqONUO+Bon9MBrQQ6PjgSRO7v3Zo37gtaiM06a91TIS8+lNmJ1X 3c6x2AqIdwfwkjUKcIHIM/hfupu64U38Z8ylhUF03pxzvPHo+tCei X-Google-Smtp-Source: AGHT+IGiQsoDl/Ug72WBvM2nQgZcYFt3cLKqSqmCwBRpyIYbqYDpltX78RC+5tOEKTVBPbb86aon0g== X-Received: by 2002:a4a:edc5:0:b0:610:fc12:cbb4 with SMTP id 006d021491bc7-6198f0be1e8mr2561854eaf.1.1754175924876; Sat, 02 Aug 2025 16:05:24 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v2 04/95] linux-user: Move ppc uabi/asm/elf.h workaround to osdep.h Date: Sun, 3 Aug 2025 09:03:28 +1000 Message-ID: <20250802230459.412251-5-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c35; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc35.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: 1754176684726116600 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. Note that ARCH_DLINFO is not defined by the kernel header, and so there's no need to undef it either. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- include/qemu/osdep.h | 8 ++++++++ hw/core/loader.c | 4 ---- linux-user/elfload.c | 10 ---------- 3 files changed, 8 insertions(+), 14 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/hw/core/loader.c b/hw/core/loader.c index e7056ba4bd..524af6f14a 100644 --- a/hw/core/loader.c +++ b/hw/core/loader.c @@ -295,10 +295,6 @@ static void *load_at(int fd, off_t offset, size_t size) return ptr; } =20 -#ifdef ELF_CLASS -#undef ELF_CLASS -#endif - #define ELF_CLASS ELFCLASS32 #include "elf.h" =20 diff --git a/linux-user/elfload.c b/linux-user/elfload.c index ea214105ff..4ca8c39dc2 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -35,16 +35,6 @@ #include "target/arm/cpu-features.h" #endif =20 -#ifdef _ARCH_PPC64 -#undef ARCH_DLINFO -#undef ELF_PLATFORM -#undef ELF_HWCAP -#undef ELF_HWCAP2 -#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 07:41:35 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=1754175990; cv=none; d=zohomail.com; s=zohoarc; b=N6qlJkHYgAaOn5VCWWJciZW8dj59GoWFpZDGPYHQWJbesZv73OS13cA38XOCVUJb4HWWtcKsW7abj0mjc4Tvdzkc9xUoQWbFcKP04JXqcUOdvPvGBjCXdieNlOSIdd96g/B5DN/wR6cVBdhuqOYhTpnY9JEBTQkdwBAId4NDEg0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754175990; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=eoPWka5IGjXwmhHjvxnZ9KVWvPEaQtzh37FeYd1Lbz4=; b=YNMLNtry3sTvuVHggdsPPcZMM2VGlxVo1yJD2BCEVwvcmI1C2DfnRTLQ4t269LovTx/G2Yzxng7nSDId9FIqVTowwFp4QBlHukvbVqoYivceibTB2d8j3zXW15gh4o87DE1y6jqW/mw+oWpcMPm/BufFPpgBKPlPDoa03obAEfs= 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 1754175990148723.155527897896; Sat, 2 Aug 2025 16:06:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLIF-0000aS-E8; Sat, 02 Aug 2025 19:05: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 1uiLID-0000Yl-J7 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:05:33 -0400 Received: from mail-oo1-xc2d.google.com ([2607:f8b0:4864:20::c2d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLIA-00013b-NE for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:05:33 -0400 Received: by mail-oo1-xc2d.google.com with SMTP id 006d021491bc7-6197e13b6b8so1135982eaf.3 for ; Sat, 02 Aug 2025 16:05:30 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.05.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:05:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754175929; x=1754780729; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=eoPWka5IGjXwmhHjvxnZ9KVWvPEaQtzh37FeYd1Lbz4=; b=ahx7g35Vknsy1g0sYNwNwQw8L+LQn2bXflaa0qLbMs/7PGigK7TJD6y8ypLKXnebC3 iqfS2Ja+pPxqWO9SetnK1Lmz7vwhnKnVQL6swtejgu23VfD6iKzf5+nUUmS624uu6+mC EZGuC3vm4LwDWa/M3KWIMDFnZOXqS1AZsnz1MkGHh1ZQsgul1eCqoHG7Xm5xZZZtwe5G r0DY7TA4cxznkOyC++kiXUK08ktWoCe3RRjuT5uc6PEkEos3tnzhU5S08eMceKw00ZbE BZvIRV5zJNgWy/kxgC1G/CXLiPbqKItbbVp8h1hE4hn9wB5RBfagBn+SxcTCE3hYQnjF 0RMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754175929; x=1754780729; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=eoPWka5IGjXwmhHjvxnZ9KVWvPEaQtzh37FeYd1Lbz4=; b=WCy8zp5zBcHmD6Ahw5IJ025+sTe5aS2S3wW0eyjvTNzGLoKI1kHz3HdwPXkLcq79HD QkcbMHXHmpeyVbIL+bTbdWcMuEd4Wh3xrnoEFXflv27YKPWSIO0Dkhe61tRUV/g1FKpm UMmuVttKQaCDTMPZF2DGFsyh82Y8OJhmLl17UzoH7z8qlx8Bcp4aBBIol2yl40JKPkn3 xrMdYIRjPqUyIvEadWH5CsAIyzekga4Y2qluyyN14VRQER8IfUWy7s4i2GID2EKNO7r/ QRWkUMX2xJL2yTWCaYhktSRQbbtCj1rB158zGMGgmUaYk4J5MGwDuW5uQ1LuX13GZbs5 RYkg== X-Gm-Message-State: AOJu0Yz30lqFwpdALQzEcaPPBZyZw7rn8etIENeFGOPdGOG/xumnnw8z H6vexaqDinn2v+iHgmHOwaii94P/WDlfEYpiwkWHzfYcVoZA4FxfjzfQmtcrDKThJk4GmW44euY CjlZN3dg= X-Gm-Gg: ASbGncuoRTcck3PKQCrOxlWTrGWifX+C/Ni6eg6tRhedd/x7qlX7ME0W7PTxyhgjVjr gKkYct/DdbiQTpBya6O4V9NDb1EEV71d9ZXjimbGE7FTSNDZFkiG7NSCuf6kw/Lil8a2eLnKJdE X12wbcxgBCpvxBlx8nf/IyXxvTKAX44vLu4/ezn4igLn2MQWMDLxgYG272lLugPdssrUnklslj4 IRguEpWRp8Yf3FN8c7e62egCieJwdgirfEel2fLrrNj91XuzMqzr/6hB54tF8ChSBZikV16awuv 37kZO1OXFtOH4oF+smvhuNMRXCKv2j2pP7s934JRCOxvMrQ1d58p5y8YNV25chYWnO8KHzQ4sNI o5ck/vISzvwd0DLtR7Zjue3lDEvNczc54NHBxLZNk07v5u1XrMvFe X-Google-Smtp-Source: AGHT+IF+QNIeqdN2ERc7f4rjT6yjgjl+Ux1WUin5fMaXotUZ/w4TZROuRNEIXFp5MC+MP8lGjlrHWw== X-Received: by 2002:a05:6820:992:b0:619:950f:2413 with SMTP id 006d021491bc7-619950f26a5mr1586827eaf.2.1754175929269; Sat, 02 Aug 2025 16:05:29 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 05/95] linux-user: Move get_elf_cpu_model to target/elfload.c Date: Sun, 3 Aug 2025 09:03:29 +1000 Message-ID: <20250802230459.412251-6-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c2d; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc2d.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: 1754175990875116600 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. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- 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 | 3 ++ 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 | 10 +++++++ linux-user/alpha/elfload.c | 10 +++++++ linux-user/arm/elfload.c | 10 +++++++ linux-user/hexagon/elfload.c | 34 +++++++++++++++++++++++ linux-user/hppa/elfload.c | 10 +++++++ linux-user/i386/elfload.c | 10 +++++++ linux-user/loongarch64/elfload.c | 10 +++++++ linux-user/m68k/elfload.c | 17 ++++++++++++ linux-user/main.c | 3 +- linux-user/microblaze/elfload.c | 10 +++++++ linux-user/mips/elfload.c | 43 +++++++++++++++++++++++++++++ linux-user/openrisc/elfload.c | 10 +++++++ linux-user/ppc/elfload.c | 14 ++++++++++ linux-user/riscv/elfload.c | 10 +++++++ linux-user/s390x/elfload.c | 10 +++++++ linux-user/sh4/elfload.c | 10 +++++++ linux-user/sparc/elfload.c | 14 ++++++++++ linux-user/x86_64/elfload.c | 10 +++++++ linux-user/xtensa/elfload.c | 10 +++++++ 39 files changed, 272 insertions(+), 145 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 58ff6a0986..2abb27a733 100644 --- a/linux-user/arm/target_elf.h +++ b/linux-user/arm/target_elf.h @@ -7,8 +7,5 @@ =20 #ifndef ARM_TARGET_ELF_H #define ARM_TARGET_ELF_H -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 19cae8bd65..5826ca2cd2 100644 --- a/linux-user/hppa/target_elf.h +++ b/linux-user/hppa/target_elf.h @@ -7,8 +7,5 @@ =20 #ifndef HPPA_TARGET_ELF_H #define HPPA_TARGET_ELF_H -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 e102e6f410..75ee9975a0 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 +/* Note that Elf32 and Elf64 use uint32_t for e_flags. */ +const char *get_elf_cpu_model(uint32_t eflags); + #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/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 73fa78ef14..b92442dfeb 100644 --- a/linux-user/aarch64/elfload.c +++ b/linux-user/aarch64/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/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 73fa78ef14..b92442dfeb 100644 --- a/linux-user/arm/elfload.c +++ b/linux-user/arm/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/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 73fa78ef14..2274fcbde4 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_cpu_model(uint32_t eflags) +{ + return "hppa"; +} diff --git a/linux-user/i386/elfload.c b/linux-user/i386/elfload.c index 73fa78ef14..f92adb7308 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" + + +const char *get_elf_cpu_model(uint32_t eflags) +{ + return "max"; +} diff --git a/linux-user/loongarch64/elfload.c b/linux-user/loongarch64/elfl= oad.c index 73fa78ef14..874dc4c230 100644 --- a/linux-user/loongarch64/elfload.c +++ b/linux-user/loongarch64/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 "la464"; +} 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 68972f00a1..ad1a29d198 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" @@ -809,7 +808,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 73fa78ef14..04e3b76740 100644 --- a/linux-user/mips/elfload.c +++ b/linux-user/mips/elfload.c @@ -1 +1,44 @@ /* 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) +{ +#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 +} 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 73fa78ef14..7775dc06fa 100644 --- a/linux-user/ppc/elfload.c +++ b/linux-user/ppc/elfload.c @@ -1 +1,15 @@ /* 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) +{ +#ifdef TARGET_PPC64 + return "POWER9"; +#else + return "750"; +#endif +} diff --git a/linux-user/riscv/elfload.c b/linux-user/riscv/elfload.c index 73fa78ef14..f92adb7308 100644 --- a/linux-user/riscv/elfload.c +++ b/linux-user/riscv/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 "max"; +} diff --git a/linux-user/s390x/elfload.c b/linux-user/s390x/elfload.c index 73fa78ef14..989953a247 100644 --- a/linux-user/s390x/elfload.c +++ b/linux-user/s390x/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 "qemu"; +} diff --git a/linux-user/sh4/elfload.c b/linux-user/sh4/elfload.c index 73fa78ef14..546034ec07 100644 --- a/linux-user/sh4/elfload.c +++ b/linux-user/sh4/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 "sh7785"; +} diff --git a/linux-user/sparc/elfload.c b/linux-user/sparc/elfload.c index 73fa78ef14..243e6f9b66 100644 --- a/linux-user/sparc/elfload.c +++ b/linux-user/sparc/elfload.c @@ -1 +1,15 @@ /* 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) +{ +#ifdef TARGET_SPARC64 + return "TI UltraSparc II"; +#else + return "Fujitsu MB86904"; +#endif +} diff --git a/linux-user/x86_64/elfload.c b/linux-user/x86_64/elfload.c index 73fa78ef14..f92adb7308 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" + + +const char *get_elf_cpu_model(uint32_t eflags) +{ + return "max"; +} 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 07:41:35 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 1754176023972977.522767201778; Sat, 2 Aug 2025 16:07:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLIK-0000eV-3b; Sat, 02 Aug 2025 19:05: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 1uiLIF-0000aT-A8 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:05:35 -0400 Received: from mail-oo1-xc2a.google.com ([2607:f8b0:4864:20::c2a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLID-00013m-J5 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:05:35 -0400 Received: by mail-oo1-xc2a.google.com with SMTP id 006d021491bc7-610cbca60cdso1073410eaf.0 for ; Sat, 02 Aug 2025 16:05:33 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.05.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:05:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754175932; x=1754780732; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=jUDlTwexrg7VVi2wKLIGzuJdZ9/FoZnjKxQDeCVb91U=; b=soDhZkMZ1xoEqaaOME/xFI80rhflO9t1ua3zJJJxwR8y/LJ872B93+k2+qeyGR8szy gz2ZruLoXw4arsknIfPKc8XfHHwg6v1Mue9dKXuAQuYLBf0Wu5Agfm4SsM5iXozVuW/+ 8iz6ANSWR6UBvbL4ysLa6n6745pzRj8BMsobw0BKzVUQuRYooPtISziMbmOoCxhMtnZF LHrH1O3Bjk4dGZeaDYSzL3PuJ01fHP0neEU/STV5KiUceVQa0op1e9Wkds9gxdAUMyIC Y47oi3UAd1M+DBCdoOa9u80ijUd7vvZ+BJypnBvUu4GvUBjK5FbDWJM4UjLarOP8mMRk 6azw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754175932; x=1754780732; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=jUDlTwexrg7VVi2wKLIGzuJdZ9/FoZnjKxQDeCVb91U=; b=kSUsjG6Y1Dr5mpEqSPBJFLh+aBxz60g1Oe1kZx8S0mhOKFbi9U7CXPDGu9K4MdOkij QiAdQfe5YAyXcBSf0B6+BnnmCmGIaRED3I9P/P0zsr2Emxy7m2bK3s1HOCzfJfaXGJfh y5ATZbNU4/RvGGXChz2WcpmuOTRM1kr0YzD3Fkk5MLW8VSftVoqA9FJbec6bo27HAyuL ijk5yb5YDwUNl5/kVcUgmpn77udRwPYftgOGxvbT2d2PbgpJXoWGgT+ZDrwn36BY3wll jQ5FMnDmt/Q/G6dOMKeKUIZ9AgBSbbB9wFzmz/wY/8+xOIva6Mlh1KChd5neru84opsj 144g== X-Gm-Message-State: AOJu0YwMw9slFjIFok1vhDa8NPbTNeeftzTDg18SW9k6OMR9+X0eRfa4 n2Qb2m/fB06vb3w9zsJfkQEU64+sTjy3ZUGE1BVNZARKPwTg1ytYs4ZPoOdRyjhEGGYT7VI4jMc mWlYq7/c= X-Gm-Gg: ASbGncsLRKeZyig64XHApHQ4LSjWN7vDg88RHMZOV0hqNRehNUvYCbfK0+z7xSQwvjI S6Jcdv6fTcadk6uWddY98KahIIIw/yrfbAFCLGuvosjjrxe+bJGbEGsXKCPk2C7EjWwYcQLnYfV LzN8ZmSIMQ60bbsGomNiyMTVAbW3jzz4ToLMVl1pTIl597LE61wkPyk1I2bxs4rcbCkzyeWNXZs qXPPDxbvfRs1+V3I9GJBDrLx9lIiYqRLsGqJr785fonak2SxCaiRyhvJbS+wVy2lO971R7pxNtu pWnarafV/bnj/gwUFfGhQtkjinERtGYygNxiFf2DbZJViBHLBmy75zFoL6AjTfoI/zJyBOPI1bp wI3j0u3nOPz9isHaN0gsHdN6El3qagvvNzT5cNbwwhxBQUs+5TWli X-Google-Smtp-Source: AGHT+IGV5MeYPkiAcnF3BOFyCwj4CH75fGmVxP/E8z9AxxNplbEfTMI5v4MKIpJgymfC9GBTvl6scg== X-Received: by 2002:a05:6820:138e:b0:619:6fea:3343 with SMTP id 006d021491bc7-6198f2af271mr2371565eaf.7.1754175932283; Sat, 02 Aug 2025 16:05:32 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 06/95] linux-user: Move get_elf_hwcap to {i386, x86_64}/elfload.c Date: Sun, 3 Aug 2025 09:03:30 +1000 Message-ID: <20250802230459.412251-7-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c2a; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc2a.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: 1754176025139116600 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. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/i386/target_elf.h | 2 ++ linux-user/loader.h | 3 +++ linux-user/x86_64/target_elf.h | 2 ++ linux-user/elfload.c | 9 +-------- linux-user/i386/elfload.c | 5 +++++ linux-user/x86_64/elfload.c | 5 +++++ 6 files changed, 18 insertions(+), 8 deletions(-) diff --git a/linux-user/i386/target_elf.h b/linux-user/i386/target_elf.h index e6f0d8fa4e..802395af3a 100644 --- a/linux-user/i386/target_elf.h +++ b/linux-user/i386/target_elf.h @@ -8,4 +8,6 @@ #ifndef I386_TARGET_ELF_H #define I386_TARGET_ELF_H =20 +#define HAVE_ELF_HWCAP 1 + #endif diff --git a/linux-user/loader.h b/linux-user/loader.h index 75ee9975a0..457bb36daa 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -101,6 +101,9 @@ extern unsigned long guest_stack_size; /* Note that Elf32 and Elf64 use uint32_t for e_flags. */ const char *get_elf_cpu_model(uint32_t eflags); =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/x86_64/target_elf.h b/linux-user/x86_64/target_elf.h index 5849f96350..03483bad57 100644 --- a/linux-user/x86_64/target_elf.h +++ b/linux-user/x86_64/target_elf.h @@ -8,4 +8,6 @@ #ifndef X86_64_TARGET_ELF_H #define X86_64_TARGET_ELF_H =20 +#define HAVE_ELF_HWCAP 1 + #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 4ca8c39dc2..0c62c249e9 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -148,14 +148,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 f92adb7308..f99336e73c 100644 --- a/linux-user/i386/elfload.c +++ b/linux-user/i386/elfload.c @@ -9,3 +9,8 @@ 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/x86_64/elfload.c b/linux-user/x86_64/elfload.c index f92adb7308..f99336e73c 100644 --- a/linux-user/x86_64/elfload.c +++ b/linux-user/x86_64/elfload.c @@ -9,3 +9,8 @@ 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]; +} --=20 2.43.0 From nobody Sat Nov 15 07:41:35 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 175417626876246.890197423156906; Sat, 2 Aug 2025 16:11:08 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLIX-0000nl-Eh; Sat, 02 Aug 2025 19:05: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 1uiLIM-0000i3-0n for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:05:42 -0400 Received: from mail-oo1-xc2c.google.com ([2607:f8b0:4864:20::c2c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLIH-00014q-Vi for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:05:41 -0400 Received: by mail-oo1-xc2c.google.com with SMTP id 006d021491bc7-619a8bfef4dso54013eaf.0 for ; Sat, 02 Aug 2025 16:05:37 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.05.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:05:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754175937; x=1754780737; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=x8fvgpJtQEUOFk8X5/2Alk4+eQtdaFjh3aFtVl++Vic=; b=EbLY9/9IWSEDgc1ZrRGuvkP6XnlUNHvZmkohlqMinxZIsLOC3zG66tKu0Zp7vfRRLx fHaAg+oAtmmygzam3IEXBBns4ykRAXBtnqT3QnMoVE2YNiLzZ06bhbbCPnhXy3iWV30b 1FaMI7LIPDnTt65XK4OPcIJBEQzEloNHlMI/rxIRh4nUam2vvCAqgJFE/8PFxHvGdHZd uXAh+8kjpYK+lfH3LSPPG8zNoKVW0vJ+pbK9zJYzBEK3W5bXeZTKWz4YPZhaIZcHb6b5 F8CgVGSbTxlSmANLGc5v+4JfJgpkCkftQnVBmd7Ymfem8+6GNfcvVYnGlviieHpNegmm cuEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754175937; x=1754780737; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=x8fvgpJtQEUOFk8X5/2Alk4+eQtdaFjh3aFtVl++Vic=; b=iAonvqoYFtW6e06Es6AL/eKsPuMJmx8RnYLAV1SdbexRKdEk16jLrSVY06MTN+JHki RD+XmCxGmnfDOntkVpbtCPtUnXwlpVIiscllMSxSsrOxVmpSKL5NYnyFio0YX6Du2QPx 3aUAa8WMyqDVHCP4GXbapEbrkDX9DEt1NiJVV851btLW9St9jVY7rR8b64J0E4FJYJi+ 49xYp06xBMdp4bgZ43MC/JHruqAXIHHWMIoOZi5zfhS2NEQmsIpD5DaSUONW/WD4WKnS xEZ5QB//4I/lfu/dX//qySBJiwvedOkaOfIRztOuoq4SOc0zK5j3trDYbbYsTZOUwe61 Z5lg== X-Gm-Message-State: AOJu0Yxamevp8UUt2+WeiaSu/xJJucx4V1T40hbL2Mxi4jBLLVkMmUmV w7RlLgaPDYKVVWzuVxYg6KIJnphvzrRKcMkRE79MHVznDNW/8W2WHj5jYjrzeCzUHcY+eYA2F6c D12UBpEo= X-Gm-Gg: ASbGncuqzdeBzxylxq7XJW6iJS06mxnClbiB5y6JxKWjuOhq0poveHuyTbfQk2DSDH/ 3lT7p7cMTOqYJLBCwUmgBblqBgb/FWfQbQNHAIKpOhzpCK7Yag4BDrzBgX3eQGw6ymHfzhfKtaA jGYZLEK928ujlz3G0/L3GqZsiqYXlp6MC6iTYyZJ3OmTo5USy7uO+oCFKMvtlnvwowNCAC7/YAj O6S6bYD1+/YLmr8gBShrwziqIt3XpHeniX9+vvUbvh0u6I9bvfxcGQtY5UTgoj7lEeao7TCnwQ1 45Vl6BbNLhb7HygHJlcBqe+OJUS5yeyFk82aLQKjguII7jCkic9IHryC6z7z6kuE6OPH4svplhZ epmoezjePijEuvDlO6t8DGpF03VoPf1tS4aGUnW0cYe1yI0EXimQ1XB98WKzqTPU= X-Google-Smtp-Source: AGHT+IHCKgZTYD/xBxTwrN1Pu/Nb0LK4zZFsqz+PbZsbjtkc2DIXS0IkHivR1lvZ368nuxznw2zXaw== X-Received: by 2002:a05:6820:1e88:b0:619:a040:a61b with SMTP id 006d021491bc7-619a040a962mr767957eaf.8.1754175936476; Sat, 02 Aug 2025 16:05:36 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 07/95] linux-user: Move hwcap functions to {arm, aarch64}/elfload.c Date: Sun, 3 Aug 2025 09:03:31 +1000 Message-ID: <20250802230459.412251-8-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c2c; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc2c.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: 1754176269257116600 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. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/aarch64/target_elf.h | 3 + linux-user/arm/target_elf.h | 3 + linux-user/arm/target_proc.h | 4 +- linux-user/loader.h | 10 +- linux-user/aarch64/elfload.c | 333 +++++++++++++++++++++ linux-user/arm/elfload.c | 161 ++++++++++ linux-user/elfload.c | 505 +------------------------------- 7 files changed, 510 insertions(+), 509 deletions(-) diff --git a/linux-user/aarch64/target_elf.h b/linux-user/aarch64/target_el= f.h index d955b3d07f..77108f3cb0 100644 --- a/linux-user/aarch64/target_elf.h +++ b/linux-user/aarch64/target_elf.h @@ -8,4 +8,7 @@ #ifndef AARCH64_TARGET_ELF_H #define AARCH64_TARGET_ELF_H =20 +#define HAVE_ELF_HWCAP 1 +#define HAVE_ELF_HWCAP2 1 + #endif diff --git a/linux-user/arm/target_elf.h b/linux-user/arm/target_elf.h index 2abb27a733..90470bd87b 100644 --- a/linux-user/arm/target_elf.h +++ b/linux-user/arm/target_elf.h @@ -8,4 +8,7 @@ #ifndef ARM_TARGET_ELF_H #define ARM_TARGET_ELF_H =20 +#define HAVE_ELF_HWCAP 1 +#define HAVE_ELF_HWCAP2 1 + #endif 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 457bb36daa..151a06f5db 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -101,16 +101,14 @@ extern unsigned long guest_stack_size; /* Note that Elf32 and Elf64 use uint32_t for e_flags. */ const char *get_elf_cpu_model(uint32_t eflags); =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 b92442dfeb..92c8ea62c6 100644 --- a/linux-user/aarch64/elfload.c +++ b/linux-user/aarch64/elfload.c @@ -3,9 +3,342 @@ #include "qemu/osdep.h" #include "qemu.h" #include "loader.h" +#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, + 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 b92442dfeb..c7561b005b 100644 --- a/linux-user/arm/elfload.c +++ b/linux-user/arm/elfload.c @@ -3,9 +3,170 @@ #include "qemu/osdep.h" #include "qemu.h" #include "loader.h" +#include "target/arm/cpu-features.h" =20 =20 const char *get_elf_cpu_model(uint32_t eflags) { return "any"; } + +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 0c62c249e9..149d1313c0 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -401,48 +401,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 @@ -491,129 +449,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 @@ -702,342 +539,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 07:41:35 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=1754176059; cv=none; d=zohomail.com; s=zohoarc; b=V6jVzVoUbjj8nMDjkEf2ZBgKhWYLySx5neHllkDhTMXm4o24A6NyLv93TkjxTEako50mla296Dmib8SW4pa9ynnxIIel6bDXuuz88XfbIhQ6++r3ENDR4XqMxo9AZorp8C4lndevIJh4xEMJ8r302eyoKe7EAZq83MF98bFgA1E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176059; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=rkh6QSZcv8eWN+z+za46kqtwRfzEqAI+OgnnDkHvgxw=; b=OSjwIAzRostjopj2pIRG5I7c44w22lFjExo6Szrw59QZp6+414FZhKz80E5em5GSRAtPp7Job9HRqibOEDlK9I9TqjB9gaGrkTdWCGnXA9by6d3Ue11GFdQrBlIs81myKJGKiIevNkOEK0ZeHNwM835YzWEkzzdWus7u+nelDyg= 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 1754176059844792.4773658987903; Sat, 2 Aug 2025 16:07:39 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLIY-0000q3-IA; Sat, 02 Aug 2025 19:05: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 1uiLIN-0000iZ-7d for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:05:43 -0400 Received: from mail-oo1-xc2f.google.com ([2607:f8b0:4864:20::c2f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLIL-000154-IB for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:05:42 -0400 Received: by mail-oo1-xc2f.google.com with SMTP id 006d021491bc7-619a915c65fso28509eaf.3 for ; Sat, 02 Aug 2025 16:05:40 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.05.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:05:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754175940; x=1754780740; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=rkh6QSZcv8eWN+z+za46kqtwRfzEqAI+OgnnDkHvgxw=; b=QTpsAeGV3TqAFZavH5q2C1T5PA8i9WI79x7zx68J4lnyL4OVq1ZkAQH3tJipMcXCQc rS4A6R48nGy8s3uvajVH+jd4OMo1svx05pAX3nsucmevcfaENMkejIDv/gGgMpwoAEJL ZKG6KQFysp6HL8Gd0a5yB8Nvgr1nVLPFkSjvHMfKKDnY87wb0vQcpkv7xOJe/wHOuhew PYtRJkrlvKQ27OsfOBjPO1h7SljKQWPMv3KKdzZm00fBm/T7pQRVy4rd1sWwIe5KJ0ZJ Vx3srTYECmBxUia8/Zgu0HGwab33ZPWfwsOCuFrnDOwkZgvBl66RomcCTr9PCrJC12v4 l/Eg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754175940; x=1754780740; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rkh6QSZcv8eWN+z+za46kqtwRfzEqAI+OgnnDkHvgxw=; b=gL6waMJBjA/QIOcJUWDVthKyUQQEoidBCK/RvvsRV8EcAxSNI3Xuo/6vaccION4giV 5roeXrDm2oIwiDPhKtI4vCzK5ex8q3LFwclhIH1IrqVgA67mKm5NJ+0+QPoZpE3eTypQ UsUgvjkvpcI8JVzpbc/+ZmLRuBINMxsrB+J93VQDM7MgTfDH1h6zdF4EkKZXvBs/r5Ki Rob+yMk/vw5xr0w2LTIGoDWcYGAN9Z0DgLYB6aOhM/q7/pBoK+GwPXpjgv3PfIpB3lCI xIqVOAMDjJskHAOjCxYlXgxvoQd7GaH1qEZUDWUNLi3HZ09iGz8j+CZqIobTACMjM1xc 4VuA== X-Gm-Message-State: AOJu0YwI+mqSYf1xm2Z+FXXWp1Z6+h+nINrmuzlq+YHmu/Z91Zgn/h+g 7TR4veA6kru4tv6jO5SMZTdDLOrZZHjAd11FQVby5EFr9nZCFSTuQcBUJ1zBW74463kUy9kYOFC 5SXowNZk= X-Gm-Gg: ASbGncu9KoEHp9hbjPs9eyD29zL9PhqklYzOOR/Uu71NpZhO8PjHdDSY1nCMGZH9FuL UVI787k6fiM2HPtAjFZNY7kcXY3Rar/VERh0AFj2SRNiTyXEwmv9CPtc+G0tm64sN73QzX/xlI6 H2OrR/McABodf6it42xbcMZdFyJKV9yoWPkY2XV9Bp2gDjLhYta3SRKbcpeyX/KgPMLs/yQVWRX xllEJZU6vDYyByMsX9aINIJ5M7k28zLV2SLmLXmTOYhX3Qu5MOGv6+8xwluw0UfGZwNySrGTj57 CsErYSYUFREJlBNoCfKZrwV48FAhpJQPzUVFd/GN3RkcKaILfpuKnDnvpK3D5hsGbUq2zxnuict hWWWBTKT0cEjDmJ9q7+zwftIgQOdiM8ekrpBnJ5nyAmpAx3eIyxef X-Google-Smtp-Source: AGHT+IHYZZpyVvHyS+P1TqjQ79iCEhSf6K9UkApJsM/xwoQTEbpfUSserk+EFND6w5fIqkLs87Rj8w== X-Received: by 2002:a05:6820:984:b0:611:31a:6ff5 with SMTP id 006d021491bc7-6198f2a454amr2447198eaf.7.1754175940015; Sat, 02 Aug 2025 16:05:40 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 08/95] linux-user: Move get_elf_hwcap to sparc/elfload.c Date: Sun, 3 Aug 2025 09:03:32 +1000 Message-ID: <20250802230459.412251-9-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c2f; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc2f.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: 1754176061706124100 Content-Type: text/plain; charset="utf-8" Change the return type to abi_ulong, and pass in the cpu. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/loader.h | 3 ++- linux-user/sparc/target_elf.h | 2 ++ linux-user/elfload.c | 30 +----------------------------- linux-user/sparc/elfload.c | 27 +++++++++++++++++++++++++++ 4 files changed, 32 insertions(+), 30 deletions(-) diff --git a/linux-user/loader.h b/linux-user/loader.h index 151a06f5db..2c8414e0e5 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -101,7 +101,8 @@ extern unsigned long guest_stack_size; /* Note that Elf32 and Elf64 use uint32_t for e_flags. */ const char *get_elf_cpu_model(uint32_t eflags); =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/sparc/target_elf.h b/linux-user/sparc/target_elf.h index 7e46748d26..b7544db0a1 100644 --- a/linux-user/sparc/target_elf.h +++ b/linux-user/sparc/target_elf.h @@ -8,4 +8,6 @@ #ifndef SPARC_TARGET_ELF_H #define SPARC_TARGET_ELF_H =20 +#define HAVE_ELF_HWCAP 1 + #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 149d1313c0..16709865f7 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -565,35 +565,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 243e6f9b66..32ca1b05b1 100644 --- a/linux-user/sparc/elfload.c +++ b/linux-user/sparc/elfload.c @@ -3,6 +3,7 @@ #include "qemu/osdep.h" #include "qemu.h" #include "loader.h" +#include "elf.h" =20 =20 const char *get_elf_cpu_model(uint32_t eflags) @@ -13,3 +14,29 @@ const char *get_elf_cpu_model(uint32_t eflags) return "Fujitsu MB86904"; #endif } + +abi_ulong get_elf_hwcap(CPUState *cs) +{ + /* 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(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 07:41:35 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=1754176699; cv=none; d=zohomail.com; s=zohoarc; b=iEBoKw9ZNMgmNEwxItJUYzXM1R2RsIDOu7xvEdaI+fvGjreIJqwCbdYlC9ykV2FdxnYcUuvC0zfmckrFdgx9If/bSPRBL4OF6FaAGEpVMIHsNSnzQzdBSOEPIOUOSRWgT+OkAnfYogodVMZfrq3xOBnWfH3HRBu+bLmPoDSVeng= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176699; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=v2SfyAZc4XoY8CMkOgazi0gSdP78GuSA69fV6HrxMHw=; b=JzVjs9Ic7pfeYHeb2737gE9JntNvr4UV6JpOiY+3LYzuxIGuSIfBqEfNtWOIFuH/UtjbXKmF18q6QZ+D1CdS78obf72pEeg5djQLCv8B0vLzKYwqhJGumriGT3U36lU/uHkxjCmlUh3zCh8s4Lu61D6cOG0nNqLz2t70a8ywKx8= 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 1754176699489360.32564959006856; Sat, 2 Aug 2025 16:18:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLIZ-0000r6-O5; Sat, 02 Aug 2025 19:05: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 1uiLIS-0000lk-Dz for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:05:49 -0400 Received: from mail-oo1-xc2c.google.com ([2607:f8b0:4864:20::c2c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLIQ-00015c-0C for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:05:48 -0400 Received: by mail-oo1-xc2c.google.com with SMTP id 006d021491bc7-615950642d9so927419eaf.1 for ; Sat, 02 Aug 2025 16:05:44 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.05.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:05:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754175944; x=1754780744; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=v2SfyAZc4XoY8CMkOgazi0gSdP78GuSA69fV6HrxMHw=; b=Z1KTQCOKDBKZwZUhUkQqSed41+Ad/FLrtut0UgAIJgrukZ+CdhoWSDbt1rIwYV+9iK Z5cGf0O8d7AZOQILao5eJkNTXShDQY/+ysVXWLeB+lh3d5XO8T4CiO4ujyXg45qfaAnz ag6H1FBxJEkEA9cBZ6KMWNBJnUaQnC8ChiML6eMkZjZVsTxaVpJppXprnD+gCYIx6wLe c2T4+JPIEo7l4VILR4Qafchl5pi//XlKrDHBIWV7XIzzvCG+srDWC+csv82pP/y6Vs23 A4r2v6Mhl0iJ6eBORpIxlmuG3RtUOJkbJYbpunMI7h+Lfnn4kYENbxXt8VdMjPN55qXr 5VUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754175944; x=1754780744; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=v2SfyAZc4XoY8CMkOgazi0gSdP78GuSA69fV6HrxMHw=; b=cvSA1vkDWSEoQwiRM87EFOrbzsGzeBodnCfCDfWsWJ7jSpALSXRo6w880P7YUgN5Gv ATpqTkSyMFh6Ltsjjz5KWLq+FwgneNA0iwsbe3Gg4feFDEkQcB636y81c2nMjDRHlmB3 8Agqa3/NI8Ua+C3NOowp/2GB7apj9+e7CJOgfSidWqlBAviaLMHjvo0tLX6XJKdRDmSS BP1ayAyKvYg07eq1MwsrogdhaKj5heLOZaVOXElWs/lXFmmY35sfydiXWURcdBB7jI7s iVO4QmTwkUw2wWJiFvuTTaWfxOXoVJ4QVB/HcvLKFFKtVuD2j2C7D2VJyxFn6rTalTTI OO4A== X-Gm-Message-State: AOJu0YxMZGpD6Bl0iEMa3OzJTVNnHAZQIKzwEKzEnlunZUS+YnJoAqZr fdYeNjV05p6PwKYyDPvkIwdep4cRoxcyElsyWhc0K76PgeO/0lN1hAX6HgvO5jUZ9mh5QPpMNuO TaZq1A9o= X-Gm-Gg: ASbGncvbdMGeq7z5K11AktTXbLUINGnLEvIl5tzxBpI2E2K+zGVHkbdSgWi5X8ioE8T Oz1CvrjasQQOJG4HSnGcZ6o34WRzCJsSjSn1DVgYGGYPbisiPMKpvOd+6QWsJTzJ6HJo2O0tZYN wu5jviYyI2Xt8HmGc1Q3DrQLQidKxqrIB8rSJXBTQ2Njw8MwFbEpvwc9ymLxKbQ8exbDgRPkH5k m0Z0N8bJEowmPTz8eo4RmMKbdO/5Dtbzc9g9uDKVML96n7Zw5+47Cws74Xr/st6t8lLI8Y0KJog J14udKLaS/DPsHbqlMIjGVIQsrDRmdz3A1D6Xr74X+Gb6C3FS7eoXRAikWyPJozwt7t6K8gP6Pe CxsZ3O2sdDdR5duBZW72k+D99QO07cStQRrXTF7BOoITI4qB9/B3+Vuxin0GMcS8= X-Google-Smtp-Source: AGHT+IGYCHMlcdLpCIHU7YtXdLVfGzhZp/DY2K8Jqadpygd1hJJU1AUuOJPxa5RHtVR8vO3eo3A7Rg== X-Received: by 2002:a05:6820:3093:b0:619:a34b:3e32 with SMTP id 006d021491bc7-619a34b4375mr797315eaf.0.1754175943768; Sat, 02 Aug 2025 16:05:43 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 09/95] linux-user: Move hwcap functions to ppc/elfload.c Date: Sun, 3 Aug 2025 09:03:33 +1000 Message-ID: <20250802230459.412251-10-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c2c; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc2c.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: 1754176700788116600 Content-Type: text/plain; charset="utf-8" Change the return type to abi_ulong, and pass in the cpu. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/loader.h | 2 +- linux-user/ppc/target_elf.h | 3 + linux-user/elfload.c | 116 +----------------------------------- linux-user/ppc/elfload.c | 116 ++++++++++++++++++++++++++++++++++++ 4 files changed, 122 insertions(+), 115 deletions(-) diff --git a/linux-user/loader.h b/linux-user/loader.h index 2c8414e0e5..818c5e6d7d 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -102,7 +102,7 @@ extern unsigned long guest_stack_size; const char *get_elf_cpu_model(uint32_t eflags); =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/ppc/target_elf.h b/linux-user/ppc/target_elf.h index 8c0a8ea431..4203a89d66 100644 --- a/linux-user/ppc/target_elf.h +++ b/linux-user/ppc/target_elf.h @@ -8,4 +8,7 @@ #ifndef PPC_TARGET_ELF_H #define PPC_TARGET_ELF_H =20 +#define HAVE_ELF_HWCAP 1 +#define HAVE_ELF_HWCAP2 1 + #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 16709865f7..843b1f7b6c 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -598,120 +598,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 7775dc06fa..a214675650 100644 --- a/linux-user/ppc/elfload.c +++ b/linux-user/ppc/elfload.c @@ -13,3 +13,119 @@ const char *get_elf_cpu_model(uint32_t eflags) return "750"; #endif } + +/* + * 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 07:41:35 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=1754176223; cv=none; d=zohomail.com; s=zohoarc; b=F9PHAHDxal5DoVQpYRMF5MbXueaX+dL+DSM7eWOk8SXsD8Q6py0w5M1V6x5cLeNWoGkQyMxE072XlB02o/V2AZqMtZvUVkZXR9EjzGwYbNTWGzTJD+3+IDeFS2iNLTQwV7Cp5IoBYmL8tW5vzt2/igU3/Dabe9BZ89yTVHc19as= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176223; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=OKIdW06ZTz1VXr6FwN7LN5KfnzHWclYz+QB+jPoNsFE=; b=nQG5qKV02nOfC/nJfk8Ka3vw5GOSih897gqQs+UJOGU3giduYKr3oVL2LMEfzHIiKTNRUVTwhhebShqsGF/gntY6WtXDQb9ypmM8ZuOmu4kYEALe2//jF0nxB8h/8JkI4hId/mr3frolIuFdVyd3iu2MzdHD2g2sKhqgb2SIBqM= 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 17541762239241010.81192037667; Sat, 2 Aug 2025 16:10:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLIa-0000sY-Jy; Sat, 02 Aug 2025 19:05: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 1uiLIV-0000mi-9G for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:05:52 -0400 Received: from mail-oa1-x30.google.com ([2001:4860:4864:20::30]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLIS-00015p-JS for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:05:50 -0400 Received: by mail-oa1-x30.google.com with SMTP id 586e51a60fabf-30799a41109so1055517fac.2 for ; Sat, 02 Aug 2025 16:05:48 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.05.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:05:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754175947; x=1754780747; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=OKIdW06ZTz1VXr6FwN7LN5KfnzHWclYz+QB+jPoNsFE=; b=y8pmd/gJ7tfSg7O0r2QtmfDBXl5scIBeIeC3Low5quaTFx4EyWq4n9thsg2V0kvAP1 7WpnsDSabRaLidwm4YP+FdHhU5z/gJa+7/coyBA7dwRzT9LlCxvl3i0/WvOMQDioHp5A zA0fepH1/F9RT2r3/dkJbGo02grWYLkwaKAiSzX0aNuoaaeOcVpNdPyaJX3WRzSbE93J jVuFpwRzXbBcFsL9efvxdHX6uczbYl/Pp+PyKz755LSQ79p/Bgi409w3tbi9Pa423UdP 2J0FmZhsM1zIOS2tYSaO+y5tgB0VJD0Sc4ENIe3WBehAuMtn+KvUGFVGowDc9kY/2UL8 rXeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754175947; x=1754780747; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OKIdW06ZTz1VXr6FwN7LN5KfnzHWclYz+QB+jPoNsFE=; b=fGiJsbfeDHyYbp8CJcp/yi//kx4+QstajvtBdogD5trYvFg9qwlBvsnKFgduKHFDt/ VrGa+ukdYcYSYsjYv8H2QYpLqa9xBGlO1N9UVzwCe/rNfrw5kkb+SFUiuiZckL9jwlPM SvyPeHBjVsXyIRkocu4gkybkVXpD9SPVD4mnEMUCIm+CaAGxYrXomfa7Pj67JQiH8+oh 6xk/7YUiH/IZNmJ6c9ADkGYtOiLF8PK9McktKqFXpmCTeMU1NAMEY4Ni5c4ubLo17rbY kdxFC9EBH0+HdKS3SmzYYVCb82L8WDYIQ9qfZP+24wdhgAUPiETqgC+5+1YQayU1hEfB SUPA== X-Gm-Message-State: AOJu0YwitlVqXh7D554MUcIEoXvOawNhsS+YazFnaOqNr+k4U6F/wBAG wEp2MXl17MXyZAxb5e7VDF3o0luNwS2X/heiURfX7EVQQdYOS8GstiWbug9fXII+6Vd6jdCRqaE EHK4yhIk= X-Gm-Gg: ASbGncs+R7MkpPA6yc1NkDXZYBxxtGwxghYMqu107jJQ115/ornf0mG2joQVNEaVDAq KPpxg/tjZSpWr3A2wLRZqDHN7ASk9x+v4dHQkOMPU/XV6MTjg3C26IbwqnKHQO1onM0fwcGe4/v S8IHj9dl5ywR25gH9+C67PNFqYCb01YrLW3omY2gjbFQfErav2ADBiAC7V9t1oKsYmKzjWRwvMK NNZh9rw/E2IstwIXJXW54Z0kfOCB/v3EDelZqOITqzy26Kh/tIClAZ04XkEXfb9p0e4MNp8DWU9 TIYPUNjpDKKZWEoz/fA4Bi51kHg/XjRccsKzu2L1KtWWNqiTqxdCKNyvUyiQtPHuGIyo6fmBdA4 1jOpzZ/gH94Pzj7WlqRuqZkOYzQIAeLbfCdBvKvAUV+2FHGWlZiI6 X-Google-Smtp-Source: AGHT+IGSsyDXAT7H8fgAG8FD59RBM6FBNgKHe65YzwMCHXJXVJILR2lEQ9Hd9DLIw3UBKLFiScjQ0g== X-Received: by 2002:a4a:edc5:0:b0:615:b2c9:7ffd with SMTP id 006d021491bc7-6198ef153c2mr2417998eaf.0.1754175947233; Sat, 02 Aug 2025 16:05:47 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 10/95] linux-user: Move get_elf_hwcap to loongarch64/elfload.c Date: Sun, 3 Aug 2025 09:03:34 +1000 Message-ID: <20250802230459.412251-11-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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=2001:4860:4864:20::30; envelope-from=richard.henderson@linaro.org; helo=mail-oa1-x30.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: 1754176225096116600 Content-Type: text/plain; charset="utf-8" Change the return type to abi_ulong, and pass in the cpu. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/loader.h | 3 +- linux-user/loongarch64/target_elf.h | 2 ++ linux-user/elfload.c | 49 +---------------------------- linux-user/loongarch64/elfload.c | 47 +++++++++++++++++++++++++++ 4 files changed, 52 insertions(+), 49 deletions(-) diff --git a/linux-user/loader.h b/linux-user/loader.h index 818c5e6d7d..92b6d41145 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -102,7 +102,8 @@ extern unsigned long guest_stack_size; const char *get_elf_cpu_model(uint32_t eflags); =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/loongarch64/target_elf.h b/linux-user/loongarch64/t= arget_elf.h index 39a08d35d9..037740d36f 100644 --- a/linux-user/loongarch64/target_elf.h +++ b/linux-user/loongarch64/target_elf.h @@ -6,4 +6,6 @@ #ifndef LOONGARCH_TARGET_ELF_H #define LOONGARCH_TARGET_ELF_H =20 +#define HAVE_ELF_HWCAP 1 + #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 843b1f7b6c..574b37a22c 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -725,54 +725,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 874dc4c230..ee4a85b8d6 100644 --- a/linux-user/loongarch64/elfload.c +++ b/linux-user/loongarch64/elfload.c @@ -9,3 +9,50 @@ 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), + 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 07:41:35 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=1754176273; cv=none; d=zohomail.com; s=zohoarc; b=X5y2xc9ghbA8UQlQ9JWBiShKdm0HcqxEejzgJttlpUwWCpEmViUAGoIENCYAFJ5GVp8Mp/6Q2xKlCKjH/WSOiGamQbOzHPFqLvooP/vMijz6PoscRqFbspydRNZO7+sbwmGDgi0N/lcUA4Ep00vbBRVZ979HQf0HTz+2Fgk2lT4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176273; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=7W5Ve4shqEohSxRVdKPBvK3hz0rWOcEpZ6oE5AgP894=; b=L5HC54JFUpWte1zrhQlFK24YuTlAaV/ZzbPVMRrNsWbUJVRswFkitVmzcOG7enImgjOcEME0Rw4HJxhH4xkHSrj7rDhbFcY8ugukxA3hPYXkvekjAElD75gZQHWDSGTRhqb+K8Tj3Tj3zCHXa6+DmC02WkeFWTMT0z+e1KwOUC4= 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 1754176273173272.77105917299707; Sat, 2 Aug 2025 16:11:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLIb-0000ty-Js; Sat, 02 Aug 2025 19:05: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 1uiLIY-0000qC-Oq for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:05:54 -0400 Received: from mail-ot1-x32d.google.com ([2607:f8b0:4864:20::32d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLIW-00016C-PC for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:05:54 -0400 Received: by mail-ot1-x32d.google.com with SMTP id 46e09a7af769-741a905439eso346084a34.0 for ; Sat, 02 Aug 2025 16:05:52 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.05.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:05:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754175951; x=1754780751; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=7W5Ve4shqEohSxRVdKPBvK3hz0rWOcEpZ6oE5AgP894=; b=i/asx9TudzOz1/5ZpGPTIl5PXsvTNcmSUjZ7xqZ7lcWYMWgbqe1qPsinBgWl/5oTAV Mi9X+g8IktVkrKXjheUNQlWCTlTesCfgIbgoT0Q4pvj4MI4D9ZU/LWrlOHSoCYha89w3 NyGliY60FRZZYu2ISH9TLgv8xHkQgSa2Xk2TXh9NaEg5sD+kGm8r0qv+PVYKsIUHknAm OvRDJD0br1goZOydjWO0wapob2FIHi4dQmeVMF0zRr6MWXP1+TUeXAS4EFqb3TGbuADf cglF3e50YmVELpDjZ7EudazCydOJpiMMIeNt5C8MxY6b/ZMEhjWD/2AmDH/Mc9LyGneM 0JZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754175951; x=1754780751; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=7W5Ve4shqEohSxRVdKPBvK3hz0rWOcEpZ6oE5AgP894=; b=UVDRFqgZZypwQUS69igFSa9ja726Ubt0UtSPsIHv8/2QC7+ypUcig8k1Xhp1VIBHVh mcOso9QUrF2vXtLtTdJwxF9U+OEVYauKuGjS9iTFJ/5djd1RpxQ99O/6fZpBL03OomFj IaHpe8q6zWzYtpGti1XhHwC2GfPpGCtsVF/pOWrRbOzOJShbPxS9qIB7N4rX2ow16qSx wRltmTRPKpC2NsAeMNP6gF5zct+UC0VFZDTMoQfsSNvzYgIwG7GCqd2lzGO0Kc+N7rZ3 Q4sYj5TDTbSpacihVZZAWSX26MHwp5DYsaNniMBnejgChH+DqzOqo/o4n6tOSVYuD6d5 J7wA== X-Gm-Message-State: AOJu0YyVmAKIwjW93cg8af/UYthgCCFQ8fKMl1zjaVw27UH0UwN9kdlV gQU9q9l8q+OtXxTr9xX1/GChse8Psj15vxnkKupqo0Xv0lyir6xgkofy10BS9IHResPAQ/e/Gta xnkPC/mk= X-Gm-Gg: ASbGncuvVhbMSqCp4eGLHUG4ea/8aX0c2bL2eHH5swYFvgdaJhI/HsQ5HXkqpQN45dL VScENVvm236Cxn9Cu2fHlYsE582sCNE85GbSEZmruNM7rLYogx2M4Lyui6N67z3drX18d/HbgSw txlVOUZn7NghpOg8XUf7aOecgeUhG2JjnEaWnA4pDvpwcWvvKanenLRTLhtd+RG4JxesFQ0Ibkt 5R1+fe4dDh/nek9IcLNII8s6dOvf6DTMIxqieklPC1xZKeP/S5+QEh7SuFv+Toz6FusQefjwaWy W7ucVDJbiVBrSHnJVJF7mF2+yByp2Gs2IQtHMvquMk47d2H8bVCZtQmLL+jwtCL7PWASoLr3Zar zuiLNyE3YIxPp0KiklPrIpmrfzkvTXZHFqBmpg1QpSubEMetC2DHe X-Google-Smtp-Source: AGHT+IEjMqsOyYkBh0lRAPi9VXyNFpRMHq/RcHeYA3aYoSZrLI6P0SnRabErqVEPWpHs2ap/hiiAVA== X-Received: by 2002:a05:6820:f01:b0:619:2ef:be06 with SMTP id 006d021491bc7-6198f2d7d20mr2745784eaf.6.1754175951392; Sat, 02 Aug 2025 16:05:51 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 11/95] linux-user: Move get_elf_hwcap to mips/elfload.c Date: Sun, 3 Aug 2025 09:03:35 +1000 Message-ID: <20250802230459.412251-12-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::32d; envelope-from=richard.henderson@linaro.org; helo=mail-ot1-x32d.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: 1754176291249124100 Content-Type: text/plain; charset="utf-8" Change the return type to abi_ulong, and pass in the cpu. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/loader.h | 2 +- linux-user/mips/target_elf.h | 2 ++ linux-user/mips64/target_elf.h | 2 ++ linux-user/elfload.c | 52 +--------------------------------- linux-user/mips/elfload.c | 50 ++++++++++++++++++++++++++++++++ 5 files changed, 56 insertions(+), 52 deletions(-) diff --git a/linux-user/loader.h b/linux-user/loader.h index 92b6d41145..04457737dd 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -103,7 +103,7 @@ const char *get_elf_cpu_model(uint32_t eflags); =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/mips/target_elf.h b/linux-user/mips/target_elf.h index febf710c7a..877f8347d7 100644 --- a/linux-user/mips/target_elf.h +++ b/linux-user/mips/target_elf.h @@ -8,4 +8,6 @@ #ifndef MIPS_TARGET_ELF_H #define MIPS_TARGET_ELF_H =20 +#define HAVE_ELF_HWCAP 1 + #endif diff --git a/linux-user/mips64/target_elf.h b/linux-user/mips64/target_elf.h index 02e6d14840..c0347e5cb6 100644 --- a/linux-user/mips64/target_elf.h +++ b/linux-user/mips64/target_elf.h @@ -8,4 +8,6 @@ #ifndef MIPS64_TARGET_ELF_H #define MIPS64_TARGET_ELF_H =20 +#define HAVE_ELF_HWCAP 1 + #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 574b37a22c..dc3f502277 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -834,57 +834,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 04e3b76740..739f71c21b 100644 --- a/linux-user/mips/elfload.c +++ b/linux-user/mips/elfload.c @@ -42,3 +42,53 @@ const char *get_elf_cpu_model(uint32_t eflags) return "24Kf"; #endif } + +/* 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 07:41:35 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=1754176153; cv=none; d=zohomail.com; s=zohoarc; b=K3d9LgavzExMQQ74WK/7vkJWtpMmq+fXcibAhTXpAygJvIjgYSZcuUoxbrxdJL6BBZV64/K+QEVgCBZ8xVndMeVPpKjYhZVRm1t5r6f3pH8G7Nv6wnQnDS9GM/JfG7KzlstJDzPKiXRZv0JYzQMUZwcenvoa30UWQZfQ12NQZm4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176153; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=plVtBvS4s1Af7rRNKV3HXQo32RvMRB2lbK947p094co=; b=ZkfVlRgTtYbjK2wnG5qbe+2LoIJUt3TNaoHKTBjcsiuj0lx/DY/frkgzfbWisxIcvWAngnHgD5Ql2LqTw2aEqwIcCIIF2HYetQ3yTHrugBUoAQn6FC/LDP+Ak+BnSpXGUxzm+8M2L2l2YLkdd/jUHvcEWTfelV2BCzYDDC8d/tc= 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 175417615394410.691836430526678; Sat, 2 Aug 2025 16:09:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLIz-00012s-3Z; Sat, 02 Aug 2025 19:06:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uiLIc-0000xF-3k for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:05:58 -0400 Received: from mail-ot1-x32e.google.com ([2607:f8b0:4864:20::32e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLIa-00016W-4B for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:05:57 -0400 Received: by mail-ot1-x32e.google.com with SMTP id 46e09a7af769-741a59f64c8so411966a34.3 for ; Sat, 02 Aug 2025 16:05:55 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.05.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:05:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754175955; x=1754780755; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=plVtBvS4s1Af7rRNKV3HXQo32RvMRB2lbK947p094co=; b=r+6DSxtgJfqGPm+9lOHypgP4FAf7dVjsvydsQ4oJWKewhBH3ZsQPwz/DPPZGeeNyR6 Fj0XY+OranWvqb36Rda8ZShbla4CXfrjHP1BOFf18E7+J3HvOMS08nCfNfiUzv0P+gZQ YZK7AOrNb+bEOtw1EXGl1ldw9OmhH89K5Bj89XjQCQ28AhjTOQoxALI5huJUgqFk9lfT h/H1tInzpKnaEBRV4JTvNSII/bROhKVbpYFX95FJAOIKubd0l6mAlXNm5jr9yc7fr5Er NO6J1zH8A4NQ/iKlbFVreuWmpr8YkJ9juBUCpkoZMiURANIFmGUqHT3fiZLnG9b+jePs 2tnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754175955; x=1754780755; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=plVtBvS4s1Af7rRNKV3HXQo32RvMRB2lbK947p094co=; b=EvBRACQMcuoLsyg7oGbGh03JMRe/+AYTyFyjXkhu+JLyfHcZ/8rH+7XiOmZUjR4mP7 zLDLwSD5jDiZO1fnGOsRJE39+feQVtle+vtM9EO6jIIEnowbBUVpcW51L/U6zu/gL+ot h/T5U0sHes2GrLrERP+BeAMNG9YfHsx0lmcpo6dLSbuZGBNxtajJdTiXwAeSfYy3wnkh vIcMLY2SfAzH0rtEBXF1KdD38yeJNd82qWUJt9cqxquZPG8ZCmU8ATs4qL8kITtnVIod eDubUOxKFNQByehOTI7HsEEtRvUPwicGzq6Ys3aFtX65VpiORqPcJU2gHvw3czpQro+m 9wqg== X-Gm-Message-State: AOJu0YyTFXDrNq507iHejxBzxxHbBBxgE0Y+1OBkCNDSDtp9XLHHTJei fxmjYnehLVvftctwq2aZwazPjBU5Sio8DRi9g6fh20zq7hhRcw+iRO+Hk9a13+DOdrKgBTUsU7Z 90XY/keE= X-Gm-Gg: ASbGncv/SQ+2HLkdsgsKDzZkDAjSpHc97TP/JXSI7qfrfDfExSCahUAypdDjYLXApiz +Qasurztn5VDWLX6CfdaxEx+b0R7ILJ2cWDPX6bdOEceyMTjq0p/Vi/x5bZEtrEwiBJ8bYKZRQ0 AzaDu8EiFUgMaHGCsv5AjD7IOYO8UfgY+j17cPOol5XEMvIbxFHlAllh2j53zpeuSGPi9dBPUhA 1H96iGQ7dJIkOkrqk+6bn+VJTjvE97odjTnB9BzGsZbg1QH0jWg5OiScNGaft0GlIpwASZxYyGw s4HmdF6/9BWqd/grUpbt/GM6R8iEjweLcqKm2uO2FFo4qVMYv2eCvGV5WpxGJhM4qPi1nCG8R+2 VkCxlg8wdS/xFZUPYpjLZkonw66yF5fM10j5kTmEkcwIPqUV23DzaiBZ5HQ96BRw= X-Google-Smtp-Source: AGHT+IF1CSO4Ox5tXabODioJwSkQK9og620KZ+J9av09Uq9jFNr2bOz/14CYGF5Mft3M4eHm9D9xhQ== X-Received: by 2002:a05:6808:13cc:b0:41c:e002:9bee with SMTP id 5614622812f47-433f0252f13mr2601371b6e.15.1754175954656; Sat, 02 Aug 2025 16:05:54 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 12/95] linux-user: Move get_elf_hwcap to sh4/elfload.c Date: Sun, 3 Aug 2025 09:03:36 +1000 Message-ID: <20250802230459.412251-13-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::32e; envelope-from=richard.henderson@linaro.org; helo=mail-ot1-x32e.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: 1754176154807124101 Content-Type: text/plain; charset="utf-8" Change the return type to abi_ulong, and pass in the cpu. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/loader.h | 3 ++- linux-user/sh4/target_elf.h | 2 ++ linux-user/elfload.c | 29 +---------------------------- linux-user/sh4/elfload.c | 27 +++++++++++++++++++++++++++ 4 files changed, 32 insertions(+), 29 deletions(-) diff --git a/linux-user/loader.h b/linux-user/loader.h index 04457737dd..d8a9399807 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -103,7 +103,8 @@ const char *get_elf_cpu_model(uint32_t eflags); =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/sh4/target_elf.h b/linux-user/sh4/target_elf.h index d17011bd75..badd0f5371 100644 --- a/linux-user/sh4/target_elf.h +++ b/linux-user/sh4/target_elf.h @@ -8,4 +8,6 @@ #ifndef SH4_TARGET_ELF_H #define SH4_TARGET_ELF_H =20 +#define HAVE_ELF_HWCAP 1 + #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index dc3f502277..7e1c11c39f 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -963,34 +963,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 546034ec07..99ad4f6334 100644 --- a/linux-user/sh4/elfload.c +++ b/linux-user/sh4/elfload.c @@ -9,3 +9,30 @@ 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 */ + 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 07:41:35 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=1754176419; cv=none; d=zohomail.com; s=zohoarc; b=BBe9g4fKtO2sAdL7QYMJc/P9fyKnCQJedDklCYHYoheHXFHAiU9TvBsMdtDyRyrav3A1wv63p8K37P/fBiCKysr/B2mZB2RJLp05FpI3GSXhR3D2FLF4ZTRWMO41cUXKjULDoHws071j1IyNC232vqFqVOZMqd0fzYGIkmUi4V4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176419; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ZUiZ/Sv7EV/5D3y8AipMsR5HBvNmhQjnrAQjoZSkkls=; b=ec3cSMS+WqUrTPFJSmC9+1NyxO5olcUiwAimcfQd2KtNNDiWXTJzMghfk2uMMnY0hy5QQIzg6WcfMQrP5qoPGUQ8FkAJ7+ZRHkQX73KD5yE6WWtiPQUIEuZwPuo0745RItiwgSzhrETd7pv6VARcltKPFSuDuAig7EgiUOQjl4c= 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 1754176419405917.8285918386257; Sat, 2 Aug 2025 16:13:39 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLJC-00020e-7Q; Sat, 02 Aug 2025 19:06: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 1uiLIg-00014E-LE for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:15 -0400 Received: from mail-oi1-x22d.google.com ([2607:f8b0:4864:20::22d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLId-00016n-9j for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:00 -0400 Received: by mail-oi1-x22d.google.com with SMTP id 5614622812f47-433fcc4f28cso13318b6e.0 for ; Sat, 02 Aug 2025 16:05:58 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.05.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:05:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754175958; x=1754780758; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ZUiZ/Sv7EV/5D3y8AipMsR5HBvNmhQjnrAQjoZSkkls=; b=iUr0Gq5n1npwtaeelkyRFAL9cNOyQ6EjjAax/YzfKYyod+SH9IBEw7voU8rLkspkYf u8NCbZhDplctVDnx/VW4uS/9TYyQPeKidDCu5gfXMDtzXj9azDDyZLZL+2ZLyPxjXCcA tvhgB4+ICHkSC6jPTg0Y6HG1TSbLyeTxmajdw3mvVcQEMDnYhJVS12dpGmI/OKuXG5nS S90yGiUmC3xAL70GRxXBDt19DG6YI0F5lTifVFCyJCVF+WyvoEUnqTz4vN4Lx/BGZZU7 K27VD+6bpCI5ohA8K99rDHlOYSWiobh6rfwRL8QWtp4BvwAj65zpIF+b+u3KZCj/lUXR yQbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754175958; x=1754780758; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZUiZ/Sv7EV/5D3y8AipMsR5HBvNmhQjnrAQjoZSkkls=; b=Gf6VXdYQojG//9qaNAzBoZUMwgUwywbX5lxYQaDwTKJwtw31m4/gZvoLqxaiSRpbKo ZP9a76yi+mYKkrXqgkZUXuT9F0WS3/1a2o1ILJ3Yu7/kNUUeQlb2t4eC8WxcSHv2kH0P AP3tt+aEpUDBmoiry8OhaSlaeUvIXgrXF0aS2Xbm7QSdSSrGkNNsMe+9L0BD2OppzIYT OM3KH3o964E5vZrrDwDjxOJexJ00epjJGvW+Rmyenixi4jMAevPaPFgcBr2k9KbFM0tL dvaIo/LaKtOm7LjkRJDuXBY+yv7WX3pd05DjyFzT0SRRC5gEo4NOrqba8q5bkJywvfEw LwhA== X-Gm-Message-State: AOJu0Yzgg7mNhvtMhEcn1BK+XKDddR+ni0+ngpf41+Qi7M+KzhbElNam EQIOyYomlD9DdfQ04Ex+Ej0tQUQaYwPkN0w9upHJDjyTopBBb/DByuIIF55lc15mb1A8KDeXU40 MrR8Vk+A= X-Gm-Gg: ASbGnctJSA/FLpuN1Uv24fkqP3kGvaeu3qRzc9803iXewzN8oJFGPdg+w/IJ5tvd9Bm m8HYhxjxrCn7zkn+1QosBHGhVts/l5J1RHsInKLgcjaMAbxIOvaDDXBrT/JQe7jgC0TLqfhNEt6 JKexoFCCjm9S6XDtDIIEqOJ3vi53BbnYtB+uzuPsV6NiLm8lJDWZsqWSEF7XZ50g0AfyeIkI1WX GB2A3LB4WElXAn/TgJlf1+Ex1wh+flQk6vgBGmk1QoQWz4+mkZ2lY5S1UCDtn8dNDGpD0+ASr9m It7B2F+w2EAAJGzZ7Zvk/Gn8corV5CliAcG6Cj67A85MlPjVp+2I20VgcyvQvHdtsh0fcGee04m HxMCJ2/FNSxDQANrRKUwavKIA1rcLsrFbeDbOZnGSpaw5ikOu0tam X-Google-Smtp-Source: AGHT+IH0IxhNpm0oeTbD4uvmoqSM637YpMFZfRkM8ewrx2JPUOFLPt764OpkHzduti0V0qtmt5iR4g== X-Received: by 2002:a05:6808:1818:b0:40a:a8ad:bc11 with SMTP id 5614622812f47-433f0259d35mr2598012b6e.17.1754175957809; Sat, 02 Aug 2025 16:05:57 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 13/95] linux-user: Move hwcap functions to s390x/elfload.c Date: Sun, 3 Aug 2025 09:03:37 +1000 Message-ID: <20250802230459.412251-14-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::22d; envelope-from=richard.henderson@linaro.org; helo=mail-oi1-x22d.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: 1754176420562116600 Content-Type: text/plain; charset="utf-8" For get_elf_hwcap, change the return type to abi_ulong and pass in the cpu. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/loader.h | 5 +-- linux-user/s390x/target_elf.h | 2 ++ linux-user/s390x/target_proc.h | 2 +- linux-user/elfload.c | 60 +--------------------------------- linux-user/s390x/elfload.c | 57 ++++++++++++++++++++++++++++++++ 5 files changed, 62 insertions(+), 64 deletions(-) diff --git a/linux-user/loader.h b/linux-user/loader.h index d8a9399807..c14e69f551 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -104,13 +104,10 @@ const char *get_elf_cpu_model(uint32_t eflags); #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_elf.h b/linux-user/s390x/target_elf.h index e51b053339..cebace949a 100644 --- a/linux-user/s390x/target_elf.h +++ b/linux-user/s390x/target_elf.h @@ -8,4 +8,6 @@ #ifndef S390X_TARGET_ELF_H #define S390X_TARGET_ELF_H =20 +#define HAVE_ELF_HWCAP 1 + #endif 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 7e1c11c39f..ba8593368d 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -1039,65 +1039,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 989953a247..79ceaba51d 100644 --- a/linux-user/s390x/elfload.c +++ b/linux-user/s390x/elfload.c @@ -3,9 +3,66 @@ #include "qemu/osdep.h" #include "qemu.h" #include "loader.h" +#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) + +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 07:41:35 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=1754176122; cv=none; d=zohomail.com; s=zohoarc; b=WBrLdmCOIshIs939R0b9dZl8TnteMMgiauDt968LyU5C53TIVK3SFfBjIr9z5vNrzAL+IwsTYD9jeVTVanF+HKIQrRu+fm1IQALgJ0KSnLG5MT0xad7CHP1kWDMz4vlYTeasE8hf6qQGMKcLXuy5YxD18DL8eByvCQZgkgZqev4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176122; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=QHUbngbNrOIebBs0pvinM66UBm6mSJ9+oXdPY+2wgcQ=; b=Hb0CTIxux0hPG4umdiedI4hLPZYZ+9RLJar5iImgvDfyxBkDgo2zS6zKNJRWS7JUBG2Y5w4M+HcXij1cdyAn4nQTKZL41XesWnVhfgRJV77vKWXsthVil60U6wsKcEjch0QU7xfB/6uL56T1jUC0/jpZ8tfNce/O/EyJlUwS0D0= 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 1754176122034747.0327378941673; Sat, 2 Aug 2025 16:08:42 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLJ5-0001Wm-86; Sat, 02 Aug 2025 19:06: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 1uiLIl-00016D-7L for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:15 -0400 Received: from mail-ot1-x329.google.com ([2607:f8b0:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLIg-00017I-V8 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:06 -0400 Received: by mail-ot1-x329.google.com with SMTP id 46e09a7af769-741af48e9e7so58323a34.3 for ; Sat, 02 Aug 2025 16:06:02 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.05.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:06:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754175962; x=1754780762; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=QHUbngbNrOIebBs0pvinM66UBm6mSJ9+oXdPY+2wgcQ=; b=g0/q3InzKeH2PFeVcYUmfZgrFeHdPJxEsECPqZ9jKHqPCo55Rr2tNIkxwq4lrhi8VS D45slS87A0HhFz4vjmO5OGc6A9+PtXkDrTQ4jXeru4OFGM3DYxTlrL9mr1PVBuswpMDK 7JeLn4PVMx1uTtrDtmEUNg4dVCWhq2b+um+PFttAYb4lRypfyPGHm9LZZIrlktnt6ITG AgBso5pFAwT/ToQ991TcEkVAXhMIzrh5RWK5aCtYdJpn88d6kVptKDAV/mcHmXtAyQsy RVLslthUIbetEZnVG2mYMIbx3YCmF7riBmEhvOwv9JOoWqKRJvEQGZBreQe5hEVGABmJ HSpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754175962; x=1754780762; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QHUbngbNrOIebBs0pvinM66UBm6mSJ9+oXdPY+2wgcQ=; b=XnUuOjMdnlDvXBuakNgy7W90cEa/ULWMbPcmIX6D+YX2pJgVUbFVAbF0oErMbkQPuG IMRAxYFSw/8HoyQ74O4BxfOyRGIY1UtcZkdWvzb7mkeq7iefUnvVTJL/TNIExs1wez99 1uanrFYTf8niyuRjYPI7jYDghgDr4eA4i78Dt1f1BwtuX8ZWcqFbQjBZ/7i+kFTstukk /sLebJsieN7zHCwgL3lvYnsdG67trOOWSfRykTXw9Z/oiz5cxUU/G0+IDn7rKj1wRCEG y7DNk7CZB3ZKyWyBL3OhT3EbpXAG5ic6la+m1xwFZDmDTyigyo9QeY2MeByyUxrCJJRV ynAA== X-Gm-Message-State: AOJu0YwGWOcnSQR7JO12AjqfJdxM82ja5DtTr+l7gqT76I1i23OthKqn B+4x1PKbmmGts6qosbxFbT8A32Lq1cPaW8/JT4RDJcQrZGEOdHuAzAyAs85MQlXEvba30AMOoj0 llV+dQPU= X-Gm-Gg: ASbGncuhPTv9h4cRLHqVd1PhK8zie14EOWx21FTaxvSd1nehbW/Y8boSgx5Rpan2Ms3 c6KbnqVAavYbRhiucvztan2Rv+KqJ6BZMZKc95vUxO+RiDo0PjNKlgKDFt124nVaIxHdHq86duP g1GyOp6i5c6JjrHM2jmRwk+VT7S8NRfVMYQLOUvT+UGUp2oto931giX3w5s2K4av3ZOiJJu9r0z qHIDH9eli1kAz5CMHtj72/Qaa/vxDP8VYdg73S9VRqmSgWi9eeqilG+Vwld2TFeJJ7LfLh2G5ag DJDEezHxiOG0PLlOFt21F6aNTOVUwz4N207DPtkaTmBw0HLXspWHg17RTlh90t4g+NjzxF3bbbe 8UX7QYCAbHz9B5SiffB7VaMj4PeIRqfD4bRK9r5kyZVkCvOE2kvt0 X-Google-Smtp-Source: AGHT+IHFqqGsLRjFojuxcd3Xp55SHWNG/txLuFthLCpCKDMjOP2hUcLoYWvYwSZ3e2qt7iCQP0se5A== X-Received: by 2002:a05:6808:1796:b0:40c:f698:c132 with SMTP id 5614622812f47-433f023518amr2781276b6e.11.1754175961738; Sat, 02 Aug 2025 16:06:01 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 14/95] linux-user: Move get_elf_hwcap to riscv/elfload.c Date: Sun, 3 Aug 2025 09:03:38 +1000 Message-ID: <20250802230459.412251-15-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::329; envelope-from=richard.henderson@linaro.org; helo=mail-ot1-x329.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: 1754176124501124100 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. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/loader.h | 5 ----- linux-user/riscv/target_elf.h | 2 ++ linux-user/elfload.c | 14 +------------- linux-user/riscv/elfload.c | 12 ++++++++++++ 4 files changed, 15 insertions(+), 18 deletions(-) diff --git a/linux-user/loader.h b/linux-user/loader.h index c14e69f551..729723cc06 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -101,13 +101,8 @@ extern unsigned long guest_stack_size; /* Note that Elf32 and Elf64 use uint32_t for e_flags. */ const char *get_elf_cpu_model(uint32_t eflags); =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/riscv/target_elf.h b/linux-user/riscv/target_elf.h index bfe86105d0..48d9af557b 100644 --- a/linux-user/riscv/target_elf.h +++ b/linux-user/riscv/target_elf.h @@ -8,4 +8,6 @@ #ifndef RISCV_TARGET_ELF_H #define RISCV_TARGET_ELF_H =20 +#define HAVE_ELF_HWCAP 1 + #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index ba8593368d..ce4055b0e9 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -1099,19 +1099,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 f92adb7308..2e7d622232 100644 --- a/linux-user/riscv/elfload.c +++ b/linux-user/riscv/elfload.c @@ -9,3 +9,15 @@ 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')) + 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 07:41:35 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=1754176140; cv=none; d=zohomail.com; s=zohoarc; b=YnCXbFK8BCgFnOiHN9RRrV9Efw3HhkIBodiybsfRgrWXCFKO78CxtHjpVCUyfEroncrlnSjLw9Q/AbhBlhrZZko7c6nmWwqHx3eA4BCDvZ0igMiAZStUAyyX389/4awk8VeCuTfXcJ2RTCaMJEuNjelZQqECy6XC8JotYHVnTwM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176140; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=h7yOBImSiodxYnzN8XvMdq74qSZ6gWrRgjjgFNxAniQ=; b=KWduq1G/o8ioltwU1nK1kDdMj9eErDVkHJljC6Nt++ZToVUGcb9nJ1EDXogOjevi+Bowc0EXDBb7BlDfBN4Eyf/zF8AvbC8uBBdOvYbBsNlZmxh5WI90gSid3LE1Y6hGA0Uhjk+mALnwOpcAXgfPIo5WiKNPq4RdjtsCGPFOtkM= 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 1754176140369219.57881604180557; Sat, 2 Aug 2025 16:09:00 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLJ4-0001TH-7m; Sat, 02 Aug 2025 19:06: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 1uiLIm-00016Q-RM for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:17 -0400 Received: from mail-oi1-x233.google.com ([2607:f8b0:4864:20::233]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLIk-00017c-Vx for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:08 -0400 Received: by mail-oi1-x233.google.com with SMTP id 5614622812f47-42ce1441042so1167819b6e.3 for ; Sat, 02 Aug 2025 16:06:05 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.06.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:06:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754175965; x=1754780765; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=h7yOBImSiodxYnzN8XvMdq74qSZ6gWrRgjjgFNxAniQ=; b=LOb163qDxxWjSiYBOnyT6w74wiyB1uRipNxhcbHxsfq1gKMDsroSxPQn93QUahz8Nr 6Aq5SQ3uA2ssDtIUTmmwjPff7/rn3lKEKmj7F+ZwuBcyZwQmuIlW4q6S52qEdu7eARRv KFi2Qkz6RlPhF6Y7/m2NcyjkHUqE5M0ZFRUP47aA94Cg4FWnm7Lc3KtYgYDeF1qNoIKX Z0EzxvfBHR01Fiv6+yiSbTYYe1ZARb8surRwTN5cLJSETaaEeZitqfNojj4XfchMrIiR U36g8S1mvQUYRKUjAiQqkOecwux/aEqFxL2+Iuj0FyY3sTR0dX5QbaJ8KQO1wZVk8FYW lcbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754175965; x=1754780765; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=h7yOBImSiodxYnzN8XvMdq74qSZ6gWrRgjjgFNxAniQ=; b=foaMKin9Tb5EBEDhz0xBBpETc3YUJwKIlQ6SrGcoxNyL7zTldW/vlqsyF7xIXUKCQU 22AWPQ+j0zYhSxHrL6dSuNGfFQ4kwKaXW63iNy0x/0O/a1yGfmjrAxxH9WTuIXcan0Q2 8OSGBZdOcq7Ngvfp3vkjCllcFtSuCg16pPKScXXbqvjMq7/STcgGSWrTgbu9i4qG7uj6 5ys6tJTpAUFCzRc0wnCKHVH1QfqGAb3N5R2ZHJ4pjV9Gkc+/joIKf5yuKJfmUI2CqSgf hPr6kQJ8PZ4F6Xyubz8y60l7r2d02PuKoqzjzsewRB0z4Yb4tsMpdNXnHQyZSumqNnHy ywVw== X-Gm-Message-State: AOJu0Ywwztcgc8DgoX4wsCElK8bHzhPAe4kXaD5YuyTRTDEJaqDCZwom zTSz2iNkhMtj1Ev+AsCW20p5hQ/MiIHzqpzpNPxRI4UwEPDmmgIPSNy7s9cKnaZz/QhhogKSTof bCtaVtfA= X-Gm-Gg: ASbGncsCFRvPVmRAYFcc7zr/PPsA9TeRaS6xllsZ14STUHO+IrVr7RpDvE9k7eWwytS WZLxnCjBzYuLip4wLNWHVQL/7kWP4q9LRdJ/r/gzkf0FO83MsrhIv4wz/cdZThUE0hhv8zekr30 WfShJG8EWkBuAvI878A5KK18vzs4xbsc6tBblSZJScefswoIsYQ/fJ6o7EC5nTksLcm2wlWTMJa X2zmSjeobGsFgYK7KSWsnvzu1IvrHQAMAUDX4xagVRTBIUZ01oXX7JZlp8JAMidFFq72XgwjwYf tnbtNzgVizKnHo7BGR2j+LFTKV4F0unOWiztT3x5yHE9DTFWg7Wzm0tYsnZonmEu56x4J6j4QKq Io6bTVfEC/O8lrI2sPHyeWIbyMSPBwX/YUBlw29MbVvPGc/ZmuS53 X-Google-Smtp-Source: AGHT+IEx8f+BaY6NenopBc7XNNwNVflurhm2B60HUQvPHSzqi67zZnqGk3ZDJAV2MAmOybxSNGpTdA== X-Received: by 2002:a05:6808:181a:b0:40a:5839:71c5 with SMTP id 5614622812f47-433f0224714mr3108790b6e.8.1754175965109; Sat, 02 Aug 2025 16:06:05 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 15/95] linux-user: Remove ELF_HWCAP Date: Sun, 3 Aug 2025 09:03:39 +1000 Message-ID: <20250802230459.412251-16-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::233; envelope-from=richard.henderson@linaro.org; helo=mail-oi1-x233.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: 1754176142684124100 Content-Type: text/plain; charset="utf-8" All real definitions of ELF_HWCAP are now identical, and the stub definitions are 0. Provide zero stub as a fallback definition. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/elfload.c | 35 ++++++++++++----------------------- 1 file changed, 12 insertions(+), 23 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index ce4055b0e9..88d439f348 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 @@ -148,8 +149,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 @@ -449,7 +448,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() @@ -539,7 +537,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 @@ -565,8 +562,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) { @@ -598,7 +593,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 /* @@ -725,8 +719,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 */ @@ -834,8 +826,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 @@ -909,7 +899,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 */ @@ -963,8 +953,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 @@ -1039,8 +1027,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; @@ -1099,8 +1085,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) { @@ -1268,10 +1252,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 @@ -1291,6 +1271,15 @@ static inline void init_thread(struct target_pt_regs= *regs, #define EXSTACK_DEFAULT false #endif =20 +/* + * Provide fallback definitions that the target may omit. + * One way or another, we'll get a link error if the setting of + * HAVE_* doesn't match the implementation. + */ +#ifndef HAVE_ELF_HWCAP +abi_ulong get_elf_hwcap(CPUState *cs) { return 0; } +#endif + #include "elf.h" =20 /* We must delay the following stanzas until after "elf.h". */ @@ -1868,7 +1857,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 07:41:35 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=1754176058; cv=none; d=zohomail.com; s=zohoarc; b=RZ2fEUJhQ7TiQSkIGDq/8OaeX+iu+FpAbGUD20AfRexnHDpwBxsZVpZGPqUuiWZNsowDSp0gFefFEQt2fF1wnB7iq3gq8zFu0qWplYP4F77/jCv5VqXIPs3QLvtEpYPag24npMjnq6kQDjSqSMdmbKwM6m513dBJDCRSdlERDaw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176058; 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=Z8iia86ZEBxJNkpQxMDVIvnq2O/V2R4bUkFKz1Yuo0A=; b=La/GrQEAh9c439prE19iep65NZVcgdcP+rujdhMyIO4Yb0QVjjWup9gXnyYi9+tANjqaO4yD/OS+RhFPtvjpi69kjmbV6dC+gEHbLnTS3taG0f0B+WiNZgkeES79b4NBXx4HvViqoIzTqCftZIYpeTrjyXsK+/7qPjxx0FP5Bxo= 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 1754176058220359.4018779279579; Sat, 2 Aug 2025 16:07:38 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLJE-000288-78; Sat, 02 Aug 2025 19:06: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 1uiLIp-00016m-2x for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:17 -0400 Received: from mail-oo1-xc33.google.com ([2607:f8b0:4864:20::c33]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLIn-00017y-JJ for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:10 -0400 Received: by mail-oo1-xc33.google.com with SMTP id 006d021491bc7-61997c8e2a1so386500eaf.1 for ; Sat, 02 Aug 2025 16:06:09 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.06.05 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:06:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754175968; x=1754780768; 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=Z8iia86ZEBxJNkpQxMDVIvnq2O/V2R4bUkFKz1Yuo0A=; b=yNm72QU+50vA2rHHuim2ayfIhnoXJWsnGerX027dhWiUNae7TFQQdjsgR1aw7mQyLo W9VxTHvGPZXOMLJaT00A39rSBFeLfYJcrZZMXQoW87BV2hbOoN0VmEexln7YIPShuEhb Fo3ZAev3aofRg9pco5Deiow/FzpQ/zwpcDYWFWYhhvng8YdRmFCA8IQ7NNzD9sQ2XPYF lX6lsixng3DebE+oatMPS+iEjtdcqMAKB6c7n61VVLLQnVXxE/TXodicoGRxPiQgx6fT KO3jixMswnPsfycHHMKLbKiCzicjdX1H2PwGpm6Yj15LeffBHqObzCCaDt/MoG5OroJg edCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754175968; x=1754780768; 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=Z8iia86ZEBxJNkpQxMDVIvnq2O/V2R4bUkFKz1Yuo0A=; b=DEIKrmpheSPScQ3QVeGHwHE97EzyGGxix3m3chPjSiLBKjsCbyLg8a9zDNHJ61jtJ7 9t20Lw8AhKIYiKERdUAhR8pov02Gp953CDrwInmXe/Vc0na7D9q2sOPbc8Ot+lbx/R8W aPYVg0WZPJ8AIrmXDZpuqSyWeV/3ZkUHpFt9tgCYtyGOq1RBVGDTmFFylslh1NV1Vx9Y omOnPNLZhw60HRtHufHcNubFJ0YTsQBacliFyE4K6p2EoTIu5C5kIn7juNFzbT39Wb0Q 9ma66WWwtlzRagcTQ8SM2ez4NtIFEo0O8jvwxJJLGK2YD2vCpOwQt2R68NM7P995ew2T o0ow== X-Gm-Message-State: AOJu0YwBtGubOpJMkY1vWHi0JtbpqOyTmSA+ZhskjboaA/HO4emF4Jp2 /6aPBkFfz9Ffp1OOnbxUwStgDA+uM1/r9n8taGzr0NNIqq8jJ4LhY/Kbo5Qlb78gQwFC25L9GoK EUPW/398= X-Gm-Gg: ASbGncvGmqL9Hx+Inog7EEIQdDa5GmoJWGxxhQPn6fc8ipopEIu8dxFEpSLMH8DJprQ SQ6gGe2xHiq4SnjBLe7rHW8nmPaGicR+Z8z78154a94ssRjQJbdagZfR7+gZUdJAsy9/4wJIIcM oPWuBdPPjm7DF0OqI4rTZmtueUrpeUPPjbw4itpI9kS8hkt4bcPEBeVhsZSmlql8/0ngmfrqErF SDa1A9DwVqKhLIP1EcJf8E4pGBWotQEzC5udaSJiBlHZ87YNKQEBeU8jAFlZbwqsBseAOOnuJC+ UJM8c7z/aCWTNW0XjmvLCpx3z+DClPTFSUSvSZkEQ/XlRSnzv1sQEIqztLwEwGgtoGFPk2jUJ+Q kYWabyIyK790GZ+9+w9hfmoXGy8343a6KxVH63Eomp+luP2RBYOU78hN4L6uLzBA= X-Google-Smtp-Source: AGHT+IG3aug2APxg504sz5P3gXmy2pBCQtiyZwFyc7+IILb7j6qekgcjOoelqzRmTT31havmMtlUzg== X-Received: by 2002:a05:6820:88f:b0:619:2ee:6378 with SMTP id 006d021491bc7-6198eb3bd08mr2345537eaf.3.1754175968409; Sat, 02 Aug 2025 16:06:08 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v2 16/95] linux-user: Remove ELF_HWCAP2 Date: Sun, 3 Aug 2025 09:03:40 +1000 Message-ID: <20250802230459.412251-17-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c33; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc33.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: 1754176059656124100 Content-Type: text/plain; charset="utf-8" All definitions of ELF_HWCAP2 are now identical. Provide a not-reached stub as a fallback definition of get_elf_hwcap2. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/elfload.c | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 88d439f348..7a41917b49 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -448,8 +448,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) @@ -537,8 +535,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 @@ -593,8 +589,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 +1273,10 @@ static inline void init_thread(struct target_pt_regs= *regs, #ifndef HAVE_ELF_HWCAP abi_ulong get_elf_hwcap(CPUState *cs) { return 0; } #endif +#ifndef HAVE_ELF_HWCAP2 +abi_ulong get_elf_hwcap2(CPUState *cs) { g_assert_not_reached(); } +#define HAVE_ELF_HWCAP2 0 +#endif =20 #include "elf.h" =20 @@ -1801,9 +1799,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 (HAVE_ELF_HWCAP2) { + size +=3D 2; + } info->auxv_len =3D size * n; =20 size +=3D envc + argc + 2; @@ -1863,10 +1861,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 (HAVE_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 07:41:35 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 1754176128005956.9010242569027; Sat, 2 Aug 2025 16:08:48 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLJ6-0001dq-5S; Sat, 02 Aug 2025 19:06:28 -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 1uiLIt-0001B4-4X for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:20 -0400 Received: from mail-oo1-xc29.google.com ([2607:f8b0:4864:20::c29]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLIr-00018Q-HH for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:14 -0400 Received: by mail-oo1-xc29.google.com with SMTP id 006d021491bc7-6199e7dea32so180531eaf.2 for ; Sat, 02 Aug 2025 16:06:12 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.06.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:06:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754175972; x=1754780772; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=+yEeq0RZk/l844ggMKjsps45XK8zy1/6p2Ssn5uBtVg=; b=AoYRrYPRZNspzlYDI0tbFfbuIC9Ws1Lcrv3zaeEpL4hZfngFdqIqjnB9WDf/hCxZGe 5CLLWG1ZAb1kTx4jiddsfkzed3aO8Qzf5DpVxAzJV7JJ+/M7k1vhR7VEeyVrsryety92 P7RljgOr21AbacTaVp/V33LmWfmU5ClS6mcc7fy814qE+EUE6UCtriDWgBPyIdXKNQXc g3UJWKfg9RvUTiW/47AQmEi3D705pIkny03LMHKWDhKe5UdI2vzro1FRNDqlQJEQteIg A2+I3zcEzDn7BMOm+cn9pz0zTnmYcfAvNNbcQk1I6s6jBnrKpz7d0f+xl/d03qkzYaBm Amag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754175972; x=1754780772; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+yEeq0RZk/l844ggMKjsps45XK8zy1/6p2Ssn5uBtVg=; b=SOqyCBiN8BPdDie49vED5+DSBIIaVsM8OsoCWUfKKmpx2WCWRrByIbDc06UxfGNJ1r nKuUMxeut6lfJ5EpBhBLtXS/V4my+oQ8RQRhGYRxYGCj6zGdb0u+HaojOIdwanqZkV6N tB5xHzzX69PdYwyym5se+jXMu1FuiJLvkqPFXhu+9tkIrBIyvuUvQMuBtIsIux441Jzt tkrGM0DDnG+Au2qnM/o7XavUv+uZmSX3Hg61uXTinqU2w4rhiSoFwEuLnS9kp821insP b6DPSG2fyKhKeLmf2YlvwGGuJGK0JJkjBHwb5E9fcQiw0J/kxrCUfHEki3kzFW9ulNJ4 4EQA== X-Gm-Message-State: AOJu0Yz4dOsTWFnF3WJmYZGJBMAZnzO8UmJrTsEXdWckUcGIYC0Tammn sAxgigvxGcGL8Dv0cS07ZLIis7pYu22fsS1JKL9/7FgGRSNLXZZX9iMj+eSV3aN3JGz0vTAhr26 yeU4T72U= X-Gm-Gg: ASbGnctc48AVc1JM1QAEvavtWuadu36dUooMUp8YmA1ZnSCV7Re26oi8nDk/s/KGNtT mHgXv02fOGs1UfqnzW725CsuBUW54pfxkSRinyhW4/z0AA9K3oqfVKKmRYLjQB49/kAqyp+FNqM h6tuu2PHH3FfAq23aDNcIvlpTw2lVDLRxjq93RO25spDEZMPCyNvodWfrP3DpTc4uJhjW90qlxk z92Pd1nlmdqqcR7Q0bJzzrm+jpA38oJdyWODV5qBzYKE+b177bZrSucWEBigeQNaz4fm01LWgCO zWXJ+T/aKRRMoEc4ZwPAJtOTId+kYRfiHGKmQqnUhGWgoT32rK/wRZByixP2DjbUdtmu8+hLgRh 92jdpaNAjGIOy4kjxfgHlQhd1CMWTzca/DNiQwzigCiwNf7u/am6V X-Google-Smtp-Source: AGHT+IF3yLGtmHyFMHDgtNzv86s+58ilmyXpPpHZsnGtG0KwDBu/SyJ3BS2qtJJkyO3Aqb5o3SWONA== X-Received: by 2002:a05:6820:992:b0:619:950f:2413 with SMTP id 006d021491bc7-619950f26a5mr1587641eaf.2.1754175971869; Sat, 02 Aug 2025 16:06:11 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 17/95] linux-user: Move get_elf_platform to {i386, x86_64}/elfload.c Date: Sun, 3 Aug 2025 09:03:41 +1000 Message-ID: <20250802230459.412251-18-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c29; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc29.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: 1754176130492116600 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. Introduce HAVE_ELF_PLATFORM. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/i386/target_elf.h | 1 + linux-user/loader.h | 3 +++ linux-user/x86_64/target_elf.h | 1 + linux-user/elfload.c | 18 ++---------------- linux-user/i386/elfload.c | 13 +++++++++++++ linux-user/x86_64/elfload.c | 5 +++++ 6 files changed, 25 insertions(+), 16 deletions(-) diff --git a/linux-user/i386/target_elf.h b/linux-user/i386/target_elf.h index 802395af3a..44dde1ac4a 100644 --- a/linux-user/i386/target_elf.h +++ b/linux-user/i386/target_elf.h @@ -9,5 +9,6 @@ #define I386_TARGET_ELF_H =20 #define HAVE_ELF_HWCAP 1 +#define HAVE_ELF_PLATFORM 1 =20 #endif diff --git a/linux-user/loader.h b/linux-user/loader.h index 729723cc06..44bb4cbfd3 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -105,5 +105,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/x86_64/target_elf.h b/linux-user/x86_64/target_elf.h index 03483bad57..498c3f7e4e 100644 --- a/linux-user/x86_64/target_elf.h +++ b/linux-user/x86_64/target_elf.h @@ -9,5 +9,6 @@ #define X86_64_TARGET_ELF_H =20 #define HAVE_ELF_HWCAP 1 +#define HAVE_ELF_PLATFORM 1 =20 #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 7a41917b49..e6e509c0a6 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -149,12 +149,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; @@ -237,22 +237,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 f99336e73c..1b759098ca 100644 --- a/linux-user/i386/elfload.c +++ b/linux-user/i386/elfload.c @@ -14,3 +14,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 f99336e73c..88541ea45e 100644 --- a/linux-user/x86_64/elfload.c +++ b/linux-user/x86_64/elfload.c @@ -14,3 +14,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 07:41:35 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=1754176021; cv=none; d=zohomail.com; s=zohoarc; b=CUuKTCNab6tAomFyLgjenkt80isCW0pKXfm295ZetuD8T9ig+3Vwb0lzfBjMgzz6j4e5pcB156apkj9b48bJK89++qLbj/CqEhJSQEdyT2P1YaZcVt4fNaBl/KRyHgh5FsUWK+WyrNYPdlv4NfzXDm+cj8mA8j5D4Si2kEAJPFA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176021; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=tBti5m0dF6b3Sc0I6qGteHg5X6Zr9g2kU2k58zFoTUk=; b=BmMie043O5gLJAC2NzA7Jl4Wea6UpfsqCY8t6WsH9mBw+x+EwCtHVqhxi4LiY2VbRT9DB8ZRjuesT5KSboJ5QXrGE8b/8oAUV3vURfsu3E0vfA5QcKFTPFFTmqJVcGV44NdN/2GjPgetRDJZIlJ+T0RbuWN+9w2DiUEdWfypQ+I= 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 1754176021934943.4459321256821; Sat, 2 Aug 2025 16:07:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLJ3-0001RT-4J; Sat, 02 Aug 2025 19:06: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 1uiLIx-0001Cz-T9 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:20 -0400 Received: from mail-oi1-x22e.google.com ([2607:f8b0:4864:20::22e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLIw-00018q-Il for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:19 -0400 Received: by mail-oi1-x22e.google.com with SMTP id 5614622812f47-433f3bc84e0so622930b6e.3 for ; Sat, 02 Aug 2025 16:06:16 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.06.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:06:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754175976; x=1754780776; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=tBti5m0dF6b3Sc0I6qGteHg5X6Zr9g2kU2k58zFoTUk=; b=w93Mrk6z18yaO9Tbhd+rYbMB1HLdf3p+k9G1flZHgaOZPu1/vwUYx5B4Mqtqt3q0DL f6jonUrYFIIfEjGNIXi4dAfNlpZaPkF8+fRBAfDDCE8FNE0iHtLt6uRvmT1mhUvFm6v3 ArFxfkRyc31wi2B+SZiTdXjvA8O84mVbO7mBPAxRqarocjmEiev6EwTOe4T/iRid4PRr XWBJ/gsfnqUsVIHcLqobgoGLiHpmW+ZPxq2BHpGHCJPvT7QbfVXvHR0pelEP/RBUt4mE SF+PVcYm2yD031+rQRZoo6ijfAWtwfw6OAuDTWpPCSaD5Jljk8K2JksX3B6AUo867ZcM bPGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754175976; x=1754780776; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=tBti5m0dF6b3Sc0I6qGteHg5X6Zr9g2kU2k58zFoTUk=; b=luCVhBjBpHCb4BH6nFtwe18q7zm9CgmbuBWXuZZIt0zt0N122YAfzdUSw99wJIqPRR bCEhx54bNzNia677o/jfE9E+B3QfFH0G+8TbXA9LrvOVseDupb51SF5VdisTsqc+OLIN 5jV1MuNuXwG9eML8Yatd/UQt+bE++tZZstVGCwPVonStFQzIHOOREpPLrX27Fv24Te+k 9FCiDt4I/rtsGfUfRiztY5k0k2AIbJ41ur2SU8mZYGE5nofzFRmAagdIpLh4HAIx5dK9 FDqhciA54Lh51BZSgDrY/NwrWVAuyOmfLbQZvoVABoY5SmOnSfVkfXLo5bODQAWpgWgg DzoA== X-Gm-Message-State: AOJu0YwHGzJwPn1l0ORNbBdgEholypFGxECs5t7q5aqeCsuPRcqoBiTO A8f40iEULRwgjBL1QpTs7HDeoz4K3hQPvO6dSeAaemA9VxsZ9IqnNakpwLpeDiAAweqLAq1iRul 0IE0Qcf4= X-Gm-Gg: ASbGncvAuQB2g/QAHApSNguOuo0/naLLfAs0XZ3OCtwg9QcVJRG8DQOd3MJovCpDYmE HcTvn/Mqx/gwk4G9J/kDagJf3IQPamCZZtIbfXVm1O2BIW6Dl5Tqz6LtlfchKpzDxqEe+PCaAso PoQbG/ovLKOiqbkUOs5Cwns3LpvhV/kbv1kD8Rfz4TLJFjxsU9McshRhqBB9rumYF8oB09T1EGp keJYBDsCNWqbnIkv85/CZABjHKd2f08ktOyjCy/TIxAhBPhv1NX9N7h/M9RmudreSK9axRZeGcr zHpa8C9BZOErecKaZuig6DPcjXQbQzG8KI9f8VwOH6b+T/ekKHG+7G5DHepX1Q/jYhTytyL39c+ HFEjov61dU4YP4rJ250OC0Mb8dGEGHOvhzwpXDRQceeus1vVe3Q6d X-Google-Smtp-Source: AGHT+IHq+ePnkF8GgdCHBYdg9+lh7StxwqnlFTbwRY77KlN61qrZpA5j5bw84jpHw66n+WchrLfwUQ== X-Received: by 2002:a05:6808:2104:b0:433:ee48:cb9d with SMTP id 5614622812f47-433f023c4a4mr2543423b6e.15.1754175975991; Sat, 02 Aug 2025 16:06:15 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 18/95] linux-user/i386: Return const data from get_elf_platform Date: Sun, 3 Aug 2025 09:03:42 +1000 Message-ID: <20250802230459.412251-19-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::22e; envelope-from=richard.henderson@linaro.org; helo=mail-oi1-x22e.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: 1754176023308124100 Content-Type: text/plain; charset="utf-8" Rather than modify a static buffer, index into an array of const data. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- 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 1b759098ca..ef3a6c35d2 100644 --- a/linux-user/i386/elfload.c +++ b/linux-user/i386/elfload.c @@ -17,13 +17,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 07:41:35 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=1754176053; cv=none; d=zohomail.com; s=zohoarc; b=OdSVBJfYVXQ+xiGEyj6ZSuy6bAuEo63zD6UCYT/CGNPjCOa93u32syqoDnmB1hF7Ec1LFzPkyxR1WAzqhWsuB2JHnG+2TPzf8B9YoZ+fUk4KYsoIRC3zh5e98U+Jutg2HazsmRFN7RgsfKlhnEkIS0QlGEXeYkFadXxJ9blP4T0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176053; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=xfuwnnEEyqUMF25GcyoStR/Yo1BlGQIDbA+75LEtDk0=; b=c4KRB90pHQx8fYKAn4g8us5ln7/EJ3RIU71ftXDqVAh3EQY74+85NoqAgliCMjUMuRj4/LjL8VJkpZeBAIL05QNN9qrXoMHtoz276Ai9xHLQwA6CB9lhs9aLJFUbY/A+6IKfl7VvX0mQDIpX7KONSzN14x31oAFl3RV8NKkYdVU= 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 1754176053301952.1396656693069; Sat, 2 Aug 2025 16:07:33 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLJB-0001vd-1q; Sat, 02 Aug 2025 19:06: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 1uiLJ0-0001L4-Ay for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:23 -0400 Received: from mail-oo1-xc2b.google.com ([2607:f8b0:4864:20::c2b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLIy-000194-FK for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:22 -0400 Received: by mail-oo1-xc2b.google.com with SMTP id 006d021491bc7-61585dfc8f8so1027620eaf.0 for ; Sat, 02 Aug 2025 16:06:20 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.06.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:06:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754175979; x=1754780779; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=xfuwnnEEyqUMF25GcyoStR/Yo1BlGQIDbA+75LEtDk0=; b=O+J4heJ8wOCI3ZGa95WMOanb6uZGKK38rdQXpOmErcp2K8sLdyoX/RHLOZ8N3CHZwe 1u1HZsCx/worgLCe6wzKTO6j+jS2VwKBhbMLEPKCewr+AEt6l9T5SAh0z+MI7WzR47Gt ndtf/mK/jIozYZxB1neqCUc2KDBaDVEEaueKpm4sj0MV864W5uVyVFFWzARjR8pgHxpM c+yVtq1JAnJKO2d7Qo4mnDArTWCwz3h+p2Qa8+iSIOBFOai7bdzqTBme4PbqIYFOJv/L 6olMmMkbq3kDlgTrIZmBen/9CgZfLMhJC1uD0T6iGk8Txp4WCXZ8s8EvJ2dsZZh0K0Dx qkjA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754175979; x=1754780779; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=xfuwnnEEyqUMF25GcyoStR/Yo1BlGQIDbA+75LEtDk0=; b=GaU796Jr9v/0SHBZYVIFOR7QzgiFKgnJejXVYp8wRWxoMwMJGIX+5+eARpxpA8fb2d stnrMsW6N1xe+iVpkItJAmskKs+qvikUWLTR/gmO587osNGduBMB/oZr8TKzDo7prLaL 6fGaZXB5qYLpVa/gbZ1Mj92AdE9dQ0Z8sJjkG4SKu+jpCXeUtd+LBF+ZN1PS61AEWvnS 20jdXsslYiS53HpT4jh/SiHtyJi+F0UaxtpUNb0Q2Yoq5niAw2c+ZSGurPA8UcJs/kya wFhGYRPlLBFGBXL++5ynZQnCsoqyWssQ6x5hZrzat5ULpW1nfH4rrjBXPvZiUjugafOv ynjg== X-Gm-Message-State: AOJu0YwIQracUJD9rWf1SDG9xigPdKa1S0AZ0EkPpROh8Fz4812ajUw4 ui+LQ0aXOiQt90hflBmjEs8RymshCkpeH0S90YkDebejXT0L25VmyhShqZSksEdRo0MlKwqvlLk 3CSfyvu0= X-Gm-Gg: ASbGncs6rKnytaR9SuTjH/BHU8DyDDH2ZWfYe7LJF1PjORqHEELue8IemH4+CIa5bez 3OtBASzE2vZCbjPr+XPD/ThP6YLjw/SKX/ERWwSoJpeHoKHSbtiRAEmixBm/FW95cAFVZ0JN2Hd ccDkU0A5oTlkpsG0eYK2VRQDpzdO/W5sCrEa+sE+ARplfqAcQMMjl/KvEvHyTbXssFOeUJnylaX TIhxhQlWP6gUkvFy120NWGzQ9WNHspl5iinlhebGu8HEXwJrfBQ2dWqzP7F/dExR9F2HN8E3Trt O3FyDh7FgZZ4LgN28PMwwyrahDfW1g2nMuK4cw3tQoVsrD8v0fGz+tlrhRTJcqNFqWRPkiU8wBK OUG9yU7D8L2mlaAV+2Z9hDOeVe0HPEXtEFCEHrUOXUG7vADDbkNhM X-Google-Smtp-Source: AGHT+IEWjbrYIKqJG2dvSTFTk4t3zDpYsUAoo22C4w6uoJ/Lpa31ItjmOzVT4rpESwCoR1ObzDEmiw== X-Received: by 2002:a05:6820:1a0d:b0:619:a34b:3e3c with SMTP id 006d021491bc7-619a34b42f1mr857410eaf.6.1754175979327; Sat, 02 Aug 2025 16:06:19 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 19/95] linux-user: Move get_elf_platform to arm/elfload.c Date: Sun, 3 Aug 2025 09:03:43 +1000 Message-ID: <20250802230459.412251-20-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c2b; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc2b.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: 1754176055616124100 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. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/aarch64/target_elf.h | 1 + linux-user/arm/target_elf.h | 1 + linux-user/loader.h | 2 -- linux-user/aarch64/elfload.c | 5 +++++ linux-user/arm/elfload.c | 29 +++++++++++++++++++++++++ linux-user/elfload.c | 38 ++------------------------------- 6 files changed, 38 insertions(+), 38 deletions(-) diff --git a/linux-user/aarch64/target_elf.h b/linux-user/aarch64/target_el= f.h index 77108f3cb0..dee79ce0c6 100644 --- a/linux-user/aarch64/target_elf.h +++ b/linux-user/aarch64/target_elf.h @@ -10,5 +10,6 @@ =20 #define HAVE_ELF_HWCAP 1 #define HAVE_ELF_HWCAP2 1 +#define HAVE_ELF_PLATFORM 1 =20 #endif diff --git a/linux-user/arm/target_elf.h b/linux-user/arm/target_elf.h index 90470bd87b..856ca41b16 100644 --- a/linux-user/arm/target_elf.h +++ b/linux-user/arm/target_elf.h @@ -10,5 +10,6 @@ =20 #define HAVE_ELF_HWCAP 1 #define HAVE_ELF_HWCAP2 1 +#define HAVE_ELF_PLATFORM 1 =20 #endif diff --git a/linux-user/loader.h b/linux-user/loader.h index 44bb4cbfd3..440871466c 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -105,8 +105,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 92c8ea62c6..1030cb8094 100644 --- a/linux-user/aarch64/elfload.c +++ b/linux-user/aarch64/elfload.c @@ -342,3 +342,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 c7561b005b..7de1f13f4b 100644 --- a/linux-user/arm/elfload.c +++ b/linux-user/arm/elfload.c @@ -170,3 +170,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 e6e509c0a6..0e41737cf1 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -309,6 +309,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 @@ -434,37 +436,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" @@ -487,11 +458,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 07:41:35 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=1754176444; cv=none; d=zohomail.com; s=zohoarc; b=Sj0g6e7ZBfw2CWAh2biFD8TvGnsbJuLOwBftGQGlg9ovcNAYgF6OirD4NKJV0Gi9mR40YifYVdO9P6bttweTjTv/168D4xoL0MXF/Dpt6DyHa4FEOCWOeqjYeXKwgGrSAmK+JNCg4Ul/sRG2dg0aYcXJuUoWZxDru2GwBJxEMCE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176444; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=B+wQD8KFSriNM7oAz01Pl3bRnoCQlDdja1PgR8xrKH4=; b=mSLgRY6VPKXSJDUuxyu6C70tdZUaHnxTxPlZq68uJ32HKDbQMW6Eg51tCIMo4MuvFxENCF+OcmmOHJm4mC/PCygXzNmJhq1kMKSMY7U0L9hyxF5U/5T/00gfcWz1EGa34uaqBNfbOo7SYHtOd9X7BwMv0rHf8SC5Pu6NARpQI30= 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 1754176444604132.30334712361594; Sat, 2 Aug 2025 16:14:04 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLJC-00022O-Fn; Sat, 02 Aug 2025 19:06: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 1uiLJ4-0001Ux-2c for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:26 -0400 Received: from mail-oo1-xc32.google.com ([2607:f8b0:4864:20::c32]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLJ2-00019T-Cc for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:25 -0400 Received: by mail-oo1-xc32.google.com with SMTP id 006d021491bc7-617744621acso485571eaf.2 for ; Sat, 02 Aug 2025 16:06:23 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.06.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:06:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754175983; x=1754780783; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=B+wQD8KFSriNM7oAz01Pl3bRnoCQlDdja1PgR8xrKH4=; b=UPlzVgL27vHQqgJr1eBz+eU2WKaPJzAkAqLD1i5KrA0kuHBHn1Vdx+KAD0CHrXpgwD pGPl/8MxROYpWDeBjRB1CxSFXcJvou04ZxXLqrKdJ9tczUA/eGJC93y6kLC2nsZAG6Z8 wJAmqVWxiffDrHYweGf2ha7/0dbeUn7WLIsGiy8GGgvWFwi5cwvi4jyedC8uuoS+WWSg MP2GlQd7SRs505adFvqVjge1rXCEOk6l8zJAwGCjy1VfBJl2eb1lyNZgwbnYuOJSoFfG lU2ra/JCT2Hz6jvyGRY4djdGy/o6ohHjCh/3pJB85ZzCGFcINqsYhYozyOqER+pAUVJd O6Tw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754175983; x=1754780783; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=B+wQD8KFSriNM7oAz01Pl3bRnoCQlDdja1PgR8xrKH4=; b=H5sxHdnRLLRRo+xFeru3Ant49dtbvoybzy6vD3/4bXxdGc4ymkCqgpc1jWjiAeZlEU wL2T0GAJ/Y5+3J61BJcCI18dnwnfbHsPA0CmEO7TRRGJ70gUgetRM5xtCyHIp6O2/TXF XOWSldbFrExOvfybNUk7jlvC9K2PEmHVT82lHJOpFMUKD76jJXvK9hUGtxmqwQESiTFk oW3dyGY/jOX/HLOSI48c0OSOHVKuD9LrOz1q6ra6bl5hIULmcO9EVPogbjA1WyOsv1ND pt/LTE9SLuNuFga/EOJaTC1vFR93NxZ1dMkrd903wn+zXpByPLOiy1UfNX8AVUX18b8A pYQw== X-Gm-Message-State: AOJu0YzI9w+2S7uoef4KBDYI6vHh245dukqChDzY37nAfKAi6V7t16QM Wei2LbUl+ICb8AdnxxksH2hB3It/y1Y2+DdoFYaLSh/TmFE1gku+DvDMBLtxubPEdudnjawTGHH xDCtxlfs= X-Gm-Gg: ASbGncuyO8MupLuezSaYznXqSSsOASO8xhZQS26GQF51soIxSiOhlNcluYPVzVnhhb1 LZ0N3Fzemk9HdpXk+qc3RBRcuDW+mPO3ZUDVRMLohHcwNBesnz9zMPDv5NPWAU9wUh8O+r7zPRF mfX9bUoet+qCIMNbYAq9IGC9NGnK/Pwe9/8Zvngv6i2iqnrRVK3XGl990K03QqmICLmcOZw4lwz FZ/oOXi056iYjYWjGWxxk1Mhacx6eBRMR/nWSR7Ik5CJDUgo7CVE9fK8DT9XEsyzPpk/rOM/Sdt Yi00gP3kxGaCCW0+fS/mYD4/T4DzfqF+FQc9kHJ0hjY2xEL90hGXltoAjAi3w8PFiuMtkZ4fr35 GGAfrg85lYuBWUiYIm6OmJ+PvYYXtBa9mReK0SLA1zeS0Dq2hpocv2TnFkG1remk= X-Google-Smtp-Source: AGHT+IEoF+LrWruyH055CS64KU4oVYiHqwPqZEuSWwLg2wkb3Z0eO5RKkhi7D5mVukrfLIciVoEe0A== X-Received: by 2002:a05:6820:2187:b0:619:9530:87e3 with SMTP id 006d021491bc7-619953089e1mr2290180eaf.1.1754175983155; Sat, 02 Aug 2025 16:06:23 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 20/95] linux-user/loongarch64: Create get_elf_platform Date: Sun, 3 Aug 2025 09:03:44 +1000 Message-ID: <20250802230459.412251-21-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c32; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc32.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: 1754176446153124100 Content-Type: text/plain; charset="utf-8" Move the string literal to a new function. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/loongarch64/target_elf.h | 1 + linux-user/elfload.c | 2 +- linux-user/loongarch64/elfload.c | 5 +++++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/linux-user/loongarch64/target_elf.h b/linux-user/loongarch64/t= arget_elf.h index 037740d36f..eb17927325 100644 --- a/linux-user/loongarch64/target_elf.h +++ b/linux-user/loongarch64/target_elf.h @@ -7,5 +7,6 @@ #define LOONGARCH_TARGET_ELF_H =20 #define HAVE_ELF_HWCAP 1 +#define HAVE_ELF_PLATFORM 1 =20 #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 0e41737cf1..9d61feae30 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -665,7 +665,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 ee4a85b8d6..911352840f 100644 --- a/linux-user/loongarch64/elfload.c +++ b/linux-user/loongarch64/elfload.c @@ -56,3 +56,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 07:41:35 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=1754176273; cv=none; d=zohomail.com; s=zohoarc; b=V4rdGnIWOHym80iwnp1ASXbt884e81ZuRPpe1lK3vpsfVkOr1SgTNzxUXHViFX0d+JVZbFxCw2dvVrLqh6hxdKtdIbrzb+V46nkVopWaOQ/Gtl6DMcTL1ZtTP2NMZyCwlKukyL2oKtTx1incZ/X1RDDVIdebpko3ImCgM3rejb0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176273; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=DYICAl1SaNHyJ2ii9x5dLF1fa3KYu1mSCnjRob2c0pw=; b=QNJyTDUFUKNePKE6LAI7BwcgTaj7xAXBBO3CqlZzRcYMYnlMAGObWshY3+Ypu2aW/J/HtxdCY9UTlWasCTUpOFqJGnzXFZ7Z29VCNRPv/2DHxqYnyZLcgKomO3JnzdQtlaROB8D0JE7muaU8Zuvrt9lQjZAYjf6P7PIqUuj/GPw= 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 1754176273836524.7359317136027; Sat, 2 Aug 2025 16:11:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLJG-0002EL-5j; Sat, 02 Aug 2025 19:06: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 1uiLJ7-0001o0-Oq for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:30 -0400 Received: from mail-oa1-x31.google.com ([2001:4860:4864:20::31]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLJ6-00019n-9f for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:29 -0400 Received: by mail-oa1-x31.google.com with SMTP id 586e51a60fabf-2ebb468cbb4so1371528fac.2 for ; Sat, 02 Aug 2025 16:06:27 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.06.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:06:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754175987; x=1754780787; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=DYICAl1SaNHyJ2ii9x5dLF1fa3KYu1mSCnjRob2c0pw=; b=LFnItXWL1kINX9rLnDkuTGkUJaYd8oxFJL3jnP5LDw/7KRpi0vBX1HD/lnDTaEY7yX sTvQOrlN6H/eZ+u+z4D6mg96HDg8b6xZkCJhlihzGL2pH/AtyL5Otpa6Cn2VI3A9xp6w 0JejwaI8Hlu4AIs7OvjixpOsy/v/Q9ZiPfLNL8R55hWjREqzE2rK5QgU0YYrxMCBCMpq xQJmpRx8FkDbxmZat8sX3xgbPM9eBFf8O57D5DJ5V2+ETGgIsAAbMUfNyqLxFf4pfhVw M8n4giaCRdHrBKuUkbIwcMkGQEn9NdGABdotmiiyS7cJGfwhxSeo1+dtvMbF6Ja0G+SG xPGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754175987; x=1754780787; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DYICAl1SaNHyJ2ii9x5dLF1fa3KYu1mSCnjRob2c0pw=; b=MfPMZJOgGaEvGe/9WKsio70oD/3T+UN8G4YCNtIWxHHXyK83ppIBy73uqLrh4sY4xD g+H86AUCO5xEmgqYItKb2if0g1rrBLWRoCGdMF5UkHlfTfHoCIM3Uy49zvThUiQQc1de Umi6CmcCzA91UYo9KrFRlRph02PhsRHE396R7mSGNA1XK8h6SdJt5ZN4DPYQtRu5L36p UJMeLkx0TurTIyEFZl3YQ0ue/XkXvcU38fikU+WFB0QfrlvCuFIse1E4AVW9EcCIG2js /uw8YjEAEEETpnVl3qSTQ4hNBoM2Sp3er/UKwFkwGwoBGJ4XNfH1EPMi7RyTho8gGXpu 39zg== X-Gm-Message-State: AOJu0Yx+QYIXmh7FCqVTL6AJv059Ji+z0nvFbU4aHhO2MDbaOfVEoufc LmQGZDKvR2UHhEaRWAh2yD9vYYmevYgvJHCSnbElf7UyGW6EIUyFc+oEi+N7+Mz2/0YTmIsfhvO bR82lUv8= X-Gm-Gg: ASbGncuAsnSnPnClqkmic0mR9Zxg9phOHhyuSVfdfZZZxcPBBCz/cY7AG3GW8ytiwgw E9RN6i6H/Olukd9alw8In8F5KlOqbD5r0U3MIrpUHk3GUAJHs9FyLl9bEGp7MDr6jGtOi8u5suz 0hZxp73UkpqSg9TXaWyLj4es2C/ynOB5kXlBMmN5e5EAR8f9JPkfVp5xpxbAL1TO/FdUTkfQhQm /YCh+Cd+pYg/OEpz2f657nmGFaki0lGcZ7pQgTBTROO7YYBLaH5dgYWgXHIoCLcKiJtsAw12eCY IjOz/s0jhZ+euZW8so6KjQQQpk9W8Dj83J5oq9VE7Zs616yDI1qS9lquqyXVAkXY+wfdPZBJiyL v+TlL/auCRKbptpCOg/XsMGm1pHJbf8B3nNeylCWZfYzXxo06ax4SXyhsSxF6sW4= X-Google-Smtp-Source: AGHT+IEGrkroPrr4LgMo+olFlqnCoU4NWvtUAsjtWUfe0cF9S5LEYlcOLAx3sr0WSf7pzV65JCAA9Q== X-Received: by 2002:a05:6820:2188:b0:619:85f7:692c with SMTP id 006d021491bc7-6198f0c0064mr2640558eaf.2.1754175987017; Sat, 02 Aug 2025 16:06:27 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 21/95] linux-user/hppa: Create get_elf_platform Date: Sun, 3 Aug 2025 09:03:45 +1000 Message-ID: <20250802230459.412251-22-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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=2001:4860:4864:20::31; envelope-from=richard.henderson@linaro.org; helo=mail-oa1-x31.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: 1754176278099124100 Content-Type: text/plain; charset="utf-8" Move the string literal to a new function. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/hppa/target_elf.h | 2 ++ linux-user/elfload.c | 2 +- linux-user/hppa/elfload.c | 5 +++++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/linux-user/hppa/target_elf.h b/linux-user/hppa/target_elf.h index 5826ca2cd2..85be00584d 100644 --- a/linux-user/hppa/target_elf.h +++ b/linux-user/hppa/target_elf.h @@ -8,4 +8,6 @@ #ifndef HPPA_TARGET_ELF_H #define HPPA_TARGET_ELF_H =20 +#define HAVE_ELF_PLATFORM 1 + #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 9d61feae30..83cb6731ec 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -1046,7 +1046,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 2274fcbde4..9dd3fe092a 100644 --- a/linux-user/hppa/elfload.c +++ b/linux-user/hppa/elfload.c @@ -9,3 +9,8 @@ const char *get_elf_cpu_model(uint32_t eflags) { return "hppa"; } + +const char *get_elf_platform(CPUState *cs) +{ + return "PARISC"; +} --=20 2.43.0 From nobody Sat Nov 15 07:41:35 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=1754176153; cv=none; d=zohomail.com; s=zohoarc; b=O1o0IAz44yucHZQr5qTVXkmjrUpdHHsuRD/rbNYZgpZ5M0qbynVzx6G9Qg9H0mjYQV69TvFLP2kud9VZ86tF/U4figpKGmASzXBPqSbxicqoooOIcZT3NeWfG9bUq53QuLYDJS0J04tDCt3c5bPAS/KSzRJmGPu0ygvB/4WpU9o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176153; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=4cj6OR7jxnjd+ksnwoLgD5O63MHYjLxFz3WB/EhhsQU=; b=ib+CrPwLUXvxlH0K3PUOILOzm98Q1hkUXVvL2PS4gZNxR8IWatyU4rpjWR67Tm4t/eOefiTYCx6szERFm00r6BjNJvMzm+svhE81cpkamf7qnUfzyphDx6E+MYqwweBomodTWS5XAb67SnnklEU7Dm/KpAAGKDuhM6UrV2iNGvo= 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 1754176153969239.72866780561992; Sat, 2 Aug 2025 16:09:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLJE-0002BF-Pi; Sat, 02 Aug 2025 19:06: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 1uiLJB-00020l-LV for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:34 -0400 Received: from mail-oi1-x236.google.com ([2607:f8b0:4864:20::236]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLJ9-0001A7-Rm for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:33 -0400 Received: by mail-oi1-x236.google.com with SMTP id 5614622812f47-433fa926cb9so459933b6e.2 for ; Sat, 02 Aug 2025 16:06:31 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.06.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:06:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754175990; x=1754780790; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=4cj6OR7jxnjd+ksnwoLgD5O63MHYjLxFz3WB/EhhsQU=; b=PutmeoIbT76ffclzFlo2QoSnFuIgOpU1HJStmJuWQdjNHFc28apyiTM445Sqzuq0jJ 2pLnyCQalF1XHfu1QSXqRiF5TiPYWA2sBnr7J4GG57sa/qjqyoid7ywetyqVzutP/utu D9hgpqC+BuP5uxjsTH7aQeZYb5y9D1t751jcUuoBD57WJHTNepX2RXKEc1EnzeGmMSo+ Ye3Y0+fyVN5xvqetZJ9plQQWgGC3ns3su+8oKR1Ag9lxk189L9Hp7IrPov06g/ecQga/ HpVA0IfJ9h/fUF7QYgRSXmnn22Z+jhVp/xCsRrWHDD9iwCPu7DOKKPh4i/MbJcC/uv9J OfRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754175990; x=1754780790; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4cj6OR7jxnjd+ksnwoLgD5O63MHYjLxFz3WB/EhhsQU=; b=UCVRzaNZdWUrDf3I8/mmhm+SP2DmdK47zPgWaB+QEa3nH3R8Bx2x8q4vm9EUuDnBP0 oVb28lJZ7uFN/mmBkKDhuIgS0v5/i2pkRon0wLgONJU1jWAe14s7njDNIbtFkg+Fu1RS 21sZvtNUwNCCUSLyHJOCBTXcN5V4T77Fzv3v0olKCEZObue0ckruhmBiuPCGYlct+iWj FINRqQ3+Ya362V0QnUHzqcTYEP1YirJHQXFBYZhA0Rr+tRu1zsD7clxdkNMQINFGENpB K/ANFTGDcieRc9MtwRcrWcFrHxKTeAQhdAgMkElbqackVBDrEkj4FNeBwsR2gHlrpnBT MSdg== X-Gm-Message-State: AOJu0Yx+IBiouvpxKhYVCIKsTovWStmtsKIFmZx7ifdMKqchJoG+FiAu Q1VW66uB4Yb/DXMnqUwKC6FbsVS4EVnV6X/oL797GKfTbSWyLzgiHdseUFGYVlBjI/K7oAYzmPc 3/nxxzxI= X-Gm-Gg: ASbGncu30O4X/S/7zFjTmgfXCWcKQZ7KSNdrsGKBwQHDNYXrDb9juYIUNu0MFABLLUR uFCnRaqV2Pwa6GRL+Cmr9qlbMBo1VJ7RM5ntWbKixiB0anKfpddTRpR6az3dpMSYBosAWP777aY Ngf0y8deMX/F1mf+N098AAWcvU1V253subL0CPqLpD2ZdM/1Wkm2FJCiX48rRWZFJszNWZQoXbw NGAgCSScINeL+IOkGlZ9VrYP7+b/+5/8Q8MdPqevcRp3p/gXXAx+pczRu5L05IwWeCxAvxd0n9y iPQ1O+ce1xU5thIxBSyqeXkVYzjOKAw+DLIsIB3DZ5xgnKKUI/1XCfxgr3lR/KnmPfwz2LYU3Do jw9oeqIbNAShD/72myLx6KKlGF6sGsYry+7FQJMDA74KulBbNNl0MyELHod1ScBU= X-Google-Smtp-Source: AGHT+IEBiAe1HaqFUuWBjoUI7kWFK33FPyJvCl4v1q1uuXnqrwGUUVvg6qXZrsfqaRgVeLNQP1CM3g== X-Received: by 2002:a05:6808:3509:b0:406:7af5:30f2 with SMTP id 5614622812f47-433f0363587mr3550042b6e.34.1754175990613; Sat, 02 Aug 2025 16:06:30 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 22/95] linux-user: Remove ELF_PLATFORM Date: Sun, 3 Aug 2025 09:03:46 +1000 Message-ID: <20250802230459.412251-23-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::236; envelope-from=richard.henderson@linaro.org; helo=mail-oi1-x236.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: 1754176154807124100 Content-Type: text/plain; charset="utf-8" All real definitions of ELF_PLATFORM are now identical, and the stub definitions are NULL. Use HAVE_ELF_PLATFORM and provide a stub as a fallback definition of get_elf_platform. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/elfload.c | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 83cb6731ec..d2d73b06fc 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -149,8 +149,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 @@ -309,8 +307,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 @@ -665,8 +661,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 @@ -846,8 +840,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 @@ -1046,7 +1038,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 @@ -1182,10 +1173,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 @@ -1229,6 +1216,9 @@ abi_ulong get_elf_hwcap(CPUState *cs) { return 0; } abi_ulong get_elf_hwcap2(CPUState *cs) { g_assert_not_reached(); } #define HAVE_ELF_HWCAP2 0 #endif +#ifndef HAVE_ELF_PLATFORM +const char *get_elf_platform(CPUState *cs) { return NULL; } +#endif =20 #include "elf.h" =20 @@ -1699,7 +1689,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 07:41:35 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=1754176059; cv=none; d=zohomail.com; s=zohoarc; b=BdcgStLDmKP5UlGiFeK1WTr/eiOVcWxE7V2s0kX3LFKFlJAnu9wZ93rd8vT5TL4dqlyeJ+keK4OiFHFw3Z3GbPqJh47KkwGaKY+H9sXqHeVF7Yf66RdUHT/in2LhMsSQUp0AdQ8kmUT7tWiO7pOkskuoSYADOQZAKU8LaEeHFsw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176059; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=WnH7EpbfqSiddTyYEjwsuEsAObJWFo46bJT3sgyKWcQ=; b=EamSw0T2q8O7vbrLzbjybtg6Cn3NoTEiecq3OVWACu2XavqBJW/IF0IQM3ho6ul9qBqbn5J52jmOrqWev2RccjmBx2PnxvwxP9INNo6IfML6sl2PRqRu6757ZExROxIH5bi208zMBGI9aXlC+ztF8c/KERdnnoFhr/OMmJFSut4= 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 1754176059703438.4718485180664; Sat, 2 Aug 2025 16:07:39 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLJI-0002QK-HN; Sat, 02 Aug 2025 19:06: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 1uiLJF-0002DV-3W for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:37 -0400 Received: from mail-oi1-x22c.google.com ([2607:f8b0:4864:20::22c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLJD-0001AN-9G for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:36 -0400 Received: by mail-oi1-x22c.google.com with SMTP id 5614622812f47-40a4de175a3so1989550b6e.0 for ; Sat, 02 Aug 2025 16:06:34 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.06.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:06:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754175994; x=1754780794; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=WnH7EpbfqSiddTyYEjwsuEsAObJWFo46bJT3sgyKWcQ=; b=opSDz+bYFJAI+/3Lm82p2iZ7OfSXSKNzb46bQO+ul9krisO5kmaVR5N6mllN23Aqn4 LPzB1XCk7ClPvEXwgaCkxJ8BecVJxNhnpZQWiWmmjS3mPkYVc5mJl6MR0tpWfZz9Atxt oV5TW7LetSxvA5F9NY7sBxHGOXMl8X+8lEhT5bV6tQJM0z3rTOQ0KDkJuRoal7sL5coW +RlT2lN/oTAjTZmQhaxnz+aTjbkwuB/V6qTmBBNDS1GshW7OeSiPRWNbs92fLoN5kqkC fVG4UkCvdfPx7/0jZ+vdUWY48g6EGgl1/JbdJMRlaooYbwIEzwvC54IsWJsaa1s7qv4a lAOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754175994; x=1754780794; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=WnH7EpbfqSiddTyYEjwsuEsAObJWFo46bJT3sgyKWcQ=; b=QZbdRgxhD0Qn3XHO66VFM7CdEgfQEHYGOszbHxDDUwkR8X9/IVZnE24BEiuz5Cr4LE 8VmqEDFixiB0hscNABbrRA4dMOp3gCe8KWF5+L3cqIa9IFqdell3pOwRgEwihKa+4m0x niq6j/5GthUYj/ugupKWMm/KUZJ6+ZyIAAEE/hzZOaSDYVypqsZpBTyvIaPspWElngkY aunij+d+XDxWHchNNueYfmp6ecPfShUyzw4Xkk6PyAUhuzZ2vtSrK0SbLeFL84mApB2e f837rFr35DlMnhDLgbfF9IOXGNICKjTcYIHgLFdyPe5XPavX5Za+TBE3/BmaOsFNyeom 0Dmw== X-Gm-Message-State: AOJu0Yxbcl2Zt5PcamuaY4sxqZmS/fTIIxd1ve1LP0JhVwpnRpv8NCVR doioHrUlPLAfO50DWB9UvtnHDsqKFXPbDhPMkDVe42oYadZNl/eY9NWrxFfajpcyeAuBhm25THf s6mtjGWY= X-Gm-Gg: ASbGncuCqMV7c7ZGSdYA4v+Yjzi/82M8/D0z34k3nSEN1Qw/5iV/t5DJd0qZzZj5Zwa YfT6hVH1fY3Uoap7vqYcGl83aE0H8PECpNczrEr8ip6KnMTUNs1Mcm251GU+wa2b4mo8bJTMLzP 4ElXXmWEc8e5fV0oLzZCzmXrSAyNKLVT5O8giPdHIIh4aZPQzzq3TI3mf+VRBz1ka3HqmkNZ6+L RIaSs6rAmaQEevbAW6RfUYRE8AoIAZV5oDJLsn4yBI+8DE+Oe0NwOsP6a1Kpg8ywprbgM6TgY48 PCYYbL7NnRO0eOvVX/jv9J9hVC3pt5uL60LuLVQwtE7SVX6egvwQWbY6AyismvmREIbE9N7/P+/ wpsYz1awqtUwtO9nJixRJcluH3GGT750gOcn3zN+9sP96oilTs/eP X-Google-Smtp-Source: AGHT+IFQIROxNVEh2+5Os34J9FLzqiG2KZR4RedDUoApNpE+IVABsnJs+MjJ2ohnnjo9VxBr/KMmtA== X-Received: by 2002:a05:6808:21a4:b0:434:24e:c4f6 with SMTP id 5614622812f47-434024ec5demr301917b6e.18.1754175994057; Sat, 02 Aug 2025 16:06:34 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 23/95] linux-user: Move get_elf_base_platform to mips/elfload.c Date: Sun, 3 Aug 2025 09:03:47 +1000 Message-ID: <20250802230459.412251-24-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::22c; envelope-from=richard.henderson@linaro.org; helo=mail-oi1-x22c.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: 1754176061584116600 Content-Type: text/plain; charset="utf-8" Pass in CPUState; define HAVE_ELF_BASE_PLATFORM. Since this was the only instance of ELF_BASE_PLATFORM, go ahead and provide the stub definition for other platforms. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/loader.h | 1 + linux-user/mips/target_elf.h | 1 + linux-user/mips64/target_elf.h | 1 + linux-user/elfload.c | 40 ++++------------------------------ linux-user/mips/elfload.c | 30 +++++++++++++++++++++++++ 5 files changed, 37 insertions(+), 36 deletions(-) diff --git a/linux-user/loader.h b/linux-user/loader.h index 440871466c..42cba90dea 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -106,5 +106,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/mips/target_elf.h b/linux-user/mips/target_elf.h index 877f8347d7..08e699c085 100644 --- a/linux-user/mips/target_elf.h +++ b/linux-user/mips/target_elf.h @@ -9,5 +9,6 @@ #define MIPS_TARGET_ELF_H =20 #define HAVE_ELF_HWCAP 1 +#define HAVE_ELF_BASE_PLATFORM 1 =20 #endif diff --git a/linux-user/mips64/target_elf.h b/linux-user/mips64/target_elf.h index c0347e5cb6..24bb7fcd3f 100644 --- a/linux-user/mips64/target_elf.h +++ b/linux-user/mips64/target_elf.h @@ -9,5 +9,6 @@ #define MIPS64_TARGET_ELF_H =20 #define HAVE_ELF_HWCAP 1 +#define HAVE_ELF_BASE_PLATFORM 1 =20 #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index d2d73b06fc..4facaa7e27 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -679,37 +679,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) { @@ -1169,10 +1138,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 @@ -1219,6 +1184,9 @@ abi_ulong get_elf_hwcap2(CPUState *cs) { g_assert_not= _reached(); } #ifndef HAVE_ELF_PLATFORM const char *get_elf_platform(CPUState *cs) { return NULL; } #endif +#ifndef HAVE_ELF_BASE_PLATFORM +const char *get_elf_base_platform(CPUState *cs) { return NULL; } +#endif =20 #include "elf.h" =20 @@ -1673,7 +1641,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 739f71c21b..c353ccc1ad 100644 --- a/linux-user/mips/elfload.c +++ b/linux-user/mips/elfload.c @@ -92,3 +92,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 07:41:35 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=1754176363; cv=none; d=zohomail.com; s=zohoarc; b=U6JyabyGjUsrjYrl0a/saAu7cF7GvysGgzLVda+0AQx8CzqvsXVDdGl9X4VFyk9hEn9xm3Bi6LAvEFRImkS8s8VFesPHgHAFhm02wZwGKDSul0frXbr4pnRp7iEO57OcibyK0eUCeFMxYmbzxwZgUl0Y6TODO06S2d99RA6c5Is= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176363; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=HyBW6oXpw96252KnNIM84sqTDSbPQVUWR0A1KOUJqIw=; b=IXAAGq8cXwqz75oj/hElYJo/Xk/mAIU7iw6cw8CabQFsFfp8bHA0RnEzPXpVOxw15dRJtPr2eBfmWzffyJIpzVjanEuQKhwPi2GPmDSHqMEbbunK1JWGmH5UOLlogqo7yqGY1em9VHQhRLfZTPTD5SW75Xw8pjbcmE6kgsjsyIU= 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 1754176363808722.3543474049527; Sat, 2 Aug 2025 16:12:43 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLJM-0002oa-Oi; Sat, 02 Aug 2025 19:06: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 1uiLJI-0002Zs-G8 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:41 -0400 Received: from mail-oa1-x2b.google.com ([2001:4860:4864:20::2b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLJG-0001Ag-Tu for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:40 -0400 Received: by mail-oa1-x2b.google.com with SMTP id 586e51a60fabf-2ffa1b10918so1982348fac.2 for ; Sat, 02 Aug 2025 16:06:38 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.06.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:06:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754175997; x=1754780797; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=HyBW6oXpw96252KnNIM84sqTDSbPQVUWR0A1KOUJqIw=; b=MoRn1J7yPMvWcXH+y5ExO5plVBy72l0wpMwIMzKhC/WZuu8xret5tCevDPDmpVvWDD riJSqt34UY98waR6X2cf7WLgWqhCW5Cb2UTyStUWS6TH/fEmwewUjUHKGYydiUtDeh9G 2DEk6l1zfn7qc4HN3UOtles7jqZWYKQ7HjMGjGvxRkcrYp/bKmkw9NZVO7IQbSE1YpS+ hf/D3X9rwxCzL/fSo50O6Iq80leSFkk1koE779GcGkD18ZjZaNUrc6pX7FpEKxvHIE9O /YU/H7neKezOuqIHxV+CmtULqY+1kw1R0Xumyr4XJ8rGNdsKFfmwCGDiIwBlS6oL/yci G9GA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754175997; x=1754780797; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HyBW6oXpw96252KnNIM84sqTDSbPQVUWR0A1KOUJqIw=; b=VKepoGvmcNUBFwwrbmCuzPx3NuiIXfbmleHRm/7l+pPI+wHVZT6hp3NL+IU2sRRhcd GUkopS8nHtsIOJhwVBzRTDcPKTRM9fy0XbjR0UAgSMyJSiJW97iE7Q2Z7EBqd6Yk7kT/ Ctwfbs8dJK3VwGQCx7QgZBiKl1nwoTzyOKYwIz5j5oUPTDrFH82HY6jOdFSEUBXj7Ced K7WaFbHXB3I77NVNAbxsoMN0Jc2M0Kd0PeyYxXjJ/PN07Ig7OFafROao0RJ2w2vJG3u2 pRWmwEBkx5G/qUwuto1tnUwiHdjWUk+LI4cmU8KnKbymfcjx6OCFZYWU/Og5Fz38jwvL Bq2A== X-Gm-Message-State: AOJu0YwJj9K6ktn1SXWueZiMYKwdnGEVqY7saMN3HJK+zVIwr+zVBGzm 3xGuFV6zsrpSkPehnoCxnQFl8pBKYOLnrrg0UFb5ONj/r7vRx5dcMzn3to87vJt22HckA82Q/+x F5js2pHw= X-Gm-Gg: ASbGncsqEKDzvfWcRV8MOULgfGZMb6FeOkNsJZt+5Cbt3jey9yLjfuw6az20wMLCTfo 7hZOdRgYzwIYgkOzYrbV/kH9WhrA0HeAr25FeoAepgS/Vi999wnvRGeznSfnqt+yftPrQc+iwrN e7olpMn8r+PuhNKwP1ptcvVwFyyKeoqgNlkSSQNGbX2dIOoH9WdePsSFMGef1dHLks6r2cpauZ3 FH2KM0KJT+SD1xgShi9/LdKPFs/68aw8I1KE4ZP5gL7V4+jtMeQjRNrcKi1Jzf5NczUEKTm+Yiy fVIlAVgKHFMitbuuSyFFjWXoHpAKwPby4PsqSDITPCJz6MnezBsKykBzhhA81ffeFBZMR8DeNDz gnhMajI9jKaOOk8XSHLl0ytcnYABl30JyY3XGG9VMjcPIElG1q/ab X-Google-Smtp-Source: AGHT+IGljwQNlNsF3k3qkNil95OeFOTXvGRoLYtOdaEXlibDqIJaDPF5gEQiIdyWKYl38siRLExibA== X-Received: by 2002:a05:6820:1e84:b0:619:a34b:3e25 with SMTP id 006d021491bc7-619a34b4276mr756035eaf.6.1754175997605; Sat, 02 Aug 2025 16:06:37 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 24/95] linux-user: Move target_cpu_copy_regs decl to qemu.h Date: Sun, 3 Aug 2025 09:03:48 +1000 Message-ID: <20250802230459.412251-25-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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=2001:4860:4864:20::2b; envelope-from=richard.henderson@linaro.org; helo=mail-oa1-x2b.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: 1754176365271124100 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. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- 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 4d6fad28c6..0c3cfe93a1 100644 --- a/linux-user/qemu.h +++ b/linux-user/qemu.h @@ -359,4 +359,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 07:41:35 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=1754176364; cv=none; d=zohomail.com; s=zohoarc; b=URViYSnL0OCsaT5VOwYm8n4ipsBl6HK7nw5SNiibSqgeJyTSR49Ox72iWx8SM3al6uvFj2FC29DVOKdj5QaukabmloMEXOOr8s9/MlBv/6rHx1Dfigsdxkk6hrBglz1K1S30Bvt6/0uYttkXsCtJvfgkypHdxUpQ2KNZI4Blt9M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176364; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=DswSe38yYoTArY++0If/RvNUZ/t2C2uJUE3zFUBMwiU=; b=b7xqxfEd1Qy1dRkN0Po9ukaUTCFg9FKxCnd1x4VXFPIcBRyvhTTiQq5zwf1xyOui8hKqq6yEW6ry42zab6ahxRBhdjNzMP7zK42Ygb9p8HOeA9MQHYkdQAwuWj2oNf0vy6HQ/EQrDpp4xhfEC4P+h+JE8/ayiBtbXrtxCSUeNwY= 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 1754176364785820.060760957424; Sat, 2 Aug 2025 16:12:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLJO-000333-UF; Sat, 02 Aug 2025 19:06: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 1uiLJM-0002p0-B3 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:44 -0400 Received: from mail-oo1-xc2e.google.com ([2607:f8b0:4864:20::c2e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLJK-0001Aw-Fj for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:44 -0400 Received: by mail-oo1-xc2e.google.com with SMTP id 006d021491bc7-619a0f2a8c9so158229eaf.0 for ; Sat, 02 Aug 2025 16:06:42 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.06.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:06:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176001; x=1754780801; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=DswSe38yYoTArY++0If/RvNUZ/t2C2uJUE3zFUBMwiU=; b=LdLB/KbNYHHMQEkakr2HtZfusmEF7mfgT+gQGIbdH887Ns7ZgERUqKicthhABJaX84 gB0s3nE4ML+oJ4yBs/Y52jt0toaIRFcRf42J/cozLHGTW/ZHPAeej+wbuqFewKeHdoU2 6fHKrcPTyyKxiSYqzvctI5QOWF60gO8pjRlJSnFf/VLy7Lzn065rlYba4O3Awk1szThZ z7RPScl7s9D38R4CeiYvehmvfhmmFf3iFRNVwK+ghwQ5IxhAecT4DqQKQCZUHRnKoQb3 uxifjJKt9yOgKlg/Fs4ZWCEL1pf6dhBKByvLJbo5dzkdf5ZCVbsnM0lLNd25n7bkksSN ryJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176001; x=1754780801; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DswSe38yYoTArY++0If/RvNUZ/t2C2uJUE3zFUBMwiU=; b=odUtp/oKybXbvXzykhYVJrncstckPuiHOK8MtS3XL/th7nKZW1ikdPCwnBvZi4qZDh /Mb/+yRXPrYrPN7OhbIviExUpu4GQoemRyYtrMicEDfSmpFYueMiUz60OB6YFsq6XOdY sDqCykJDx3Dg3LkYGYgWjtlg/7U1xG7aK0ffRjYyX9iqApX0lM+TuNCyKpLAAJUPlQTK ea9pGbwpyBr5JLb/i34Li/Z8NOg9E3k+aL7wXMZvMgU5dCpvxGHfxd6O22Fpsh5yu7DQ JuHV06J/OdegDJNOdY7t3qObWqMOV3DXFo4wa9o2ttc61yIlqSWWmDOkDc8CVgB0ERDY k27A== X-Gm-Message-State: AOJu0YwVSrhaTqKqQ75mJd4mUjjBHTi3hMiLZZc5dItZ8MbZgTKixdw7 mm1MA5nz258k0g4o50t7kKqZwtGbYzAMMVKWqH5eeffE2sUT4z4E23T6eccZzXQjt2fGjL+0N/c TRAlIfGI= X-Gm-Gg: ASbGnct0di/C5RYrJU2BrgEdLjb3x2ZTjpVeFKHCD8oxcq5rdRtw9DU6sbVB8k3Hhir n+tvm7+bL2WuyhOENSBOWsu/SiS12iNL+hfkG840aNEs0GDpHDKRcMbNeESkqgzlez41QlQoXHx B8fvXii0U+UB1+eolR4OEZ+aV8ji3Wx3dvHX9k2p/vcXQsxh++411ntaEtMRZC7DrCEuA9bigVD A0f7VnalHBQYSoF7/uliyxRF93MVra/EFaDQyIko7WInc6/CjgtCfXfyUCGuUaZTSVtk7/Jc275 NLzAv+a2Ugt5+btmvh4JQaaOzatifWm5W5BD+hUSMk/qTZqEyyQFVZZatJ1EOwokIT2PaUTpvTv GC4TlJScoeMoxZ7gOUhKDsEnbUvy6qO5E08nca2NBouFCXkO48Zi4 X-Google-Smtp-Source: AGHT+IHyFk4hJ8YTLPT1EgFmg24j4lMU/r8x1A+VNGIzlEP0rnp0My2zA8usA++A9IzR/vWmwKIxLA== X-Received: by 2002:a05:6820:290a:b0:615:e61d:2de3 with SMTP id 006d021491bc7-6198f2358c1mr3029290eaf.3.1754176001066; Sat, 02 Aug 2025 16:06:41 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 25/95] linux-user: Create do_init_main_thread Date: Sun, 3 Aug 2025 09:03:49 +1000 Message-ID: <20250802230459.412251-26-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c2e; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc2e.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: 1754176367133124100 Content-Type: text/plain; charset="utf-8" Provide a unified function to initialize the main thread. Keep target_pt_regs isolated to this function. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- 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 42cba90dea..e0291cc3b0 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 4facaa7e27..6fce74f45a 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -3619,7 +3619,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 ad1a29d198..e21842bde9 100644 --- a/linux-user/main.c +++ b/linux-user/main.c @@ -696,7 +696,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; @@ -762,9 +761,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 @@ -988,8 +984,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); @@ -1041,7 +1037,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 07:41:35 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=1754176398; cv=none; d=zohomail.com; s=zohoarc; b=aTqbv72wGTGId2ocUBI6/+awyG7CdmIsVwSaiKTvZhEEmgLK19sWoF9ivfutVj+/QW0PsSIGD4ru89ScVjUTjk7P9VBy0wWJ/gmyp+T/CbWj0f4qsGB3VDOm7+nEZuw9+ci4GOf3r/orewWf/hkCC5zMvt9HqcZSXA8qZZJyUUw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176398; 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=wzCvIZrc8oCNQOp0LEKf8glJh+GHBNdljJm8N5U6qvw=; b=WIV5KXQ4T7qc8d/OSurFXm7Wp/Un+7Hi89pdI8KoJ7tZd5r89VMqmZ0nSaHADxBJhhhaTNRwXnhBrUbPLaMvGurTPN/i3AwVQhzkmud5NAzb0wJNTZEqzrzdS4PCiCUq235KRawNygSxcO1FZGY2u5Mam1ZKoiXDiz/3Fevxlak= 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 1754176398449495.24605807848434; Sat, 2 Aug 2025 16:13:18 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLJU-0003QP-9t; Sat, 02 Aug 2025 19:06: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 1uiLJP-00037J-BE for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:47 -0400 Received: from mail-oi1-x22d.google.com ([2607:f8b0:4864:20::22d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLJN-0001BR-9P for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:46 -0400 Received: by mail-oi1-x22d.google.com with SMTP id 5614622812f47-433f43f0012so260181b6e.2 for ; Sat, 02 Aug 2025 16:06:44 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.06.41 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:06:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176004; x=1754780804; 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=wzCvIZrc8oCNQOp0LEKf8glJh+GHBNdljJm8N5U6qvw=; b=I4PVeEHoDGySDb/093LxvnsxJLHjqYhYvihk9kko+iFfbbIa3JnRIKg3VmKOFsJr95 m7MYa0HvmrcXfPtjQplN43MQ65xUFtLDamPPrFE8fH/4pZAqKbr0envjtnCbK/Rw8FE/ 5AgG2mkSQ1r4+3/i/sOmswY6YSWgc/NDnac0MnB8rrXgoYWiT0GpthLrHWau8347RKVM sumG1p6jq8nmXIU97CELgKUh690nLvkg8zyZohyb70Cc4yCQzpP2/f6CZP6WuqPRzcWM WMNzjtVLwSptEeiHWa8o+LafzkZHgkyB2kNyZg5b7jiqfMUVHrsf+Z40gpJr+NQvts2z HR2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176004; x=1754780804; 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=wzCvIZrc8oCNQOp0LEKf8glJh+GHBNdljJm8N5U6qvw=; b=CCB2KxH5qIuxzP5il81aAP76yJ+SyVyrn3TInb8CUgfcuijXetDxvn2XnENgH3DSOU tyEgKl8WLPQzXrDzgESzC8tc48+KcpzG3TdL711lZjqVnhRo/RLefEdPTN412IJmnNUa nHPitjL/fMkrMd7o1NnjE6S/uPQT/S2Ea8dq1bsDSvOpdOAdFesnx82O870GvO6c3MtP b+q1dpHIKlpQlhZLDEE89L3KCGQtNuXMUkzcgUyWMWBwKdPHn09UoqwQUlINgcLfFQVI otIGpe27yDcvKk5c/NcaYkZ8X5wciGVfpjYBHXPDxTmTZSWrr1WonmUwz3blIgfXnoym 3Tlg== X-Gm-Message-State: AOJu0YzYD9zENhqGpuNG/htunY8ZlbHQDoLvNAmZYA4n4tjXOEft37hf UuUf1TJIuF7dISA6GwvsDVl5olqjZheBbp76OprMPnSERVUqxFhCq7dI6FfqXJbEAb0O7nVM114 wgZqkO0A= X-Gm-Gg: ASbGncsJEQcZO6c0Z8NzclRwLxlMQlRabHBdqCxnjr9tZwN1CXJchtlSAuhf69fvZrz 3Ec5OsObZGDAMUTVY7xCoT1mwQIqD93w7sSUwxyMUwn+SNvuJhplS8m9sSKPFM4gwYRuBoSvNwf pNWIMycuiDj52OxsVX9SUhuYzxEfZ1DEkYQ/LO7GCaTBYme25OiUCBcCqhQR8OYdra3eH78yDTG lTA4ZVCnGC9jb8CDJZO3g1BZYjaTYPNM+PbF5NvBcOZYQqbg9s+p7qz6paICYP99qNnC4He5oMc 1mddSPp1pj4fx7hVi6iCdcGe4LKnqvH7QdZ/S0VUL23cPkfiBFg+7aAiVHL7TlutugHxEp3r60k dBQoMZbNxkf5dLfX3Yoo6jmd7I1VWFrUjgtRaVz7V1u2fyH8lNw8xj9X0F46QDuQ= X-Google-Smtp-Source: AGHT+IE6bmudApkMwXRm9ryQIDblB1/xahcPM/XUEMeHRZMIOF5SSnXP8+KpEMM9etSB5c6OK9vH2w== X-Received: by 2002:a05:6808:1782:b0:41c:9345:3ab9 with SMTP id 5614622812f47-433f0238b05mr3180518b6e.15.1754176004086; Sat, 02 Aug 2025 16:06:44 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v2 26/95] linux-user/i386: Create init_main_thread Date: Sun, 3 Aug 2025 09:03:50 +1000 Message-ID: <20250802230459.412251-27-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::22d; envelope-from=richard.henderson@linaro.org; helo=mail-oi1-x22d.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: 1754176400428116600 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 | 48 +++++++++++++++++--------------------- 3 files changed, 29 insertions(+), 49 deletions(-) diff --git a/linux-user/qemu.h b/linux-user/qemu.h index 0c3cfe93a1..8a9500d4f4 100644 --- a/linux-user/qemu.h +++ b/linux-user/qemu.h @@ -361,5 +361,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 6fce74f45a..89f3972253 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -149,17 +149,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 @@ -237,22 +232,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 @@ -3621,8 +3600,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..7b2d8b03d8 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; @@ -361,28 +360,25 @@ void target_cpu_copy_regs(CPUArchState *env, target_p= t_regs *regs) /* flags setup : we activate the IRQs by default as in user mode */ 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 + /* + * Linux register setup. + * + * 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. + * + * This applies to x86_64 as well as i386. + * + * That said, the kernel's ELF_PLAT_INIT simply zeros all of the gener= al + * registers. Note that x86_cpu_reset_hold will set %edx to cpuid_ver= sion; + * clear all general registers defensively. + */ + 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 +390,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 07:41:35 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=1754176022; cv=none; d=zohomail.com; s=zohoarc; b=NjOb7Xp36M0nXnwbawUmsepLxsC7atV4Uxqh+H+0Xp+F1oxfc+5eVDK/RQli6ZkPlB9PQpHAWY6QwaqfelE3W0enEjzIkibpSImZ7iu1s5rzg5VfqgBIqtGL57jOdHnBG2UzLH9nAROWW6aqLaLkxaY9Pb5cDlHBf2MCtqMG4Cs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176022; 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=nDJp7tSOiwR5n19lwWeP5HE0v4ZTZzAZzXnPUcAToWY=; b=E+ms2el1V83fRx0Sp6CGgiAB0Oxd7G6mG4t40YEqRa/HI1BnF+ocbAQKlDV1/0ztGVQp9boZOKnpskZ4Grag8wBfaYRJUrA4+OTbsCIK8PlPYUUxuMd23iOMoBNJD99ycVo/PTV9na73yYIcT35dRgZnumt09j+JcgHjRf3mCBE= 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 17541760224169.715975496154783; Sat, 2 Aug 2025 16:07:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLJW-0003gM-Hb; Sat, 02 Aug 2025 19:06: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 1uiLJS-0003KT-El for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:51 -0400 Received: from mail-oo1-xc2a.google.com ([2607:f8b0:4864:20::c2a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLJQ-0001Bg-0w for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:49 -0400 Received: by mail-oo1-xc2a.google.com with SMTP id 006d021491bc7-610cbca60cdso1073571eaf.0 for ; Sat, 02 Aug 2025 16:06:47 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.06.44 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:06:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176007; x=1754780807; 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=nDJp7tSOiwR5n19lwWeP5HE0v4ZTZzAZzXnPUcAToWY=; b=eXHkLm9WYqOO3ooJ4imsaYYkrxIG4hxSJObI3gRqsHkscwHV+iUuJWx7hFlcRXJcRh AwU3T8dn5eBCLR+zAPigOEHse4pQmsijT1F/kmd1vfC/aT4531kXGByPkAZrNgbXXa6m 8xTh5fNuIIzyuNg4QsKZGc3kq8kBlcY91gOQWubj4m2EksqqUxel4/fyqWje0POuOUAx kNXwaE8lE14Rx4GihnckFyVlDBt0KSqMnix2mx6wS/o3QQfcLE4HvJJyS17Wv8M1nHtz /wAcXagzflod6cfo95gfYJ+Xl11WOKsATk/qYS2/DjH/qaE5H76XPJ2tcH6cyVQowB1q RPag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176007; x=1754780807; 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=nDJp7tSOiwR5n19lwWeP5HE0v4ZTZzAZzXnPUcAToWY=; b=GCfRKJtK6VbJTr5SlTTxPEmLzVNQcQdO76xLgQu83XO5MpFS0rK0xQZSrfrafLUryZ txUR/gn2SIkrgfGdqKNHuOcKBUDKuAxyCE/b//8ZmD8Xabk/q9wnT8niVkqHAEejEVsn KPLcUeEyTLG4fXm8Ppt8djJkiX2U5EvGrkXV8QvQz3Tffa+PJrWwjct2r8qv9UgtEtZu cEIRURxVlrTwRblehcfM0ZwdcC7A6XMniRsrBC6+q2aWlXbZj0rNECmhcV2tRdjGd5pj TUnbur8u/Exwr4FgaiM4Xfk+EXzuqDWrNi1yndEmdCE6uH0Hjj4ogSJqbTD/8BRaC0kc TmQw== X-Gm-Message-State: AOJu0YxR2dXuYmPhiUTiX6n+wCY2EGR08sc+ApjeU7TLxSGweYSUKwjB Bv7Zcrx1vu57bza8ra1jyMtGfSyBitMc1BY5HFVq74vJuLihLLE4dhPHrBuwaQuR6LZxRqp27Sx Lz/57Nok= X-Gm-Gg: ASbGncuIkp84wp1GdYjecmKHyw206yCh5mXAttPmxKf3F7MtFNMyaIGL2cG60vo00ec 7YeLqIH0Np0ubh3WAygdLfyZIPjhiAVNLEoZaF47R441KGKx6C3TLztJ10/FM0arWuasI4iw+4p 3e07G0pctWJ29U09Ffacit+mjDwA5tN+gFM9K7WgILcJyIk5BdXhMX8+emNV7j7gupx1/3ZRam5 YJgyh/I+J1quOCU+Bpb1MvoWSHvrSA7S/TpkL/lNWHoVW++fjuZ815FrBpj6cNBw040lzuWoa2E cKHBU56IGitUKgR2P1dXuIlL1JKxCgJzw2U7Emo7tx/jgacRqk72MFjjT0NHTHwZFswtJyP1N8P 6xWsgOQlWXftmhd0SdAsYP8wWvLoZUuMiCacjeVu5gp3CLIu092kq X-Google-Smtp-Source: AGHT+IE7ytutZWV9wx/shKQ2Hu9j1bSGR0SGaW5uu5Mfm+Maeyd48bEN2wdCJnL5Z6y3A4YrdkzEKA== X-Received: by 2002:a05:6820:1e10:b0:619:a6c0:b30 with SMTP id 006d021491bc7-619a6c012e1mr277704eaf.6.1754176006763; Sat, 02 Aug 2025 16:06:46 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v2 27/95] linux-user/arm: Create init_main_thread Date: Sun, 3 Aug 2025 09:03:51 +1000 Message-ID: <20250802230459.412251-28-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c2a; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc2a.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: 1754176023309116600 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 | 52 +++++++++++++++++++++++++++++++-------- linux-user/elfload.c | 41 +----------------------------- 2 files changed, 43 insertions(+), 50 deletions(-) diff --git a/linux-user/arm/cpu_loop.c b/linux-user/arm/cpu_loop.c index e2b4099aa4..739e1607e3 100644 --- a/linux-user/arm/cpu_loop.c +++ b/linux-user/arm/cpu_loop.c @@ -480,21 +480,53 @@ 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) { - int i; + CPUARMState *env =3D cpu_env(cs); + abi_ptr stack =3D info->start_stack; + abi_ptr entry =3D info->entry; =20 - cpsr_write(env, regs->uregs[16], CPSR_USER | CPSR_EXEC, - CPSRWriteByInstr); - for(i =3D 0; i < 16; i++) { - env->regs[i] =3D regs->uregs[i]; + 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()? */ + 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 89f3972253..9586873954 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -293,46 +293,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 07:41:35 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=1754176289; cv=none; d=zohomail.com; s=zohoarc; b=h30e5Ui2qhqZnZzuZBiBnjEyGsx5Te4P7K4ZWdi0bHOZ53Ham5syhVZrOAy5Ve+iItFblOcVkgR7idMbQnR7kGfvAyjndz+L2FbGYgpgYUpbzMDgrDh4JivFEewogZJdhoz0Owdf1Iu7QGdBz8l08DsyfojOFnC43wdwC/iiiLU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176289; 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=iDR5eM+6o9oQbsnZxLAitiWsZ+OoVrg+xj7VGiHqrGU=; b=N6+KXXPWYlOhmVdQzfI+dKm0qmOtzr26uOYNbHMXJ8EOnE4FiE1Guu1zSrOnatPm6+EAGaV6tVOpvLMPuOJHAY6UVWJ6AcoBw5c2uc6cT9inb28Rzz8bn8TY896ryIHcFC6xqjZusyAli1DC6YRED80EbEL2uNjPYzy5tlZ0nD8= 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 1754176289805317.43029672074465; Sat, 2 Aug 2025 16:11:29 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLJa-0003yb-7k; Sat, 02 Aug 2025 19:06: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 1uiLJU-0003WW-Eg for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:52 -0400 Received: from mail-ot1-x335.google.com ([2607:f8b0:4864:20::335]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLJS-0001C0-RH for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:52 -0400 Received: by mail-ot1-x335.google.com with SMTP id 46e09a7af769-741a8bb8aa4so157393a34.1 for ; Sat, 02 Aug 2025 16:06:50 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.06.47 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:06:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176009; x=1754780809; 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=iDR5eM+6o9oQbsnZxLAitiWsZ+OoVrg+xj7VGiHqrGU=; b=fjh8Cqw/LCrey+JYHIHhxw8Q4+eu0r2+n7Cvdcocuii6GaYzRKKMKECEIolZX8WDnL X75EauNlue7UrWpEw217aakMxrw8E+9ExC3MRHLZMxjQTmNk1YiCh7wAaMtc+X6iiPZ1 fgFhfKs1XaDEk3Lh7XPmKxh+nSHUN/Iw/yKHaAmleXVd459tLOrFtCntM1XQAeJLg3fL cDuGlqO+07CNB97yKVeyPOJ7gS19IC6N2wxHcVsDS484mWdsoELmlsheiItyI6b/CGAM bnOGUGpOOVGtY3tIqtVEhbRnEjuCE3CucZhKL60WdwKTxWJLThWpwCxeQX20hnufOirr jznA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176009; x=1754780809; 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=iDR5eM+6o9oQbsnZxLAitiWsZ+OoVrg+xj7VGiHqrGU=; b=gOtfDjP3YMhWNcMhbKlwia1hixKbWHy0ySsQ74aqKkjo+yy5tXeCS05/2B+mpqyb/G lcrjqTEX9eIrOlg9JR3Xd4M2BjyzF9NYUxMPSgchOvvmhdSBTAeXwXyVrwXmlkDNkXes +rLDmuz911gKSX9HEsgKFUFm3gO0CPP81EBwK5qJA4NlpBAAysyoBMhLCEoFV9WhyoCy rFSETUkzo75Mt/ezjmwjbCEJ2WGW6Wm3c/tOE18EDagt9wUB+MwvBh3QtTYyqLl7/0JI 3yUQOAExokwudWgajak/t9XNtZjj0l/1Fk+q2fQmdmffcPIkN+JXUtXL8Lf6s1PM33NH 6htQ== X-Gm-Message-State: AOJu0YyEgtRP5b06Ra9/PeCigFqGLJrI1KH/VoJ6rH0loPXe6lei1yBe jgxDdOSjBMhTUiI427rrIOhw3hSFs3tn6OFpaFp84mKMdSGe2t+yYg1+aHfGMLzY4bueP6SJMtn nCSSJLJE= X-Gm-Gg: ASbGnctu/u4CmRKhMmQONhnQWq5oMKRCHuJwrLVveADqA7ym0Mq9i8iFo0KETHcSAiG 1mw1FIMOhKWYTizzMSwaVGp6MtXun9EikN2lPa4wid9WMylGpNQgzH/1uIfbzJ9wbs1Q2lrpFlR X+iAlKGTHQP9/hLlKM8sjON7/E1tzlSeQXS/TtUzNvuNVThhYnz+jFMcMpw3rkg4s5B854McSvV fcbsONfsYJKS80VEbkXqONRS6qbDKt0bJnr3e066wRjWFCboTfGc1MUVLb1ldvJa9oRBe1jyrL2 lgegiTGQEQlFbGHHNdjWcxslhMecOLg8Nn+eeb/KXPNhVdOtSQp72NDsMl8Y016VMBkqEGgebIL /ua+sWt0EcyATmq4orBU32Kc6ww2P1Q3Ok+rRVBd9BeBsjXsu23+D X-Google-Smtp-Source: AGHT+IGEld1750QAlSw/Zl1UUJ/vqA/ySk1D+wR5FB0NoV7POqlXUV/r9SrhT/MIDI3BxuN3v5Oc5w== X-Received: by 2002:a05:6808:3c46:b0:432:79c0:7609 with SMTP id 5614622812f47-433f021034cmr3220950b6e.4.1754176009506; Sat, 02 Aug 2025 16:06:49 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v2 28/95] linux-user/arm: Remove a.out startup remenents Date: Sun, 3 Aug 2025 09:03:52 +1000 Message-ID: <20250802230459.412251-29-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::335; envelope-from=richard.henderson@linaro.org; helo=mail-ot1-x335.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: 1754176290367124100 Content-Type: text/plain; charset="utf-8" The setting of r1/r2 was removed in kernel commit acfdd4b1f7590d0 ("ARM: 7791/1: a.out: remove partial a.out support"), and the kernel commit message explains the history. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell --- linux-user/arm/cpu_loop.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/linux-user/arm/cpu_loop.c b/linux-user/arm/cpu_loop.c index 739e1607e3..9aeb9b0087 100644 --- a/linux-user/arm/cpu_loop.c +++ b/linux-user/arm/cpu_loop.c @@ -492,10 +492,6 @@ void init_main_thread(CPUState *cs, struct image_info = *info) env->regs[15] =3D entry & 0xfffffffe; env->regs[13] =3D stack; =20 - /* FIXME - what to for failure of get_user()? */ - 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. --=20 2.43.0 From nobody Sat Nov 15 07:41:35 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=1754176236; cv=none; d=zohomail.com; s=zohoarc; b=Agsv0uMXTH9bXqrGNbf2h5ANEZuLgOM/4aV34kHCP7EOQffOqgspUHE+EfYNxRj5BXjm+BW1IDU0Bf2f9I5AevzCcDKYO5DpaqB1wtSQAQdukJdurqZpKVkBP2PUvgBVjEsiLHcKIq/DVS2IVfLWK2RD46mOqxxxAhXcaQEQtuQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176236; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=RixljIz+HOjrys5KmnaZU9bK0ysdxVWlZPGtRGwn11E=; b=K2ORqOFGCc6liygquqgucxFUvjbfSPJSPO9Bh+ata66TwfSezCOfhl21EHPvOnSuDRt1koWLNM4c9aMf/PtGOlcOwg8k3lCk6PzKovVub4Pvl6DbfCjn6oaW0zTysTAJeaMMqR3VFtmghvc54dBqL/K6WxulkWz9c/+EDFYY9rY= 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 17541762368121.1934875203085085; Sat, 2 Aug 2025 16:10:36 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLJb-00045G-DM; Sat, 02 Aug 2025 19:06: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 1uiLJY-0003su-Ec for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:57 -0400 Received: from mail-oa1-x33.google.com ([2001:4860:4864:20::33]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLJW-0001CI-Ot for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:56 -0400 Received: by mail-oa1-x33.google.com with SMTP id 586e51a60fabf-2ffa8e58654so1963290fac.3 for ; Sat, 02 Aug 2025 16:06:54 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.06.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:06:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176013; x=1754780813; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=RixljIz+HOjrys5KmnaZU9bK0ysdxVWlZPGtRGwn11E=; b=aCePg2QdHgJB+gmHlW2MaZnyAs/4UV3IoQI7IE9C1SOD2/hVjtpZj3PVlIaablTF1e xRhk8eI2tvvc0u3xD0y6tHXb6SEgAyCiZTLAyLFZTMHH30A/DnkB8WenkrQZ0TEGeC4r i2N3ER9nUPMKbDzW7NhottLYPIbBqKBYP3KfffbewZZT/is0CTPRSDHrIqDxkyhJiaGT XymDPPg/en99mmsT0MPxlLiE0hhZz8LK/EwhkRPKeR6TRprKfydJdmdb3lkMGhiXVHEc SdUF7FiFDmBMBKhZ2tTY515qJPwI748a3oPaD53MmZbA6Ig44ZSvSZdtSmYtTwfJ7hjB yHzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176013; x=1754780813; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=RixljIz+HOjrys5KmnaZU9bK0ysdxVWlZPGtRGwn11E=; b=aw2/vlUjiqB6vQZVfZV6lMtLk4x1eA4aSHa0moBQal++NysymJioOs+2Ntr+Ga0Ism +O1AGCl/HP+S0JrMDud7W4ILFfiCHzkmpj8SilXokIHfWbmf50Alqk7TY8z7bpmJEYPn XaKJU5v04RiID6m2xCD6uj3wLiv+kMVhJtJIJN+EW/wVvX6nrikpauBaG9tLISKsXqzw je5pgPCfpFiT7I84i4A7wFqoGSKYqQhCabMzbWWfhH+I2ngYR5y84jAgjdwCjCi8vDn/ y0gQXWWNjhO1KWxyRaRwWkbJ3HKRYTpbSjWLA3xJZPXxnvAToVw3F3j90FFg1VJbiGti DKVQ== X-Gm-Message-State: AOJu0Yx1gZt9imdNUxy3HYJJeCA94lY5N/vRJI4U8NLCn0gebRgAua7/ w3BgkIUzhA8KKX2nfr25YaI5kF/08qkcQtMBLtrcYRPUbTiaLIJ64wcYtBGl89iVbSHYVy+o4PP G2qbyOJQ= X-Gm-Gg: ASbGncu9HDU44iJdjtHB0+OmWBY+XM1h+hUzIvBLJv0Ez5k4fGBVEy5S98Qi89s5ARC NlbPPSLv18JYgiY/FwRAM0JWg+QPXC+cY383QkpogCv/UkcqCBInWZuuy6vUKHXixcN3pnu9VY7 pN76mZNqBwTw8d0cMuAnqTlcerGxmVeZpJ9x7rKJ6Ulq+YinDX96qqSldG9b6AcAVtpBF9CPiKy LRjI9iRjnv3xL7Mzp0odvZzIFFQVheBSNH1mwN+FM3UdO4340trBelLKHBixtSBlhxNWsPqcWxX lndjgD7YJrJqB4qxqyJMPxljBta2Q/NzdAss0Wg1JuwNEZN8NQD2B7wgmsBlJMlgV5XUgrm213R XWt05rVVMWeeeSf0vNPZYjZMtPn/zsHHnJu3wnTfJFigsSb2BXyo9yE2n/IJ6vuQ= X-Google-Smtp-Source: AGHT+IEXEFWGlyDnJQT6JXvs/UPX8g/R9DvQVV91kvrw/pnNWvY+h02eI6y06r2IBl7rPP8gvtzIkQ== X-Received: by 2002:a05:6820:1e84:b0:619:a34b:3e25 with SMTP id 006d021491bc7-619a34b4276mr756272eaf.6.1754176013308; Sat, 02 Aug 2025 16:06:53 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 29/95] linux-user/aarch64: Create init_main_thread Date: Sun, 3 Aug 2025 09:03:53 +1000 Message-ID: <20250802230459.412251-30-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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=2001:4860:4864:20::33; envelope-from=richard.henderson@linaro.org; helo=mail-oa1-x33.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: 1754176239007116600 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. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- 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 9586873954..f93afbdcea 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -395,15 +395,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 07:41:35 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=1754176474; cv=none; d=zohomail.com; s=zohoarc; b=XrkFbiVWzvsZEFJX1hKZkFn1fGX6t5El3GHHfZxA4xzhtmMqbP98AlpAPH6M4bAY9RNsc61gzCSEXQjY9XyPw8TgHrd6sJbcaSJ+4kQ10CwMl+id7ic58U22fLsYr8lfTpNWLRcSnLCMa8EKUJDFcVN8SbKpog8/NO4rQ9GkXLw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176474; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=hyAgW55H5bM3qji66ZgE4qa6mv5NgUjvr6IxHop/cLg=; b=Ral2tk6umbSMbhKhOrj9mmbi8owa6l2CqdTj7ZcACKLQZKUgwsF/Lxg4iu14AX7f23HTEvRj1f4FREu8TXbDl0AlF2UUnSRinoVUrqtdIX4h/G5gkCCR5ivbZY00tvXWfiCwtrtdg5nv7xIr60facRBvABjY68rRiOJ9Z66UYa4= 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 1754176474547540.2156907010221; Sat, 2 Aug 2025 16:14:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLJf-0004Ui-0e; Sat, 02 Aug 2025 19:07:03 -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 1uiLJb-0004BT-49 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:59 -0400 Received: from mail-ot1-x32e.google.com ([2607:f8b0:4864:20::32e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLJZ-0001Cb-H2 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:06:58 -0400 Received: by mail-ot1-x32e.google.com with SMTP id 46e09a7af769-741b1657dd8so47745a34.2 for ; Sat, 02 Aug 2025 16:06:57 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.06.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:06:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176016; x=1754780816; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=hyAgW55H5bM3qji66ZgE4qa6mv5NgUjvr6IxHop/cLg=; b=RONogJmqcAUKpw0b+ueGlMrgybAidaZpTZj9dX4UazlxSOXeZblrGhc98nCYiD560X hAhtMD0gU41MEiYGBrchzv9Y7shRwYG1eBRof/kzMLXcAorqc4TAw7FHcvxzSL2B0jTP 8E72zecYIcMQyZ3F4ZufsC83bnyPAeFwYQg1IXEpYTMtPlhxBnrlkQ3Xu9tqQ/+9VOJc T90vXzC6l8YrHavOpj0fLC4XHjw8PNAKoP54JgVtc7hfW5aPORXHKB0TZNF9K8X/Jnx3 XPW16jpQkYfuNxaRzjVdYGIMl8e+minBZyZPG75+IwYu+VnSlWpPAsZS3fKcQg9F6LY6 LGtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176016; x=1754780816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hyAgW55H5bM3qji66ZgE4qa6mv5NgUjvr6IxHop/cLg=; b=MONRILOZw0bso+GHtAZiP2Yp9osc84cHxDHZkb5gBOQpIenu54j6s69+d+ixDkLhC7 dQ5F9D7ua2JLhYxHzCSxdj51tA+VHqMoI62XHKxwovmU/aLn2bdFsNC7QraWaNCV+BZN bRBNvQhylMwX8avYOY3JOwc1TfqygtQg/nutE7LV124EoGAdypPFUUOd0+TXM7nH5Wft 8BKmGgp1bPYznPsS5/Q2ZOI3Tp934Ghve1Td9a1UyURxOiGQ18MD5eWHMyrOUKjeUUvR ImePvcFKe2Q4filu4JYKoj5f8j+3acpSe/lLqv/NJAdjW34uVnY02qNNfqmjfgGfmyom VHfw== X-Gm-Message-State: AOJu0Yz7swBckXLuWDwYsaORHb0y87h/K+SO/lF5OhgyhJS06D3HORzD 5mCRwNsfsYNnjzcPrXFngGobK7BXqIkmh7Xw34hEovjNkqst/SACJsEjZje5S+GQ88fz84tThCX bXgFndyc= X-Gm-Gg: ASbGncsj24E+QkZo7yOYClJqj9B+RipN/C9q2HQu611/i19AR06b8Dup4zrfsFIXyKt iVfrMWQzw/K2Vumc9eejdCn+qgo7B6Eo0fnmL++YMOiDzs+fD79SHkrLt/JhOtzAAWNcBHou1FZ sT40SwDuZOQmaH/aAe/ImjiQs3lQXAQ0Hk5JmL7Hemageh3ahOOcZKLsqVv4UKiXvpOV4a+wget 4MWVvYgv3XWlzH0hPHdMtWjAdwWQ5Phv9HPhP1VPuA9a/Bi91dlGJVJU67XIpxQeS0fox+lzXpb J/E9BLJrv8eWzKPJgOp+ZPdQXpnZ7A6Vi+nN4TFpIGzqOPqxZtMeX/EpJqiol6I16O+yNQx4QIH 9Lky9lSRnwJDf6xk7EciodMA6pMho0lPVywhh8loflMGjVZmoat+u26hOStw7Z+9cUYuk8yitwg == X-Google-Smtp-Source: AGHT+IGZKLSRRnorRKOSOgKsPk4zPYH7/3/jyZDKW/kwyAMpEz3f0+M+rvDNgmkQ1GmNTuFI8tQrSA== X-Received: by 2002:a05:6820:4de5:b0:615:b1e4:62e3 with SMTP id 006d021491bc7-6198ef7b403mr2439837eaf.0.1754176016379; Sat, 02 Aug 2025 16:06:56 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 30/95] linux-user/sparc: Create init_main_thread Date: Sun, 3 Aug 2025 09:03:54 +1000 Message-ID: <20250802230459.412251-31-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::32e; envelope-from=richard.henderson@linaro.org; helo=mail-ot1-x32e.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: 1754176476603124100 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. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- 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 f93afbdcea..887a3a1cb2 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -438,16 +438,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 07:41:35 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=1754176057; cv=none; d=zohomail.com; s=zohoarc; b=oFSvr2kx/sJWHnKdJVNhSQH3kfGsP45I2Rx3fo0t42HSX2M5FGtseuAW8xWfzKW0WPtOn/UtcjXw2onbYqxGj8SQiYtWmVXToIYbMvSs2zocmEC4YFVg0H2vFlfGLvUJ7Wuzxz88t7t1NJQPxDFxGhbs4YD8XsmKyFKRayH20wc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176057; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=V7yJ2dOzXEPF3L/bLWXq6zElOhyfMDM32daynhfDIlI=; b=ORQrTQoF2mmU+HcGK94EkwF83EAFQVt7AkddoYtnFJpXda8VBkXV7AyWYt9rbttVDi2mTe+WlwewcGMZVnXWRIu2S+fWP6UBC73GbrWOtagmlGqe9R6GwI70OGq5L4guGHnTs+S8RkRbahvFnIPDZDugu4O53WT1NCUIiwM///k= 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 1754176057239124.67969541450816; Sat, 2 Aug 2025 16:07:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLJj-0004rc-BY; Sat, 02 Aug 2025 19:07:07 -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 1uiLJe-0004TN-E8 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:07:02 -0400 Received: from mail-oo1-xc33.google.com ([2607:f8b0:4864:20::c33]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLJc-0001Cs-RY for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:07:02 -0400 Received: by mail-oo1-xc33.google.com with SMTP id 006d021491bc7-619a915c65fso28906eaf.3 for ; Sat, 02 Aug 2025 16:07:00 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.06.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:06:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176019; x=1754780819; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=V7yJ2dOzXEPF3L/bLWXq6zElOhyfMDM32daynhfDIlI=; b=mNse4WA+dB9JP4SUrkmcqqMvGConahtdT606xj7yyh4lZl5deiadoHmlo9hTsqO2iE 9zO6RrWBuy6AGDJk8KTZMq7tjxXY/ni96mDWt5pq14kbIRs1GYxQSOK3aI9oRki4iZ0n 4wX/+30Ku2x4AqMZCR12zQhSEs7uGuf/BvkNfGIgCOEJtcV9ofPjO1ES54vJME2389Gn GceA0XonSFPLZn8LB5wQ7POvUI8/hkZde6Fa3M7NM+wJQQCeK5GUVg9bHLIl1Lghib72 0JfFlDnDeJ9ZESVpW6PV0NsrHzk27tQRcD5vRyUsAclOPEe1+y7hNuEUxsViwvWPd00k Tq8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176019; x=1754780819; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=V7yJ2dOzXEPF3L/bLWXq6zElOhyfMDM32daynhfDIlI=; b=L3cU0Va7frxIakLNM5KRoy30ZDCnD7l+TRBmHTF0vQ+hp0k7Dz07M7uDq4svQPeGcf SeKof4VifzhHzi4/oWuetd8M6Fj3TKIh6f1BhnmMWFrPRkbNXZRTwGmmwUlEW3YiNdxt e4tC5YyOIe/0UCQDShvwbRhxFUQrGq3EFFo/TlmHIkS48pwsbv9A87qE0XulB81dvwE5 bmBsPXPWpbuMvbOlvT6TotKm88WCr7oQIYrgULE/XHmp/nK8D5v4ZG+Wj4d/TM8Ats/f SQK+Ygf2qWKcuY03a/7qqp/RUD1wszU4HoQ1A0v2BGvchBtXBkxmY8W8U08MW9ezhyxn KfKQ== X-Gm-Message-State: AOJu0YwTnr7KZqUO0VDIyxFcGitjjjFi5KQ6tgqRhiRRdeTRUN2bKvXb +MEoM1L5UhczKyaYAvodc3u9xmuM1t+rpZdIxiM1DiA8tOXQtfo3C7DswXuYwE6WbRLiCPNIGMK M8CvGeHY= X-Gm-Gg: ASbGncucAAz5mqo/SrbAFLSX9rfRng2MpPvu5ZQ+niezg3mS+0yt/OiYnZh5Ic3Ll9Q knxz8e80izXn0Mcc55jgeYp9QoFSrJ+9xMw+yE8RoE2+U9Jr0IxcYcUPKhPSfR8IOhU668dhmMx Ii4zQD+djn+35QveoVPidBr4nU0u6Z5INE+lxtb5xyeQkEitGxlTlAA2/FhbWFV+0fayxwTPLQN sQ/NhSFPrWdugmUlVzm8P3nuMhhUYeBKPOna27LA2RRQc74il9oqYoWSaUW0y94dPfXPw63mtJh UYuNxT6OML/QfKqQ5qToUQjXmCbf6Eu2EA8aDTx2GB4VO0QORjBNybGSqD2WVZT949wlogA1iHN ug/TgNL/ewV52/awK512ahIeiA5RwLWYUfXqA/5RMGRgqxmfV2LnHmqCjBthqlE4= X-Google-Smtp-Source: AGHT+IF5FUVlDW6HcZzEXEyT6FeZTfEuKcCcFavOStpiTLdBYpNZaLJChrdmkN3DLg7sQrsoweM+CA== X-Received: by 2002:a05:6820:4de5:b0:619:8541:defa with SMTP id 006d021491bc7-6198f28d26cmr2307711eaf.6.1754176019676; Sat, 02 Aug 2025 16:06:59 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 31/95] linux-user/ppc: Create init_main_thread Date: Sun, 3 Aug 2025 09:03:55 +1000 Message-ID: <20250802230459.412251-32-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c33; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc33.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: 1754176059667124100 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. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- 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 887a3a1cb2..a30431c7a2 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -485,22 +485,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 07:41:35 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=1754176422; cv=none; d=zohomail.com; s=zohoarc; b=CRdIgG7XHKS6RsefqJIQtl2R++dpeBvF/Z7PT7G1QGfOk10e/E01M9pAAXwfFPkN4ZuZebBv2TeiOy8ZB7Mta1ntOKp0G+DgFEWCx5+krDSRuN1d6b/0hPdpivJJg5EzMlVL2HDUbtpkXimSDWsZ8VuUiI94rMK97J8odl7IUZY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176422; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=+wIvTYAiiT1df2UjL/R0r+8svJREkoZn9cbNcggG3h4=; b=idV3NEzh3rFlZ13YuS5o9GpCeJrSp+qzeNtupqCTHynRCVWsK+PvEQ9WrJN8KtDds7dhcelVmkqA3klyaMXSugnQSW1JyKpKgsLYGw7zzj4vjxPk2gyYyhfzc0DyEZ5ZHoFITkN+1SA2K1zl2ZAVcYvffwl4VcrGVCDLoGCzitk= 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 1754176422342683.0582207330223; Sat, 2 Aug 2025 16:13:42 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLJl-00052H-HD; Sat, 02 Aug 2025 19:07: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 1uiLJh-0004mp-D4 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:07:05 -0400 Received: from mail-oi1-x22a.google.com ([2607:f8b0:4864:20::22a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLJf-0001D8-QJ for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:07:05 -0400 Received: by mail-oi1-x22a.google.com with SMTP id 5614622812f47-433f43f0012so260235b6e.2 for ; Sat, 02 Aug 2025 16:07:03 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.07.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:07:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176022; x=1754780822; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=+wIvTYAiiT1df2UjL/R0r+8svJREkoZn9cbNcggG3h4=; b=jhrWcmTFYJOFhHN0pFsUZyzd7g5SvQEH9n02kRrjKWyaLF3eKJey5kVIg72vQF92+K jX6v4VqjvnmjAbpA2wjdSY1njWdQXQ5KDNj4aOecqLc9Jxo6EzMfbX58kWFgnkirrE84 oFgfL52xG1CUF3jtnWqU57Dw6Oz2Zz1+UuN8F6dBuG0tO8J+nVKTr8siMdmj4AX/LOeU 8IHwRdr2OfBfTfJXHOJJyfgfSDnxhMgkuG6Su/sxd1gz2VyFaj9L+f4iPg/b4SrjSJ7C g72WYYtkT0I2gIzMpvz45f7bH4dRJ5Nm+R5GKrHqnLVREMKrGOa8yflfET/A/bkpUPuR u0Xw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176022; x=1754780822; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+wIvTYAiiT1df2UjL/R0r+8svJREkoZn9cbNcggG3h4=; b=CBiEtPoVlVQhDz4kh1ZoRUa7j2US3jNkGFlysXfoJbH0sJloC8gyYKcGOoUiok0dsd KrHl2gKYqWc/67peiLGhdRl8YZ80XkbtFwYE0WpGwBsu9sKebfObktVn/XhQ+PSHo4aj EjD2+wGX9XVb9g7leqx1gew1x2M+q5sRUQqMkTlaxoenXN2LoOK5dJQew8hkaNbAsmCr +DjWfID1um8umfT7iN1dkZj0pnid9CmiW1gujAG/IdCPMKeVT+S5jZR76hSqZe3NmhXn qnCKTBx2nzMg3sN9lpWR/450190GuCAVnJgm/IcbJaBXjHme/24gkj0R5c50ZAIqlDai h97g== X-Gm-Message-State: AOJu0Yy71arjWyJ7Qb9WzSJPBjdpe9wu6Swi04kBIS2l4qQUu9mT3f6O QzGUWQcV825NA2U1X6viZjh7dS7oZxfmNCb77X9fqIMBjJxgdvAxnxa85tKvjb/Qe6qErwYEYhA Ij/RZ638= X-Gm-Gg: ASbGnctjnlu/C+PrHNMQFlPikhD8E5NZkyBtBppHnKqiXTOL4LNccCDVL1zN+xkK2QY xxBRqQH1+Hl1eYTBjqhwSwiY1OAfSJNh1IZTq74tEPC748hY7i3aMbo7FM5W5EJjX1FvdIwwyHD ATgAID/z0Z/gerdP634am4N4Gk8DgnqdXFiuPuqnjkqjuI9Du0s1dGcrSq04+i15b58Q9vj84Qk /OyN7jrtgQJPUTDpXa6V/TS79uulabrUwX1EUvCyY8lJXN5tpasTozdlYncIX7xRZiJHrRltpPt 5qFEQcMn8P3VrLhJDejQzHZN++BzZ+P43zirMWRr3sHrHR+yI5TEmd6Yvi0Tamt8gq/ra8Fa9tc h+NByG5iz6ddmpRY8NmTPrWyblVLEdtcNt+xhk3B8cD9XiqFFoA0f X-Google-Smtp-Source: AGHT+IFfgShuWWC4sejKo2MYszOifFgRzCCROY1K0b4uKU5JEyuXrGsN2Gi2H7xII5BgiAj5CiEHew== X-Received: by 2002:a05:6808:4f62:b0:408:e6e0:910a with SMTP id 5614622812f47-433f0343a37mr3211646b6e.22.1754176022600; Sat, 02 Aug 2025 16:07:02 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 32/95] linux-user/loongarch64: Create init_main_thread Date: Sun, 3 Aug 2025 09:03:56 +1000 Message-ID: <20250802230459.412251-33-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::22a; envelope-from=richard.henderson@linaro.org; helo=mail-oi1-x22a.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: 1754176424450116600 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. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- 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 a30431c7a2..0feccfbe91 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -533,14 +533,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 07:41:35 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=1754176337; cv=none; d=zohomail.com; s=zohoarc; b=Z0gzjJmOaUnb3+L+LyF01/TN5m53GA5u79T30uLfZj9T6YmYzD5nzKI6cmLS4U+e7/DoV+jTdbrrc7zwNqGyUU1fF8F57+g7V70DN+HxXAlDykiMrTyBCOUQpGZNygGOu4iu/Jp0upT+qUEOdNHb8GmIDfXjoNCCAxZLrfbD6MU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176337; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=M5IHWXiuirOhIdHwAX/EQgapibaS75RzzatEhNgb4z0=; b=S07bbxeWDR5HGvYsWxLrcayG4stig2Rg2KrEDa3r3cOuNF1BvbAoF2i+WpkGG+M0oDmnd/eQP3o3g1026puOfHE+39uBLVAkApwjkQv1NNxRnK+GpaggQ/QFjvspmWiwinP1w0ktqktAeECemgZN3ZPTRYA34v3/YVyVg7M8PTk= 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 1754176337773535.9423322896456; Sat, 2 Aug 2025 16:12:17 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLJo-0005Hq-8z; Sat, 02 Aug 2025 19:07: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 1uiLJk-00054l-Sn for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:07:09 -0400 Received: from mail-oa1-x2d.google.com ([2001:4860:4864:20::2d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLJj-0001DO-A4 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:07:08 -0400 Received: by mail-oa1-x2d.google.com with SMTP id 586e51a60fabf-2eb5cbe41e1so2551534fac.0 for ; Sat, 02 Aug 2025 16:07:06 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.07.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:07:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176026; x=1754780826; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=M5IHWXiuirOhIdHwAX/EQgapibaS75RzzatEhNgb4z0=; b=urt7YnaBUuLBkX1ghhGfjXPHuoWxiph9jBwZhIMy7dUQDusOQvHmNw8OV7YPSzxKBG nchit4VaGyIMC8wdqupUe6nqKgx9sOg8EPHUwYdBxVQDhQMPcaNCMKAVERtnya4+dIlm OBGgkfh/+Q4PWoTQIVVAtV2Am3vgJ9YeVZ02TkerBiAItAlhHB1628Jg6nFaH7J8X6/H naiEAnAIoQ2l5LHsxsTTid68o30omzT56BDIe7qCw6Z9KKAmnO5KSiXRZo3ndxh98b0C 4e+5bQ3egm+5mcpxCkWeXEZh6dZSAXSBqboO9mvbSrWDGTX3o8odSg+dcAorrHA2/R5U aHdQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176026; x=1754780826; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=M5IHWXiuirOhIdHwAX/EQgapibaS75RzzatEhNgb4z0=; b=dqAWT8XSU4JihuOAhssVGZsJaO96aEEHpUCN1+WcyejSAVJ6toBCxJZckVw3iWfS5R /OJ88qXhLycBTrKkKHbRWsQVrUsWIG4CWYKiXrobJp1jBJJDNDpMrPvjz+ReE22UT3rw dW4ywYojtxpVC+SNojQm6P5eXtVqPze/0uU1E7srIHXjF4eqf/v3qxXOao4p7bL5KOIO 1bTVRBTcqGfxalDuOW6CU+xk7D083zarfb0osqyoTYJk6CjSkCxCJk6Aq8VcOBCxbpMa npvleqQE1fWncnDL807UxVhhvqgxFBdkxwXOAkKCj34S3bIi8Vb1bfy/wj8kzQtj4NPl kd5g== X-Gm-Message-State: AOJu0YyVJncy6PZGF7b8OuWgf5V9Zcoljto+10jTbWCOE75Z+iBx++b+ yAECCX3gEx4P+UdOaAZ22q0RjcegQOdoTBJ/J5s4WuSNPlLblHk7IogAPS9lqb2RNODQVAlmRJj Hjf/Bwqg= X-Gm-Gg: ASbGncvClFdIQUU+zdK7btANISNMygaaJuoUICks/yTRayh3Geb/35HlptiXjNQCgCl Yjtixd/uAHBLX4XudILeJQnUJasvg41IsUpdPTjN8Mm6tJFvW3NnwqYq9eXbCWeSitJX7EZz+G4 aeJAVBMQYFstvYwd7M6P3bHk1vkr9kUiXskPUm1B8La+ih/h/wYKuiKpiiQacBI85TcDALnWTwq P7wvLSpDuPfIf/20vnfKTjFdCSFosM5uyffedx4awz5ICnywF32PgEv5UXe2y0vCCfHiCQdtKK9 L+9WIV4DqdytF5iBdUA31qgbOOJm21SkZmVoC0VwGTvJv8hiUKnoCj76zCZB39xbP84j/B1asxD ZW9NMv1ca3kqlybjfTGhPHhMoKnCzQwem1ioOf5tFvniCicE8UZdeLBV2W7Ep4Cw= X-Google-Smtp-Source: AGHT+IEJ/DA0gszHKLCuVzO1gkrjGhLss/UI0MlHrp3gdnZ7PLQTbXyu9zIREV5u3cOKq9Y9DWPV4g== X-Received: by 2002:a05:6820:992:b0:619:950f:2413 with SMTP id 006d021491bc7-619950f26a5mr1588553eaf.2.1754176025951; Sat, 02 Aug 2025 16:07:05 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 33/95] linux-user/mips: Create init_main_thread Date: Sun, 3 Aug 2025 09:03:57 +1000 Message-ID: <20250802230459.412251-34-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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=2001:4860:4864:20::2d; envelope-from=richard.henderson@linaro.org; helo=mail-oa1-x2d.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: 1754176338794124100 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. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- 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 0feccfbe91..ac96755b06 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -581,13 +581,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 07:41:35 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=1754176277; cv=none; d=zohomail.com; s=zohoarc; b=VZWlcrQR6941SDuefZ+OsQDXlhQ/yUl+XnalmGpF3KZva6f/QRjHdnf9vM/scesC2Wa3gOiFp/G+cFPwOglSHXlsw/5S7jir2zg/BrTP+Nc2ZW92zXtFhlu3oPIVliosEChu6DHmeD3iqhLwhYkdSqrbsEfH8nLLyA6hgK8Ah5w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176277; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=HsK1dRAVucN5uYDjY51g3VI30aLAIpvpyFsxl3c/Nkw=; b=nmWZuEzJO9/pJbprbtJ68Lj1zImI/OgHynmr8luSzikhgo+dgI+Lr5FnqiQPQEFdlg+568wXZI0te4GMOqFnOhfei3f9vmqaLX3sxlH6Zi2hVRJ8wvE9F/tMBB8nert6iKvhJfp2dSQHegwblVYnq6BS6rm1761akKSiAtikqPw= 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 1754176277396243.83661366791478; Sat, 2 Aug 2025 16:11:17 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLJt-0005bF-3y; Sat, 02 Aug 2025 19:07: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 1uiLJp-0005QO-B8 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:07:13 -0400 Received: from mail-oo1-xc33.google.com ([2607:f8b0:4864:20::c33]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLJn-0001Dg-GM for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:07:13 -0400 Received: by mail-oo1-xc33.google.com with SMTP id 006d021491bc7-6199e7dea32so180583eaf.2 for ; Sat, 02 Aug 2025 16:07:10 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.07.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:07:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176030; x=1754780830; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=HsK1dRAVucN5uYDjY51g3VI30aLAIpvpyFsxl3c/Nkw=; b=ms6G/8ZooRHxK4153TdVvHAIaiR6wR8pClujCv4RXfU7G581vf8Gp0JzZmSsHDSua6 Uh87B3bF8G4AxBx6kQAqJ6NohvmmdrlsQM8ygtJyLuqnSyjjfh6DoAvHyztykoJnGlMG 6zwRN94ogOtaPgGfOXlJjq0O4/8Q5a8S3jnDw1UjjZqjIr7v2d/BCfdaOg7NJGOi7c8g UYwFIvLlZolaY4730BdAH991HPMpomHiBrbZy6sakeHEZug8yVDdHaUOK5ZzyHhhzHzX lPSoCrDLJzJV1snCtpQb4kqNyxaUe2amCmRfHzYDPwtC+IUnV2t9Zo/O3AOchmeBrbl9 2MIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176030; x=1754780830; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HsK1dRAVucN5uYDjY51g3VI30aLAIpvpyFsxl3c/Nkw=; b=ezp+drLknnQXl/bKmTc5PL7k9HK6hPG+k2liUyFiohd7CX/8elPvpDnfhWZ+/2G9PI jLsHVd54d47jn3cvQj/qcvb5blvcZ/EGs9SldzpNPMPUXNmtQFxiRJm9IwzPhMkTdOSU 31x25eFKSdx7DhXj5Ku/d6AR22EFKqz237sv1Sj4kri0L7BxTdT4r0TEF3LgsE956eHY p/Hbjxx5IZdxrX55KWkRdbpJ9D7lxfiIUCj6vnc9twt6XShtXNu874a/QSAqs20S158s PZLaMZ3fd2XZL6oXZbre+7XJ6dn1nBB8gVfv1wX6yzGnoJGqzQ+QWUgsG3d8Mt+9u+Wv KpEw== X-Gm-Message-State: AOJu0YzFG5getDpElUg4dJz1lDrzD0rM75yUrKJL0pZYhrV1t88xhhmo 5eJEoiS9DOKmmEr8M6+Rk5cVtadEj3CgOQQubFRKDJ2QQRDN14n50mjT0vAEPhIk0dyCnhWvswH TxY1gHwA= X-Gm-Gg: ASbGncu7vr/QmGVrr5aNPJTkS5SJPkwR18LTASKs+34zkKp5vKjJ4VKcW9wsJ9crR6Y 31oMMu+1ujDC9nrMqUcPttAEbu6yIl1fikf0+ey2bMSqhnC60Qz6b7/lpdY0HkNw35I2p1c4F6n jUkKlAqbpuPaYtXFJHKoZDypIp+H6MuxrgYMZtdrlIbr+epoF+NQ+ZtPQFWt19qDtZupNo0j4Kf tGh9wwrZtJIxIoqnQaQZkP29dzUla2z7LMI5fVLsiDsJnJlL1Oi/zaXwkTIXLemkABc0X/K3Ypt JV3cigrdmbMRSHgOMQIg31vdXQrNJXyl3vSdhg4kGIYfgqFX/Eow2edKWhVaI5zcPq5uUTe7rah g6Jz2/CallqLuWBWxZWBl+iGTSsXcJwVwHwyM1usBPIVUG439Ula+ X-Google-Smtp-Source: AGHT+IF/2fMk1AzyfhN3Q1/P4F9LRmHkfad4j4wNvYMVwalATbWp94xyayqlGjemFm8hvgy61gOMGw== X-Received: by 2002:a05:6820:290a:b0:619:6fea:2fb8 with SMTP id 006d021491bc7-6198f256e93mr2628529eaf.5.1754176030200; Sat, 02 Aug 2025 16:07:10 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 34/95] linux-user/microblaze: Create init_main_thread Date: Sun, 3 Aug 2025 09:03:58 +1000 Message-ID: <20250802230459.412251-35-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c33; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc33.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: 1754176278084124100 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. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- 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 ac96755b06..3f9ec49359 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -640,13 +640,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 07:41:35 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=1754176177; cv=none; d=zohomail.com; s=zohoarc; b=buCnhariQldXuPB50MuIh/TUQlBCPfyQtpcXz1KuYQ6AJC3vBk2zSKLb7c9lqultsBNk1JI5kbG7W1noqooDtXEysW+2GQUdXhdma0DfHrPLFfHfHxke+qoENFI+QYOYiDjea31ehvkpiibC5YdxRGFNKuJAHjsZb2E5MbwlU6M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176177; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=HCC1Bj0ds8VpE2M603U1zvLp3zKKtAPXp9DANJJjBMA=; b=laQHc2T+oxZDlabT9CiKa7YL+37HDHFcF8S2xY4/HxAcHI7NWl9BjB+4FZh105EPvtMv5/HqO7Gj0Y8CseLhmi7c+mwDwk+rJQPlRA1BJ5CRm/4MpYY3CwXconP9VAwlnNc9rDfdjOAtu2OejpJaJiutEJmKLkw1IMiAqWPtUJU= 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 1754176177725835.0462578188454; Sat, 2 Aug 2025 16:09:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLJw-0005kt-12; Sat, 02 Aug 2025 19:07: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 1uiLJs-0005bx-7X for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:07:16 -0400 Received: from mail-oo1-xc2f.google.com ([2607:f8b0:4864:20::c2f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLJq-0001Dw-O5 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:07:15 -0400 Received: by mail-oo1-xc2f.google.com with SMTP id 006d021491bc7-61998205433so132662eaf.1 for ; Sat, 02 Aug 2025 16:07:14 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.07.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:07:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176033; x=1754780833; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=HCC1Bj0ds8VpE2M603U1zvLp3zKKtAPXp9DANJJjBMA=; b=YUJDkmeBjNeRkQ1ARjOf4bP5EwkaMl3Mz1SAbUlUoS65ifw5ckgx+OytFd1YmwLz8t MfVYGf3QY6eaWVHScgPtP5O75ISz6/I6gBsUyXEGDBwIThCZzEKaFoVUmTpi/gT0OUM2 MDnqaxhG44EtOG9vdXlz9rUpMXPzn+dbLnE7PJMYcQY0BCPjbeHxfrQhkW1IJ3FRLeht gwm/snI7cF9Ub9XJ9wHHetvXAoUA2EDSFrmp/nrByj/4KPPEoDkUMBoiJLF18HX3z/pg RW7IUDey3xa/IbErAmM6dRtCqlmC6FqU6zeqANOlPl9iR6/M6MQy8j20M9EO+iDT1T9P pz4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176033; x=1754780833; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HCC1Bj0ds8VpE2M603U1zvLp3zKKtAPXp9DANJJjBMA=; b=STC8S66UW4srg9Zl6SRcdoxS+5KxYf6HuLT0bzkkqVLTw0Tg8iS7Z7eSpqZcBdLWGk W5vlGJ8ErpkWKFBFkD8F5U/yhQb36rpQPeUd7jmqJPV/PZQaNcKRLBIjG0K3zCrkt2wL 4mGHKQun0fbQgOOlD/wWXMxe4utganK8IMI8F71rY3ENwtFMDJ1xbFrbYWBJvV2vvEz3 egBojZfEgO+TFqia05ev3QxI7WeHbeRX+T8lMJr0m4F1ln/OmZj+5I9Z4I8jnOftE1ct UpPxchxhq5YXfMHAd+Orv5ws3viWoEYXOSiviadYoy8hbqpqJ/MyomGjEt6BCWThRO3a PmQA== X-Gm-Message-State: AOJu0YxI8CrruDh8DOrCh+z8pJrRp0zP7LF8fPWwvNN4hYY3GQ++HG3O Psum7CnRMfwmub9tKTXWIe8PFXimSZurQgi8YvR+RPwHcbebaLe8p1BUjwcHsIE32Reyh7pr/KS pQ3yoVTk= X-Gm-Gg: ASbGnctdy2VJre/3qN6aO5XtrvMNHMriopXyMEYqWSKN/hsL6MkKcmOFuI8XfT4Ry+F 4SjV4ijcfdt2F+slHYn1u/crhMeKhP3FulhkQbkGMsmtfZR3dkGdK0kN9GVWOMNQXDeBCPymLY6 /NYe6+qYXJUSxEH97TqcKGPTEAvnPWv47Kw9+zK1wqsY1iVbVl/XHkR4bQ+O7PoeakfFJHP8RVb JV/L52tYDkgYyTF+2pT8RizpK8GngaAdUWaCU+j3GGwcDuQrx8etOMgovC7W8igBl+9j6OcX0UQ eihOd6qrrxbtmhM4h5UnooyUwLFX5bUBry1+34Fqb1y/am724Rbrb6zK/FZJs5fDG0W11+NtuFI U3PIDJjZyKag30bCMkygBAVDiKhyDUb0Bl2c0gJMNbzXQAQorQ3VT9KbGPuRCXeU= X-Google-Smtp-Source: AGHT+IHzvQa7xoeGxl/+nEeULGycgi4BjVO9OQN9Zm2sK505ybBmVXQTp0opq/son2mlM92oWF6Hxg== X-Received: by 2002:a05:6820:290a:b0:615:a91b:8e7b with SMTP id 006d021491bc7-6198f24aaf0mr2940821eaf.4.1754176033643; Sat, 02 Aug 2025 16:07:13 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 35/95] linux-user/openrisc: Create init_main_thread Date: Sun, 3 Aug 2025 09:03:59 +1000 Message-ID: <20250802230459.412251-36-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c2f; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc2f.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: 1754176181102124100 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. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- 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 3f9ec49359..03c9539774 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -673,12 +673,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 07:41:35 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=1754176266; cv=none; d=zohomail.com; s=zohoarc; b=je2Bo0/H7DE2yS0FjkI65QsdXj2e3SFCs9s3vdMs06pUZA3uunpVJC3JxZjir/7hx0xmemKdBY/jntXHfJIG5bzAbTJ1k97KUBVtMMtTEoPe1P4siLsmUMSvRW1YrqG/UpvT4VLPNn++EXl+UK8VFXKqfopdqCHLOgrJAWOibk4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176266; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Qgx7jPh2mv/gIUiwJWtq6P9AJ4NMIrU+C1ZhQ4Ea56Q=; b=PA2jfN/1WjK5P+6c/GUTslJyUkx+CZXNnVLnOHN9lhkaYqGsVBlESrFsmnRWA3XKGemEOW5F1XjiHnomyzFQkVfPs+1+6r92NYJKKItbGCPlqtaBZfzPruakVbX3I95VoVxOa5y2FjPmY5OG8VovNCsnKTuZYmv1M98M1ujr2z4= 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 175417626668864.14131811736536; Sat, 2 Aug 2025 16:11:06 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLJz-00064M-IU; Sat, 02 Aug 2025 19:07:23 -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 1uiLJv-0005nT-SN for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:07:20 -0400 Received: from mail-oo1-xc2c.google.com ([2607:f8b0:4864:20::c2c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLJu-0001EC-Ct for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:07:19 -0400 Received: by mail-oo1-xc2c.google.com with SMTP id 006d021491bc7-61594007beeso374622eaf.3 for ; Sat, 02 Aug 2025 16:07:17 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.07.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:07:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176037; x=1754780837; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Qgx7jPh2mv/gIUiwJWtq6P9AJ4NMIrU+C1ZhQ4Ea56Q=; b=fPQc6V/AB4FeVipmt0m3NmppeNiB/w+yBdv3DJieNjectOKs301MFix/HBMKnNOvLZ 6zVRKJdk8hvgF+NDZAdGoF14ZtNFyhTjCdhyXVVKlwrdB3r9WlIAwae52UVonVHdvrRn jpZkXgM0XcjtpGIxDTFRxSZy2gZG3Lf1VdH1eDPRl/9q9WIoWlwQvPA7xWkAtxQElupV A98J3cizbWVz30DfAR6BEufobO1+PX35cFi61/mq43GwyGZCVdlOQPQh+x7zdAkdmzJv YEoWk/8y/8KDabpAZuUromy4eCo58pAcmeXQ+lfXIe/U42xi5EZZclKOvx8aB8i+MNtm u9ZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176037; x=1754780837; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Qgx7jPh2mv/gIUiwJWtq6P9AJ4NMIrU+C1ZhQ4Ea56Q=; b=l4O+Qsc31imF6VE3tlpe/vu4R6FTxVFO2F0RRsTFTh+sxz54+EmjOyQwTpm9SfjVV/ 4NMMu2LdFwgt8LEt/oSo3racHpSkkqk/h5jZPWAvUuq8GYGTLAhQgPu3PEXLQmW0O71v jwLvIQl6xYKZr43i+mEkpWVNRrPyqQCeMOtMqQSVdWbRtoWGqCgyIXWUE5V+lEch6yy0 C8QuNBdaiIsOaDyV4Pko+kl4lb/tvrWXCBl2OqmqbHW98amja+5BVNXCqfoU9UryLNfZ 3Bl5vHLQcz3lpDWSQrc0ler77l+yrMAh+OiPKwF3AYb0XHB9HuD/r1K0/BlMJXRcoL7d +S3w== X-Gm-Message-State: AOJu0YzFE+Ahkc9heb4BtO/5iHyFncfGU70DduKq9rP0piD9utTazRj5 nJfyZXAdraJOzFmYryf1oW0xACgEPMAid2ssaFqSEVLHTpC4EYJog8LiJLEgc7XZOZBv2mqIxMo muWeOgyU= X-Gm-Gg: ASbGncvWLdwlXHE0GpsSQFfE7Qj6HmcoxP+H1XtLRMKX27+35tO0hsDXV7LI6I38RIu mFtxVjiNWTXtGCXOhHPEFYYmUs+YX+iL6D7koBJifyoBXPcvd+uBSnBXxQoU/O1cFMmuib1FLI5 HyBH9Nj5MkqHmIlAdJRCvlXe/yvgSXlj7G55+G+G7F95n4fRCgFjR+b7gC9ZTcybii9ymqWa8D/ duGW1ggfm1EqPDA4MWQd2dPdj6fWDM6vK6Df/sGW9V6N3HcVBW0pDHig9ssuOKhlgkI/07IvpXQ sJHda79OaDJQLt0zF9zn6N35R5I1dAg3yxe6MXIA0hozUzDOrC7A2QTmThAvjl72C0siGKckKgK TEO4/45Me1FkRotJopVpgchIaE0Uu3wdYcQCvGwxQS+00UN5Ek/Ma X-Google-Smtp-Source: AGHT+IHveN0lanE9FsvChr28ITj7hf/mGPvEeV68mlxIGH0Bj0u7yPCW3Ep6qGJGFb4Rpma9WaYWqw== X-Received: by 2002:a05:6820:3093:b0:619:a34b:3e32 with SMTP id 006d021491bc7-619a34b4375mr799113eaf.0.1754176037049; Sat, 02 Aug 2025 16:07:17 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 36/95] linux-user/sh4: Create init_main_thread Date: Sun, 3 Aug 2025 09:04:00 +1000 Message-ID: <20250802230459.412251-37-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c2c; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc2c.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: 1754176268067124100 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. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- 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 03c9539774..8604308a31 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -701,13 +701,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 07:41:35 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=1754177200; cv=none; d=zohomail.com; s=zohoarc; b=gG1URShS89J1AA+Xoc/MpZ+FDBw78jaIs05NVyN41Fm3tk9TMOJd4HNoBWyaeEz4bxZ2GUrPgOWQFRn957ekqzXwKquvWVT3cl8DDKx+zb86u+yybHZezAiqtXh4D96u9W/s4C26EftB9AkJr08IX2491s+MiAzQ2w5/ujwT8q8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754177200; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=OeGroPrnRpObcnV2bOJGVQoai493yMe+Cg8ch1Rprt4=; b=nV7xRBoVBGOxlqeh97mm/Vu3p/Nx1DX56RQiKoMxW00W4bAWP09vcZQ6GkniLxgFgilsjnZvaIP0wbHMqpHbM7uPUCfRvXg6phXlPokBvTfytv9zlvodgW6tZKB10BHAT83Hu1axOrRCFEI4IBic3/rwur50JgK0TeO1W3+FCNA= 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 1754177200146929.0157091924326; Sat, 2 Aug 2025 16:26:40 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLK2-0006IE-0u; Sat, 02 Aug 2025 19:07: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 1uiLJz-00065N-Ge for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:07:23 -0400 Received: from mail-ot1-x331.google.com ([2607:f8b0:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLJx-0001EY-T9 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:07:23 -0400 Received: by mail-ot1-x331.google.com with SMTP id 46e09a7af769-741af48e9e7so58477a34.3 for ; Sat, 02 Aug 2025 16:07:21 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.07.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:07:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176040; x=1754780840; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=OeGroPrnRpObcnV2bOJGVQoai493yMe+Cg8ch1Rprt4=; b=Yue+NDnUBXefc2NXSbnO73TOzTvRJcJmmCsbCtZCj26RyeYyku+ettOfpNTULJ6gYh ImfxI0sdVAsi8cWYdw1NLVvxgY0qKslRO4BIN0SmzQS/oWHM83AJzc2Pe0aoLulMfCFT RVDSn/Eh5astZD9g0/8hgdeDmpJqHQlLQhJqTlFBJhT9oLV4TnpMMUrbVFAAQghY2eeo D7JrzJkIE7dyLesPzXbZTUudKAXfCm7xjkXnSwG0ZmVrFlyDO38nLzDbwowwlOmXnind u05bjkYkjgz0OXSCkCXQbonAowHVxCCOOLPJHFKRqGWYCJAaH4Mbl18RgTC66hNPwZdF ZLvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176040; x=1754780840; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OeGroPrnRpObcnV2bOJGVQoai493yMe+Cg8ch1Rprt4=; b=lM4PV42usrrPwKRdcyPex5HODt/UARvUvtIMnwFxOh6JRyZslk8AVzRIZ/9QGdH/+N excdoYbZlfvHEoBg9y9c0TP01kaG+RBSM5LUayubJP/jzn1peJF8MS5cc+sce/p/qmr6 Kjazw/jReD6Jln96wokW4s3BiMhqKW5tmFCHzHD+st6X5XAbiQt47J2qBRZQ8F/Ltsv7 slpnyVWRlk4Ct641X4IYoNF26MAOGoQN3v+g6m64pl/ut4PZ0dE9dJBmhdmC2Jl99Z0E 2I01QV3Yy9lWn+lWEchtNAOGwmvK7wYT7WgMKWNQxeTRVhgeTIqllGSglWR/EJ82HaMo WV/A== X-Gm-Message-State: AOJu0YxsS31ENhuIIUm6Yg6BNN9KlNSCdAeV0vvAieEcxdHY+nZSQpmm foYiV3kKbBa3d0tZnVVqCklj0h5rGFpcHeTFvFh+sVBPWbLc6YmRQX5+mnpPcOEE1HzvaGoYuyB 4sxZB+9Y= X-Gm-Gg: ASbGncuYoYXepoEuOADO/Hc6vqrhgw32EsG/clG/iSMvxczFT+dhVtvYJdZvlg7uHPU PWxDmknUrP5idz8Uv9zlB7g5N0jVx8hJI6HUDoG54ks0xVyJIoDc/Lf08Rpbf39btYFkSxrB7Dl W2OevzlbbI568Fro1oAMwjo6JIrHjgyHaAuw1GM713ScY+BLtze+Wux0Q/GpB3CoqE1kdtUyC+Q 0qjVyjibL9/m6stYCHMJes74qGAzunOvM4q+4fMOALyDiE2eeSwDjl592ajVm7Z9B894t9pggif WkZo0QsoffPOZr1UIYBSLSFjmyFHCNwYQOABIOe7SKerAz1SBWzZDToo7+e6kDxnpoSt3FVrO6v VgV5A9VBueo0/lrequxPHOQ4qVcBKtnrfKG11E7ttLWAm/KuS/zI+ X-Google-Smtp-Source: AGHT+IGWJCuamlNRYXD6Y7hpE68fW2r0qXYCAGeHgXrRRlmwjPhRvzR0WaE6QB1dp1ENx+2AVFv8PA== X-Received: by 2002:a05:6808:4f29:b0:401:ea7b:e535 with SMTP id 5614622812f47-433f030038fmr2677884b6e.22.1754176040546; Sat, 02 Aug 2025 16:07:20 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 37/95] linux-user/m68k: Create init_main_thread Date: Sun, 3 Aug 2025 09:04:01 +1000 Message-ID: <20250802230459.412251-38-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::331; envelope-from=richard.henderson@linaro.org; helo=mail-ot1-x331.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: 1754177201332116600 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. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- 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 8604308a31..46150586af 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -746,16 +746,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 07:41:35 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=1754177025; cv=none; d=zohomail.com; s=zohoarc; b=ktzjXh+/JZMHBIYNnYmbS3XZD6sGG6L4qaE9m7/txNJ0JJW6uedOo4yUGc76vvv+aHJZq3LfsJYCdTqouigPpcIJ0nrv1dj2FuCVr4nyL9zrxP0vkZMkq8Pnr7wfdsyG1sRM4vDAc3DM3NkLRSxwWXsSea0PZHa2yQ6X0voyhsA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754177025; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=0rY2E7Jr8J8yMWkbd0RU0/ukH6+5hs0u0rTGs3Urkec=; b=lyek4mmvQ54bWIGqTi9qmWfg8mFg456W6SSgk1VcsCJaJ2CZE24X972e0LkhOjvBF006Gnl+lOzHqCQIS+6jg5pjJ10dPRUeM2huqDJzJGC7v7doWsdryzxdkTnYaEU7AyTEEwJ6hJbePvUo6qVWnBo58LPBX7soaBwDWcj3WtA= 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 1754177025224128.8059251521131; Sat, 2 Aug 2025 16:23:45 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLK5-0006ad-GS; Sat, 02 Aug 2025 19:07: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 1uiLK2-0006RB-UD for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:07:26 -0400 Received: from mail-oi1-x22b.google.com ([2607:f8b0:4864:20::22b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLK1-0001Er-CE for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:07:26 -0400 Received: by mail-oi1-x22b.google.com with SMTP id 5614622812f47-433f3bc84e0so623193b6e.3 for ; Sat, 02 Aug 2025 16:07:24 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.07.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:07:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176044; x=1754780844; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=0rY2E7Jr8J8yMWkbd0RU0/ukH6+5hs0u0rTGs3Urkec=; b=AYzL03KCyKTqzR4ln7E6JAt0Tpld9UkIZh0QVP/ws5ibspfjFsEBfD3owi2ywka5rg Pfk7GA7/JqBAYXY6zKFQ65TmapnCj6Nw0jd2TSJDU8wfxKz5h0mogGK5n+ZZ6xd65n26 y4QTxej3JCZ3Hzp489RwSR0wq9CWBQS3eFBKfrsu5Q3jL+oIg/AfVS4Lo6M0ftv2NuTb doM1/emDrlppHyoO8G5pxqZIDY5lAiJD9EvNwOD824A4SbSSeinkXM3Qfd87V+t35S3o iDSi8NsIdgbF6BXLbAOVj8SN2vaQFNh9cZ5dE9M8PppjgTFZgG8EYhQ+kYoDwRibebsh 029g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176044; x=1754780844; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0rY2E7Jr8J8yMWkbd0RU0/ukH6+5hs0u0rTGs3Urkec=; b=styCT5M4Sov5hogmkBIqDiDT5wpfcLtQQ88J18IvBmZa/0gf60nZ7+csBPGbIzI9p1 5eCyUVL8ORCfCWR9i/3P460SyiXYRUhORmw64ABozEb3tkbaiC6mf1o4yua+tBN/tS3e mHjCK7ePyEPd1riLPHF8SZ2XpKE1Fhb25/dLNpAiv8nPQka5QdvKdcD8nr9MQZcxq5OA zNAtoQ7U5H1qK908t23E26qlxuOiS0Md3ThdOjiPbUVFcGT2Wirg/BnN4cvCw3QjUXF4 S5yCWk8j9P55P/qRSgVdjttlhV9GycxPC5SLLrt+/osr+dMMpFPbnzp6cAdEXhYOlxDK WCLQ== X-Gm-Message-State: AOJu0Yw5lIWGutOIGWkXIkShk0mF+1W88TCxwAow7xkIwqaKNfFxAMb/ Pte/8yhSCm4zLnZVIREeMcjngbBpaEWEWuQgjhs8dh2EvW3a7JdMOZIkN2SbuPByzWjXfI1p3NQ o5qhxJd0= X-Gm-Gg: ASbGncuRigWF4MoPvVXKh2T3fVjIQ/MOvA8zwKBz5UPNDr6CwFtM0Z9eabYddTkp3Fo Sr2E8Euskllv8DILK6qEijfEEZK6o5qHBfcHHe6ls7D+LPJlp8gBCAER+x71qtZebdVAKzpkTSo WJReQQ8VQKXKbmlmfwZDg8ZRtgQ50TxTcIYiV2FXZrJwD4xT5BnvbcKqZb/qW8MOcm645fAR1Ii /Ef4mVdJ6HJMS9ODdkGjhLWpesalPtbGnsE+uwkvFc01kvu3qXEMp5hpe7oNGkOZ8iPjzuqoL7s PIrxZZMijU9aRnA07egzonoVRERFPLsNRySM/4FotpTeJ4yN3WVJEb3rztpWe1d9/d7NW2W9gKH vMGtapUvAZDkmPcob6D1ILsgBJ20XpjUcs300funk+3/baFww1r3HkwFvgOc+ICs= X-Google-Smtp-Source: AGHT+IF8ag2VMy8PuOKruV4FjnaEA52SIBbJPMt5oFDFlAfgKCupLphEOF31Q917EfxOX8JhJUuSqg== X-Received: by 2002:a05:6808:1910:b0:433:ff53:1b7e with SMTP id 5614622812f47-433ff532639mr816505b6e.11.1754176044037; Sat, 02 Aug 2025 16:07:24 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 38/95] linux-user/alpha: Create init_main_thread Date: Sun, 3 Aug 2025 09:04:02 +1000 Message-ID: <20250802230459.412251-39-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::22b; envelope-from=richard.henderson@linaro.org; helo=mail-oi1-x22b.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: 1754177028124124100 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. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- 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 46150586af..a7de852d4d 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -786,13 +786,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 07:41:35 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=1754176127; cv=none; d=zohomail.com; s=zohoarc; b=PYZ5gEbKP+e7yyQtykpaylHdkduDbN2obbnmnzR0DT23tdjp/bBXmksNu16CptlIbEgtq9VNtyNl2LBchcKF6OYPJNxDJog2Zg4+MG5+fVFiqMny9NELlA+6hTi9Jd1aoHptPb0/YRjz0mqp0SMtzRDr+I6En+jl5fEJL/OGDls= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176127; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=pUBD8oIvbmmAV90/hCSe5xxGHDkQPpbW/W14D5nKNic=; b=OHCPbz2jBAB/bmj2S9FJiyps0Fqz/YRC1P5Hjv+VhPxigwBHuglhsXK5PaDYL73CLTgOV9+6AD6KSf9q4BVA+5u3bZB91P2iVR3dj09rkTFkXMGh6FO2NwQLik87K2J39cm+AKvHCRzO4aS/MpNHjKlar4l8yhOuEvzMfMAm548= 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 1754176127530335.4448971484684; Sat, 2 Aug 2025 16:08:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLKA-00070k-7E; Sat, 02 Aug 2025 19:07: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 1uiLK6-0006kC-FH for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:07:30 -0400 Received: from mail-oo1-xc2a.google.com ([2607:f8b0:4864:20::c2a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLK5-0001FL-0Y for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:07:30 -0400 Received: by mail-oo1-xc2a.google.com with SMTP id 006d021491bc7-6197886a6eeso1441626eaf.0 for ; Sat, 02 Aug 2025 16:07:28 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693b48sm1093401eaf.19.2025.08.02.16.07.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:07:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176048; x=1754780848; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=pUBD8oIvbmmAV90/hCSe5xxGHDkQPpbW/W14D5nKNic=; b=n/WA8PUvkn/LiYoeezG0SyUohc4FOOzAMC7wUDvv6FEgf9qoLbcSiQkEWqXWar27qq VHsh4vtza6Yg0+T80jWeuVfAgp34cms+3ob4BUF2FZfSCWmviEQ+4Vro66usFq37QmkV Ud0s3waSchIa+cMulSXP/SMc7h9MGmiaFkNC8XMu6BSXWKfNHqzQVLtXfE30hkyycjk9 n0DtoP84XUZ6VxhI8iILCUONMfbJ3OiLTmDZda/ZNKolzxLSc1bHKCZaioQRck13NjYj r4fEMUbgcxmwu/zBM44xGP9MblU3C99nZw9d+wUxOcXL40H285D9TRWTHCW0dbmO629y 0ocA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176048; x=1754780848; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=pUBD8oIvbmmAV90/hCSe5xxGHDkQPpbW/W14D5nKNic=; b=Mfq4ollo0szS6tnqSMw1IOna/pocTHqtDHJBnLFnQP/MwlQtl8cECeD67d66brnnkb pXAZZkYsQYGjR6/wBX3F6xo1k3/oEHu2Ko4kapz82xaeQusVONhiSEVCIDvyA0dIZNbk FF7x6+9wVRl47Io99lTyRY0Yqc5qhI/fZ1xBLRDDWjX8undW7v2mL5ETt3ZdP/iMlMoG Uw7fBNBIytqylnxPHaPvtTGEb+2VGpZkpHWNA4WskzTWabsE2dLXiRkc/KW7qafyfunw TNU75y6H2ueiLbrHASdanQjh4svHaGKKTyYfe/E9GikR3kP3ZTXZhai+M4sv4H+PfI1q p91g== X-Gm-Message-State: AOJu0YxmMu6L4Jsz7weC36FSDo0vvcNmyuTqA90mA4bOt/MYW8ABgZ45 7wGwzqQJwO5WJv6d16q7+Bgq4a32GI9ZW9LyR1hJZrT3RBDoxFCAbnraqPfK75PKju4IBiVGKqa Kr79qlro= X-Gm-Gg: ASbGncvFBWvY3PVcwuDDvkrwf18PM8QSRoryw8ivpFSmXY64Wg8s6JRIAYBWWICe93N JHDa92N9UWy81I+ONIaCedF+w1d77tWoNy0amx9oCW8YE7PQ6eqkMLRXxbwBP34YyNBUvDpSF7h w8VB6kCkjBgxPKQIgrOONeZi3w8Fc9zC30iWvhFldimIw7ZTNXZziDnI7hlHBDNs58K4q6YLbpc bxcsvlWC5AUDtryw3blfgCL4F6OTFPwhIt1zHK2zVFoKkiuNHLyi38VhuA7fjmMVObVJTqlP4iD ZEKhauDPUd4k0ZDBdMNH59Qt4JPUVCsZcGuCMrpNPmL898RYJ16uX6XEibb932vYwTe/z3dwoEn N2I+SeVqfgmBNhtszW2ja+jg9Qb8tdiFm2J1L8DJiVRmbNmUuanqu X-Google-Smtp-Source: AGHT+IFjs8FRDPv4z5x0C5Qnuo+ij+6Ka7SvL5rCdB5IWNHQAPd89rgQKbUMNVPtrXDICkxBVU0BoQ== X-Received: by 2002:a05:6820:3088:b0:619:a34b:3e29 with SMTP id 006d021491bc7-619a34b438fmr724192eaf.1.1754176047850; Sat, 02 Aug 2025 16:07:27 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 39/95] linux-user/s390x: Create init_main_thread Date: Sun, 3 Aug 2025 09:04:03 +1000 Message-ID: <20250802230459.412251-40-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c2a; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc2a.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: 1754176130512124100 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. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- 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 a7de852d4d..16aa09214e 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -798,14 +798,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 07:41:35 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=1754176282; cv=none; d=zohomail.com; s=zohoarc; b=lVWqz+3y6aAh2NC3W4PDVdvO7nAmk+KRlzR8v9XD72TLEb6/1xvjYXm953bg+Kgw2nunvVVOWO3Z4WVXX7pNgYRcFwRpEnBlg6RWP6S8vHDW3SJ82aYLIrkYYwiYjTD/lAqt5HKdf5qJY7g6pxUlzSdgRbK4cnCdu1ko7aez8Qk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176282; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=F4kf8BI1YPBOaTtnCkPyQ8GhVkj2Nhm4gjasXIKyLdM=; b=VJDuKBdk+z08xM56lZGpV7BKWoh2EuYunvdDBG3B85wN9UeiKKiPbYSnqrPPJtrcH7934bfa1G0Xi9L091phCn4qyPdJGDKqo0OxnrHXTJ5Dk+GN/jj+bFE9XIf81sqOFPW8UJfVilfjVEND0YNfMQJDs/6J/+0bTPAPQ+QiIQw= 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 1754176282120534.2136215010577; Sat, 2 Aug 2025 16:11:22 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLNP-0007uv-1a; Sat, 02 Aug 2025 19:11: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 1uiLNA-0007Zu-PC for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:10:41 -0400 Received: from mail-oo1-xc2b.google.com ([2607:f8b0:4864:20::c2b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLN8-0001cG-Qj for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:10:40 -0400 Received: by mail-oo1-xc2b.google.com with SMTP id 006d021491bc7-6196c753e69so1294880eaf.0 for ; Sat, 02 Aug 2025 16:10:38 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.10.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:10:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176237; x=1754781037; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=F4kf8BI1YPBOaTtnCkPyQ8GhVkj2Nhm4gjasXIKyLdM=; b=cFdQY/6jYa6HOiXkeDk6CHPEPpiA2L3ccANttGtfp1daZtumqFTSzzkB9u0WCQgvi6 x3pmC5K8tOk/z9ek0kLc7btiZcyedIHLzHiNj6QjM62e6GrqVpBAVkxEWE+il4Ikmo9s BzIPePE2Ran8oB4eFnm+q//S8kT7MKkeTQ2Ahgtu3Kfxoh3V9jCz+sYb4ftzAimtn9xD uZSf2QQ8jI7hQsEdZuVabDEvgYQ1fRgng6Ejbmav+X3PLmZ03VKgD5QEPFQVNTy8pFNk N3JdsF1aJZch0v4gL3vH8f87dysNn5e/z9qDTAeZvQvseuHroPzcuxWvxgDR/wtjulwd Wa6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176237; x=1754781037; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=F4kf8BI1YPBOaTtnCkPyQ8GhVkj2Nhm4gjasXIKyLdM=; b=u6xlWXB1YvWKy0EcC80nWdFb6GyfhAtSinEYXaXQ2j6KZ0ZQrzjeekA3FdYkp3C14Q 6pSJAc+zI10za2aocNp+dD/wDtrd6fCwZNbC48puZXol+GiUq/PQrST/5rgvXCquqkXn y2iwyNAgFEVZu8OXeocyr+h09UCjFa/gHAE7oymYC+K3UYaGYVt/jS/S+88dvutPNs1+ MoJqVKw9Q2iFvL+IBgyF81ChR+U5Q8RCc5W/P4d7Onje9P92od4Bwmjm/W0XvlphgCTm 0IWXQPqey4OeFMxPJW5G5Li0nEMj5Avp0NmK9A+BS0R9mHHPGyAHvur3EFbdpEt6Lz+v fKLg== X-Gm-Message-State: AOJu0YzdblasJSORwc13+xg/6qfwam5SHoEIXhPbZ31SNTdRlxUsK0/w HZucjEGLSGmbubDecshjTcsPmep1O0Cw8xK+A34vjG5wImiNE7FwBaq8ie6zJdO57wQGMwWdwKI 2zXUpV4c= X-Gm-Gg: ASbGnctj9/JMcsvG3h4/t9mBTYul39rd4X15nhrOcdnEeLcVTuLtzOFp70CYWtuOus6 Pk33+6kDuDTzsm2Ip7oHfJkt7kDKxshnzSXam1OVeR570KL198PpWLPs68Mj/4z9VakBPyEXrxe WNtt6inNJCLc2DtNaf9Qd0Wg4OG0XDxnGR4E/BspxdtbYdbB7L/H8Oa9wLaydfWSXmeul0pgPi+ NbY7+poDUSy6a2XvqG4YQ+FXE4BrD0x6mO5carF0GLJQI1tg9Nrgy9+gGyGvgiFrxDq2cms8Nh4 qJx+9s0y0XCMF8IqMFv6voXxK2cNNU15ckZYbV0u3UIJ5dqJ6LMqzRi0tjiS0bw1MPVHfyKrPNa +OcgfvyWjqATcKbpZR8ZJarppVKpFnmcPaArBZSoY02R6kpUarscr X-Google-Smtp-Source: AGHT+IEF91RtZkB4yvZVmc4Q/BVSuFUuQkhamPvFyrnwPG5c/kvGvMW+Ad5Lf14C2rH7gjTpgqeSGg== X-Received: by 2002:a05:6820:81cc:b0:619:a44d:43a8 with SMTP id 006d021491bc7-619a44d4639mr644730eaf.7.1754176237289; Sat, 02 Aug 2025 16:10:37 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 40/95] linux-user/riscv: Create init_main_thread Date: Sun, 3 Aug 2025 09:04:04 +1000 Message-ID: <20250802230459.412251-41-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c2b; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc2b.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: 1754176283368116600 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. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- 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 16aa09214e..556f11d720 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -849,12 +849,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 07:41:35 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=1754176439; cv=none; d=zohomail.com; s=zohoarc; b=YAXJ8yrUnqejrKmy6qVXR0zboPWnJpP9ucBqoGMuq+22fQRVuAjJ+APiEHTsFR0+nmo0SfNgh8aaP+86uu2+4VUHhO4cCDnPiGNtOHSNOncADjNVB+PaZ0eLuqcxy6/hebTOP0schWh1FnO7r/xwBU9NduUi1eYOinTvefJbYsY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176439; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=DcKY3nbqGoTt331KVt3AQH8Upmaeqmua001Bsshfz4I=; b=ieoJx7r3QHKwBx5j3S/LAIFfv8gPKlNWn5M6B7nSXGRdpD7csvN2XcA9u4P8hXueqAYv5a7pLMaHBOQ9X5fOIXJK5aFJDLqwyeUhosKAEJqGOYoLetrpNlc/dsQB/5hv2xDsydYgyYWsJKLn0XY9r2YEOMj9MDbjitlvLZvPRrw= 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 1754176439233638.7709657554549; Sat, 2 Aug 2025 16:13:59 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLNY-0008Hi-JW; Sat, 02 Aug 2025 19:11: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 1uiLNE-0007sF-HR for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:10:46 -0400 Received: from mail-oi1-x232.google.com ([2607:f8b0:4864:20::232]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLNC-0001ct-PO for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:10:44 -0400 Received: by mail-oi1-x232.google.com with SMTP id 5614622812f47-42ce1441042so1168709b6e.3 for ; Sat, 02 Aug 2025 16:10:42 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.10.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:10:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176241; x=1754781041; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=DcKY3nbqGoTt331KVt3AQH8Upmaeqmua001Bsshfz4I=; b=NLSSXMXlDUxhWz8hbMPQasjeyLeoIe25CsmTKJ+Oz0z9/L3nZGQ4sASwl13Pnd2Hhq ep6gRLE5qixmwOQ477/e/tkbpUdMCyrclxdqIMkXotqxyZWv2CJgMFwHjXf/iojpS+zo G+rq+SUsv3KWxLNQhZCuKUWCcnyKhBg4fRT7UBQZ0fUQpzSNdkgbuXsHzZSzsfb2UXB9 vlvS6HJvWXwFpk2gBFXZihgwQCWldmWaU/AMPikJ9YA3wVvl3S8IqmtQSNa3r527oSHr gEjQoipG8lA6gB05+mEaBfX+Y29NDbaY5xWDf7wniSC8w4Da//ueVSauVlF7ZqID/XTt xiuw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176241; x=1754781041; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DcKY3nbqGoTt331KVt3AQH8Upmaeqmua001Bsshfz4I=; b=j9lg6cSAt8Z1mPm/zhyrhIKRBWwwsqU4yxnuRpCglfhRdTXcowAU4Hw1nuN8rYXyEI tMUF9Zpvjygngs8O1wi3SV8hN8Dn9n613StfEf+oPO/1Em/Gtojd13ozOKqiR1yItUHD RZFbdi/RAQsmMHUEYeEIuGfeR9jqzT0ToFQLe9LmvNYonXyF31NRj0vairLmHtxRdeOI yC+ww+p5diqfA+ySTYYzTo/bKLNqOj99rcAqaXmJEFJCy8XF4qA2ktdxYYJyx+CoHDQR nxx9b8DeGacEF2U3QVDnXhbUl2+D2TEkninzdKMnZK9JDO9URNLqlp/qpXe/3uTBCLX9 /dDg== X-Gm-Message-State: AOJu0YwAV3qv6pI42+48MVoGhoXdF6biZzTADkHkqBVXaE0/03nDeo3u ooaT7MlP4fHLdN36wD3NnC2PEd1dBFyIeCQmFlM3tTvrGTNgGqjtFdWi1WpCrY62xRmCIL80T9c CkaxoDa4= X-Gm-Gg: ASbGncvj0A7l00vWSIG+YnqSyshw+736SUZ7e3IeX2sh/tZcVYFLoLpeB7ZZG92nIHt znMaEs+S6xemc6wyEcpo2rw1jLttc0/V9ajmkUrpaXL30WyXsBGDR69vYr94tZ1Ibkmi2td+Xyv g+2M+RIKBdpdvzFjTcvsK/8KDkRRwxmsiMDvoR6FEUWnyjgMraSV1NhG37W2w7WOXwYHD++EAN1 49gkzx7YmDZhQTJhNd6Ghpdpdy0cmqMWRNPhBLAmaR+MPJTAmcBUbaFvlNBDsvTpOpl+6iZNjZ+ h597kKILBpDCi74RuMdMDtGbsf20J/+DRxhMeSt75A1Xm+FiuNCjFUQYOKkDWyHsD7FF1JEVe7J TFlJQ2GXSNHWoSDPYru57FbkYwf+uGEJB3JwHTGp7+DCB/AosTgftY25dPDo5w74nO3egz/fESg == X-Google-Smtp-Source: AGHT+IFFrwVFR4mJnfxBxxg3Pe2olsV3CMwXD/7caTi3cwJ93bzxNbkxsnb/yK8/nLjr6yOPo44KHw== X-Received: by 2002:a05:6808:3086:b0:433:e818:bd95 with SMTP id 5614622812f47-433f0250c7emr2607540b6e.10.1754176241248; Sat, 02 Aug 2025 16:10:41 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 41/95] linux-user/hppa: Create init_main_thread Date: Sun, 3 Aug 2025 09:04:05 +1000 Message-ID: <20250802230459.412251-42-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::232; envelope-from=richard.henderson@linaro.org; helo=mail-oi1-x232.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: 1754176440614116600 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. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- 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 556f11d720..4876e4b0a8 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -864,18 +864,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 07:41:35 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=1754176298; cv=none; d=zohomail.com; s=zohoarc; b=E1gYSIzybup9vFhdS55ugEfqQWmbpZa52gwKH3DD5x/C6RDMPb3nDmL9Cqwn5v54IFMse5YAQ2YMZTKBZDDjjxsZeCO48/eJhJDfs+/o2ldpIdLTM5wNuSncmhI/0KtRlYPAEBuMBGL0h3HqLLJYSQOMR3k/n0LqduASSEBojDw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176298; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Tz5VaXvtV93wHMZKr+baduksZM5BuR3kgES/WJ5tu1M=; b=RSd2MwMknQQKXm7PQngkKtVuV5V3gWlOWRybmIjkBERvMvjxEo42grySUQ0x3SDbfh/+yneBPfAUXsuJHhc9eiRKFiPyQ4ehiiR0UR0HK+VRszQalZi2EZucPl37yWDhhlZWvkIBGT4FreclB4BbTweIloNe3hkVgyg7cvVVD5c= 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 1754176298827582.069065524113; Sat, 2 Aug 2025 16:11:38 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLNe-0000Gs-6b; Sat, 02 Aug 2025 19:11: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 1uiLNH-0007y2-TV for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:10:52 -0400 Received: from mail-ot1-x332.google.com ([2607:f8b0:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLNG-0001dH-9b for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:10:47 -0400 Received: by mail-ot1-x332.google.com with SMTP id 46e09a7af769-741af48e9e7so58970a34.3 for ; Sat, 02 Aug 2025 16:10:45 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.10.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:10:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176245; x=1754781045; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Tz5VaXvtV93wHMZKr+baduksZM5BuR3kgES/WJ5tu1M=; b=oNBdXsheG4fnBaHB6pl4cGUK/Glq34v2kk3loF2KpKJ3QVFHE1eLqVRyzVHdtpzG0P FQ5KReQeaQHDD29X1M6X2F+chMa2go2kAGjMg+mM7E7opUuGs8ZraT5DvBSz0ZklisMh +Iz/srG9RF6unezj8nZjAGCKC7wDt0EK519IWzLPjAY1YqI+xfCcAPC1GB1TNiPmmUE9 b+urA9aNeDMQXYCCl/XynzhFtGvGf3DMmRKOAhF0wvbZz5KkGEGphxD9Y92qHlEZiZYG xubpASRNCSyVr1ovFXUtTrxZ8MAiv9F0QdhNUVZzxNne5/syTxBG93+k5iK7TLrKZ8Yu a8Gw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176245; x=1754781045; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Tz5VaXvtV93wHMZKr+baduksZM5BuR3kgES/WJ5tu1M=; b=qv7PwbcdJkV20SUz057Afr7JZDaKijxmuTKlCKiyZtB2AKKkfeb9leKq1jZ++O0Y+L /GMN5uLUwsNhCPS+mI7/2FtA4sYchA5jnukNI8sqgPpaPDRr8yArCfv2wkA8UcZzYIr7 7p3WE154vhQ2osiJJDttXeJUqkK/9httnJdxwBlJhYbwmnAnMPeX/pcArsaKID5Rgg01 k/mHK9J4MpTX/eAem72ngVQ2w04PL0HC+fntFI6XaAwWyGUgyaA7sHvmL8BO+U8vxEE1 oCES9DabrNMw3RVqIdJ8Z8X9xjtIOe8MVzS6NCV95RfTq2B+no94KZruwoLPzGBGkqWf 7t/Q== X-Gm-Message-State: AOJu0YxveJo7JKc6lpVFQZVRrpB0qVd/L5+K8+L1wWtqF/NLNxw10IwH mA/zE10T0Osqm5VfNA0iknxy7/aEzvSZtGT4NWVyLMuiP2HfrlcFEiolYLJdms99bHQJVvH9LIm yPTtDieo= X-Gm-Gg: ASbGnct8YUhI0s+WIvc/BXCTAU0jPP7BoT3bxBeVydJMUKt+uZSygLga2FKwsX5+45t 8KwRCroDazDpQ5yvz/POkRdNvF04krXB30s4u7mRhJPsasEzKnGT+taD0RWCy6kyFieRlKTw7wD +oSfumoxqoqMDf8iLqaTQo9zy4lXqtvY2AObLtJpIQiGlM5qgR9DM+bu52BXRMNJu+IECbuV7gd jHpAveSS+/pxOC5zvAzbcM2UQja4mMoph6Aqzlet1mGs240xNKveZ7tF8en75gPNUGR26O9+rqZ mvqQxBbY2GQAgogodLogibG+EX4yDqhWzwtPAXALL6jnOfR8Bagxt1Fz0aG3ot3unFKQWPpdHjj o3ivv+nGTFMAa8j/iwuEXaUhVUH0wa9XW+jXpN9WAWYfYdoBmDeQ43Yv31n09uv4= X-Google-Smtp-Source: AGHT+IGku7YWDTortG0RZhkgYw3le5gi5UT7Rdsvu5r/J0ZbZKVpaUJBGP5A4q90DG22Op5hRAxOuA== X-Received: by 2002:a05:6808:124e:b0:433:e660:16b6 with SMTP id 5614622812f47-433f034a6c5mr2446849b6e.30.1754176244974; Sat, 02 Aug 2025 16:10:44 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 42/95] linux-user/xtensa: Create init_main_thread Date: Sun, 3 Aug 2025 09:04:06 +1000 Message-ID: <20250802230459.412251-43-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::332; envelope-from=richard.henderson@linaro.org; helo=mail-ot1-x332.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: 1754176299502116600 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. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- 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 4876e4b0a8..447a9be11d 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -905,23 +905,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 07:41:35 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=1754176669; cv=none; d=zohomail.com; s=zohoarc; b=Tu36ZTYK5GfXpPJ9azSOFL6gFj0X3Dv+8ZnOVWLXV+vnkeZvsX73U5yOV9yBK6xI0C/CLncz04jZKms/ZXBFAbdi49IGofN86uAz/otSvoVzrXZ1edfoaiB8daeidSPjnYQpVFAZRDKRTGJaqoKr5ZHA/drLn9Jp19lQ63yPeJw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176669; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=LrimBB+faaHzZ0a+sOK+yKBp8vwT8/efwhqeBA5wVfA=; b=dpC/QkATMulbwjSF5p3V8jiDHqelp9hKKoKotp9kcYNuW2RmbWf3SbStq9lS/qPpvQIbKCZfO4oC/1QyuYg4/pxJVt3AJxfry3N3fAQuEG/R28vqhklMtfglfp+u8aowNN98NStt2/QdI7pxvNFwm+7G5xmAJTNfoIOAQUSZK0w= 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 1754176669060652.0773450063068; Sat, 2 Aug 2025 16:17:49 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLNZ-0008Nw-G7; Sat, 02 Aug 2025 19:11: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 1uiLNM-00085L-0q for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:10:54 -0400 Received: from mail-oa1-x35.google.com ([2001:4860:4864:20::35]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLNK-0001di-D9 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:10:51 -0400 Received: by mail-oa1-x35.google.com with SMTP id 586e51a60fabf-306e88f0b0aso891873fac.3 for ; Sat, 02 Aug 2025 16:10:49 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.10.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:10:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176248; x=1754781048; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=LrimBB+faaHzZ0a+sOK+yKBp8vwT8/efwhqeBA5wVfA=; b=VoXaAbixrlrqIsplJ0Bc1JKMfIRVJR+Kv84vg5x+IWTdElFUo2cSnBWx867U+QGNJD ApN34LW4156hzxJsMsS6KtlKU8Tj/keLRs9e3gJKpigtcH/rOm9TKCINdoqnQJMJYc/+ C8XOXBeH/IDkoCzwuF7kSMkVHO9b3hlTnvxjxsmI6dSsWRRZgyD6iPGXn/mFv2ReZCVn EBk6JF18Rd9R8tKy0uEj35YXGwPbCvuJiUZBdin16cVsoi8o8QQeNkxmc64q1whFWHRd u+vwhbAFWzIZI8zKU8gBBb6xjENtYktIslTSxCpqhoKJmizx3RXmAIlla2epM3pBQczT ij/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176248; x=1754781048; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LrimBB+faaHzZ0a+sOK+yKBp8vwT8/efwhqeBA5wVfA=; b=pCRLNHVHlxbf5R8BHURLgjW16m17e+tylrGK/+OLrzD8NnwaHHlXiAWvMtAAZDMKYN pO+EYdqolU3jzM1nvlPirpTOc9XBS4agGSiCI/QJHyrEvB0rED3ATBvwoojXUbJ1qfxV W/F9JxWpJaQw6rZKicz1P+bGHufFDi2gMIX6dF5rSrqNRwMISC4SbGR9gbgcS81vkZzt /OZYYsj/Kb3o4vYXRB4smJ/AuO//YLF7iCKaYvqSXfQbdJbt8DHkh7QT0w3C6fsMJu58 HwiDSWrD2wtQt9lszuqQCwDGYM3kHI2QrovX32YQxe7eO9uWeSyOjaP8N+Y8JNttTLWT 2eBA== X-Gm-Message-State: AOJu0YxLRIz9Kg/b8uI5y3sp73uNuFLhMuiaOF429MVgQPSJD2kFhWRM 77YjOrDXNihzOWACIHcPy4Atv4/ll2e6mxg5WJ2hihBHqEJ+urF7nvuGMHCTj0z4lVx3s1l6oX4 f4uHhpDw= X-Gm-Gg: ASbGncs63Apn+OmZN4IVwYgir68Z51OGdx6sqD6wxtzx1oyr3Zxqy9gegYxc7I1MXEs JAgu5Yf/C1NcKzoKp2EthpUBUtMRlEhYlEmAbjugFPkPYci64BJlB8oqxO54n8uDEcHvcf+/sh6 PLVUCpt2Uim0VNBP3kMuEX0biNjr+nMsQ+BM0nT0qAVtr88njBj5XbRjcOsJMbcqjn8pgQ4WAgb W65MO/HQhhUD+vnBBfJPpNxTGBfohD0wrwP4R6dm/wK/k7+bZVrOWavg/XHtBsccmbKXAidEBsg mGDTfanrcwlO6M0sI1AEyMQUe66XG3NYD+vNbtRgCpdwrC7WwLpFajmbPJAgbO1AZw3tmqKRisw AtDfK+x6QXCCImwCP9jkUiLX3VZoncNvPH+Bbytcn9cF8OJrOybVW X-Google-Smtp-Source: AGHT+IHXrL0Nu6una+z3n+HdSAnEMZHdayXxyc4SUELtYSROBXFuUQuf/NJbNLzmYrAhHrKrDdj6/w== X-Received: by 2002:a05:6820:a082:b0:619:932b:3db9 with SMTP id 006d021491bc7-619932b3eebmr1419748eaf.3.1754176248524; Sat, 02 Aug 2025 16:10:48 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 43/95] linux-user/hexagon: Create init_main_thread Date: Sun, 3 Aug 2025 09:04:07 +1000 Message-ID: <20250802230459.412251-44-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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=2001:4860:4864:20::35; envelope-from=richard.henderson@linaro.org; helo=mail-oa1-x35.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: 1754176670705116600 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. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- 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 447a9be11d..4417c2d99a 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -954,12 +954,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 07:41:35 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=1754177091; cv=none; d=zohomail.com; s=zohoarc; b=m98n1Gk4OWJBZxL8fUm3v+QxbuKb3e6N4IBWxjEx8ftPXaX45adTWeLc/lISb4zC9eNGWU097uSeaoZ/zivswtDFL/HWvEMivPGq7RCRVdBoAsMg/VUjtVJz88CxdyLizax246IkPj/OC8BZDjYI6Uovh5CZb78LcECy6TSUl+4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754177091; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=H2ibNlDU/It0+v2WxVACXlLnTyz0/s7ExcXTNLC1sCA=; b=SVFYYzZnczywU7kWAZkgyUHlUx4Okg56MN8zDyxfDsQA5FQh6A/mtXPPq+BRhN7/OCZ6yQpE8XdWyWpA6qqZvJn1ycqeVk7ALnjKlVpo2UDkf2aFcUzHxvaYWzHraRVStecapcf7nYyDjLanafCnZrgvnlhw6PnkHxq7/HW+H0A= 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 1754177091484627.0486230673137; Sat, 2 Aug 2025 16:24:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLNj-0000fs-60; Sat, 02 Aug 2025 19:11: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 1uiLNQ-0008BA-4e for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:01 -0400 Received: from mail-ot1-x335.google.com ([2607:f8b0:4864:20::335]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLNO-0001eO-7v for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:10:55 -0400 Received: by mail-ot1-x335.google.com with SMTP id 46e09a7af769-741b1fe0d43so13009a34.1 for ; Sat, 02 Aug 2025 16:10:53 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.10.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:10:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176253; x=1754781053; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=H2ibNlDU/It0+v2WxVACXlLnTyz0/s7ExcXTNLC1sCA=; b=JPexPOMAb7KVDONjQ2vxxY/kL/WLn29PUGWnkdNJqZHa1yMcJusyhbVzMapObDO07f XJNni+gZPIQOTMuKhcd6Q/cHOLsFqpYuHmboaNkwqRvesnW8Oj/ADO7pOsagTlaI/oYp zaNaWq9Vrx0Yd13ZSH4jqDFmz0XVwqo+aZFPusQXgl0wQv5n7pAefv+vHXe557GmhU6K syy/dCluJrdMMgEWQ1oqeK/mqbZiRjkf/XjLVPDnKML75SbmbZCOBJbJCl+COULszGbK XBi/XFJkSMLsTZbRuAdN7H5hYKhVdXPlr3pSo4oIxip2/qj7S39Om0HSonZHi2zDrl90 pfSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176253; x=1754781053; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=H2ibNlDU/It0+v2WxVACXlLnTyz0/s7ExcXTNLC1sCA=; b=KCLZCkFPU86hA7uxx6TTBOOJzBoh2JiK9pNYvEkA6LQDw33DvRI9CB4n81SDsgNam9 m61AjyTsRErBZbGwsFvPx2pb7sLQ4+14Xt95qYq4NmD5coUaVnKqbNIcpNc0vGFGNh8W Elcd6xNyIvJms5mRF0BihFQArp6VD95RY9OSwIAXmORqTH8vqqTVgS5gO1GllJsdYtHO hxO+S1lS9yX9rq6WwahOmuowZGgx8nxGueIDYRV3xSVyvb3f8Oq2lRU/2u+1ZUJE8ps2 NBsLKN0JqXwZEJH0hbjBPhe4lPg3VJ14HZ0KvZexSB9ZP82T0fSaVPxfjxN47TlHM/v6 PNrw== X-Gm-Message-State: AOJu0YwzbG+GxfeL7hcz/mFickxwvgS79+I5Wp/lu2I2FzLSfISeI8+o kMUsfrZ8d9ybICxAgN+PIHRUNNwouyezxcx6Mf2B3duqn8IcHoqTZcCajtkQ31XorHrLlExQfE9 ueMaKSC8= X-Gm-Gg: ASbGncuSdx1XVi/2C+vv78OcdB0CYf5ghYXDQK95rtTAnFT2kjCbFTBH6kTBrhBZ85N vW6tuJOE/WVUJ6JfUmXx457A7nswsG5uT3fZEF8xc8z2OT4Uw2HkfuP43oGM+Qhnv/BO5WU8xbh Yo6ip8/PDU2Iae16Pq4hftSypYg7Xr2FjKtQhJUyAVHfOt7ulEl9HqBOhLZEZG/o9KfZfj0lrwW XTtwQZyVB4KaYGgKhfaoCA+8JUh2RG55H7VL0SHdYtLQSml2ttk1UIWGNx9LeDZIeoq/66Vqfhb C9SHsLbb+KKAsQ4B6LfsDWCK4lwni+lWe4MsZQNkVXNv2j489+wc8NnW4XccHuDzoldzd99bHBu RmrfHuLEH9UngfIQEB470tnA0BKeCQTFUd3ySEdHu40L6YehFnsPD X-Google-Smtp-Source: AGHT+IFBzuIE8skU/1YNu0hA19H1PklZOmDZq3YUg9J62cbqMS2UC0kzcQGwRrgZoOfjPfOYRq8xxw== X-Received: by 2002:a05:6808:68cb:10b0:433:fd5b:ca8b with SMTP id 5614622812f47-433fd5be091mr692799b6e.2.1754176252968; Sat, 02 Aug 2025 16:10:52 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 44/95] linux-user: Remove do_init_main_thread Date: Sun, 3 Aug 2025 09:04:08 +1000 Message-ID: <20250802230459.412251-45-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::335; envelope-from=richard.henderson@linaro.org; helo=mail-ot1-x335.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: 1754177092236116600 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. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- 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 e0291cc3b0..6482c7c90c 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 8a9500d4f4..e4dca0c20f 100644 --- a/linux-user/qemu.h +++ b/linux-user/qemu.h @@ -359,8 +359,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 4417c2d99a..fce4c05674 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -149,8 +149,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 @@ -293,8 +291,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 @@ -395,8 +391,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 @@ -438,8 +432,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 @@ -485,8 +477,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]; @@ -533,8 +523,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]; @@ -581,8 +569,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]; @@ -640,8 +626,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 @@ -673,8 +657,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 @@ -701,8 +683,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]; @@ -746,8 +726,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]; @@ -786,8 +764,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 */ @@ -798,8 +774,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]; @@ -849,8 +823,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 */ @@ -864,8 +836,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) @@ -905,8 +875,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]; @@ -954,8 +922,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 @@ -3438,15 +3404,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 e21842bde9..6edeeecef3 100644 --- a/linux-user/main.c +++ b/linux-user/main.c @@ -1037,7 +1037,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 07:41:35 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=1754176854; cv=none; d=zohomail.com; s=zohoarc; b=dIzY2q5gZ6bMhtcXOGmDWKBxZtBAcb65Lcp2BPT5YeAlgwGUa0rocVTNRsrMkY351RT5XoO7vNnfY661mu7HGtuwDNQLEyqyOp5QPMrcXKByBuiNB/AhwgGbDDH/ZnhZhNcFd6F1myl77d+d2wSVdJsCXoLdQE/ZkQ6rlMqVFtY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176854; 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=O7dWmvmY3TGPS29fFTMACdsuEioHhfDQLXwYkGyXN3U=; b=Ps4d0Hy1gV+F+GCS591J4vlvyA5DXWj6VnknjKjWgAtJLkWqpQF6tiwtZ1qBJ2v0GLysmw28Y4dYVEaW+JgojmnhkxDJsq+0UeISX/+7xn0n6nJkj+162OXKODkxs14KfQEUGkiK3N/nL09NyFlHtp7Y+jDwpvYycUulo7Kb8tA= 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 1754176854019232.5870414999083; Sat, 2 Aug 2025 16:20:54 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLNi-0000Yy-Ca; Sat, 02 Aug 2025 19:11:14 -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 1uiLNT-0008FD-S6 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:01 -0400 Received: from mail-oi1-x232.google.com ([2607:f8b0:4864:20::232]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLNR-0001eo-7k for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:10:58 -0400 Received: by mail-oi1-x232.google.com with SMTP id 5614622812f47-433f3bc84e0so624016b6e.3 for ; Sat, 02 Aug 2025 16:10:56 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.10.53 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:10:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176256; x=1754781056; 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=O7dWmvmY3TGPS29fFTMACdsuEioHhfDQLXwYkGyXN3U=; b=z7j6T4v5BsXdP0aJSJ7g4wOkjgdckw5Bg+Zn7dSG9xj0Re7nU8qyUxD8yKROSf7OZa B4beu8Scmu1ZcZHzIqGlS59gQCdersI89BJzu+COtbrlWwyeM/euisF6H1oXoExFgbQA XYO/EKgaLDjGXh05ME+IeEaB40ILdAdlJuzj4EBoZCDhTVKPQE6OzkR7mQ3D68spjSJq Tu+w3SZyy83sDJnVL9LiujX1BwwMQhOBRyME5D92MAsysNOvsDWY/sQKKTARoUUIgbOz AjgsuDjEFbqXeI0Ja1VZCNgXZE2pX8eFKoyp6dXMRK6+5FFalL94HdED8EiA2Kr+o0uN WszA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176256; x=1754781056; 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=O7dWmvmY3TGPS29fFTMACdsuEioHhfDQLXwYkGyXN3U=; b=V74UUPYyywNlabbBRfJqiWPmLVoSXh1fP2FrPIgSwWx+MIzgSvyyu0EtBYcDCHi6FP pmLYCnhh8lhNjn1E4XdVnPQpvLpwZOuYX8cSvmqMcRXNJLJoXprtPZsS6f59Eihu83Jr J13L6Dv0i/LkYIqtAIVvCEGEvMGdmpo42i22vQ6/kjGtvGmIxaX3xE0dYW1cfRnG4ctj bcbunFX3xf9toNu8TYCfuCjidCQvpGGO0cns+YkP5ov8n7mUUsuCBFV/kIIP1CLxiKXr 65OSwBpNCa/5q9CHOSwC9THeJpnFkqoCs3q8lnZ++9Sanq4zhvptu5LSRVGb4u9ugkJQ V33w== X-Gm-Message-State: AOJu0Yx1bRrvHcDph136Mr482qKnRshGugNUrq0FOu4XH4SZWsUZpiFq pAyvRHWbHM+2nU18qL4xB23B8Yw2Hn8aqdyAB61eIfRUFBV7WyoZqRiBdw0QctX3k/c8PWyvbM4 9ueHpDa8= X-Gm-Gg: ASbGncuC+cMwl4PYiw8N8e3Y7HVfg5/f7gvmSSJQ38sN8vba5GpnMjBsDZMQCnQTUgJ kd1ek1KT+1HoE/YoP6/BZz1O1LpEmGfqSMYUS1IQXNT64RVz94iUfDpZ/zLWt4xWDIJpMA7ZyjI 8+nSotelsHEBMe7IyzpZP4KAkErvpH2N+CFj8wBbvI2EN3OHubK2JHJFAKVzqcFnXyrJHxD0j6f cJ0WmaHzRjQ7W9d7C3/nh9epCjE5D/4hfUkT/wSaOi4xlBehHOwpyUcbEA8QocxQDh5zVIY8M9N 0lbujo2ginG9vPDb5bbVkmuwJ1sUo3XAe2a2h1j7lWTwfmRWaejh6pc3rH7pDmNRjQT8TgBNtcP o7IhSSR3oI5lUjqJzV4aOx2YSdVwvcp5/cUMm2feo4KokO2usJU+qYDjC4+NZZzbuAUsQytXzvA == X-Google-Smtp-Source: AGHT+IFeBB+9xftPX+JihRK6cStIYBQwYQ1El2WMmxXKnNBFMA4sHYnsumfxtyAoGTlKcN+cwZDJaA== X-Received: by 2002:a05:6808:508f:b0:406:2bb4:cd77 with SMTP id 5614622812f47-433f021238fmr2735372b6e.5.1754176255927; Sat, 02 Aug 2025 16:10:55 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v2 45/95] linux-user: Remove target_elf_greg_t Date: Sun, 3 Aug 2025 09:04:09 +1000 Message-ID: <20250802230459.412251-46-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::232; envelope-from=richard.henderson@linaro.org; helo=mail-oi1-x232.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: 1754176856025124100 Content-Type: text/plain; charset="utf-8" This typedef is synonymous with target_ulong. Signed-off-by: Richard Henderson --- linux-user/elfload.c | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index fce4c05674..70a1e402d3 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -131,10 +131,8 @@ int info_is_fdpic(struct image_info *info) #endif =20 #ifdef TARGET_ABI_MIPSN32 -typedef abi_ullong target_elf_greg_t; #define tswapreg(ptr) tswap64(ptr) #else -typedef abi_ulong target_elf_greg_t; #define tswapreg(ptr) tswapal(ptr) #endif =20 @@ -154,7 +152,7 @@ typedef abi_int target_pid_t; #define ELF_ARCH EM_X86_64 =20 #define ELF_NREG 27 -typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; +typedef target_ulong target_elf_gregset_t[ELF_NREG]; =20 /* * Note that ELF_NREG should be 29 as there should be place for @@ -231,7 +229,7 @@ static bool init_guest_commpage(void) #define EXSTACK_DEFAULT true =20 #define ELF_NREG 17 -typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; +typedef target_ulong target_elf_gregset_t[ELF_NREG]; =20 /* * Note that ELF_NREG should be 19 as there should be place for @@ -292,7 +290,7 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, const CPUX86State *en #define EXSTACK_DEFAULT true =20 #define ELF_NREG 18 -typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; +typedef target_ulong target_elf_gregset_t[ELF_NREG]; =20 static void elf_core_copy_regs(target_elf_gregset_t *regs, const CPUARMSta= te *env) { @@ -392,7 +390,7 @@ static const VdsoImageInfo *vdso_image_info(uint32_t el= f_flags) #define ELF_CLASS ELFCLASS64 =20 #define ELF_NREG 34 -typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; +typedef target_ulong target_elf_gregset_t[ELF_NREG]; =20 static void elf_core_copy_regs(target_elf_gregset_t *regs, const CPUARMState *env) @@ -479,7 +477,7 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, =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]; +typedef target_ulong target_elf_gregset_t[ELF_NREG]; =20 static void elf_core_copy_regs(target_elf_gregset_t *regs, const CPUPPCSta= te *env) { @@ -525,7 +523,7 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, const CPUPPCState *en =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]; +typedef target_ulong target_elf_gregset_t[ELF_NREG]; =20 enum { TARGET_EF_R0 =3D 0, @@ -571,7 +569,7 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, =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]; +typedef target_ulong target_elf_gregset_t[ELF_NREG]; =20 /* See linux kernel: arch/mips/include/asm/reg.h. */ enum { @@ -630,7 +628,7 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, const CPUMIPSState *e =20 #define USE_ELF_CORE_DUMP #define ELF_NREG 38 -typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; +typedef target_ulong target_elf_gregset_t[ELF_NREG]; =20 /* 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) @@ -662,7 +660,7 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, const CPUMBState *env =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]; +typedef target_ulong target_elf_gregset_t[ELF_NREG]; =20 static void elf_core_copy_regs(target_elf_gregset_t *regs, const CPUOpenRISCState *env) @@ -685,7 +683,7 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, =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]; +typedef target_ulong target_elf_gregset_t[ELF_NREG]; =20 /* See linux kernel: arch/sh/include/asm/ptrace.h. */ enum { @@ -728,7 +726,7 @@ static inline void elf_core_copy_regs(target_elf_gregse= t_t *regs, =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]; +typedef target_ulong target_elf_gregset_t[ELF_NREG]; =20 static void elf_core_copy_regs(target_elf_gregset_t *regs, const CPUM68KSt= ate *env) { @@ -776,7 +774,7 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, const CPUM68KState *e =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]; +typedef target_ulong target_elf_gregset_t[ELF_NREG]; =20 enum { TARGET_REG_PSWM =3D 0, @@ -877,7 +875,7 @@ static bool init_guest_commpage(void) =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]; +typedef target_ulong target_elf_gregset_t[ELF_NREG]; =20 enum { TARGET_REG_PC, @@ -2864,7 +2862,6 @@ int load_elf_binary(struct linux_binprm *bprm, struct= image_info *info) * Next you define type of register set used for dumping. ELF specificati= on * says that it needs to be array of elf_greg_t that has size of ELF_NREG. * - * typedef target_elf_greg_t; * #define ELF_NREG * typedef taret_elf_greg_t target_elf_gregset_t[ELF_NREG]; * --=20 2.43.0 From nobody Sat Nov 15 07:41:35 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=1754176843; cv=none; d=zohomail.com; s=zohoarc; b=ig0fqnWYLXonu5ka4DHo0bE2eBrUzzPVBbv05P1tDOoqtT/X6Uzcspy375IVTqjgYuxsWomQtNpihR9m+7bzhoFkzlQ/MP/cUJWnKXwJwTVvgJ1dd58tySkOJskSQWrtQPw4cinTEl+PhfLcT/gUnrNPf9BQ+1WFybsTFlOFUSs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176843; 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=WoXWe4y77AsCGhDaS9yT+kQxHmDuhBAYI2/iArGrG58=; b=EB00/wIfOS24qp1SGPigl+LK+1IJepWIAs5gMKj+xiwywRV+hE6FhnoYpL8yz/9i0mXp/1q3UKF7IY0rcC6pYvTWxUsf6TBJDEDq6aB77cSpyL4t0BDX9wnc+lnSLIKNkocwxZ8vAIoImEAR3gnkdthURC/tSPeE/ochgGBj2OE= 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 1754176843740420.1909404081182; Sat, 2 Aug 2025 16:20:43 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLNn-0000yB-A4; Sat, 02 Aug 2025 19:11:19 -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 1uiLNY-0008MM-Nr for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:04 -0400 Received: from mail-oo1-xc2c.google.com ([2607:f8b0:4864:20::c2c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLNV-0001fU-Py for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:04 -0400 Received: by mail-oo1-xc2c.google.com with SMTP id 006d021491bc7-6197e13b6b8so1136399eaf.3 for ; Sat, 02 Aug 2025 16:11:01 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.10.56 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:10:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176260; x=1754781060; 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=WoXWe4y77AsCGhDaS9yT+kQxHmDuhBAYI2/iArGrG58=; b=dk6Mo7++hgua1HNHkuDOQFmiz/XIvdOr26rmgkJbhwk+LtC81oRZjzrj2nD7lE8se4 ejDBAoNuj1t2B/nLpz1JjWd9acG3UxSCJBFSbYSpdJAVHYLaefnSBKOS8OvMELd2SGwQ GAh3iIg7Ln5akFax5FtDIuN8ZpldRs9mKy6CQGPVylDLvLMVTXrPLnzz54Jf6oIWcBtY xBN6heIKz9vx5ErdWkDhuj6hoz2y9Mh0GRekGlGV5YQT7IgIdDLPBkraNbnUgTqaPw5E oGDn+TL7e+zWMiNMOoqMVgJueHqjfW1yGUV4ybLFhKAjvBIDtPevjR2ixRk7k2i0rhJj SDDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176260; x=1754781060; 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=WoXWe4y77AsCGhDaS9yT+kQxHmDuhBAYI2/iArGrG58=; b=fR6Znx34H/H9O+Egdmv1eOAiNRoF94ZbI/FnxpiiliucA4VdEu4qJ2z5eZtV2uqKBg 6Sd6LF9ipNaDPAXnLTExHnCDi5GYjTeSE8gJWaINGgFRlkzy2VoT04fPlS6kRgv75UP4 5PvfmRqVelxDb6U/Glh5KtK0KWBOlmGqGWCToiX00HF8M8/XMLO6xXG1RGRJ7DROYGzA iPT7g1mDifCCsl5tjLVRuqYrT29C04BgDDdjA5XK3uxOI07qTe4R9q7kvugqQXREJH7J GlEZw3U8oOk5qVHd3eH5Ww0Z9MVpaM+Oy9g6+l7+EE3UsrqV7kIazEA0d4LJFTFvMrhu DD3w== X-Gm-Message-State: AOJu0Yyn9SsPBBIw7UDfAqd1RgvhAwNBUx1vU4mP+d6y5opl/d8RJVBj Vx42NuJ42gyYpalZNTt8vIPhw6EsZwouUOOnyhiM567g7jCIqZ/CuKg+nklbALl/mHQKE4GA81Q 6e1k0MHg= X-Gm-Gg: ASbGncv3jM8XJyj0Mguwy4qkXXLGIOC/bSpA+xzsp5YbrQrqWO7DAMxYmpRLf4Vfvno WKDgE12ThVZ+MYkL3I6M0uObdZgxWgybPg9fwkeYNtNK0Etn8Qt61g/Ipr8M+JWI2dJkO46Qf3f eY43bUcRzXrasBKb4Tm9EFKPbXjKQKEX2u7WZBoC7+iL1cW53cKUNVGgvlV1E3X4De8nMxPzqXS jxO4k8TSo1ETI/SloDqTTl0YOd1RLPYH7sgM8BU0sayTrJoWgpAlYiNU6QwFhpkvU9sP56lKYqp sG3fX3P28BdBEdp5pVBbMncO2/lKEpyRmeW1ppdUfLSlLSWn4OS9XthACvIFCtdBIKN2Xouphiz jadvcmvATLC5QX+GFszgDbwd3o0q8aKnsoPl8TexjERl3AtfnEGKakIHUgBxyBp8= X-Google-Smtp-Source: AGHT+IEwtK9RGF5EW2Y0w7REq/+SDUzIqLw7KOtBuqEVJPdKmxNxA/+RCc6PHRKB9f2dHIhoPN+4hw== X-Received: by 2002:a05:6820:c91:b0:619:355c:f279 with SMTP id 006d021491bc7-6198f23336bmr2714598eaf.4.1754176260306; Sat, 02 Aug 2025 16:11:00 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v2 46/95] linux-user: Replace tswapreg with tswapl Date: Sun, 3 Aug 2025 09:04:10 +1000 Message-ID: <20250802230459.412251-47-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c2c; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc2c.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: 1754176844711124100 Content-Type: text/plain; charset="utf-8" With the removal of target_elf_greg_t, we don't need a special case tswap. Use tswapl for target_ulong. Signed-off-by: Richard Henderson --- linux-user/elfload.c | 264 +++++++++++++++++++++---------------------- 1 file changed, 129 insertions(+), 135 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 70a1e402d3..e7622e7610 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -130,12 +130,6 @@ int info_is_fdpic(struct image_info *info) #define ELF_DATA ELFDATA2LSB #endif =20 -#ifdef TARGET_ABI_MIPSN32 -#define tswapreg(ptr) tswap64(ptr) -#else -#define tswapreg(ptr) tswapal(ptr) -#endif - #ifdef USE_UID16 typedef abi_ushort target_uid_t; typedef abi_ushort target_gid_t; @@ -163,33 +157,33 @@ typedef target_ulong target_elf_gregset_t[ELF_NREG]; */ 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); + (*regs)[0] =3D tswapl(env->regs[15]); + (*regs)[1] =3D tswapl(env->regs[14]); + (*regs)[2] =3D tswapl(env->regs[13]); + (*regs)[3] =3D tswapl(env->regs[12]); + (*regs)[4] =3D tswapl(env->regs[R_EBP]); + (*regs)[5] =3D tswapl(env->regs[R_EBX]); + (*regs)[6] =3D tswapl(env->regs[11]); + (*regs)[7] =3D tswapl(env->regs[10]); + (*regs)[8] =3D tswapl(env->regs[9]); + (*regs)[9] =3D tswapl(env->regs[8]); + (*regs)[10] =3D tswapl(env->regs[R_EAX]); + (*regs)[11] =3D tswapl(env->regs[R_ECX]); + (*regs)[12] =3D tswapl(env->regs[R_EDX]); + (*regs)[13] =3D tswapl(env->regs[R_ESI]); + (*regs)[14] =3D tswapl(env->regs[R_EDI]); + (*regs)[15] =3D tswapl(get_task_state(env_cpu_const(env))->orig_ax); + (*regs)[16] =3D tswapl(env->eip); + (*regs)[17] =3D tswapl(env->segs[R_CS].selector & 0xffff); + (*regs)[18] =3D tswapl(env->eflags); + (*regs)[19] =3D tswapl(env->regs[R_ESP]); + (*regs)[20] =3D tswapl(env->segs[R_SS].selector & 0xffff); + (*regs)[21] =3D tswapl(env->segs[R_FS].selector & 0xffff); + (*regs)[22] =3D tswapl(env->segs[R_GS].selector & 0xffff); + (*regs)[23] =3D tswapl(env->segs[R_DS].selector & 0xffff); + (*regs)[24] =3D tswapl(env->segs[R_ES].selector & 0xffff); + (*regs)[25] =3D tswapl(env->segs[R_FS].selector & 0xffff); + (*regs)[26] =3D tswapl(env->segs[R_GS].selector & 0xffff); } =20 #if ULONG_MAX > UINT32_MAX @@ -240,23 +234,23 @@ typedef target_ulong target_elf_gregset_t[ELF_NREG]; */ 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); + (*regs)[0] =3D tswapl(env->regs[R_EBX]); + (*regs)[1] =3D tswapl(env->regs[R_ECX]); + (*regs)[2] =3D tswapl(env->regs[R_EDX]); + (*regs)[3] =3D tswapl(env->regs[R_ESI]); + (*regs)[4] =3D tswapl(env->regs[R_EDI]); + (*regs)[5] =3D tswapl(env->regs[R_EBP]); + (*regs)[6] =3D tswapl(env->regs[R_EAX]); + (*regs)[7] =3D tswapl(env->segs[R_DS].selector & 0xffff); + (*regs)[8] =3D tswapl(env->segs[R_ES].selector & 0xffff); + (*regs)[9] =3D tswapl(env->segs[R_FS].selector & 0xffff); + (*regs)[10] =3D tswapl(env->segs[R_GS].selector & 0xffff); + (*regs)[11] =3D tswapl(get_task_state(env_cpu_const(env))->orig_ax); + (*regs)[12] =3D tswapl(env->eip); + (*regs)[13] =3D tswapl(env->segs[R_CS].selector & 0xffff); + (*regs)[14] =3D tswapl(env->eflags); + (*regs)[15] =3D tswapl(env->regs[R_ESP]); + (*regs)[16] =3D tswapl(env->segs[R_SS].selector & 0xffff); } =20 /* @@ -294,25 +288,25 @@ typedef target_ulong target_elf_gregset_t[ELF_NREG]; =20 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)[0] =3D tswapl(env->regs[0]); + (*regs)[1] =3D tswapl(env->regs[1]); + (*regs)[2] =3D tswapl(env->regs[2]); + (*regs)[3] =3D tswapl(env->regs[3]); + (*regs)[4] =3D tswapl(env->regs[4]); + (*regs)[5] =3D tswapl(env->regs[5]); + (*regs)[6] =3D tswapl(env->regs[6]); + (*regs)[7] =3D tswapl(env->regs[7]); + (*regs)[8] =3D tswapl(env->regs[8]); + (*regs)[9] =3D tswapl(env->regs[9]); + (*regs)[10] =3D tswapl(env->regs[10]); + (*regs)[11] =3D tswapl(env->regs[11]); + (*regs)[12] =3D tswapl(env->regs[12]); + (*regs)[13] =3D tswapl(env->regs[13]); + (*regs)[14] =3D tswapl(env->regs[14]); + (*regs)[15] =3D tswapl(env->regs[15]); =20 - (*regs)[16] =3D tswapreg(cpsr_read((CPUARMState *)env)); - (*regs)[17] =3D tswapreg(env->regs[0]); /* XXX */ + (*regs)[16] =3D tswapl(cpsr_read((CPUARMState *)env)); + (*regs)[17] =3D tswapl(env->regs[0]); /* XXX */ } =20 #define USE_ELF_CORE_DUMP @@ -398,10 +392,10 @@ static void elf_core_copy_regs(target_elf_gregset_t *= regs, int i; =20 for (i =3D 0; i < 32; i++) { - (*regs)[i] =3D tswapreg(env->xregs[i]); + (*regs)[i] =3D tswapl(env->xregs[i]); } - (*regs)[32] =3D tswapreg(env->pc); - (*regs)[33] =3D tswapreg(pstate_read((CPUARMState *)env)); + (*regs)[32] =3D tswapl(env->pc); + (*regs)[33] =3D tswapl(pstate_read((CPUARMState *)env)); } =20 #define USE_ELF_CORE_DUMP @@ -485,17 +479,17 @@ static void elf_core_copy_regs(target_elf_gregset_t *= regs, const CPUPPCState *en target_ulong ccr =3D 0; =20 for (i =3D 0; i < ARRAY_SIZE(env->gpr); i++) { - (*regs)[i] =3D tswapreg(env->gpr[i]); + (*regs)[i] =3D tswapl(env->gpr[i]); } =20 - (*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)); + (*regs)[32] =3D tswapl(env->nip); + (*regs)[33] =3D tswapl(env->msr); + (*regs)[35] =3D tswapl(env->ctr); + (*regs)[36] =3D tswapl(env->lr); + (*regs)[37] =3D tswapl(cpu_read_xer(env)); =20 ccr =3D ppc_get_cr(env); - (*regs)[38] =3D tswapreg(ccr); + (*regs)[38] =3D tswapl(ccr); } =20 #define USE_ELF_CORE_DUMP @@ -539,11 +533,11 @@ static void elf_core_copy_regs(target_elf_gregset_t *= regs, (*regs)[TARGET_EF_R0] =3D 0; =20 for (i =3D 1; i < ARRAY_SIZE(env->gpr); i++) { - (*regs)[TARGET_EF_R0 + i] =3D tswapreg(env->gpr[i]); + (*regs)[TARGET_EF_R0 + i] =3D tswapl(env->gpr[i]); } =20 - (*regs)[TARGET_EF_CSR_ERA] =3D tswapreg(env->pc); - (*regs)[TARGET_EF_CSR_BADV] =3D tswapreg(env->CSR_BADV); + (*regs)[TARGET_EF_CSR_ERA] =3D tswapl(env->pc); + (*regs)[TARGET_EF_CSR_BADV] =3D tswapl(env->CSR_BADV); } =20 #define USE_ELF_CORE_DUMP @@ -599,17 +593,17 @@ static void elf_core_copy_regs(target_elf_gregset_t *= regs, const CPUMIPSState *e (*regs)[TARGET_EF_R0] =3D 0; =20 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_R0 + i] =3D tswapl(env->active_tc.gpr[i]); } =20 (*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); + (*regs)[TARGET_EF_LO] =3D tswapl(env->active_tc.LO[0]); + (*regs)[TARGET_EF_HI] =3D tswapl(env->active_tc.HI[0]); + (*regs)[TARGET_EF_CP0_EPC] =3D tswapl(env->active_tc.PC); + (*regs)[TARGET_EF_CP0_BADVADDR] =3D tswapl(env->CP0_BadVAddr); + (*regs)[TARGET_EF_CP0_STATUS] =3D tswapl(env->CP0_Status); + (*regs)[TARGET_EF_CP0_CAUSE] =3D tswapl(env->CP0_Cause); } =20 #define USE_ELF_CORE_DUMP @@ -636,15 +630,15 @@ static void elf_core_copy_regs(target_elf_gregset_t *= regs, const CPUMBState *env int i, pos =3D 0; =20 for (i =3D 0; i < 32; i++) { - (*regs)[pos++] =3D tswapreg(env->regs[i]); + (*regs)[pos++] =3D tswapl(env->regs[i]); } =20 - (*regs)[pos++] =3D tswapreg(env->pc); - (*regs)[pos++] =3D tswapreg(mb_cpu_read_msr(env)); + (*regs)[pos++] =3D tswapl(env->pc); + (*regs)[pos++] =3D tswapl(mb_cpu_read_msr(env)); (*regs)[pos++] =3D 0; - (*regs)[pos++] =3D tswapreg(env->ear); + (*regs)[pos++] =3D tswapl(env->ear); (*regs)[pos++] =3D 0; - (*regs)[pos++] =3D tswapreg(env->esr); + (*regs)[pos++] =3D tswapl(env->esr); } =20 #endif /* TARGET_MICROBLAZE */ @@ -668,10 +662,10 @@ static void elf_core_copy_regs(target_elf_gregset_t *= regs, int i; =20 for (i =3D 0; i < 32; i++) { - (*regs)[i] =3D tswapreg(cpu_get_gpr(env, i)); + (*regs)[i] =3D tswapl(cpu_get_gpr(env, i)); } - (*regs)[32] =3D tswapreg(env->pc); - (*regs)[33] =3D tswapreg(cpu_get_sr(env)); + (*regs)[32] =3D tswapl(env->pc); + (*regs)[33] =3D tswapl(cpu_get_sr(env)); } =20 #endif /* TARGET_OPENRISC */ @@ -702,15 +696,15 @@ static inline void elf_core_copy_regs(target_elf_greg= set_t *regs, int i; =20 for (i =3D 0; i < 16; i++) { - (*regs)[i] =3D tswapreg(env->gregs[i]); + (*regs)[i] =3D tswapl(env->gregs[i]); } =20 - (*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_PC] =3D tswapl(env->pc); + (*regs)[TARGET_REG_PR] =3D tswapl(env->pr); + (*regs)[TARGET_REG_SR] =3D tswapl(env->sr); + (*regs)[TARGET_REG_GBR] =3D tswapl(env->gbr); + (*regs)[TARGET_REG_MACH] =3D tswapl(env->mach); + (*regs)[TARGET_REG_MACL] =3D tswapl(env->macl); (*regs)[TARGET_REG_SYSCALL] =3D 0; /* FIXME */ } =20 @@ -730,25 +724,25 @@ typedef target_ulong target_elf_gregset_t[ELF_NREG]; =20 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)[0] =3D tswapl(env->dregs[1]); + (*regs)[1] =3D tswapl(env->dregs[2]); + (*regs)[2] =3D tswapl(env->dregs[3]); + (*regs)[3] =3D tswapl(env->dregs[4]); + (*regs)[4] =3D tswapl(env->dregs[5]); + (*regs)[5] =3D tswapl(env->dregs[6]); + (*regs)[6] =3D tswapl(env->dregs[7]); + (*regs)[7] =3D tswapl(env->aregs[0]); + (*regs)[8] =3D tswapl(env->aregs[1]); + (*regs)[9] =3D tswapl(env->aregs[2]); + (*regs)[10] =3D tswapl(env->aregs[3]); + (*regs)[11] =3D tswapl(env->aregs[4]); + (*regs)[12] =3D tswapl(env->aregs[5]); + (*regs)[13] =3D tswapl(env->aregs[6]); + (*regs)[14] =3D tswapl(env->dregs[0]); + (*regs)[15] =3D tswapl(env->aregs[7]); + (*regs)[16] =3D tswapl(env->dregs[0]); /* FIXME: orig_d0 */ + (*regs)[17] =3D tswapl(env->sr); + (*regs)[18] =3D tswapl(env->pc); (*regs)[19] =3D 0; /* FIXME: regs->format | regs->vector */ } =20 @@ -790,10 +784,10 @@ static void elf_core_copy_regs(target_elf_gregset_t *= regs, int i; uint32_t *aregs; =20 - (*regs)[TARGET_REG_PSWM] =3D tswapreg(env->psw.mask); - (*regs)[TARGET_REG_PSWA] =3D tswapreg(env->psw.addr); + (*regs)[TARGET_REG_PSWM] =3D tswapl(env->psw.mask); + (*regs)[TARGET_REG_PSWA] =3D tswapl(env->psw.addr); for (i =3D 0; i < 16; i++) { - (*regs)[TARGET_REG_GPRS + i] =3D tswapreg(env->regs[i]); + (*regs)[TARGET_REG_GPRS + i] =3D tswapl(env->regs[i]); } aregs =3D (uint32_t *)&((*regs)[TARGET_REG_ARS]); for (i =3D 0; i < 16; i++) { @@ -895,18 +889,18 @@ static void elf_core_copy_regs(target_elf_gregset_t *= regs, { unsigned i; =20 - (*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]); + (*regs)[TARGET_REG_PC] =3D tswapl(env->pc); + (*regs)[TARGET_REG_PS] =3D tswapl(env->sregs[PS] & ~PS_EXCM); + (*regs)[TARGET_REG_LBEG] =3D tswapl(env->sregs[LBEG]); + (*regs)[TARGET_REG_LEND] =3D tswapl(env->sregs[LEND]); + (*regs)[TARGET_REG_LCOUNT] =3D tswapl(env->sregs[LCOUNT]); + (*regs)[TARGET_REG_SAR] =3D tswapl(env->sregs[SAR]); + (*regs)[TARGET_REG_WINDOWSTART] =3D tswapl(env->sregs[WINDOW_START]); + (*regs)[TARGET_REG_WINDOWBASE] =3D tswapl(env->sregs[WINDOW_BASE]); + (*regs)[TARGET_REG_THREADPTR] =3D tswapl(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]); + (*regs)[TARGET_REG_AR0 + i] =3D tswapl(env->phys_regs[i]); } } =20 --=20 2.43.0 From nobody Sat Nov 15 07:41:35 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=1754176382; cv=none; d=zohomail.com; s=zohoarc; b=JpPa9amNsPrJ5porFpJV64mgYPBdyWaY/MgpNRSmiDkFQLXuHrkmfxwAB6DqdUHRH1Ql8BYG0gwHT7260uTe07461MrQlI9W+q0uyVaJeKOj+ZoiUdeIrE4y3AXEQVH/FnAJFH5EwgDEzVsSb1zYjBGE/q5cJCabhlvHj0QwmJk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176382; 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=pE1fLFmCJjFnuFo97HR7nzUPrHPG2zxXSObncEMANME=; b=TX96qqJWFRnFglNGFiiM+3bkW+UHawgm4UOfzzQOGEGb5Z6r9/y1F82w3Uzl2S2WHK6fa5P2ipkpO++QBXutPvH+I/gqm5IqAbhvql/ABfLpiQ+aIH99Y9LIZQwLZXy38NGyDoJJ2OxColv1jfjUzwBEFvxWPU/YqcnMfdQIJQ4= 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 175417638289727.284371141682755; Sat, 2 Aug 2025 16:13:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLNm-0000uM-Az; Sat, 02 Aug 2025 19:11:18 -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 1uiLNc-0000EV-RI for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:09 -0400 Received: from mail-oo1-xc32.google.com ([2607:f8b0:4864:20::c32]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLNZ-0001fz-O1 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:08 -0400 Received: by mail-oo1-xc32.google.com with SMTP id 006d021491bc7-610cbca60cdso1074290eaf.0 for ; Sat, 02 Aug 2025 16:11:05 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.11.00 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:11:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176264; x=1754781064; 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=pE1fLFmCJjFnuFo97HR7nzUPrHPG2zxXSObncEMANME=; b=z7bobjeOva9hY/4w7VjRsVFiWQjwH3R7tMaV1hWOW5Nc8ILnV2renmmmKLix+LdByK o192CjKnLHjXOpc5T2gRxetRIc71WoLRAj4luVWWdO8PgL5mQ1Vjw4/CCn7SVaGpln2t cjCDkl2UuKRkvZQpDa/9pDJhIsLaMbCDhyh7QRHAbsX/e0eBNAIDHOjmPkc8YMfVe1/o 7z4wlkJEr5mWReQIGwKmxgTzHfsyHIgc9EzZquR+aGELkoBibuYm8m623Mwd+n7y0nNc waVGhuZlVI/B06rwz8/JCBfEuD2oOLBGTLDhDEsl1yucou3VBYNeuawoO+2dmQidbwQ4 nXCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176264; x=1754781064; 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=pE1fLFmCJjFnuFo97HR7nzUPrHPG2zxXSObncEMANME=; b=Q79dDBUuS2Yh9bEqrhHJIT19WxSPrCOcKIoWUF6cEVViet0IyYycsTKkaMdOODYAGn pBAu+C/LSp+cCZImJr053JpBBuy5pWAijzDrO2l+H7XELg8U4gHIfRGNJqQ8Lqw7p4MZ yX0JotYLR7Bszi4UyzxfQ5IIX4xaxYrlkg0sS+wJs1KPJfTheia2rJSQo3MpdtvUgFr0 xwuohGhWqzPSH1ViW/jAFta86W0I5giO+cWdcY9wUusJeExG5zr3vzA8s1d2lDuU9yK5 3eHT5vUGFsd0NKpHV8gnAfxmveVwXeVK+K0fm7Pgxbs+oqUvBvuuiqvJSs3FSmTMNbJP o87w== X-Gm-Message-State: AOJu0YzgwfoMLkZfluIuHFh65UVPHqKrVGxuEX5mZfd3l+7/8yghNBkS MXN6eb3iElXEjEKuZJ98KA+TDRCO1Gf/UDpmXoQM4TlXW1cwA8/lDRM3vJquOAqQJV1pd7M5cqW PMk66PPQ= X-Gm-Gg: ASbGncvxnEtCuzdTX9p+bmM+7rPNpRF1myoCbsqiRfFA4KJQP4qjHl0Y01tuySPVU8H +R5FN4J9R7g98lVf2WhDRbfxTpQzljoohkiomZorDX4BAgtTkrogsw72XkaLmC991gElHNq/9XW 2OqJ6O45Ha7XBIj0MkRZkUYkmOoU8Ee326IWdFoqaBBOUV6QfYeoOGnw6EwIwc1Nb0UEKtilZVs yq4WDZZMm0xf6OXlmhZc3EOkvNdAmullTQTOYX7YO1JflbrdsPSyCowkSIj66ungoPoYZMlgpIo 4Xf/BXwyaQNvywhylx5PNxb9/AdWCpGq6rkcGUBPm4KWAqRI8SSDn1f4MgGfhpKSEY0XeKrR2Oq 5CR8iprwLCuZidYcYEaWgbUoMjjMD2A8/u0tuYHX/y1Ex8DJN9xRB X-Google-Smtp-Source: AGHT+IHFQerrw5r16Yz6Kx+H7KLwf1lpAVjPWLeZHd4nfUtkRoygiR/DUMTu4KZnxaOzUrvuruR6AA== X-Received: by 2002:a05:6820:c019:b0:619:950f:1d5c with SMTP id 006d021491bc7-619950f261fmr1121058eaf.1.1754176264399; Sat, 02 Aug 2025 16:11:04 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v2 47/95] linux-user: Unify elf_core_copy_regs signatures Date: Sun, 3 Aug 2025 09:04:11 +1000 Message-ID: <20250802230459.412251-48-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c32; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc32.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: 1754176384192116600 Content-Type: text/plain; charset="utf-8" All definitions of target_elf_gregset_t are an array of ELF_NREG target_ulong. Unify the signatures of the target-specific elf_core_copy_regs by passing a pointer to target_ulong instead. Update the data usage within struct target_elf_prstatus. Signed-off-by: Richard Henderson --- linux-user/elfload.c | 321 +++++++++++++++++++------------------------ 1 file changed, 143 insertions(+), 178 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index e7622e7610..147c309057 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -146,7 +146,6 @@ typedef abi_int target_pid_t; #define ELF_ARCH EM_X86_64 =20 #define ELF_NREG 27 -typedef target_ulong target_elf_gregset_t[ELF_NREG]; =20 /* * Note that ELF_NREG should be 29 as there should be place for @@ -155,35 +154,35 @@ typedef target_ulong target_elf_gregset_t[ELF_NREG]; * * See linux kernel: arch/x86/include/asm/elf.h */ -static void elf_core_copy_regs(target_elf_gregset_t *regs, const CPUX86Sta= te *env) +static void elf_core_copy_regs(target_ulong *regs, const CPUX86State *env) { - (*regs)[0] =3D tswapl(env->regs[15]); - (*regs)[1] =3D tswapl(env->regs[14]); - (*regs)[2] =3D tswapl(env->regs[13]); - (*regs)[3] =3D tswapl(env->regs[12]); - (*regs)[4] =3D tswapl(env->regs[R_EBP]); - (*regs)[5] =3D tswapl(env->regs[R_EBX]); - (*regs)[6] =3D tswapl(env->regs[11]); - (*regs)[7] =3D tswapl(env->regs[10]); - (*regs)[8] =3D tswapl(env->regs[9]); - (*regs)[9] =3D tswapl(env->regs[8]); - (*regs)[10] =3D tswapl(env->regs[R_EAX]); - (*regs)[11] =3D tswapl(env->regs[R_ECX]); - (*regs)[12] =3D tswapl(env->regs[R_EDX]); - (*regs)[13] =3D tswapl(env->regs[R_ESI]); - (*regs)[14] =3D tswapl(env->regs[R_EDI]); - (*regs)[15] =3D tswapl(get_task_state(env_cpu_const(env))->orig_ax); - (*regs)[16] =3D tswapl(env->eip); - (*regs)[17] =3D tswapl(env->segs[R_CS].selector & 0xffff); - (*regs)[18] =3D tswapl(env->eflags); - (*regs)[19] =3D tswapl(env->regs[R_ESP]); - (*regs)[20] =3D tswapl(env->segs[R_SS].selector & 0xffff); - (*regs)[21] =3D tswapl(env->segs[R_FS].selector & 0xffff); - (*regs)[22] =3D tswapl(env->segs[R_GS].selector & 0xffff); - (*regs)[23] =3D tswapl(env->segs[R_DS].selector & 0xffff); - (*regs)[24] =3D tswapl(env->segs[R_ES].selector & 0xffff); - (*regs)[25] =3D tswapl(env->segs[R_FS].selector & 0xffff); - (*regs)[26] =3D tswapl(env->segs[R_GS].selector & 0xffff); + regs[0] =3D tswapl(env->regs[15]); + regs[1] =3D tswapl(env->regs[14]); + regs[2] =3D tswapl(env->regs[13]); + regs[3] =3D tswapl(env->regs[12]); + regs[4] =3D tswapl(env->regs[R_EBP]); + regs[5] =3D tswapl(env->regs[R_EBX]); + regs[6] =3D tswapl(env->regs[11]); + regs[7] =3D tswapl(env->regs[10]); + regs[8] =3D tswapl(env->regs[9]); + regs[9] =3D tswapl(env->regs[8]); + regs[10] =3D tswapl(env->regs[R_EAX]); + regs[11] =3D tswapl(env->regs[R_ECX]); + regs[12] =3D tswapl(env->regs[R_EDX]); + regs[13] =3D tswapl(env->regs[R_ESI]); + regs[14] =3D tswapl(env->regs[R_EDI]); + regs[15] =3D tswapl(get_task_state(env_cpu_const(env))->orig_ax); + regs[16] =3D tswapl(env->eip); + regs[17] =3D tswapl(env->segs[R_CS].selector & 0xffff); + regs[18] =3D tswapl(env->eflags); + regs[19] =3D tswapl(env->regs[R_ESP]); + regs[20] =3D tswapl(env->segs[R_SS].selector & 0xffff); + regs[21] =3D tswapl(env->segs[R_FS].selector & 0xffff); + regs[22] =3D tswapl(env->segs[R_GS].selector & 0xffff); + regs[23] =3D tswapl(env->segs[R_DS].selector & 0xffff); + regs[24] =3D tswapl(env->segs[R_ES].selector & 0xffff); + regs[25] =3D tswapl(env->segs[R_FS].selector & 0xffff); + regs[26] =3D tswapl(env->segs[R_GS].selector & 0xffff); } =20 #if ULONG_MAX > UINT32_MAX @@ -223,7 +222,6 @@ static bool init_guest_commpage(void) #define EXSTACK_DEFAULT true =20 #define ELF_NREG 17 -typedef target_ulong target_elf_gregset_t[ELF_NREG]; =20 /* * Note that ELF_NREG should be 19 as there should be place for @@ -232,25 +230,25 @@ typedef target_ulong target_elf_gregset_t[ELF_NREG]; * * See linux kernel: arch/x86/include/asm/elf.h */ -static void elf_core_copy_regs(target_elf_gregset_t *regs, const CPUX86Sta= te *env) +static void elf_core_copy_regs(target_ulong *regs, const CPUX86State *env) { - (*regs)[0] =3D tswapl(env->regs[R_EBX]); - (*regs)[1] =3D tswapl(env->regs[R_ECX]); - (*regs)[2] =3D tswapl(env->regs[R_EDX]); - (*regs)[3] =3D tswapl(env->regs[R_ESI]); - (*regs)[4] =3D tswapl(env->regs[R_EDI]); - (*regs)[5] =3D tswapl(env->regs[R_EBP]); - (*regs)[6] =3D tswapl(env->regs[R_EAX]); - (*regs)[7] =3D tswapl(env->segs[R_DS].selector & 0xffff); - (*regs)[8] =3D tswapl(env->segs[R_ES].selector & 0xffff); - (*regs)[9] =3D tswapl(env->segs[R_FS].selector & 0xffff); - (*regs)[10] =3D tswapl(env->segs[R_GS].selector & 0xffff); - (*regs)[11] =3D tswapl(get_task_state(env_cpu_const(env))->orig_ax); - (*regs)[12] =3D tswapl(env->eip); - (*regs)[13] =3D tswapl(env->segs[R_CS].selector & 0xffff); - (*regs)[14] =3D tswapl(env->eflags); - (*regs)[15] =3D tswapl(env->regs[R_ESP]); - (*regs)[16] =3D tswapl(env->segs[R_SS].selector & 0xffff); + regs[0] =3D tswapl(env->regs[R_EBX]); + regs[1] =3D tswapl(env->regs[R_ECX]); + regs[2] =3D tswapl(env->regs[R_EDX]); + regs[3] =3D tswapl(env->regs[R_ESI]); + regs[4] =3D tswapl(env->regs[R_EDI]); + regs[5] =3D tswapl(env->regs[R_EBP]); + regs[6] =3D tswapl(env->regs[R_EAX]); + regs[7] =3D tswapl(env->segs[R_DS].selector & 0xffff); + regs[8] =3D tswapl(env->segs[R_ES].selector & 0xffff); + regs[9] =3D tswapl(env->segs[R_FS].selector & 0xffff); + regs[10] =3D tswapl(env->segs[R_GS].selector & 0xffff); + regs[11] =3D tswapl(get_task_state(env_cpu_const(env))->orig_ax); + regs[12] =3D tswapl(env->eip); + regs[13] =3D tswapl(env->segs[R_CS].selector & 0xffff); + regs[14] =3D tswapl(env->eflags); + regs[15] =3D tswapl(env->regs[R_ESP]); + regs[16] =3D tswapl(env->segs[R_SS].selector & 0xffff); } =20 /* @@ -284,29 +282,14 @@ static void elf_core_copy_regs(target_elf_gregset_t *= regs, const CPUX86State *en #define EXSTACK_DEFAULT true =20 #define ELF_NREG 18 -typedef target_ulong target_elf_gregset_t[ELF_NREG]; =20 -static void elf_core_copy_regs(target_elf_gregset_t *regs, const CPUARMSta= te *env) +static void elf_core_copy_regs(target_ulong *regs, const CPUARMState *env) { - (*regs)[0] =3D tswapl(env->regs[0]); - (*regs)[1] =3D tswapl(env->regs[1]); - (*regs)[2] =3D tswapl(env->regs[2]); - (*regs)[3] =3D tswapl(env->regs[3]); - (*regs)[4] =3D tswapl(env->regs[4]); - (*regs)[5] =3D tswapl(env->regs[5]); - (*regs)[6] =3D tswapl(env->regs[6]); - (*regs)[7] =3D tswapl(env->regs[7]); - (*regs)[8] =3D tswapl(env->regs[8]); - (*regs)[9] =3D tswapl(env->regs[9]); - (*regs)[10] =3D tswapl(env->regs[10]); - (*regs)[11] =3D tswapl(env->regs[11]); - (*regs)[12] =3D tswapl(env->regs[12]); - (*regs)[13] =3D tswapl(env->regs[13]); - (*regs)[14] =3D tswapl(env->regs[14]); - (*regs)[15] =3D tswapl(env->regs[15]); - - (*regs)[16] =3D tswapl(cpsr_read((CPUARMState *)env)); - (*regs)[17] =3D tswapl(env->regs[0]); /* XXX */ + for (int i =3D 0; i < 16; i++) { + regs[i] =3D tswapl(env->regs[i]); + } + regs[16] =3D tswapl(cpsr_read((CPUARMState *)env)); + regs[17] =3D tswapl(env->regs[0]); /* XXX */ } =20 #define USE_ELF_CORE_DUMP @@ -384,18 +367,16 @@ static const VdsoImageInfo *vdso_image_info(uint32_t = elf_flags) #define ELF_CLASS ELFCLASS64 =20 #define ELF_NREG 34 -typedef target_ulong target_elf_gregset_t[ELF_NREG]; =20 -static void elf_core_copy_regs(target_elf_gregset_t *regs, - const CPUARMState *env) +static void elf_core_copy_regs(target_ulong *regs, const CPUARMState *env) { int i; =20 for (i =3D 0; i < 32; i++) { - (*regs)[i] =3D tswapl(env->xregs[i]); + regs[i] =3D tswapl(env->xregs[i]); } - (*regs)[32] =3D tswapl(env->pc); - (*regs)[33] =3D tswapl(pstate_read((CPUARMState *)env)); + regs[32] =3D tswapl(env->pc); + regs[33] =3D tswapl(pstate_read((CPUARMState *)env)); } =20 #define USE_ELF_CORE_DUMP @@ -471,25 +452,24 @@ static void elf_core_copy_regs(target_elf_gregset_t *= regs, =20 /* See linux kernel: arch/powerpc/include/asm/elf.h. */ #define ELF_NREG 48 -typedef target_ulong target_elf_gregset_t[ELF_NREG]; =20 -static void elf_core_copy_regs(target_elf_gregset_t *regs, const CPUPPCSta= te *env) +static void elf_core_copy_regs(target_ulong *regs, const CPUPPCState *env) { int i; target_ulong ccr =3D 0; =20 for (i =3D 0; i < ARRAY_SIZE(env->gpr); i++) { - (*regs)[i] =3D tswapl(env->gpr[i]); + regs[i] =3D tswapl(env->gpr[i]); } =20 - (*regs)[32] =3D tswapl(env->nip); - (*regs)[33] =3D tswapl(env->msr); - (*regs)[35] =3D tswapl(env->ctr); - (*regs)[36] =3D tswapl(env->lr); - (*regs)[37] =3D tswapl(cpu_read_xer(env)); + regs[32] =3D tswapl(env->nip); + regs[33] =3D tswapl(env->msr); + regs[35] =3D tswapl(env->ctr); + regs[36] =3D tswapl(env->lr); + regs[37] =3D tswapl(cpu_read_xer(env)); =20 ccr =3D ppc_get_cr(env); - (*regs)[38] =3D tswapl(ccr); + regs[38] =3D tswapl(ccr); } =20 #define USE_ELF_CORE_DUMP @@ -517,7 +497,6 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, const CPUPPCState *en =20 /* See linux kernel: arch/loongarch/include/asm/elf.h */ #define ELF_NREG 45 -typedef target_ulong target_elf_gregset_t[ELF_NREG]; =20 enum { TARGET_EF_R0 =3D 0, @@ -525,19 +504,18 @@ enum { TARGET_EF_CSR_BADV =3D TARGET_EF_R0 + 34, }; =20 -static void elf_core_copy_regs(target_elf_gregset_t *regs, - const CPULoongArchState *env) +static void elf_core_copy_regs(target_ulong *regs, const CPULoongArchState= *env) { int i; =20 - (*regs)[TARGET_EF_R0] =3D 0; + regs[TARGET_EF_R0] =3D 0; =20 for (i =3D 1; i < ARRAY_SIZE(env->gpr); i++) { - (*regs)[TARGET_EF_R0 + i] =3D tswapl(env->gpr[i]); + regs[TARGET_EF_R0 + i] =3D tswapl(env->gpr[i]); } =20 - (*regs)[TARGET_EF_CSR_ERA] =3D tswapl(env->pc); - (*regs)[TARGET_EF_CSR_BADV] =3D tswapl(env->CSR_BADV); + regs[TARGET_EF_CSR_ERA] =3D tswapl(env->pc); + regs[TARGET_EF_CSR_BADV] =3D tswapl(env->CSR_BADV); } =20 #define USE_ELF_CORE_DUMP @@ -563,7 +541,6 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, =20 /* See linux kernel: arch/mips/include/asm/elf.h. */ #define ELF_NREG 45 -typedef target_ulong target_elf_gregset_t[ELF_NREG]; =20 /* See linux kernel: arch/mips/include/asm/reg.h. */ enum { @@ -583,27 +560,27 @@ enum { }; =20 /* 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) +static void elf_core_copy_regs(target_ulong *regs, const CPUMIPSState *env) { int i; =20 for (i =3D 0; i < TARGET_EF_R0; i++) { - (*regs)[i] =3D 0; + regs[i] =3D 0; } - (*regs)[TARGET_EF_R0] =3D 0; + regs[TARGET_EF_R0] =3D 0; =20 for (i =3D 1; i < ARRAY_SIZE(env->active_tc.gpr); i++) { - (*regs)[TARGET_EF_R0 + i] =3D tswapl(env->active_tc.gpr[i]); + regs[TARGET_EF_R0 + i] =3D tswapl(env->active_tc.gpr[i]); } =20 - (*regs)[TARGET_EF_R26] =3D 0; - (*regs)[TARGET_EF_R27] =3D 0; - (*regs)[TARGET_EF_LO] =3D tswapl(env->active_tc.LO[0]); - (*regs)[TARGET_EF_HI] =3D tswapl(env->active_tc.HI[0]); - (*regs)[TARGET_EF_CP0_EPC] =3D tswapl(env->active_tc.PC); - (*regs)[TARGET_EF_CP0_BADVADDR] =3D tswapl(env->CP0_BadVAddr); - (*regs)[TARGET_EF_CP0_STATUS] =3D tswapl(env->CP0_Status); - (*regs)[TARGET_EF_CP0_CAUSE] =3D tswapl(env->CP0_Cause); + regs[TARGET_EF_R26] =3D 0; + regs[TARGET_EF_R27] =3D 0; + regs[TARGET_EF_LO] =3D tswapl(env->active_tc.LO[0]); + regs[TARGET_EF_HI] =3D tswapl(env->active_tc.HI[0]); + regs[TARGET_EF_CP0_EPC] =3D tswapl(env->active_tc.PC); + regs[TARGET_EF_CP0_BADVADDR] =3D tswapl(env->CP0_BadVAddr); + regs[TARGET_EF_CP0_STATUS] =3D tswapl(env->CP0_Status); + regs[TARGET_EF_CP0_CAUSE] =3D tswapl(env->CP0_Cause); } =20 #define USE_ELF_CORE_DUMP @@ -622,23 +599,22 @@ static void elf_core_copy_regs(target_elf_gregset_t *= regs, const CPUMIPSState *e =20 #define USE_ELF_CORE_DUMP #define ELF_NREG 38 -typedef target_ulong target_elf_gregset_t[ELF_NREG]; =20 /* 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) +static void elf_core_copy_regs(target_ulong *regs, const CPUMBState *env) { int i, pos =3D 0; =20 for (i =3D 0; i < 32; i++) { - (*regs)[pos++] =3D tswapl(env->regs[i]); + regs[pos++] =3D tswapl(env->regs[i]); } =20 - (*regs)[pos++] =3D tswapl(env->pc); - (*regs)[pos++] =3D tswapl(mb_cpu_read_msr(env)); - (*regs)[pos++] =3D 0; - (*regs)[pos++] =3D tswapl(env->ear); - (*regs)[pos++] =3D 0; - (*regs)[pos++] =3D tswapl(env->esr); + regs[pos++] =3D tswapl(env->pc); + regs[pos++] =3D tswapl(mb_cpu_read_msr(env)); + regs[pos++] =3D 0; + regs[pos++] =3D tswapl(env->ear); + regs[pos++] =3D 0; + regs[pos++] =3D tswapl(env->esr); } =20 #endif /* TARGET_MICROBLAZE */ @@ -654,18 +630,16 @@ static void elf_core_copy_regs(target_elf_gregset_t *= regs, const CPUMBState *env =20 /* See linux kernel arch/openrisc/include/asm/elf.h. */ #define ELF_NREG 34 /* gprs and pc, sr */ -typedef target_ulong target_elf_gregset_t[ELF_NREG]; =20 -static void elf_core_copy_regs(target_elf_gregset_t *regs, - const CPUOpenRISCState *env) +static void elf_core_copy_regs(target_ulong *regs, const CPUOpenRISCState = *env) { int i; =20 for (i =3D 0; i < 32; i++) { - (*regs)[i] =3D tswapl(cpu_get_gpr(env, i)); + regs[i] =3D tswapl(cpu_get_gpr(env, i)); } - (*regs)[32] =3D tswapl(env->pc); - (*regs)[33] =3D tswapl(cpu_get_sr(env)); + regs[32] =3D tswapl(env->pc); + regs[33] =3D tswapl(cpu_get_sr(env)); } =20 #endif /* TARGET_OPENRISC */ @@ -677,7 +651,6 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, =20 /* See linux kernel: arch/sh/include/asm/elf.h. */ #define ELF_NREG 23 -typedef target_ulong target_elf_gregset_t[ELF_NREG]; =20 /* See linux kernel: arch/sh/include/asm/ptrace.h. */ enum { @@ -690,22 +663,21 @@ enum { TARGET_REG_SYSCALL =3D 22 }; =20 -static inline void elf_core_copy_regs(target_elf_gregset_t *regs, - const CPUSH4State *env) +static void elf_core_copy_regs(target_ulong *regs, const CPUSH4State *env) { int i; =20 for (i =3D 0; i < 16; i++) { - (*regs)[i] =3D tswapl(env->gregs[i]); + regs[i] =3D tswapl(env->gregs[i]); } =20 - (*regs)[TARGET_REG_PC] =3D tswapl(env->pc); - (*regs)[TARGET_REG_PR] =3D tswapl(env->pr); - (*regs)[TARGET_REG_SR] =3D tswapl(env->sr); - (*regs)[TARGET_REG_GBR] =3D tswapl(env->gbr); - (*regs)[TARGET_REG_MACH] =3D tswapl(env->mach); - (*regs)[TARGET_REG_MACL] =3D tswapl(env->macl); - (*regs)[TARGET_REG_SYSCALL] =3D 0; /* FIXME */ + regs[TARGET_REG_PC] =3D tswapl(env->pc); + regs[TARGET_REG_PR] =3D tswapl(env->pr); + regs[TARGET_REG_SR] =3D tswapl(env->sr); + regs[TARGET_REG_GBR] =3D tswapl(env->gbr); + regs[TARGET_REG_MACH] =3D tswapl(env->mach); + regs[TARGET_REG_MACL] =3D tswapl(env->macl); + regs[TARGET_REG_SYSCALL] =3D 0; /* FIXME */ } =20 #define USE_ELF_CORE_DUMP @@ -720,30 +692,29 @@ static inline void elf_core_copy_regs(target_elf_greg= set_t *regs, =20 /* See linux kernel: arch/m68k/include/asm/elf.h. */ #define ELF_NREG 20 -typedef target_ulong target_elf_gregset_t[ELF_NREG]; =20 -static void elf_core_copy_regs(target_elf_gregset_t *regs, const CPUM68KSt= ate *env) +static void elf_core_copy_regs(target_ulong *regs, const CPUM68KState *env) { - (*regs)[0] =3D tswapl(env->dregs[1]); - (*regs)[1] =3D tswapl(env->dregs[2]); - (*regs)[2] =3D tswapl(env->dregs[3]); - (*regs)[3] =3D tswapl(env->dregs[4]); - (*regs)[4] =3D tswapl(env->dregs[5]); - (*regs)[5] =3D tswapl(env->dregs[6]); - (*regs)[6] =3D tswapl(env->dregs[7]); - (*regs)[7] =3D tswapl(env->aregs[0]); - (*regs)[8] =3D tswapl(env->aregs[1]); - (*regs)[9] =3D tswapl(env->aregs[2]); - (*regs)[10] =3D tswapl(env->aregs[3]); - (*regs)[11] =3D tswapl(env->aregs[4]); - (*regs)[12] =3D tswapl(env->aregs[5]); - (*regs)[13] =3D tswapl(env->aregs[6]); - (*regs)[14] =3D tswapl(env->dregs[0]); - (*regs)[15] =3D tswapl(env->aregs[7]); - (*regs)[16] =3D tswapl(env->dregs[0]); /* FIXME: orig_d0 */ - (*regs)[17] =3D tswapl(env->sr); - (*regs)[18] =3D tswapl(env->pc); - (*regs)[19] =3D 0; /* FIXME: regs->format | regs->vector */ + regs[0] =3D tswapl(env->dregs[1]); + regs[1] =3D tswapl(env->dregs[2]); + regs[2] =3D tswapl(env->dregs[3]); + regs[3] =3D tswapl(env->dregs[4]); + regs[4] =3D tswapl(env->dregs[5]); + regs[5] =3D tswapl(env->dregs[6]); + regs[6] =3D tswapl(env->dregs[7]); + regs[7] =3D tswapl(env->aregs[0]); + regs[8] =3D tswapl(env->aregs[1]); + regs[9] =3D tswapl(env->aregs[2]); + regs[10] =3D tswapl(env->aregs[3]); + regs[11] =3D tswapl(env->aregs[4]); + regs[12] =3D tswapl(env->aregs[5]); + regs[13] =3D tswapl(env->aregs[6]); + regs[14] =3D tswapl(env->dregs[0]); + regs[15] =3D tswapl(env->aregs[7]); + regs[16] =3D tswapl(env->dregs[0]); /* FIXME: orig_d0 */ + regs[17] =3D tswapl(env->sr); + regs[18] =3D tswapl(env->pc); + regs[19] =3D 0; /* FIXME: regs->format | regs->vector */ } =20 #define USE_ELF_CORE_DUMP @@ -768,7 +739,6 @@ static void elf_core_copy_regs(target_elf_gregset_t *re= gs, const CPUM68KState *e =20 /* See linux kernel: arch/s390/include/uapi/asm/ptrace.h (s390_regs). */ #define ELF_NREG 27 -typedef target_ulong target_elf_gregset_t[ELF_NREG]; =20 enum { TARGET_REG_PSWM =3D 0, @@ -778,22 +748,21 @@ enum { TARGET_REG_ORIG_R2 =3D 26, }; =20 -static void elf_core_copy_regs(target_elf_gregset_t *regs, - const CPUS390XState *env) +static void elf_core_copy_regs(target_ulong *regs, const CPUS390XState *en= v) { int i; uint32_t *aregs; =20 - (*regs)[TARGET_REG_PSWM] =3D tswapl(env->psw.mask); - (*regs)[TARGET_REG_PSWA] =3D tswapl(env->psw.addr); + regs[TARGET_REG_PSWM] =3D tswapl(env->psw.mask); + regs[TARGET_REG_PSWA] =3D tswapl(env->psw.addr); for (i =3D 0; i < 16; i++) { - (*regs)[TARGET_REG_GPRS + i] =3D tswapl(env->regs[i]); + regs[TARGET_REG_GPRS + i] =3D tswapl(env->regs[i]); } - aregs =3D (uint32_t *)&((*regs)[TARGET_REG_ARS]); + aregs =3D (uint32_t *)®s[TARGET_REG_ARS]; for (i =3D 0; i < 16; i++) { aregs[i] =3D tswap32(env->aregs[i]); } - (*regs)[TARGET_REG_ORIG_R2] =3D 0; + regs[TARGET_REG_ORIG_R2] =3D 0; } =20 #define USE_ELF_CORE_DUMP @@ -869,7 +838,6 @@ static bool init_guest_commpage(void) =20 /* See linux kernel: arch/xtensa/include/asm/elf.h. */ #define ELF_NREG 128 -typedef target_ulong target_elf_gregset_t[ELF_NREG]; =20 enum { TARGET_REG_PC, @@ -884,23 +852,22 @@ enum { TARGET_REG_AR0 =3D 64, }; =20 -static void elf_core_copy_regs(target_elf_gregset_t *regs, - const CPUXtensaState *env) +static void elf_core_copy_regs(target_ulong *regs, const CPUXtensaState *e= nv) { unsigned i; =20 - (*regs)[TARGET_REG_PC] =3D tswapl(env->pc); - (*regs)[TARGET_REG_PS] =3D tswapl(env->sregs[PS] & ~PS_EXCM); - (*regs)[TARGET_REG_LBEG] =3D tswapl(env->sregs[LBEG]); - (*regs)[TARGET_REG_LEND] =3D tswapl(env->sregs[LEND]); - (*regs)[TARGET_REG_LCOUNT] =3D tswapl(env->sregs[LCOUNT]); - (*regs)[TARGET_REG_SAR] =3D tswapl(env->sregs[SAR]); - (*regs)[TARGET_REG_WINDOWSTART] =3D tswapl(env->sregs[WINDOW_START]); - (*regs)[TARGET_REG_WINDOWBASE] =3D tswapl(env->sregs[WINDOW_BASE]); - (*regs)[TARGET_REG_THREADPTR] =3D tswapl(env->uregs[THREADPTR]); + regs[TARGET_REG_PC] =3D tswapl(env->pc); + regs[TARGET_REG_PS] =3D tswapl(env->sregs[PS] & ~PS_EXCM); + regs[TARGET_REG_LBEG] =3D tswapl(env->sregs[LBEG]); + regs[TARGET_REG_LEND] =3D tswapl(env->sregs[LEND]); + regs[TARGET_REG_LCOUNT] =3D tswapl(env->sregs[LCOUNT]); + regs[TARGET_REG_SAR] =3D tswapl(env->sregs[SAR]); + regs[TARGET_REG_WINDOWSTART] =3D tswapl(env->sregs[WINDOW_START]); + regs[TARGET_REG_WINDOWBASE] =3D tswapl(env->sregs[WINDOW_BASE]); + regs[TARGET_REG_THREADPTR] =3D tswapl(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 tswapl(env->phys_regs[i]); + regs[TARGET_REG_AR0 + i] =3D tswapl(env->phys_regs[i]); } } =20 @@ -2857,13 +2824,11 @@ int load_elf_binary(struct linux_binprm *bprm, stru= ct image_info *info) * says that it needs to be array of elf_greg_t that has size of ELF_NREG. * * #define ELF_NREG - * typedef taret_elf_greg_t target_elf_gregset_t[ELF_NREG]; * * Last step is to implement target specific function that copies registers * from given cpu into just specified register set. Prototype is: * - * static void elf_core_copy_regs(taret_elf_gregset_t *regs, - * const CPUArchState *env); + * static void elf_core_copy_regs(target_ulong *regs, const CPUArchState *= env); * * Parameters: * regs - copy register values into here (allocated and zeroed by call= er) @@ -2891,7 +2856,7 @@ struct target_elf_prstatus { struct target_timeval pr_stime; /* XXX System time */ struct target_timeval pr_cutime; /* XXX Cumulative user time */ struct target_timeval pr_cstime; /* XXX Cumulative system time */ - target_elf_gregset_t pr_reg; /* GP registers */ + target_ulong pr_reg[ELF_NREG]; /* GP registers */ abi_int pr_fpvalid; /* XXX */ }; =20 @@ -3060,7 +3025,7 @@ static void fill_prstatus_note(void *data, CPUState *= cpu, int signr) .pr_sid =3D getsid(0), }; =20 - elf_core_copy_regs(&prstatus.pr_reg, cpu_env(cpu)); + elf_core_copy_regs(prstatus.pr_reg, cpu_env(cpu)); bswap_prstatus(&prstatus); memcpy(data, &prstatus, sizeof(prstatus)); } --=20 2.43.0 From nobody Sat Nov 15 07:41:35 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=1754176685; cv=none; d=zohomail.com; s=zohoarc; b=H3qiKmNmqHbHI2QTRelEa89pCEAgumPyVe9UA9jpBRU5u5r6vz7Z7NFAXDV8NU4wrLlbVtpqpIXLXykeucJUkNucXpqykkvAHxtZbIQJL81bn4lLeCc8CFBCqJYYf5U+T3aSYfiQB7p5BsaBgq1wo76LokHoujwa1IoT9l9zUAg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176685; 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=tl4Y/fGNJblvvmq3B2ou0KAzvAx2tU4UlLl5v489TQo=; b=Ihz+KXFG0gnywTgWDsYrRzqNbrYHjJwBSo7PzKjJQoes4fzNHKKDrfYSS1ccH1RqqXnVBKTfppyFlm5a2blwrHp8aFCrbuOJ13XAsaSqBTY33lOZTx9b1Z2u8/csBKlUWyeQkit7878InmNtD6ZGJxDne62bZ46Fb9RHyk0d5T8= 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 1754176685780167.74036516847912; Sat, 2 Aug 2025 16:18:05 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLNl-0000sY-VZ; Sat, 02 Aug 2025 19:11:18 -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 1uiLNf-0000Q4-0X for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:11 -0400 Received: from mail-ot1-x32d.google.com ([2607:f8b0:4864:20::32d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLNc-0001gV-S6 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:10 -0400 Received: by mail-ot1-x32d.google.com with SMTP id 46e09a7af769-741b1fe0d48so53977a34.3 for ; Sat, 02 Aug 2025 16:11:08 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.11.05 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:11:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176267; x=1754781067; 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=tl4Y/fGNJblvvmq3B2ou0KAzvAx2tU4UlLl5v489TQo=; b=k48GQTBwdzJ1SUD0lkhfqE4DKhZYpD7usPd47VOpQUWRbWdInbpDStyJRvcOIOQrRW 3okoemzviifJ5ke+TEIReEnmlqeFe8Thw6wTMDBiH+XwOi+HNDOmJKdvwyNhPtPR6xmO Zz1qJu13qS3QSOFllqT9fSdEeW+OT1e2C4JISNns0I5330bhhO1/QNfSr0W+6sLbIc/p 5DC4r+EFTtxZA0SdZ+vmwcGFtqkx7OgoBzbbiy2REeewl52OKbu8iKzql5T2QLPK7Z7r pBfHHU8JFtduLrP8yc+dJ02d0CrlRV0SZPSXA8IfdqDgZ0/zT9Suwl2X3IP39QgJ9T6h WT2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176267; x=1754781067; 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=tl4Y/fGNJblvvmq3B2ou0KAzvAx2tU4UlLl5v489TQo=; b=g6fNz4aMqgbHNiX79t2thYFyh/9WA+39QDdtdVeuD8kmIQcxUodR1do4+HrAE679/i 4I8dIXxA2v4TruQIqsMUSFemn6P2+ng+GGHdInlVjPBE7XhwScRYtDA1kzR/kFq3cQtc T7mzIG6J9uJJxTZUwjobPK8BmOU5f1VSe52wlIoveeFmQqLC4xcmsaxgpqDNIb89oOZy tff+pD+pu/8gyemMkBUzctAyNMeXuZdhwGYitzlVQLSbK+vqhwwet6QY/aXqOO/APmEt HUARGODwHLjp5/4WiCXQMCnI6hKIq3t20H0B0OEFJooF2x5rClBL8KMm2KWXUttGQDMf kUrQ== X-Gm-Message-State: AOJu0Yx55ChyYABvjCRDZiq16xgSDE80vqj51olrtJs+y6NQZpYb9dVD kijAOils3/84/GGUCSDXBLAFyfpo8vOKMTrIhCRuqMbGsz1n0wNfCMu4msuIt6zJNe60XzaG/aN clc0JfbQ= X-Gm-Gg: ASbGnctpYlOBhrWWFEd7AZD/Jqm19GfA35lnFc2+LB5Bam0u4f9Bz2Z/erGxYBTjf3Q NlyCcPEO/Q2kryM3VtJkRjaJB4p0rF8cZmG8qf0DCkzKkFcIdPXUQ59XipuSTahCtoBrJsbgTR+ HWMNLA4M3NOvQMyvL1UkdtruXyTcsfGIRA0kIx2LOXsWpCiarxs5iBjHscVGtLVysr+UiyvNxpx YqI5zhDwrTcDAMMVZ17vvFGgj4Pvzh/AAB88feA4z2JuaB3rQge03OvFRaLhSrX019tYcYW6buQ AQvl1EqnCmD5fINvuKa9hrr3FWrf2zxeGxUff98Of0FY69ne26GAjCgKl4y8vhxMfe8kPllnf1c dFTNsvfiR2fydEV2eWaeO6wt+EwF6kwUo2itJOhe5mXiGtce8WtygcBh5jikFMTA= X-Google-Smtp-Source: AGHT+IFRDjzx8CQAETR9FABPCHS2UZlSWhPawBupfdlaAHj8dujDIkyGrzmZxisfexQfxLZHSywNuA== X-Received: by 2002:a05:6808:2001:b0:40b:4208:7fc0 with SMTP id 5614622812f47-433f034a598mr2747465b6e.30.1754176267591; Sat, 02 Aug 2025 16:11:07 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v2 48/95] linux-user: Declare elf_core_copy_regs in loader.h Date: Sun, 3 Aug 2025 09:04:12 +1000 Message-ID: <20250802230459.412251-49-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::32d; envelope-from=richard.henderson@linaro.org; helo=mail-ot1-x32d.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: 1754176686784116600 Content-Type: text/plain; charset="utf-8" Drop the static from all implementations. Signed-off-by: Richard Henderson --- linux-user/loader.h | 1 + linux-user/elfload.c | 28 ++++++++++++++-------------- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/linux-user/loader.h b/linux-user/loader.h index 6482c7c90c..84bb04f9fd 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -105,5 +105,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); +void elf_core_copy_regs(target_ulong *regs, const CPUArchState *env); =20 #endif /* LINUX_USER_LOADER_H */ diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 147c309057..0e02e8541b 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -154,7 +154,7 @@ typedef abi_int target_pid_t; * * See linux kernel: arch/x86/include/asm/elf.h */ -static void elf_core_copy_regs(target_ulong *regs, const CPUX86State *env) +void elf_core_copy_regs(target_ulong *regs, const CPUX86State *env) { regs[0] =3D tswapl(env->regs[15]); regs[1] =3D tswapl(env->regs[14]); @@ -230,7 +230,7 @@ static bool init_guest_commpage(void) * * See linux kernel: arch/x86/include/asm/elf.h */ -static void elf_core_copy_regs(target_ulong *regs, const CPUX86State *env) +void elf_core_copy_regs(target_ulong *regs, const CPUX86State *env) { regs[0] =3D tswapl(env->regs[R_EBX]); regs[1] =3D tswapl(env->regs[R_ECX]); @@ -283,7 +283,7 @@ static void elf_core_copy_regs(target_ulong *regs, cons= t CPUX86State *env) =20 #define ELF_NREG 18 =20 -static void elf_core_copy_regs(target_ulong *regs, const CPUARMState *env) +void elf_core_copy_regs(target_ulong *regs, const CPUARMState *env) { for (int i =3D 0; i < 16; i++) { regs[i] =3D tswapl(env->regs[i]); @@ -368,7 +368,7 @@ static const VdsoImageInfo *vdso_image_info(uint32_t el= f_flags) =20 #define ELF_NREG 34 =20 -static void elf_core_copy_regs(target_ulong *regs, const CPUARMState *env) +void elf_core_copy_regs(target_ulong *regs, const CPUARMState *env) { int i; =20 @@ -453,7 +453,7 @@ static void elf_core_copy_regs(target_ulong *regs, cons= t CPUARMState *env) /* See linux kernel: arch/powerpc/include/asm/elf.h. */ #define ELF_NREG 48 =20 -static void elf_core_copy_regs(target_ulong *regs, const CPUPPCState *env) +void elf_core_copy_regs(target_ulong *regs, const CPUPPCState *env) { int i; target_ulong ccr =3D 0; @@ -504,7 +504,7 @@ enum { TARGET_EF_CSR_BADV =3D TARGET_EF_R0 + 34, }; =20 -static void elf_core_copy_regs(target_ulong *regs, const CPULoongArchState= *env) +void elf_core_copy_regs(target_ulong *regs, const CPULoongArchState *env) { int i; =20 @@ -560,7 +560,7 @@ enum { }; =20 /* See linux kernel: arch/mips/kernel/process.c:elf_dump_regs. */ -static void elf_core_copy_regs(target_ulong *regs, const CPUMIPSState *env) +void elf_core_copy_regs(target_ulong *regs, const CPUMIPSState *env) { int i; =20 @@ -601,7 +601,7 @@ static void elf_core_copy_regs(target_ulong *regs, cons= t CPUMIPSState *env) #define ELF_NREG 38 =20 /* See linux kernel: arch/mips/kernel/process.c:elf_dump_regs. */ -static void elf_core_copy_regs(target_ulong *regs, const CPUMBState *env) +void elf_core_copy_regs(target_ulong *regs, const CPUMBState *env) { int i, pos =3D 0; =20 @@ -631,7 +631,7 @@ static void elf_core_copy_regs(target_ulong *regs, cons= t CPUMBState *env) /* See linux kernel arch/openrisc/include/asm/elf.h. */ #define ELF_NREG 34 /* gprs and pc, sr */ =20 -static void elf_core_copy_regs(target_ulong *regs, const CPUOpenRISCState = *env) +void elf_core_copy_regs(target_ulong *regs, const CPUOpenRISCState *env) { int i; =20 @@ -663,7 +663,7 @@ enum { TARGET_REG_SYSCALL =3D 22 }; =20 -static void elf_core_copy_regs(target_ulong *regs, const CPUSH4State *env) +void elf_core_copy_regs(target_ulong *regs, const CPUSH4State *env) { int i; =20 @@ -693,7 +693,7 @@ static void elf_core_copy_regs(target_ulong *regs, cons= t CPUSH4State *env) /* See linux kernel: arch/m68k/include/asm/elf.h. */ #define ELF_NREG 20 =20 -static void elf_core_copy_regs(target_ulong *regs, const CPUM68KState *env) +void elf_core_copy_regs(target_ulong *regs, const CPUM68KState *env) { regs[0] =3D tswapl(env->dregs[1]); regs[1] =3D tswapl(env->dregs[2]); @@ -748,7 +748,7 @@ enum { TARGET_REG_ORIG_R2 =3D 26, }; =20 -static void elf_core_copy_regs(target_ulong *regs, const CPUS390XState *en= v) +void elf_core_copy_regs(target_ulong *regs, const CPUS390XState *env) { int i; uint32_t *aregs; @@ -852,7 +852,7 @@ enum { TARGET_REG_AR0 =3D 64, }; =20 -static void elf_core_copy_regs(target_ulong *regs, const CPUXtensaState *e= nv) +void elf_core_copy_regs(target_ulong *regs, const CPUXtensaState *env) { unsigned i; =20 @@ -2828,7 +2828,7 @@ int load_elf_binary(struct linux_binprm *bprm, struct= image_info *info) * Last step is to implement target specific function that copies registers * from given cpu into just specified register set. Prototype is: * - * static void elf_core_copy_regs(target_ulong *regs, const CPUArchState *= env); + * void elf_core_copy_regs(target_ulong *regs, const CPUArchState *env); * * Parameters: * regs - copy register values into here (allocated and zeroed by call= er) --=20 2.43.0 From nobody Sat Nov 15 07:41:35 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=1754176940; cv=none; d=zohomail.com; s=zohoarc; b=bpBF4GFGVmJ/BI2XjS9NA/Fo81ED2vvhl9iuxvIHXyJYV49Nu76YfsTCiGbBF5vB9W8LUUx9H2WP/RbqVE7thRhHq9Mzx1P0mpeCyEU/ysW7HTbKeNu5dTqbCKDcewvM6ovRLMFhJpDiP9Bv+V7L2C8EhXQqbuv03sD/B1QS/ME= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176940; 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=iw+J85S+/WOIJoq0a6UuRf83h3sfoLJC1A6vmK+E5uM=; b=Fm2PLn+kR253UEAcnBrh45iEOmjcWTfjKTzdzTfJwaN1wO6eMrusTgnOuo2iuhp085gSYyGrDpudOioirQ/vJD7tuuCjkhON44zWf0iECkwtJDI5IaQ3B6oDCXxrgR9riR3Ba2H/EnoT1JD7X17t3fWEBEbVTXr6Eddl5COc4k4= 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 1754176940825495.7272106240291; Sat, 2 Aug 2025 16:22:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLNr-0001G3-8E; Sat, 02 Aug 2025 19:11:23 -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 1uiLNi-0000cz-7y for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:14 -0400 Received: from mail-oo1-xc34.google.com ([2607:f8b0:4864:20::c34]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLNg-0001hG-7G for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:13 -0400 Received: by mail-oo1-xc34.google.com with SMTP id 006d021491bc7-615ee07353bso1761233eaf.0 for ; Sat, 02 Aug 2025 16:11:11 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.11.08 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:11:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176271; x=1754781071; 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=iw+J85S+/WOIJoq0a6UuRf83h3sfoLJC1A6vmK+E5uM=; b=uDA3FiyJjJ3JIBqFyRcx2WChdhdG9LRoWyzN+I1gBlmS4EU5cXWjUA5EEmhUB8nfvJ tHmUdwI0qMvCeqiXHZHM9rTN2AujFyt8LNZVvKNeOEonIMo+brwtgOC/4moqawdtEzGn I+Xa58N8hQiUmjVBzD5GtOsAdxbLVNWe1SccDx2WbxZ4KOACj7gjeJEMzrM8WDIAudQG LcHux1oeIsOH41+sL5Mg1cnGhzbi74uo9anguRHdk0Rm/CVm363ddIz+rEXZ2hoM/lGQ qmwzMDy01N3YBjKvBZ4ImJgHjCPOIOuojXhIJ3dOjcwbeKp5DIFrWu9alkczod6iTRWi aFng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176271; x=1754781071; 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=iw+J85S+/WOIJoq0a6UuRf83h3sfoLJC1A6vmK+E5uM=; b=C09yddq6kABc4U1tVSBULKVmsukzL+OsQVeMQkkiINrrrsbXnqsOBUi/HjTSTLVWIj h62TifrDmXA3IIWXsFCWSK+bVQsU64KiLbcEoh70URzp/PHRh55ErlTLf8EFKMuyBg6N DqfUwuxvVRX8XWZT3ZryKbpo4ImReZ+gJfB1H2xOHwfqZZVv2sCDOYHJFMZrSRoykIhG vU0XfoDNY3hJOILuQxGXJUE8mWaHeUCbN+TE6eoHIPji5fu9syUDuZ1Pxj7/ETF2B5F3 4hH5do9W5G6cSgK91xebIdoLYAApblulxEkuPQee6K83WbThR50UjG3B/lHiwG0+cTQ5 Xe2Q== X-Gm-Message-State: AOJu0YwP2JDVTL3fSXrAWN9tix/397Dv7E4IiUYhV28vkjkiGOj2jZw/ k8v//9WQ/AkDOee02Wl9siNKiMKOzQWkAn7M72zNvG/eg0e6rPmuvUfohGNzA6ZFivAHIdJpUEY d/C+5xeA= X-Gm-Gg: ASbGncvRYVcA0/anHB8Cx6F1fadRC2KjrCntLLkhpOmz1G1mQPqracTVvil+QUXiBnp LhNE4Hc5SBE88XuDjxKt0ktrc9F7YOiuA6FRig9yAtCmTDDDKzFDLr4I9ORvli3DioEW35hK3hR qCrvTPcGYwb46vbnqN16HVi3el31Pl+Dl2ccxzmnPptQsHAFIU9C4UOCl3PR+kdQRE+kn6G6Kcd YxbJb8YF870+UGAOX3xPUO4IFKJGGFsgw7kcAs7DGTpkerdbfkEVKdfLDShTS4rx75sO9s0wpjP 5SG5TqIGmHVs/LcGD50zjZ7SUoDZbmGxGneHh8757uAQF4nlvxW8lONdQHtBVgZLUFOGnuJ2ERI 7e8yqmH+ozNfnSCVJ43jNmqWei2sjGH2yDdKvU6GDXAGItz/3fE2t X-Google-Smtp-Source: AGHT+IG2jfHm6wKdiTTlNmqP9v7fNGXwgq5toXsSySEn7F+0t9ARJKKqgQsY+aL0sqGnnUCnh7WHMQ== X-Received: by 2002:a4a:ee83:0:b0:615:9430:f01f with SMTP id 006d021491bc7-6198f101b68mr2465757eaf.2.1754176270745; Sat, 02 Aug 2025 16:11:10 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v2 49/95] linux-user: Remove USE_ELF_CORE_DUMP Date: Sun, 3 Aug 2025 09:04:13 +1000 Message-ID: <20250802230459.412251-50-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c34; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc34.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: 1754176945424124100 Content-Type: text/plain; charset="utf-8" Since ELF_NREG is defined if and only if USE_ELF_CORE_DUMP is also defined, and since ELF_NREG carries useful information, remove USE_ELF_CORE_DUMP and instead use ELF_NREG as a signal that core dumps are supported. Signed-off-by: Richard Henderson --- linux-user/elfload.c | 44 +++++--------------------------------------- 1 file changed, 5 insertions(+), 39 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 0e02e8541b..4e0d52f1f6 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -267,7 +267,6 @@ void elf_core_copy_regs(target_ulong *regs, const CPUX8= 6State *env) =20 #define VDSO_HEADER "vdso.c.inc" =20 -#define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 #endif /* TARGET_I386 */ @@ -292,7 +291,6 @@ void elf_core_copy_regs(target_ulong *regs, const CPUAR= MState *env) regs[17] =3D tswapl(env->regs[0]); /* XXX */ } =20 -#define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 /* The commpage only exists for 32 bit kernels */ @@ -379,7 +377,6 @@ void elf_core_copy_regs(target_ulong *regs, const CPUAR= MState *env) regs[33] =3D tswapl(pstate_read((CPUARMState *)env)); } =20 -#define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 #if TARGET_BIG_ENDIAN @@ -472,7 +469,6 @@ void elf_core_copy_regs(target_ulong *regs, const CPUPP= CState *env) regs[38] =3D tswapl(ccr); } =20 -#define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 #ifndef TARGET_PPC64 @@ -518,7 +514,6 @@ void elf_core_copy_regs(target_ulong *regs, const CPULo= ongArchState *env) regs[TARGET_EF_CSR_BADV] =3D tswapl(env->CSR_BADV); } =20 -#define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 #endif /* TARGET_LOONGARCH64 */ @@ -583,7 +578,6 @@ void elf_core_copy_regs(target_ulong *regs, const CPUMI= PSState *env) regs[TARGET_EF_CP0_CAUSE] =3D tswapl(env->CP0_Cause); } =20 -#define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 #endif /* TARGET_MIPS */ @@ -597,7 +591,6 @@ void elf_core_copy_regs(target_ulong *regs, const CPUMI= PSState *env) =20 #define ELF_EXEC_PAGESIZE 4096 =20 -#define USE_ELF_CORE_DUMP #define ELF_NREG 38 =20 /* See linux kernel: arch/mips/kernel/process.c:elf_dump_regs. */ @@ -625,7 +618,6 @@ void elf_core_copy_regs(target_ulong *regs, const CPUMB= State *env) #define ELF_CLASS ELFCLASS32 #define ELF_DATA ELFDATA2MSB =20 -#define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 8192 =20 /* See linux kernel arch/openrisc/include/asm/elf.h. */ @@ -680,7 +672,6 @@ void elf_core_copy_regs(target_ulong *regs, const CPUSH= 4State *env) regs[TARGET_REG_SYSCALL] =3D 0; /* FIXME */ } =20 -#define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 #endif @@ -717,7 +708,6 @@ void elf_core_copy_regs(target_ulong *regs, const CPUM6= 8KState *env) regs[19] =3D 0; /* FIXME: regs->format | regs->vector */ } =20 -#define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 8192 =20 #endif @@ -765,7 +755,6 @@ void elf_core_copy_regs(target_ulong *regs, const CPUS3= 90XState *env) regs[TARGET_REG_ORIG_R2] =3D 0; } =20 -#define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 #define VDSO_HEADER "vdso.c.inc" @@ -871,7 +860,6 @@ void elf_core_copy_regs(target_ulong *regs, const CPUXt= ensaState *env) } } =20 -#define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 =20 #endif /* TARGET_XTENSA */ @@ -1080,9 +1068,9 @@ static void bswap_mips_abiflags(Mips_elf_abiflags_v0 = *abiflags) } #endif =20 -#ifdef USE_ELF_CORE_DUMP +#ifdef ELF_NREG static int elf_core_dump(int, const CPUArchState *); -#endif /* USE_ELF_CORE_DUMP */ +#endif static void load_symbols(struct elfhdr *hdr, const ImageSource *src, abi_ulong load_bias); =20 @@ -2792,14 +2780,14 @@ int load_elf_binary(struct linux_binprm *bprm, stru= ct image_info *info) g_free(elf_interpreter); } =20 -#ifdef USE_ELF_CORE_DUMP +#ifdef ELF_NREG bprm->core_dump =3D &elf_core_dump; #endif =20 return 0; } =20 -#ifdef USE_ELF_CORE_DUMP +#ifdef ELF_NREG =20 /* * Definitions to generate Intel SVR4-like core files. @@ -2813,28 +2801,6 @@ int load_elf_binary(struct linux_binprm *bprm, struc= t image_info *info) * are marked with XXX. * * Core dump code is copied from linux kernel (fs/binfmt_elf.c). - * - * Porting ELF coredump for target is (quite) simple process. First you - * define USE_ELF_CORE_DUMP in target ELF code (where init_thread() for - * the target resides): - * - * #define USE_ELF_CORE_DUMP - * - * Next you define type of register set used for dumping. ELF specificati= on - * says that it needs to be array of elf_greg_t that has size of ELF_NREG. - * - * #define ELF_NREG - * - * Last step is to implement target specific function that copies registers - * from given cpu into just specified register set. Prototype is: - * - * void elf_core_copy_regs(target_ulong *regs, const CPUArchState *env); - * - * Parameters: - * regs - copy register values into here (allocated and zeroed by call= er) - * env - copy registers from here - * - * Example for ARM target is provided in this file. */ =20 struct target_elf_siginfo { @@ -3359,4 +3325,4 @@ static int elf_core_dump(int signr, const CPUArchStat= e *env) } return ret; } -#endif /* USE_ELF_CORE_DUMP */ +#endif /* ELF_NREG */ --=20 2.43.0 From nobody Sat Nov 15 07:41:35 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 175417696120483.47777403902091; Sat, 2 Aug 2025 16:22:41 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLNs-0001VY-6T; Sat, 02 Aug 2025 19:11: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 1uiLNk-0000qp-Qi for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:17 -0400 Received: from mail-oi1-x234.google.com ([2607:f8b0:4864:20::234]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLNi-0001hi-Pg for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:16 -0400 Received: by mail-oi1-x234.google.com with SMTP id 5614622812f47-433f36eb840so249186b6e.3 for ; Sat, 02 Aug 2025 16:11:14 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.11.11 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:11:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176273; x=1754781073; 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=KbhO7POhrURIC+yT8sCUyvN31i9kXisb1gFTuWumUKk=; b=FU1wx+kvdSR6Z/qij30/RFXlaqF6LULLiXLpzJA+U57UcV/K/S6qALrgSz6+bsVJsk cranlAVSFNNTXSHQZNEYM2zz39K0ABAkAOSB+C1lkonnbpcCxbe9MNQzJW2XZqcurIHa hZUAowKpK+rMZyesAiLJ4IUx80+/288Eu+Szmy54wisG1myyK8mGolYJ3IsjokVqVF38 Or1V/wel9861hhitt5sY67mrXypcSmZJOwGNWN0yoJsrx3KN1HCdFwrymjwQ1FxsoXrv TtpgyWwhEnN3wS+dSCNf2oOaa3VlMEP68Ld2lUiqPEhpbh1Bcx5vC92K6s3Fp78FchQC mfwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176273; x=1754781073; 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=KbhO7POhrURIC+yT8sCUyvN31i9kXisb1gFTuWumUKk=; b=pCy2A9tHMpriQTQsmhJVVGs9xLHZt5K8Fvyn7tHAqxCA9jryaaAqDqYgqtI3KbXH2G NVvkmNUdOrO1Sh9Ajw9mdab/XvJTs9q/surHCBPW0sR+/VC4Jmnn8BVoNiFAcVe0Rkdf 4ic+cH0aUmaVVJHua77zJf5Eb3YCWPiU/CtT3wIyT3EI9UIRhr+PKNByBWO7eCpT5/OL iyoWeLcj9mqQHfC/S6EZwo9pwX6ryPd3K8o0+sTm113eYvRWkBa8P4/CHnXP/rAWkvY3 6DmdzFgpw3x9pelEGCA/mso8bPsr+LYIAw/xMOpgvuRjzL5gxVyTr3s+KjqrCMyF4HNF 2u8g== X-Gm-Message-State: AOJu0YxN5LdVCiLh1YuwfSOpgnuATK7XteHa+tQq1NkIzHtxBHGauWfE 7WBb8nIwTIZiYxSR12vGyh0gjIlMGRvzv1wHJXaUM/CCN65RtK3UupEzIp76g0zHjk/x/+P6bSk BicHGUVY= X-Gm-Gg: ASbGncsa5gDozU+CKUfAZK2RImio0tWuouZWdJI8PNPsV+L1Nb4Ow+W0d4ZnixnDN/Z Cj6m0K1gzP/cIsRDud6pIXO0KNZFpph48rOtv4Pq3IA6QTW0/89rWTrdhBiAHQT/kmdBe/lillT RgtQ2VCViac/W8Yx0YGwmSrK6TPleGqcno7yyS9zjNNSnRvx/3CH29wa2bgzda1Ap108LhLZ4HK zSdTjQTV2+XwAZUaPsrEAVQbqYdPqaD/GJrxglJ+zgaZC6aLH6XB9cLzA5ujEqV1nJCfKeLml5K GTymfQvch/RfYAZKUQHyzpMjdS7fHF1AvPneoTsS2WTDWmk9+fyo+andIBV9FXsDFreOMYnhnT2 6T+QpZVkyRx0HaQUcEzDlpAS3SK67ilyPgS4vmIsReiQypw8YJzXo X-Google-Smtp-Source: AGHT+IH/cxB9wBEkC/gymG6DWSnftqWFYcbr1P/jWTrO3NsHHlFcnwEpXyn3BfK9lXw+Xng85tRfew== X-Received: by 2002:a05:6808:1889:b0:41b:eb59:7c63 with SMTP id 5614622812f47-433f020f7dbmr3065999b6e.1.1754176273347; Sat, 02 Aug 2025 16:11:13 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v2 50/95] linux-user: Move elf_core_copy_regs to {i386, x86_64}/elfload.c Date: Sun, 3 Aug 2025 09:04:14 +1000 Message-ID: <20250802230459.412251-51-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::234; envelope-from=richard.henderson@linaro.org; helo=mail-oi1-x234.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: 1754176963609116600 Content-Type: text/plain; charset="utf-8" Move elf_core_copy_regs to elfload.c. Move ELF_NREG to target_elf.h. Signed-off-by: Richard Henderson --- linux-user/i386/target_elf.h | 8 ++++ linux-user/x86_64/target_elf.h | 8 ++++ linux-user/elfload.c | 70 ---------------------------------- linux-user/i386/elfload.c | 21 ++++++++++ linux-user/x86_64/elfload.c | 31 +++++++++++++++ 5 files changed, 68 insertions(+), 70 deletions(-) diff --git a/linux-user/i386/target_elf.h b/linux-user/i386/target_elf.h index 44dde1ac4a..aaf7b229c0 100644 --- a/linux-user/i386/target_elf.h +++ b/linux-user/i386/target_elf.h @@ -11,4 +11,12 @@ #define HAVE_ELF_HWCAP 1 #define HAVE_ELF_PLATFORM 1 =20 +/* + * 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 + */ +#define ELF_NREG 17 + #endif diff --git a/linux-user/x86_64/target_elf.h b/linux-user/x86_64/target_elf.h index 498c3f7e4e..3ab10a6328 100644 --- a/linux-user/x86_64/target_elf.h +++ b/linux-user/x86_64/target_elf.h @@ -11,4 +11,12 @@ #define HAVE_ELF_HWCAP 1 #define HAVE_ELF_PLATFORM 1 =20 +/* + * 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 + */ +#define ELF_NREG 27 + #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 4e0d52f1f6..177741522c 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -145,46 +145,6 @@ typedef abi_int target_pid_t; #define ELF_CLASS ELFCLASS64 #define ELF_ARCH EM_X86_64 =20 -#define ELF_NREG 27 - -/* - * 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 - */ -void elf_core_copy_regs(target_ulong *regs, const CPUX86State *env) -{ - regs[0] =3D tswapl(env->regs[15]); - regs[1] =3D tswapl(env->regs[14]); - regs[2] =3D tswapl(env->regs[13]); - regs[3] =3D tswapl(env->regs[12]); - regs[4] =3D tswapl(env->regs[R_EBP]); - regs[5] =3D tswapl(env->regs[R_EBX]); - regs[6] =3D tswapl(env->regs[11]); - regs[7] =3D tswapl(env->regs[10]); - regs[8] =3D tswapl(env->regs[9]); - regs[9] =3D tswapl(env->regs[8]); - regs[10] =3D tswapl(env->regs[R_EAX]); - regs[11] =3D tswapl(env->regs[R_ECX]); - regs[12] =3D tswapl(env->regs[R_EDX]); - regs[13] =3D tswapl(env->regs[R_ESI]); - regs[14] =3D tswapl(env->regs[R_EDI]); - regs[15] =3D tswapl(get_task_state(env_cpu_const(env))->orig_ax); - regs[16] =3D tswapl(env->eip); - regs[17] =3D tswapl(env->segs[R_CS].selector & 0xffff); - regs[18] =3D tswapl(env->eflags); - regs[19] =3D tswapl(env->regs[R_ESP]); - regs[20] =3D tswapl(env->segs[R_SS].selector & 0xffff); - regs[21] =3D tswapl(env->segs[R_FS].selector & 0xffff); - regs[22] =3D tswapl(env->segs[R_GS].selector & 0xffff); - regs[23] =3D tswapl(env->segs[R_DS].selector & 0xffff); - regs[24] =3D tswapl(env->segs[R_ES].selector & 0xffff); - regs[25] =3D tswapl(env->segs[R_FS].selector & 0xffff); - regs[26] =3D tswapl(env->segs[R_GS].selector & 0xffff); -} - #if ULONG_MAX > UINT32_MAX #define INIT_GUEST_COMMPAGE static bool init_guest_commpage(void) @@ -221,36 +181,6 @@ static bool init_guest_commpage(void) =20 #define EXSTACK_DEFAULT true =20 -#define ELF_NREG 17 - -/* - * 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 - */ -void elf_core_copy_regs(target_ulong *regs, const CPUX86State *env) -{ - regs[0] =3D tswapl(env->regs[R_EBX]); - regs[1] =3D tswapl(env->regs[R_ECX]); - regs[2] =3D tswapl(env->regs[R_EDX]); - regs[3] =3D tswapl(env->regs[R_ESI]); - regs[4] =3D tswapl(env->regs[R_EDI]); - regs[5] =3D tswapl(env->regs[R_EBP]); - regs[6] =3D tswapl(env->regs[R_EAX]); - regs[7] =3D tswapl(env->segs[R_DS].selector & 0xffff); - regs[8] =3D tswapl(env->segs[R_ES].selector & 0xffff); - regs[9] =3D tswapl(env->segs[R_FS].selector & 0xffff); - regs[10] =3D tswapl(env->segs[R_GS].selector & 0xffff); - regs[11] =3D tswapl(get_task_state(env_cpu_const(env))->orig_ax); - regs[12] =3D tswapl(env->eip); - regs[13] =3D tswapl(env->segs[R_CS].selector & 0xffff); - regs[14] =3D tswapl(env->eflags); - regs[15] =3D tswapl(env->regs[R_ESP]); - regs[16] =3D tswapl(env->segs[R_SS].selector & 0xffff); -} - /* * i386 is the only target which supplies AT_SYSINFO for the vdso. * All others only supply AT_SYSINFO_EHDR. diff --git a/linux-user/i386/elfload.c b/linux-user/i386/elfload.c index ef3a6c35d2..909f8edcab 100644 --- a/linux-user/i386/elfload.c +++ b/linux-user/i386/elfload.c @@ -23,3 +23,24 @@ const char *get_elf_platform(CPUState *cs) family =3D MAX(MIN(family, 6), 3); return elf_platform[family - 3]; } + +void elf_core_copy_regs(target_ulong *regs, const CPUX86State *env) +{ + regs[0] =3D tswapl(env->regs[R_EBX]); + regs[1] =3D tswapl(env->regs[R_ECX]); + regs[2] =3D tswapl(env->regs[R_EDX]); + regs[3] =3D tswapl(env->regs[R_ESI]); + regs[4] =3D tswapl(env->regs[R_EDI]); + regs[5] =3D tswapl(env->regs[R_EBP]); + regs[6] =3D tswapl(env->regs[R_EAX]); + regs[7] =3D tswapl(env->segs[R_DS].selector & 0xffff); + regs[8] =3D tswapl(env->segs[R_ES].selector & 0xffff); + regs[9] =3D tswapl(env->segs[R_FS].selector & 0xffff); + regs[10] =3D tswapl(env->segs[R_GS].selector & 0xffff); + regs[11] =3D tswapl(get_task_state(env_cpu_const(env))->orig_ax); + regs[12] =3D tswapl(env->eip); + regs[13] =3D tswapl(env->segs[R_CS].selector & 0xffff); + regs[14] =3D tswapl(env->eflags); + regs[15] =3D tswapl(env->regs[R_ESP]); + regs[16] =3D tswapl(env->segs[R_SS].selector & 0xffff); +} diff --git a/linux-user/x86_64/elfload.c b/linux-user/x86_64/elfload.c index 88541ea45e..cd7aeb9743 100644 --- a/linux-user/x86_64/elfload.c +++ b/linux-user/x86_64/elfload.c @@ -19,3 +19,34 @@ const char *get_elf_platform(CPUState *cs) { return "x86_64"; } + +void elf_core_copy_regs(target_ulong *regs, const CPUX86State *env) +{ + regs[0] =3D tswapl(env->regs[15]); + regs[1] =3D tswapl(env->regs[14]); + regs[2] =3D tswapl(env->regs[13]); + regs[3] =3D tswapl(env->regs[12]); + regs[4] =3D tswapl(env->regs[R_EBP]); + regs[5] =3D tswapl(env->regs[R_EBX]); + regs[6] =3D tswapl(env->regs[11]); + regs[7] =3D tswapl(env->regs[10]); + regs[8] =3D tswapl(env->regs[9]); + regs[9] =3D tswapl(env->regs[8]); + regs[10] =3D tswapl(env->regs[R_EAX]); + regs[11] =3D tswapl(env->regs[R_ECX]); + regs[12] =3D tswapl(env->regs[R_EDX]); + regs[13] =3D tswapl(env->regs[R_ESI]); + regs[14] =3D tswapl(env->regs[R_EDI]); + regs[15] =3D tswapl(get_task_state(env_cpu_const(env))->orig_ax); + regs[16] =3D tswapl(env->eip); + regs[17] =3D tswapl(env->segs[R_CS].selector & 0xffff); + regs[18] =3D tswapl(env->eflags); + regs[19] =3D tswapl(env->regs[R_ESP]); + regs[20] =3D tswapl(env->segs[R_SS].selector & 0xffff); + regs[21] =3D tswapl(env->segs[R_FS].selector & 0xffff); + regs[22] =3D tswapl(env->segs[R_GS].selector & 0xffff); + regs[23] =3D tswapl(env->segs[R_DS].selector & 0xffff); + regs[24] =3D tswapl(env->segs[R_ES].selector & 0xffff); + regs[25] =3D tswapl(env->segs[R_FS].selector & 0xffff); + regs[26] =3D tswapl(env->segs[R_GS].selector & 0xffff); +} --=20 2.43.0 From nobody Sat Nov 15 07:41:35 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=1754176986; cv=none; d=zohomail.com; s=zohoarc; b=dTj3C8sFMhNrWUM2h1YdKzhB3pmWmShgkC2vmZiL3nGeGriKaXH/o2bDAjLGSsC9kTc06pUcpcJrWHmkx6PmkEV+NzNavAPsASGuTyLBfFKp40bv6WgLnv+dZqY2EJixrWUwXKHwkqKsY8+j58krQod2UF9nSU/lq5UrJ7b85OY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176986; 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=6/P8S3z9ZtRQvTdRa4XHyEKuIF/OmLErI9kwQBRqBww=; b=ddYTOydQx0vvXhz7/m8vROPt7urMdMnFhZLu+ZZV6N0UvZGIIikyqTVX+S3szeJehCcCX/x4x8Z7z9Wi0kCYxqWyaOM8x8K3c4FxmI4swxZDtKUUtt2GFW9oARUpjjXihec3LGqFWArcl370oR830dHMvTYFtJvh5MdEq0fKiFo= 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 1754176986643833.4005877978796; Sat, 2 Aug 2025 16:23:06 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLO0-0002CZ-Bk; Sat, 02 Aug 2025 19:11:32 -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 1uiLNr-0001Vv-Gu for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:23 -0400 Received: from mail-oi1-x231.google.com ([2607:f8b0:4864:20::231]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLNm-0001iK-5Y for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:23 -0400 Received: by mail-oi1-x231.google.com with SMTP id 5614622812f47-433f43f0012so260888b6e.2 for ; Sat, 02 Aug 2025 16:11:17 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.11.14 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:11:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176277; x=1754781077; 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=6/P8S3z9ZtRQvTdRa4XHyEKuIF/OmLErI9kwQBRqBww=; b=R9oqF/ZB7cgQkD+Lj6E2+cGBQ626G3NMtwKXUKVIEWhPAA/rHHiigt4GTdTXEyqm2v 6hHcWIbKqu8lL3UTcIO0U8G/xFWak7hDq4mF5xyOEDI2yiBuFU49+UJlHi16Cz/HQI2e Frx8AwZNzHzChafxTuqB0/cB02EDEtilm4yO/90I7l9KoKmiE/FA3tArBpZN2ifcmtJa tpUHSnBjXkbmAaU7croE8y+NdYEdPJLfCA4MDxe4wSk6xU0+2vAgv+yRRUzGO22CORT/ R+8/xOUJvwDee2HB4U2s5Q7qS0jpWCTrMssD+xuJk1ycBjD3Mob56bRShe+BGBd0Un/Y CqbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176277; x=1754781077; 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=6/P8S3z9ZtRQvTdRa4XHyEKuIF/OmLErI9kwQBRqBww=; b=f6vIaJF1iCcXexWulGY5BZ1jjWdTgS2TCOwP9tiiJYRyxJazgNcRzZ46unEGr2ZSWB KmOUyfcw/JbHG2mAWN8IqNIDGOgrBsWto4jAbh4SEwikrVeBS8++k/fUVN81+CYk/i8q oostmGdFCUF1ATpCnOzHZvBx4xxUtAI8cb4DH3S0gj3wzjxOqFa+HnNb0zcw/T/NA0oc vSvyQxp2gRjoLuZA6T3Mcv+fDdmzMtX5AEZ6KCDYbldRuFlS8ZpcWyzU94KmMj3HthnL J3B+1ogWm3P8XnZBlxT8quN0pkvYWHaHkOg8xbISg5ATqkCGo9a+OeiWVzsalRfEAWuk Q92g== X-Gm-Message-State: AOJu0YzSHmkmzsNkYLXTFbphTpngzc1ybBPIF7Kh1MoYjYDjsl6Lv8uC ES/e/RCb3p4oGo5XjKGpgwQtD7AfR6LeqiapJOT34Dv2Rsdsb8kmG3b2MFDaz1ZwimXgnsHrBQw IXj88Kaw= X-Gm-Gg: ASbGncuaB2vArJL73qIp4l7Fr4SQ9hkuorF7yG2yg5UyKBnMtaAgvXP3zk3fgsWDcKv Y/nm/DB0uhVtTZQ7P/FBLNRLPB2EnyDubtnCiGdQDVmOIwhfmtrenHhIpS2mbiZodPuWr5NX1eZ mmuY4FSn5gImE0/d6Zj4npUKXF9/eokJB3TLJ2u3l5WUtH1xMuSoTPPI6F+TjjgHxI6cuP1ZJ/h iAn6zIdJkGqD/nxEmhArvjq2w1ZqCV81scRV/LkiSZXbytFfilMCrGN6vv7xyyAaEVw8+9116r6 RjVVAnRUF3hlZABHTcqWBeHK5jrgvVdI9G1hC1VkhaneRSL/kdIw1yydNohhH86aZTmIkqRhnX7 IHBik5sbTsfYOtxiDJSvBufu/QViRxepvDT/1nVnIhATO7txva7ovuIdCM/Ph/oQ= X-Google-Smtp-Source: AGHT+IFwDjFX7RPFd4TtJALQ0an/X98pxrTmbiUIBiYWK93c6WGLCEH/s36iC8Fcq1KYX8sDa0+oSw== X-Received: by 2002:a05:6808:1a02:b0:41f:79f9:1b4a with SMTP id 5614622812f47-433f0239f0dmr2969473b6e.12.1754176276589; Sat, 02 Aug 2025 16:11:16 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v2 51/95] linux-user: Move elf_core_copy_regs to arm/elfload.c Date: Sun, 3 Aug 2025 09:04:15 +1000 Message-ID: <20250802230459.412251-52-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::231; envelope-from=richard.henderson@linaro.org; helo=mail-oi1-x231.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: 1754176987583116600 Content-Type: text/plain; charset="utf-8" Move elf_core_copy_regs to elfload.c. Move ELF_NREG to target_elf.h. Signed-off-by: Richard Henderson --- linux-user/arm/target_elf.h | 2 ++ linux-user/arm/elfload.c | 9 +++++++++ linux-user/elfload.c | 11 ----------- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/linux-user/arm/target_elf.h b/linux-user/arm/target_elf.h index 856ca41b16..84c7950ace 100644 --- a/linux-user/arm/target_elf.h +++ b/linux-user/arm/target_elf.h @@ -12,4 +12,6 @@ #define HAVE_ELF_HWCAP2 1 #define HAVE_ELF_PLATFORM 1 =20 +#define ELF_NREG 18 + #endif diff --git a/linux-user/arm/elfload.c b/linux-user/arm/elfload.c index 7de1f13f4b..b0d4dea591 100644 --- a/linux-user/arm/elfload.c +++ b/linux-user/arm/elfload.c @@ -199,3 +199,12 @@ const char *get_elf_platform(CPUState *cs) =20 #undef END } + +void elf_core_copy_regs(target_ulong *regs, const CPUARMState *env) +{ + for (int i =3D 0; i < 16; i++) { + regs[i] =3D tswapl(env->regs[i]); + } + regs[16] =3D tswapl(cpsr_read((CPUARMState *)env)); + regs[17] =3D tswapl(env->regs[0]); /* XXX */ +} diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 177741522c..3fb8106858 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -210,17 +210,6 @@ static bool init_guest_commpage(void) #define ELF_CLASS ELFCLASS32 #define EXSTACK_DEFAULT true =20 -#define ELF_NREG 18 - -void elf_core_copy_regs(target_ulong *regs, const CPUARMState *env) -{ - for (int i =3D 0; i < 16; i++) { - regs[i] =3D tswapl(env->regs[i]); - } - regs[16] =3D tswapl(cpsr_read((CPUARMState *)env)); - regs[17] =3D tswapl(env->regs[0]); /* XXX */ -} - #define ELF_EXEC_PAGESIZE 4096 =20 /* The commpage only exists for 32 bit kernels */ --=20 2.43.0 From nobody Sat Nov 15 07:41:35 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=1754177079; cv=none; d=zohomail.com; s=zohoarc; b=MSoUirKlxjaO3YB6Su/HWNpY7Xkh71Z+iouA2b0xk1ScfuC4Ag5jInO/tO4ACbT0GwqgaD5n+rVddCrlT14Ns2NEzNRufZI+SDSRMYm/WWNDGRI1qYNuNq1eY8bE9I1DprjbF0cHlmUDCn8EJ9tppVYjbWuMP4Tsl7PChXHxOXY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754177079; 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=y4Q1Srwbs/6+hhmFAOE7PHOfNRos+ZMA10+wsF3+1Y0=; b=cs1gPed21JhjCD0XIZaY81+9YAlGEZCueVcOyBOAlr7p6Gbodfl6lJ4iqqyaFSnX/H+iTdUK2doJ+s4Zv+fhFcvLuZhgI44uK+DWpKsG3mzQjjzBzgSVSvrnKkCUZuzvz64doLsSlzdglIZAIJkqJjKZXTzqfl0wuajtaow2Axc= 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 1754177079226706.0303659707685; Sat, 2 Aug 2025 16:24:39 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLO0-000252-BM; Sat, 02 Aug 2025 19:11:32 -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 1uiLNq-0001PC-OD for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:23 -0400 Received: from mail-ot1-x32e.google.com ([2607:f8b0:4864:20::32e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLNp-0001if-06 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:22 -0400 Received: by mail-ot1-x32e.google.com with SMTP id 46e09a7af769-741a905439eso347858a34.0 for ; Sat, 02 Aug 2025 16:11:20 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.11.17 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:11:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176280; x=1754781080; 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=y4Q1Srwbs/6+hhmFAOE7PHOfNRos+ZMA10+wsF3+1Y0=; b=CrAJiyZh6H4cbQk379o0uR0w+EkkVjRq4bM4YvI8tBb0ite0ySkZe1EtA9xVmxB3J7 BhypvNYx/GlW9pY2Sfrny7/G/YzMlEP8dUobrcx0215RdCWjOvzjUHOansJS8KpNh00A w5oNJjabuPylQF4oa2JLd4C7hDECqqsMX9Ah8dsX3FvCUUzL9loyTHpkYxL46BoSQ9nr XcVHvEb8+O4cZKu/v2iNxXlzLINj401vgguWwjqDrFOIxJosoRU8Y74ad0cCWTgH2tst XpYc6wMZBeeB29916ch6bTbcWZb26x24NvCYtK/waGiy+P3DTY4Cx+A1Cr7nuDAvlP57 cdpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176280; x=1754781080; 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=y4Q1Srwbs/6+hhmFAOE7PHOfNRos+ZMA10+wsF3+1Y0=; b=SThrjz4dvo31uwB338q6LgxxpN7pCFi6SUVFZuaD0k4YexCHTAut4++Rij+YfMgZmU oT481ln8/6K8MNW9wsvvbzIz0zEEEpZ212J0TUX9W6ClpRa7OWgE3bBoc62jwqEOjpQf Lmfyvo2vA8WSRKcZkHgJu+Dqa38Y+NAJWV7DbtidzkuyENOJG4oO3VwrYq6lvvre/47c /Tt5OCreBPGLjnP+dFN35gxTojNz+qTx7ORjWIO6tfDETlv4+YYPCYt44Xr6QJp8hcb0 d5T/3efOlzL3X11f9CpEiKTCfRIYQI/jiE822IPnfO2EFDTDIJ5M5lyAnikjq8GorURj YVwQ== X-Gm-Message-State: AOJu0YzGkIOrxFQIpNHZg57k1jdJLeJB4IxoAn3QLgInFMA9qBm/H7XI zsKazPp3k8ADa0Nqts/SkQe5NAQlOxDReecazVgfRL2r526g6xZ4TdRTicitcfYNFZlRt9mkTiH mpeQYkg0= X-Gm-Gg: ASbGncs0mAvPTpUcLTDjW4kjc8qC6chxL65BxRJ7t4h9zvLAV+bk5RDEGqrvVgP7BQZ cfUyrvWy3qi0A7/e4fI2T7Wx7ZUnXYBa5eo0BXMDucb7ofBcVBgFOhb4tv4hN0TZU5+6fydj9Xd U0vtx8s1gmrm0Iwn3PU71YTwD49pVtXggKaq0WdsayCLoofyPZf/50+9IMslfcaQY7Y5ylx13vn npriokRQFYQP7hlcJ9QrW2LQzJzFnCzy5k48GWWosoUAxV4Nkdzf4s+9WDr7T1S12a1GHc0F9wd uhH2ZxwGou/ne8BOZ062Cy3gZEQQL99fcFE++H7OkeV+aK+LzJ80AueMKqLMJcMudWxwAEr7f2n 6L2cGtK5SnDgD59Sf7TL0OQwyRU4PGXXGeCb3h+4fvuFBsFKPSaI0 X-Google-Smtp-Source: AGHT+IG0BK22dKY4WPy9N4iWkKO3CsXb2QheVvWxaFKbroBnPg+SMDglG0XVhVM23hyFop1sv/p+WA== X-Received: by 2002:a05:6820:2685:b0:619:a3cf:4d72 with SMTP id 006d021491bc7-619a3cf5198mr623803eaf.1.1754176279713; Sat, 02 Aug 2025 16:11:19 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v2 52/95] linux-user: Move elf_core_copy_regs to aarch64/elfload.c Date: Sun, 3 Aug 2025 09:04:16 +1000 Message-ID: <20250802230459.412251-53-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::32e; envelope-from=richard.henderson@linaro.org; helo=mail-ot1-x32e.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: 1754177080616124100 Content-Type: text/plain; charset="utf-8" Move elf_core_copy_regs to elfload.c. Move ELF_NREG to target_elf.h. Signed-off-by: Richard Henderson --- linux-user/aarch64/target_elf.h | 2 ++ linux-user/aarch64/elfload.c | 11 +++++++++++ linux-user/elfload.c | 13 ------------- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/linux-user/aarch64/target_elf.h b/linux-user/aarch64/target_el= f.h index dee79ce0c6..7628904365 100644 --- a/linux-user/aarch64/target_elf.h +++ b/linux-user/aarch64/target_elf.h @@ -12,4 +12,6 @@ #define HAVE_ELF_HWCAP2 1 #define HAVE_ELF_PLATFORM 1 =20 +#define ELF_NREG 34 + #endif diff --git a/linux-user/aarch64/elfload.c b/linux-user/aarch64/elfload.c index 1030cb8094..3581b45d50 100644 --- a/linux-user/aarch64/elfload.c +++ b/linux-user/aarch64/elfload.c @@ -347,3 +347,14 @@ const char *get_elf_platform(CPUState *cs) { return TARGET_BIG_ENDIAN ? "aarch64_be" : "aarch64"; } + +void elf_core_copy_regs(target_ulong *regs, const CPUARMState *env) +{ + int i; + + for (i =3D 0; i < 32; i++) { + regs[i] =3D tswapl(env->xregs[i]); + } + regs[32] =3D tswapl(env->pc); + regs[33] =3D tswapl(pstate_read((CPUARMState *)env)); +} diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 3fb8106858..9ac530800e 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -283,19 +283,6 @@ 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 - -void elf_core_copy_regs(target_ulong *regs, const CPUARMState *env) -{ - int i; - - for (i =3D 0; i < 32; i++) { - regs[i] =3D tswapl(env->xregs[i]); - } - regs[32] =3D tswapl(env->pc); - regs[33] =3D tswapl(pstate_read((CPUARMState *)env)); -} - #define ELF_EXEC_PAGESIZE 4096 =20 #if TARGET_BIG_ENDIAN --=20 2.43.0 From nobody Sat Nov 15 07:41:35 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=1754176773; cv=none; d=zohomail.com; s=zohoarc; b=FAMrtQ/NE186MFxvEVeVJuAiHfweCjWih/5c8FubGdcYlYRnn5e8Bl55y5QO9uuH8GsWDjsKdaWvZfNLh+8ynFQ4rcROFYYhKG1aaTy6q44Q5XnE23kBUwPFzA10xgmVawjkBlgvta4kyCo8XmwSepVHgoRKv3Ae7lI2QyCtb5w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176773; 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=B0GtAHohLLp/KE68af6q8L0Ys4ZhoS/zBNogc+p6taI=; b=DUG+40W6YCrbYgI5iES1TRVSM48T6nL8/KDFWO/IqWr6zqSKVFRjKy0Mdj2eulAtRuEmhueVbGBgBN8K6tsqmgM3hYEns6HgmP0QLNngsos1TAwMgdNwXxXBUa9viXDQcN5wqWlHeyLtJkmvttn92g1HEJkDpnwkqGwH9GqF++Q= 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 1754176773243480.20676292064036; Sat, 2 Aug 2025 16:19:33 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLO5-0002h2-C4; Sat, 02 Aug 2025 19:11: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 1uiLNu-0001fH-7r for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:26 -0400 Received: from mail-oo1-xc31.google.com ([2607:f8b0:4864:20::c31]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLNs-0001jK-F4 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:25 -0400 Received: by mail-oo1-xc31.google.com with SMTP id 006d021491bc7-6195f7f9ad6so1222470eaf.3 for ; Sat, 02 Aug 2025 16:11:24 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.11.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:11:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176283; x=1754781083; 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=B0GtAHohLLp/KE68af6q8L0Ys4ZhoS/zBNogc+p6taI=; b=X7EEI19H9qF6PhFeiZnOX+0fl5Jaq0KemecTu1CuzbdNplwA4xFlxLuHc1SzC5j/G6 2LM+5YSHO7MSC2aMHnM9oIGuovDEelFWon5ZXypYj/zoS2yWiNDUsfsgtiuhmRNZwMq0 BfPUf+PxeXSyE+7HX+0SCXewMsSJ4BhfmMP+Bco39PS9gvbOrS4YytThnF7HHmydb7LG 2qeeoXJnqUwOQtm43J36ubWq4VqdvRcswXjxtiH12Qf5hDJHQhiRpnJi5mBaprA+TUC1 dFGidLGnTyYDCVPkQxtfZycW19zgbcDfpQOENtar3wlrq7ooX4GX7ye3w4ZMODWbawYC f0wA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176283; x=1754781083; 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=B0GtAHohLLp/KE68af6q8L0Ys4ZhoS/zBNogc+p6taI=; b=nubCTrrZqEpLjjnlpdhR+FFWIJI8FkKmc6kew/DWbEtC8v8pAMrVqWlmAykS6VHZ6d pKPdSNfVZx6bKX6hZ8KP1TMwiKNWq+e+OVd5dbcgRVNhk8m2p1bxuOjTCu7c5nihW25v ZXN0iFe7cYIMag7NJqZ8fobtrkURSdHEEDLn4tETLFTKHn2N4fGxPo0JsNTtIl9fJ7zj Y+rOEEtFLKPjBMnv0+hm3OLlNxux7ND5BvWwA9KEn7sM0KgvozA5KhMhfJ6fcbgDqb1N m60nS2VDeD0s016j+tK2UTxc59fHyiewXpNMSBPNSKGxSfmxxQW1K/q1i9DOnMgS6YSC MmLg== X-Gm-Message-State: AOJu0Yz9EeG6trBUH32PkH88AdZgJcw4u7PDq0WQkaAAPNA/UzicE9/Z voZ+pPKGBRaQGR2yDU4jnEjy2perZGPdlpcz9m34EUkpJqPW8ww8nKDGoISAfPB8hteY/yMWj4h aWPAe478= X-Gm-Gg: ASbGncuPZVJ8S7qxGJKMogpiF0dBLwqyD5RYHgkX9nn8MjDJGyFkbbj1f4c/25CpQPy S74LQ/2D2948f2nhx3vu4O5N4XgS7jj0ITdTaTXZzSyVG96+l1yOY++LgZRbLCXvexS70Ng/4mB X11aIIpJOocqFina+UVIUELhvI7eZoPUc7KKFW8hukH3R34TTTxOmGt+riOdypsjCqAdLR2dRkM gbCAYchlX26e2DH1Jis70sZPBNy0yq6/gcQRIuLCVGQ4zoQtfJVT/NVqZSfsGmEtQQhbR36tD1x X7yPM7TPJmtTvYgKM2maTULoVk4fn6Mw8CoKFprz08pH2jIuncAe3EsATDjWG1EgSu5Tw+2eDRy 4o6bf3waPCQ97saBY3nrD1h+k7yGnUSkSvKTTKXnb1c1GFiRbO951f26/46IotC0= X-Google-Smtp-Source: AGHT+IF42IHGZw/RzRJsM0bjGUJ+Pc+p2KALIQuSpsNGm9UtSCHOtB94Akf6AOGIWh9SV1Pmw4D8lQ== X-Received: by 2002:a05:6820:2013:b0:619:222e:b697 with SMTP id 006d021491bc7-6198f27bca6mr2081417eaf.5.1754176283023; Sat, 02 Aug 2025 16:11:23 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v2 53/95] linux-user: Move elf_core_copy_regs to ppc/elfload.c Date: Sun, 3 Aug 2025 09:04:17 +1000 Message-ID: <20250802230459.412251-54-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c31; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc31.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: 1754176773486116600 Content-Type: text/plain; charset="utf-8" Move elf_core_copy_regs to elfload.c. Move ELF_NREG to target_elf.h. Signed-off-by: Richard Henderson --- linux-user/ppc/target_elf.h | 3 +++ linux-user/elfload.c | 22 ---------------------- linux-user/ppc/elfload.c | 19 +++++++++++++++++++ 3 files changed, 22 insertions(+), 22 deletions(-) diff --git a/linux-user/ppc/target_elf.h b/linux-user/ppc/target_elf.h index 4203a89d66..dd8a65b1fa 100644 --- a/linux-user/ppc/target_elf.h +++ b/linux-user/ppc/target_elf.h @@ -11,4 +11,7 @@ #define HAVE_ELF_HWCAP 1 #define HAVE_ELF_HWCAP2 1 =20 +/* See linux kernel: arch/powerpc/include/asm/elf.h. */ +#define ELF_NREG 48 + #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 9ac530800e..0bfcbcf78d 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -353,28 +353,6 @@ 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 - -void elf_core_copy_regs(target_ulong *regs, const CPUPPCState *env) -{ - int i; - target_ulong ccr =3D 0; - - for (i =3D 0; i < ARRAY_SIZE(env->gpr); i++) { - regs[i] =3D tswapl(env->gpr[i]); - } - - regs[32] =3D tswapl(env->nip); - regs[33] =3D tswapl(env->msr); - regs[35] =3D tswapl(env->ctr); - regs[36] =3D tswapl(env->lr); - regs[37] =3D tswapl(cpu_read_xer(env)); - - ccr =3D ppc_get_cr(env); - regs[38] =3D tswapl(ccr); -} - #define ELF_EXEC_PAGESIZE 4096 =20 #ifndef TARGET_PPC64 diff --git a/linux-user/ppc/elfload.c b/linux-user/ppc/elfload.c index a214675650..9ebe252b3e 100644 --- a/linux-user/ppc/elfload.c +++ b/linux-user/ppc/elfload.c @@ -129,3 +129,22 @@ abi_ulong get_elf_hwcap2(CPUState *cs) =20 return features; } + +void elf_core_copy_regs(target_ulong *regs, const CPUPPCState *env) +{ + int i; + target_ulong ccr =3D 0; + + for (i =3D 0; i < ARRAY_SIZE(env->gpr); i++) { + regs[i] =3D tswapl(env->gpr[i]); + } + + regs[32] =3D tswapl(env->nip); + regs[33] =3D tswapl(env->msr); + regs[35] =3D tswapl(env->ctr); + regs[36] =3D tswapl(env->lr); + regs[37] =3D tswapl(cpu_read_xer(env)); + + ccr =3D ppc_get_cr(env); + regs[38] =3D tswapl(ccr); +} --=20 2.43.0 From nobody Sat Nov 15 07:41:35 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=1754176813; cv=none; d=zohomail.com; s=zohoarc; b=bdHMkrNVDdvwLXe8t6n+Qqou31rAYjMQ5mn3rpq5eSeoQmg19wmZlIHG3hu70SBq0RUdC6OyQcPUXFqb35fk0IHWq2UntUoL6qVDblZJrBp1lepgaE16xVrvKFVDXceFE+EvIWC9aBdgfBk71tGw2/3eNRZg38gACeX8fPhG3go= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176813; 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=NbrWdx7dvKlDxg7SyrnhQz+JWocQUC8d2l3q95mW4gQ=; b=hmGzKNnMUkwjba4/PVXoHDRgtJ8FsQjPbdp75NxwscetAxz7qthhvC1x/tFRISjrpRZDVkku/T9BhDatToEr9zAlJXC7DEVE2C3Bt9/3UTbJd/PKUJk/nVn9vg7fEUfiScEnOxsEKA3r+KSKDqs9z+8GhkArzMgPRQbfMoqUpMc= 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 1754176813612733.975996565884; Sat, 2 Aug 2025 16:20:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLO4-0002dB-GU; Sat, 02 Aug 2025 19:11: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 1uiLNx-00020o-LP for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:30 -0400 Received: from mail-oi1-x234.google.com ([2607:f8b0:4864:20::234]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLNv-0001jx-WF for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:29 -0400 Received: by mail-oi1-x234.google.com with SMTP id 5614622812f47-433f43f0012so260909b6e.2 for ; Sat, 02 Aug 2025 16:11:27 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.11.23 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:11:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176287; x=1754781087; 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=NbrWdx7dvKlDxg7SyrnhQz+JWocQUC8d2l3q95mW4gQ=; b=ZbkQQf5yommEtfDGNFVIY4E2j1o3T++HP2EyPHCirJMJQzbxIeaRAfF5r4dehDxism O6/sJKzYV6BDOaMMKJ9cwl3y/lQ8YxBdpEGlNEf95z6jAF4oSXR1TxHmyMuFtCo9pUfB SXQ2LYFEocQOghrUFDdFXvekOgR8xlEjEKnBKZg+IIcFh3ccOwcUwnBNGXdBXuz6ErGo MwRM9NjYJrc/yTjf+p79IzjvVKW+LURFVSh6v7z8A7A53tM37Xo09p+RRzyYLZokaJgI 8FTt6Sow+FCU3KLk24CT5LG13a690OTveFmznkdcWH4rhCO+QbEhCwbeWqyGuTnmk0Pe sKiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176287; x=1754781087; 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=NbrWdx7dvKlDxg7SyrnhQz+JWocQUC8d2l3q95mW4gQ=; b=AbTPqMtGG7MKpB91wg6L53ZahLjl1X819DuN+4gtH/fO1aTFvoWJ6Zae9GgoD15ZsK HdwiQK57pR5rp9pmV8bnYnpQFAOxvJSEHL/NFdbur9wXJt4SdVPUVDFBT8YpofUYQUW5 bPj0e9THbfBD8eV4Knn3Z8BJaGVvGRL6rBMUU6w/kc7ajQ1GMWKb57FK+OF7+SbfrAb3 vJO2T8HwdfrNdTGSUACwcbZXzZw7Z9LJ6HXPbrXTlZpoN/7Maxp/FqX66f5MOAhqNke2 duZgoTdkpEUFsGTBALoxi8wKxJKlwzSVnPhLYgRruklq9vTrxKkW8bXNRqvY2G0SrZIa pHBQ== X-Gm-Message-State: AOJu0YxCpkU+HUq3/vFIIeGWbClnC3gMO/lYeSxNxlMNZpCx0V9HrUbw fsfbsdOTZTMcitPjAZlSNXsiio5dxl6ztl/v0QWjLjWoN1g1IDKRr3lbwUyD7UKzfcpmFO7sNuS tlNpj+N0= X-Gm-Gg: ASbGncuOBUzK+Q4ujt30iFuTR0lRJA/zimVDsbvFyJUWh/mPpT5AXfzc9CJ+kDxKjya Rc4T+iHI39j0WMBpR0SAL+KAc8V0EoGII2XDxFuVdjX8JqOWKVQAZwWZWtua937u9L4s+PwiihA xVaKCzNR8bMgIBdAK7w0Idhy5mPL7w4hKsEmlmo37u58IEhtE+Xv5m2JFq4LRTAVojvwr2WFln1 zIuWIi/mmap+4UxtJ4QbrvEeQbfR3CyZSBaw0jobBMk3r5nypCp5NGMt0iN6LViMVB0XfBZrDkv bxoKPIztivwJHAjOLRI3BeUkMMDm6oPJVTYTnMr+rsWXxWVEetntwRkK6QW4rtwdf/RHY5SKrMf QIMCuyORQhbuKnJGmU6MoVg1sAISFfJS6FgU8FbAzrNBW3b72+9xf X-Google-Smtp-Source: AGHT+IE5CqQ0qlgWVF/NRfbmQ4NGdn9trcqYWg3ix/I90IZ4jZjUw5M2mxuDN4ZHRMJV9dfS4FY77Q== X-Received: by 2002:a05:6808:f0a:b0:41c:8a9a:5083 with SMTP id 5614622812f47-433f020f7e7mr2977833b6e.2.1754176286814; Sat, 02 Aug 2025 16:11:26 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v2 54/95] linux-user: Move elf_core_copy_regs to loongarch64/elfload.c Date: Sun, 3 Aug 2025 09:04:18 +1000 Message-ID: <20250802230459.412251-55-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::234; envelope-from=richard.henderson@linaro.org; helo=mail-oi1-x234.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: 1754176813956116600 Content-Type: text/plain; charset="utf-8" Move elf_core_copy_regs to elfload.c. Move ELF_NREG to target_elf.h. Signed-off-by: Richard Henderson --- linux-user/loongarch64/target_elf.h | 3 +++ linux-user/elfload.c | 23 ----------------------- linux-user/loongarch64/elfload.c | 20 ++++++++++++++++++++ 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/linux-user/loongarch64/target_elf.h b/linux-user/loongarch64/t= arget_elf.h index eb17927325..f2d00c9232 100644 --- a/linux-user/loongarch64/target_elf.h +++ b/linux-user/loongarch64/target_elf.h @@ -9,4 +9,7 @@ #define HAVE_ELF_HWCAP 1 #define HAVE_ELF_PLATFORM 1 =20 +/* See linux kernel: arch/loongarch/include/asm/elf.h */ +#define ELF_NREG 45 + #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 0bfcbcf78d..834120c9f2 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -375,29 +375,6 @@ 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 - -enum { - TARGET_EF_R0 =3D 0, - TARGET_EF_CSR_ERA =3D TARGET_EF_R0 + 33, - TARGET_EF_CSR_BADV =3D TARGET_EF_R0 + 34, -}; - -void elf_core_copy_regs(target_ulong *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 tswapl(env->gpr[i]); - } - - regs[TARGET_EF_CSR_ERA] =3D tswapl(env->pc); - regs[TARGET_EF_CSR_BADV] =3D tswapl(env->CSR_BADV); -} - #define ELF_EXEC_PAGESIZE 4096 =20 #endif /* TARGET_LOONGARCH64 */ diff --git a/linux-user/loongarch64/elfload.c b/linux-user/loongarch64/elfl= oad.c index 911352840f..c9ce8ba3da 100644 --- a/linux-user/loongarch64/elfload.c +++ b/linux-user/loongarch64/elfload.c @@ -61,3 +61,23 @@ const char *get_elf_platform(CPUState *cs) { return "loongarch"; } + +enum { + TARGET_EF_R0 =3D 0, + TARGET_EF_CSR_ERA =3D TARGET_EF_R0 + 33, + TARGET_EF_CSR_BADV =3D TARGET_EF_R0 + 34, +}; + +void elf_core_copy_regs(target_ulong *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 tswapl(env->gpr[i]); + } + + regs[TARGET_EF_CSR_ERA] =3D tswapl(env->pc); + regs[TARGET_EF_CSR_BADV] =3D tswapl(env->CSR_BADV); +} --=20 2.43.0 From nobody Sat Nov 15 07:41:35 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=1754176797; cv=none; d=zohomail.com; s=zohoarc; b=A6HjhI8tDMU9uFdh8Ih6c9SLSo6y0Ik3agzxIzI75ZxSmykAnRH0zqMl3zuMC6EuUfrZMax5cng2n584WyWcxND97e9c8JuCemx5LZKAOyHktaQxhuk2+0GFADbQQKLLVXdlnAZFhEebBXz9TdJxYFlAKVghZGpqqNhwTILA9Zo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176797; 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=kj1rBrO0uYipNGIGIjdbbfhBOZFS6dyRhbCDoZFqGog=; b=ZjsrLufb+6XbfjVVbKaCpway1Gs+Xz6tcPycFWKZL0kI3/vy4SH6Yz2LvvnH+2SUJnbzbKYYWE97Bd798HrPcdiDNqP/5bx77quWNIoIutXasX9OWZcWVYes7kQDhUEwEaWrL2GXhIMV+A+ZCmQMQnYQvWD+UoQ8gYDzz681/Ps= 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 1754176797552299.27703364214767; Sat, 2 Aug 2025 16:19:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLO4-0002cQ-93; Sat, 02 Aug 2025 19:11: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 1uiLO0-0002GF-ED for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:32 -0400 Received: from mail-oo1-xc29.google.com ([2607:f8b0:4864:20::c29]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLNy-0001kP-MP for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:32 -0400 Received: by mail-oo1-xc29.google.com with SMTP id 006d021491bc7-60402c94319so2042474eaf.1 for ; Sat, 02 Aug 2025 16:11:30 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.11.27 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:11:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176289; x=1754781089; 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=kj1rBrO0uYipNGIGIjdbbfhBOZFS6dyRhbCDoZFqGog=; b=cpVhgAoUp4M0QAaE2ahLDXIQc0xo3XYQo8V+m8wniogJSJYScW/fBUXEm21aBRKnrO LnLZcUS2dZzr7OX7iTrFk4Kf5H8ZtVgeGQfXKxD+andIfpF1IHdpgFGsfxF0Rl4YS9p2 6gutsC47+5S3FxqiKp/Q/aB1+AWXBmUlBJQhxDwemPqvuVK05X1tFNG7vVU1nfGpsGii SlVz+rDzR/I0yxaDjLQrtjfePSl7OT30uV3oL3bDQfA56WJWKwavCBdNslBgqulwQiI/ Q+321PrzviWtRz3JvxtQIIVUy8HX0uEnmessY/wTswKZEzPFgDCifYyzDwQjp+FDRjAs /oiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176289; x=1754781089; 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=kj1rBrO0uYipNGIGIjdbbfhBOZFS6dyRhbCDoZFqGog=; b=FLl9dNU3InQ2VtmLzAoccrZzjmrpO9ErLQsNMyqv9Vh6Z5OcFkWkSyjRLGFwfqVBAs yikMOzkWWff5PFuD9LIP07P1ikcH4G8OTCpkOuGjwVDTTfLAWcUIclqH+HbtcWAo+Z7y /6/6zaliM8CAOmYJJPdMhaGw/Q9MM457+oW/BVUeEkaLn1jQYLbigLhaBdqR5Z5Ttw1Q jT+UGnxOLYu1UJ2qv9bLEfbaA95hDE6KCWqKRVVcwR3yCXN2tpaQXcBocR9cUrHt7fMe diKRGcJkV6kMCkMKKawWCv+uxKDHpal4PEs713iodDEH4i89e/HH7fRwIAS9GmFP+UUk Wh6A== X-Gm-Message-State: AOJu0Yy+u24xmQ8am7KXaQJ88wqPW8zTbK2QT3F7WMZOVm+9eoDd+GlE dJSuqGbc0nc2a7GafiOA+uZkhkDdQX0gJFBdh3vWH1838ZUS/cgT2rChq4YnJNHXJmsMP6UcYib UgO8dczw= X-Gm-Gg: ASbGncsiICpGJ3IGiY7JYxwpttbbjbHu49/JEJ4/JDNC9G2o1rq/WyeTTeNAjSm0+3y z8SYSs3ZZb4lQgYttpyZA9v34Puj+QeBpZktMdjnXQWdDHiJGk8UPbR6TxM2PFVFmt+QEkie8bZ Mg4pMRTfuXR+sFNBnVW21v76p24RYVDcZ+tMQ3WXFZSmxYbrHnya9e82C1kHiNMRUkeIm/PeXga Te8v7Xa/sqb0Ls8aQDvcGKn+4cYIHqcCRKD+NG6Y43v7n9ZjnwWv1I0GaFC/Ow4wezRvttIHlMV bDz1ALCYc4zbEG4YMUHH4Jz1F6qE9zrFjXfiHwa0YaaXokJaBwDEYEtq+WfRy8nlg+BdTmeaVKF 7/nKVMOqyXVEmWaEdao/+7kVr2NpymXoj9BOMIioxgIBAZ8LSog3F X-Google-Smtp-Source: AGHT+IEhML4IiTVrJq/g9Gctdq6ZeLA6181cd2ROzwu4WG89rmpI1EHjpgsoTFNOSA0EqDQhOnjUaQ== X-Received: by 2002:a05:6820:8185:b0:619:5ed4:b198 with SMTP id 006d021491bc7-6198f24d107mr2280751eaf.5.1754176289505; Sat, 02 Aug 2025 16:11:29 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v2 55/95] linux-user: Move elf_core_copy_regs to mips/elfload.c Date: Sun, 3 Aug 2025 09:04:19 +1000 Message-ID: <20250802230459.412251-56-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c29; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc29.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: 1754176799660116600 Content-Type: text/plain; charset="utf-8" Move elf_core_copy_regs to elfload.c. Move ELF_NREG to target_elf.h. Signed-off-by: Richard Henderson --- linux-user/mips/target_elf.h | 3 +++ linux-user/mips64/target_elf.h | 3 +++ linux-user/elfload.c | 44 ---------------------------------- linux-user/mips/elfload.c | 41 +++++++++++++++++++++++++++++++ 4 files changed, 47 insertions(+), 44 deletions(-) diff --git a/linux-user/mips/target_elf.h b/linux-user/mips/target_elf.h index 08e699c085..a36ca5a83f 100644 --- a/linux-user/mips/target_elf.h +++ b/linux-user/mips/target_elf.h @@ -11,4 +11,7 @@ #define HAVE_ELF_HWCAP 1 #define HAVE_ELF_BASE_PLATFORM 1 =20 +/* See linux kernel: arch/mips/include/asm/elf.h. */ +#define ELF_NREG 45 + #endif diff --git a/linux-user/mips64/target_elf.h b/linux-user/mips64/target_elf.h index 24bb7fcd3f..ebfd62348f 100644 --- a/linux-user/mips64/target_elf.h +++ b/linux-user/mips64/target_elf.h @@ -11,4 +11,7 @@ #define HAVE_ELF_HWCAP 1 #define HAVE_ELF_BASE_PLATFORM 1 =20 +/* See linux kernel: arch/mips/include/asm/elf.h. */ +#define ELF_NREG 45 + #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 834120c9f2..e5833ec3b4 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -395,50 +395,6 @@ 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 - -/* 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. */ -void elf_core_copy_regs(target_ulong *regs, const CPUMIPSState *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 tswapl(env->active_tc.gpr[i]); - } - - regs[TARGET_EF_R26] =3D 0; - regs[TARGET_EF_R27] =3D 0; - regs[TARGET_EF_LO] =3D tswapl(env->active_tc.LO[0]); - regs[TARGET_EF_HI] =3D tswapl(env->active_tc.HI[0]); - regs[TARGET_EF_CP0_EPC] =3D tswapl(env->active_tc.PC); - regs[TARGET_EF_CP0_BADVADDR] =3D tswapl(env->CP0_BadVAddr); - regs[TARGET_EF_CP0_STATUS] =3D tswapl(env->CP0_Status); - regs[TARGET_EF_CP0_CAUSE] =3D tswapl(env->CP0_Cause); -} - #define ELF_EXEC_PAGESIZE 4096 =20 #endif /* TARGET_MIPS */ diff --git a/linux-user/mips/elfload.c b/linux-user/mips/elfload.c index c353ccc1ad..b54e0d8d1c 100644 --- a/linux-user/mips/elfload.c +++ b/linux-user/mips/elfload.c @@ -122,3 +122,44 @@ const char *get_elf_base_platform(CPUState *cs) } =20 #undef MATCH_PLATFORM_INSN + +/* 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. */ +void elf_core_copy_regs(target_ulong *regs, const CPUMIPSState *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 tswapl(env->active_tc.gpr[i]); + } + + regs[TARGET_EF_R26] =3D 0; + regs[TARGET_EF_R27] =3D 0; + regs[TARGET_EF_LO] =3D tswapl(env->active_tc.LO[0]); + regs[TARGET_EF_HI] =3D tswapl(env->active_tc.HI[0]); + regs[TARGET_EF_CP0_EPC] =3D tswapl(env->active_tc.PC); + regs[TARGET_EF_CP0_BADVADDR] =3D tswapl(env->CP0_BadVAddr); + regs[TARGET_EF_CP0_STATUS] =3D tswapl(env->CP0_Status); + regs[TARGET_EF_CP0_CAUSE] =3D tswapl(env->CP0_Cause); +} --=20 2.43.0 From nobody Sat Nov 15 07:41:35 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=1754176986; cv=none; d=zohomail.com; s=zohoarc; b=XoU1M6P9Kt2jbvP9Pv338PKoLWGtbWd+kgNMfgw8LRRaed8G4tnEI5RBx8f3EfEHdiKieztT1+CXmkqHw2pHit7fmf1scrUuj9mXNPqQ1A0hFxVXLn8Ns6Y4e6gZqMmMlqFw0izjUp7d1FPuUsGMkO1lX0q6oN21/riDqAnIPCg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176986; 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=VKntQcixz63yFkwnTw1RDc2VhvvMyz/VZ3kBWpA/ESY=; b=RJ9ZuaG0Xkg9PLxVkRF61OTR6SKGAEf37LMzWfbIOZNQh9tw3qjL+x0UN1Ue/+0BDUlxL9/jVDdwKVpju0nCGcvTAeN0wV61lVkfObV5prxrcKgGoRlHcG5RmSgYcuwqnRttwAPl+ykbKeIu85FUa94oPDCO30aSz7V7gf56yaM= 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 1754176986617449.8277130233545; Sat, 2 Aug 2025 16:23:06 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLO9-00034B-9X; Sat, 02 Aug 2025 19:11: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 1uiLO3-0002fE-MD for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:36 -0400 Received: from mail-oo1-xc2d.google.com ([2607:f8b0:4864:20::c2d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLO2-0001ky-10 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:35 -0400 Received: by mail-oo1-xc2d.google.com with SMTP id 006d021491bc7-61997c8e2a1so388290eaf.1 for ; Sat, 02 Aug 2025 16:11:33 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.11.30 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:11:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176293; x=1754781093; 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=VKntQcixz63yFkwnTw1RDc2VhvvMyz/VZ3kBWpA/ESY=; b=tiaGU2w43UyDJjXUrtSPzAu6+bG7q6UnBUSRepf9LWX1gCY4G1v1DoKlHlqcyIKYbi v6CEFvblhZi6K69S11zAtQ5bSwpLMb7w50gt2+mhq5NKjkwwsl2Y4kOMaCiBvnbq2jIh 1bbKVIJxw9nfy9xidRdDZx2OPj/pQqALUVCxOjUL2Pt0JBxtnMDwA7/8mTVnwnFOu3l/ 8gLzGP+hD83ZlK/oqxjOLvRtcV5XnaeugDXnHsbUMimQAnKMBHTW8ACM34Dh+O7ciexR BseNlnA1ZpyreRpvVGMtFXClq4gGMIDGRHngGR2hlcIYQvpgmNygpIhMx5KBheUy8ZPq PYUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176293; x=1754781093; 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=VKntQcixz63yFkwnTw1RDc2VhvvMyz/VZ3kBWpA/ESY=; b=GBt72Dc+w6XlRdN45TU14xLFkYxQm5Rfj1+IrF/jK27UaJuHzdeRysynRKKHkjVdMb hdxt+g4mBhXs3aWtINGhFYW0OVD2LnmLR5DYV0a8KkioztePWcHF5N3yfq6cOXpbh/eT 7AXfqO3CUSy4M0lJO2p5ifmp76DUTyMIRxEQdVeEzL4kPZxOUoYC7qvI5uCWl7r0jxxT 5fkQFtck9nRMihuWixfehroawiTK7h7pqY8RaXCNe89DLyhtXQOfpjOUJfF01WN6+tLw 9teT+lodaD3/FtqM7yzWFqi3c20Ztd4zOgeQglSYA6C8aMI+vLi51w/ILAbKSkfWLDvh hTZA== X-Gm-Message-State: AOJu0YyWSMdFsqmHvmlqV3WKsbcBPyneQHVhN+yNhPEDBxhrf7UmVI23 Iki3HFhah199goNDA1oxdyu+zAadsPiOtlf7XPbMlBQuiokTv8oYfWpM+02fXCuQ4g9+c/67HnG u7J4Z9QY= X-Gm-Gg: ASbGncunsAOMqy/YxFHakQ3qEOUgocyxH5Mo77tHyKYSAXKVPsXspmxOdKVy7Ji4cst IAZcqNecYPTXno69LuE7+QlTTrNHIhZYWSdegDRsP9mhfkjurRvqFj0SotstF9rvDM007FBNGw+ giT1YbrToA9ublPxnoAKVglx0u6JsbAgeApwvg6Vm0Y+XOoQGcv6dLPAciGpkS2SeQeS432xAWf eMfGc5MFZjHmHPMsRVP7tDBC109hNT9KYWAmauxmm6grdG8CSlQk61QG1gVc84Ok2V0WxD+rfUT mRuCP4iWBNjxCb8lNbewZoxTImG1I7oBhcAA1oBtB6glRr9YP3t4nNwJEQmZSlLlUwUInRN7jua oI4BM8BpnE45gtk5h48kzDTLjTSr5QB8YJxa/9ujfFgGD02NtkkBP X-Google-Smtp-Source: AGHT+IEbgYaaPzjVCyofJvavnWW+5OfnPOzoEwTxTc8zXqkBmI0xiGsLMBB49248n5b2KLC/HVVcQg== X-Received: by 2002:a05:6820:4810:b0:619:932b:3dab with SMTP id 006d021491bc7-619932b3f75mr1684237eaf.2.1754176292503; Sat, 02 Aug 2025 16:11:32 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v2 56/95] linux-user: Move elf_core_copy_regs to microblaze/elfload.c Date: Sun, 3 Aug 2025 09:04:20 +1000 Message-ID: <20250802230459.412251-57-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c2d; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc2d.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: 1754176987588116600 Content-Type: text/plain; charset="utf-8" Move elf_core_copy_regs to elfload.c. Move ELF_NREG to target_elf.h. Signed-off-by: Richard Henderson --- linux-user/microblaze/target_elf.h | 2 ++ linux-user/elfload.c | 19 ------------------- linux-user/microblaze/elfload.c | 17 +++++++++++++++++ 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/linux-user/microblaze/target_elf.h b/linux-user/microblaze/tar= get_elf.h index bfe2997fd2..2d83fdaf6d 100644 --- a/linux-user/microblaze/target_elf.h +++ b/linux-user/microblaze/target_elf.h @@ -8,4 +8,6 @@ #ifndef MICROBLAZE_TARGET_ELF_H #define MICROBLAZE_TARGET_ELF_H =20 +#define ELF_NREG 38 + #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index e5833ec3b4..161118d855 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -408,25 +408,6 @@ static const VdsoImageInfo *vdso_image_info(uint32_t e= lf_flags) =20 #define ELF_EXEC_PAGESIZE 4096 =20 -#define ELF_NREG 38 - -/* See linux kernel: arch/mips/kernel/process.c:elf_dump_regs. */ -void elf_core_copy_regs(target_ulong *regs, const CPUMBState *env) -{ - int i, pos =3D 0; - - for (i =3D 0; i < 32; i++) { - regs[pos++] =3D tswapl(env->regs[i]); - } - - regs[pos++] =3D tswapl(env->pc); - regs[pos++] =3D tswapl(mb_cpu_read_msr(env)); - regs[pos++] =3D 0; - regs[pos++] =3D tswapl(env->ear); - regs[pos++] =3D 0; - regs[pos++] =3D tswapl(env->esr); -} - #endif /* TARGET_MICROBLAZE */ =20 #ifdef TARGET_OPENRISC diff --git a/linux-user/microblaze/elfload.c b/linux-user/microblaze/elfloa= d.c index b92442dfeb..8a17ffa561 100644 --- a/linux-user/microblaze/elfload.c +++ b/linux-user/microblaze/elfload.c @@ -9,3 +9,20 @@ const char *get_elf_cpu_model(uint32_t eflags) { return "any"; } + +/* See linux kernel: arch/mips/kernel/process.c:elf_dump_regs. */ +void elf_core_copy_regs(target_ulong *regs, const CPUMBState *env) +{ + int i, pos =3D 0; + + for (i =3D 0; i < 32; i++) { + regs[pos++] =3D tswapl(env->regs[i]); + } + + regs[pos++] =3D tswapl(env->pc); + regs[pos++] =3D tswapl(mb_cpu_read_msr(env)); + regs[pos++] =3D 0; + regs[pos++] =3D tswapl(env->ear); + regs[pos++] =3D 0; + regs[pos++] =3D tswapl(env->esr); +} --=20 2.43.0 From nobody Sat Nov 15 07:41:35 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=1754176499; cv=none; d=zohomail.com; s=zohoarc; b=MqXZvjtISANWnsLOc/tf23KDypU8GQVu6W0BzasYKLhBSsA+09F73z1xvdc+VYc8Xxi5bAWZo0+khBcsUG8JeYSsSb1THO4peDR34EMZBKJEXvTv8ZHXiROl4B72HVPv9ugMsU6/zCFXs4ah0vGjM2YEAgc6PmvODI4CZGsAMf4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176499; 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=uyMtdJrWW5HbVPnFU4VMgr7B03c8Ws8hRDOWCMJUb+E=; b=fpyAKyEYmop0M3fzFoFXUhIYgys/z0g0c7CSELP1CR8OKjn6wfEcCFvgxjj6hMkWeZcIMO6KMbi2yOO/XN/rZ+HT/37IchHBaHzJCDgoIEqoTIGk+L5AMuduj3aHMhkvD1Li51uhe3KcG8KAY7/+Ws3+wyu6T1GdH+5dYyNysoU= 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 1754176499087803.2479872045224; Sat, 2 Aug 2025 16:14:59 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLOC-0003Hq-16; Sat, 02 Aug 2025 19:11: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 1uiLO6-0002ri-G6 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:39 -0400 Received: from mail-oo1-xc2f.google.com ([2607:f8b0:4864:20::c2f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLO4-0001lL-Ow for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:38 -0400 Received: by mail-oo1-xc2f.google.com with SMTP id 006d021491bc7-61994f145fbso247431eaf.0 for ; Sat, 02 Aug 2025 16:11:36 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.11.33 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:11:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176295; x=1754781095; 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=uyMtdJrWW5HbVPnFU4VMgr7B03c8Ws8hRDOWCMJUb+E=; b=pKb4c69zZDjcvPMIFRhUKkTiD5K2oAuRfuYQwygm+CJg108sWceENESDsIyBfU2yFC i6/PmuoZkid2OwrxsmBDS0iCUTDqzFB9TF+eIGNXs5Swi7CFAPX2nBZfbcvA3A0xIICb Y8h+OZUk82aw4Z7zApz0e+Od5ivAaQDv1PAEJ7AYGUzgOtHCqo7Yg7Y4yy1hW2bNxYk8 zQTwSrN9/396e1DlpURpH/J9c1ym7RLyEVA34Q2XtZr9X2bAqsljSOEVE0GxcaAcDF9c ulL7Ce8152VO+cw2xaBGKzxv20HaBRN62c+LGzWDYnWKsVdpfTYpF/BdL+sRmbK+/bV6 sKCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176295; x=1754781095; 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=uyMtdJrWW5HbVPnFU4VMgr7B03c8Ws8hRDOWCMJUb+E=; b=kClNabrLjLdvZV49ehLbeqVjCQk+4DqRXWrvGtgzg1RvQd6ce45rdm0Q9jrjHH7/0a 3uYA+f0yLACXLoIxnTkz0SSULgFjqf8GPgvr4AtqRfOqeR4t0BC9RjQf5IqzgCegEV9x mrnr1nCK8mKRwUFZMNTyZQYDo2hK4fraVZ8bmAJvxZ35WI0ZbRu7KK5AimZ8BkMWbHnM 6dQI7B888p2B62lNvoQyBmP59RunaML+EBNyQD274zfHgp+SFnrDwCI2iCaE/OPrCDmb UnMKnShtusX00nLQM465tPbXaafSwVBbJ+QecK3A3aYVfsR0lywK6UW3eNT+UpCzjYvS OHlg== X-Gm-Message-State: AOJu0Yw7Xg5rCMZ4KS/HyjL3Ymmiea8zCtbhXr8AOhFlAuhgJielPJGb 75p8pjHKGzpzL7N9r7CNPOtfybzuncY8dbXF1JqaVI9mmLFeG31RnTU8nwzklu0U0EWmtzM5HcH +xb2L+s0= X-Gm-Gg: ASbGnctasgZM0xrBVdnACsPyCAINMKDQVmQS9YRNzo2BkNWmL2shYKvsMpfD8O4HWfj rZEW/sMh0g0hdz6eaLWEy73BGvjGrVUgjv4qdVr+Ae7+VroFA/b25UTSkLAu3tU317NKJ9eOmSa xegUp8GokTNk4jhivbqoMmFc4JQYNzQ5JhgwxIuRkYT1w209AcMPnA0uel8Gf/KrEC+0T1qnqOm xZLXZKdwxTSTSBBJ+DAWef/x7S/CJEx8PRi7B8IwP91JU+ckRc/iDRQrUmu1X1CfzkgWV2py8+I OoY3zURMn/Xty44o8RaxJkx2Kn5Y7oQXvkGGhguIfEebqXMUwK9UPlmV8RzuvUe34vYqUt77sJf BpuXSZCtKlw46j63fqCADVFDApnrJAkz7ntP2eGzQRTwMQodeyoqy X-Google-Smtp-Source: AGHT+IHnCsBKJKUJsLB/oUpkYvdpk/S4UfdtePRwjinSTCXmYgMNILUqkVroG8+3SCzXdpPOvpP/vg== X-Received: by 2002:a4a:edc5:0:b0:615:b2c9:7ffd with SMTP id 006d021491bc7-6198ef153c2mr2424055eaf.0.1754176295438; Sat, 02 Aug 2025 16:11:35 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v2 57/95] linux-user: Move elf_core_copy_regs to openrisc/elfload.c Date: Sun, 3 Aug 2025 09:04:21 +1000 Message-ID: <20250802230459.412251-58-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c2f; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc2f.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: 1754176500760124100 Content-Type: text/plain; charset="utf-8" Move elf_core_copy_regs to elfload.c. Move ELF_NREG to target_elf.h. Signed-off-by: Richard Henderson --- linux-user/openrisc/target_elf.h | 3 +++ linux-user/elfload.c | 14 -------------- linux-user/openrisc/elfload.c | 11 +++++++++++ 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/linux-user/openrisc/target_elf.h b/linux-user/openrisc/target_= elf.h index b34f2ff672..4ffe54fe87 100644 --- a/linux-user/openrisc/target_elf.h +++ b/linux-user/openrisc/target_elf.h @@ -8,4 +8,7 @@ #ifndef OPENRISC_TARGET_ELF_H #define OPENRISC_TARGET_ELF_H =20 +/* See linux kernel arch/openrisc/include/asm/elf.h. */ +#define ELF_NREG 34 /* gprs and pc, sr */ + #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 161118d855..2597fb8bc0 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -418,20 +418,6 @@ static const VdsoImageInfo *vdso_image_info(uint32_t e= lf_flags) =20 #define ELF_EXEC_PAGESIZE 8192 =20 -/* See linux kernel arch/openrisc/include/asm/elf.h. */ -#define ELF_NREG 34 /* gprs and pc, sr */ - -void elf_core_copy_regs(target_ulong *regs, const CPUOpenRISCState *env) -{ - int i; - - for (i =3D 0; i < 32; i++) { - regs[i] =3D tswapl(cpu_get_gpr(env, i)); - } - regs[32] =3D tswapl(env->pc); - regs[33] =3D tswapl(cpu_get_sr(env)); -} - #endif /* TARGET_OPENRISC */ =20 #ifdef TARGET_SH4 diff --git a/linux-user/openrisc/elfload.c b/linux-user/openrisc/elfload.c index b92442dfeb..9851f04d64 100644 --- a/linux-user/openrisc/elfload.c +++ b/linux-user/openrisc/elfload.c @@ -9,3 +9,14 @@ const char *get_elf_cpu_model(uint32_t eflags) { return "any"; } + +void elf_core_copy_regs(target_ulong *regs, const CPUOpenRISCState *env) +{ + int i; + + for (i =3D 0; i < 32; i++) { + regs[i] =3D tswapl(cpu_get_gpr(env, i)); + } + regs[32] =3D tswapl(env->pc); + regs[33] =3D tswapl(cpu_get_sr(env)); +} --=20 2.43.0 From nobody Sat Nov 15 07:41:35 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=1754176668; cv=none; d=zohomail.com; s=zohoarc; b=Xc8HCZ8EZTc5la2wUG9W/2eL62uTaPSwDY7rZRoM4Y/Z8mjoMY2kp4ayZkhKvyQ0XPQx71pUMdmYuI0u1Z2Zc3gyOSieUVRT0pkaqPKBa/FqaeeHPgCj4Mz9rmFUl3kGnTocEEUdQ+cVceu9UZUmPNFl1uEJYO28i3Uzly7O5VE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176668; 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=0u8uZtwmHhEz8h5W3U1dOIyrczeUjwPWznuKxV1wOTI=; b=DcasjsZGBWuK4vLuRPrxJgRUKGCgRY5tVFeSyeFOPmk0OE3vqBpkbePTRvg07L2pUPF89u2bca1Zjq/BVTnlb+/W+NN5x481bAtEpW8FKTlyXeba0hJxlksXrCCyzueKf+nq/QHGH+ZX3vbXxunAyj0PhQJrXhxudcmV2N3Zg4E= 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 1754176668637481.07289442564615; Sat, 2 Aug 2025 16:17:48 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLOk-0003ye-MY; Sat, 02 Aug 2025 19:12:19 -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 1uiLO9-0003BU-NE for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:41 -0400 Received: from mail-oi1-x22f.google.com ([2607:f8b0:4864:20::22f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLO7-0001lj-S6 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:41 -0400 Received: by mail-oi1-x22f.google.com with SMTP id 5614622812f47-4338d05970bso2037623b6e.1 for ; Sat, 02 Aug 2025 16:11:39 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.11.35 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:11:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176298; x=1754781098; 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=0u8uZtwmHhEz8h5W3U1dOIyrczeUjwPWznuKxV1wOTI=; b=NSl8H44Fx8DOpCTInzwluo10X6NwsaDYsnnTSCiZvrsAyrQ3459BzTE71nKYozhswF 6UqNgd6hGGILoCqJXg0hsr1G/KnhmDVw9uzGhHp4+Jm8z9QZdWKP7sbOVVJbqiskhvdY Rxgdgg3ScdHBXhXsAfsORHaRmNRUAN0D0uYMCTe7W5mHF4i6TAtjqYQLhD96KdEO7S7V RtB0xdTotBk09N9Mqdv0TzWT6GEUq2zjjr1ernxDziZyNDh87gVfoXAcKx6eUiUwhh6h Bfdg5h8WdybLbUimndZ1T373hxf/Ih23BanCZpz8SFJGXr+Y3Atqq2aoKWidbvCsYncx HPVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176298; x=1754781098; 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=0u8uZtwmHhEz8h5W3U1dOIyrczeUjwPWznuKxV1wOTI=; b=GLNzDpLdSY0NXUs44LiZx7Rg7mEWIZzInDx0ZHulAs2JzERhpdBB5GHvaiZ0+clkZu bYWsihJJxRTw+VrjP6Zu8v3Dl/sZiTXIx3MiUhgc/AoaNtFojj4L0uL3yLctT/akCnNn 8nwizYciDLbIu5cDpT6VkhNlCAfrG4MNtd5lCNmNlTNLi04zBu77UazNRtxI9NmydpE+ 5skF/fqrqcpdsAmiANrHz0BLkkqTNcQizEHjH+gMO96q3fy+cH3qPG9wyF8sq6qx/x35 bARVZqhqzV5sA7a4PVv6etJgzSbjOQ4Byxe6UAlj4NUhThq+LVzLlHZHhjKV/5XvolUp z1+g== X-Gm-Message-State: AOJu0YzLqoHn/UcI7zP3hkJbcsfnBCdNYwj+rTC22bPSi+cB6OVzd9ym AHxDsdV51kxvNBSH3KRSQVE7JUJlOOWyo3BdFH+9VaiTevydr3xu8E8ZRqJuDdbzD+Y7qo15VHf 1z/HoVjY= X-Gm-Gg: ASbGncuzcB0wh01VxItLOFlYTMjUUmj95ttWtFuwjA6+ZsTUNzBPWuK/mEXdtl4/ePh ku9wR7DAA4vJAGx5OuoA8YVJnoQdBPG5juv1bc2+pZ1bmd2LGCP5gDfpTtcetuMEcPJFrHWS832 UgUJTAO5yOVzBARVJmJO+fc5BNqbfrNWj9wAX23AMTPVreWjqcXp0EZB0u8RLCsZ2CbDG2RDi1d f4NWkmKQO2N0D6fEhIberPg2Oeft0DTY2HIGFWsqtj/PAEtYBFG+NPLsyNQ6vZsWBLtL9DIqkJ9 9kkpn+xNWJY+Tbb93BBm6BcLeEgRjHYTqLd8zxrLFGoW9v3P5dM+1s9O1EBeiCrKXbdZmK+ML8n v9yuQqxQxf5AJtKmqu2zGZmawby+CBlQ/YvpC7VDs6Azk57moRrG8 X-Google-Smtp-Source: AGHT+IE1fU6QGjOgfwH7bPos7x+PurjQ7FY/gwFu4vYDK2vE3szrWH++s5rvN0Kt/JBpsrc/96eIJg== X-Received: by 2002:a05:6808:68c7:20b0:433:fd5b:caa5 with SMTP id 5614622812f47-433fd5be0d8mr836109b6e.35.1754176298309; Sat, 02 Aug 2025 16:11:38 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v2 58/95] linux-user: Move elf_core_copy_regs to sh4/elfload.c Date: Sun, 3 Aug 2025 09:04:22 +1000 Message-ID: <20250802230459.412251-59-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::22f; envelope-from=richard.henderson@linaro.org; helo=mail-oi1-x22f.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: 1754176670651124100 Content-Type: text/plain; charset="utf-8" Move elf_core_copy_regs to elfload.c. Move ELF_NREG to target_elf.h. Signed-off-by: Richard Henderson --- linux-user/sh4/target_elf.h | 3 +++ linux-user/elfload.c | 31 ------------------------------- linux-user/sh4/elfload.c | 28 ++++++++++++++++++++++++++++ 3 files changed, 31 insertions(+), 31 deletions(-) diff --git a/linux-user/sh4/target_elf.h b/linux-user/sh4/target_elf.h index badd0f5371..b0f1ece1e9 100644 --- a/linux-user/sh4/target_elf.h +++ b/linux-user/sh4/target_elf.h @@ -10,4 +10,7 @@ =20 #define HAVE_ELF_HWCAP 1 =20 +/* See linux kernel: arch/sh/include/asm/elf.h. */ +#define ELF_NREG 23 + #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 2597fb8bc0..985c3e4e80 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -425,37 +425,6 @@ 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 - -/* 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 -}; - -void elf_core_copy_regs(target_ulong *regs, const CPUSH4State *env) -{ - int i; - - for (i =3D 0; i < 16; i++) { - regs[i] =3D tswapl(env->gregs[i]); - } - - regs[TARGET_REG_PC] =3D tswapl(env->pc); - regs[TARGET_REG_PR] =3D tswapl(env->pr); - regs[TARGET_REG_SR] =3D tswapl(env->sr); - regs[TARGET_REG_GBR] =3D tswapl(env->gbr); - regs[TARGET_REG_MACH] =3D tswapl(env->mach); - regs[TARGET_REG_MACL] =3D tswapl(env->macl); - regs[TARGET_REG_SYSCALL] =3D 0; /* FIXME */ -} - #define ELF_EXEC_PAGESIZE 4096 =20 #endif diff --git a/linux-user/sh4/elfload.c b/linux-user/sh4/elfload.c index 99ad4f6334..5592036461 100644 --- a/linux-user/sh4/elfload.c +++ b/linux-user/sh4/elfload.c @@ -36,3 +36,31 @@ abi_ulong get_elf_hwcap(CPUState *cs) =20 return hwcap; } + +/* 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 +}; + +void elf_core_copy_regs(target_ulong *regs, const CPUSH4State *env) +{ + int i; + + for (i =3D 0; i < 16; i++) { + regs[i] =3D tswapl(env->gregs[i]); + } + + regs[TARGET_REG_PC] =3D tswapl(env->pc); + regs[TARGET_REG_PR] =3D tswapl(env->pr); + regs[TARGET_REG_SR] =3D tswapl(env->sr); + regs[TARGET_REG_GBR] =3D tswapl(env->gbr); + regs[TARGET_REG_MACH] =3D tswapl(env->mach); + regs[TARGET_REG_MACL] =3D tswapl(env->macl); + regs[TARGET_REG_SYSCALL] =3D 0; /* FIXME */ +} --=20 2.43.0 From nobody Sat Nov 15 07:41:35 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=1754177089; cv=none; d=zohomail.com; s=zohoarc; b=CZPHCb57G+DnNAfR1c6KtSZCRjAvMbSj5inPaBXp9JlXB6Xy/pn5jXDhAT1ChEB3J8RAnLnRAT7xm3k1eBcQINeZrMvx3WWQm7qztKXWhkFoaLYP2M43/7sa7djsXMTY+B3qrzVeCSG0yvuEqmCQyob8VOZucyN+sM5RzH0v/yU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754177089; 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=MYvaluqlDtgvoJHgKqOV+t3sT83HKVC7hg6Wp0CeZfc=; b=TzZCCr03BRawG529oXXg9sVVRM21uoq7z+R6K3geRkUCZPWuR5PIjVE+Z1CaBtJbi/dvCyibXD6VaW0Iay7bLS6kzywt6+yd4HjHfboXNT7+K4LFq7G6ziXaabSpILaCqBIXdJaWJLCWep4VJnkKyzM9H7OIRxwPvsYvDScMwBg= 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 1754177089867408.17767667866406; Sat, 2 Aug 2025 16:24:49 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLOj-0003ve-Iu; Sat, 02 Aug 2025 19:12:18 -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 1uiLOC-0003Te-Fx for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:44 -0400 Received: from mail-oo1-xc30.google.com ([2607:f8b0:4864:20::c30]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLOA-0001m5-KU for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:44 -0400 Received: by mail-oo1-xc30.google.com with SMTP id 006d021491bc7-61585dfc8f8so1028069eaf.0 for ; Sat, 02 Aug 2025 16:11:42 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.11.38 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:11:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176301; x=1754781101; 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=MYvaluqlDtgvoJHgKqOV+t3sT83HKVC7hg6Wp0CeZfc=; b=bpe579JTNYSUFJoll7cQ6B2MhkIVlw4eCLPJ4UsBlmy1bK1WbXfrPxVVt0Gv8tcjLT PtyLibM1RM02TE2Asc5B+hWyFWM2iGMkL96ZjeCWlLIWjPwTSAtWUhwgBC+o7inE27bw BZ5FRJmyIBWRgvMkCpRpLl6O5+cAimWu9niJxe9afoWF8LLR8uUwBM0S8HqRObf/loPm UlgS/pAJIxgIQze6/gpdBFM0bRXy0g8qkc74a46UwXv90qvrw0RsuOKADScCdEjop0Tw uEHyjc/AKgMk6Hr3ubIRIh+uo327qynbqKT9+xFNFPwJiakFVqbCiGHe06M4NMXFgcku OXQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176301; x=1754781101; 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=MYvaluqlDtgvoJHgKqOV+t3sT83HKVC7hg6Wp0CeZfc=; b=kmqpzmS/tZyml0FAoyPoI8Xo0xKi/prJlE+PsMtDWbzQpvXWswTv4dhusON3rUgWFa dtweeHrAfY/uoqFr+ucCzHD3+rX3rqvynzPceIjXcjeyDWpKoeH5MGy+Ns73hUTHR9ug LGjW+XWQl/vOsrYLS/eKMUwnwfIJX30kc6Q0wGT8AKxKRISr98ewgomx/q8YIJu8VaFY GQMLZgJVmGeg/jnBFODomXMy7ZtacS5V8rDe5GY6hwiMOl+hRO9YZFURpfZP9c5qE/EA j4pJaS5inXRYle3Wux3i+KV8/fbgrl76CPzhRBCoz4sFm4OaxZoGLJFdI2HDrmoiPRQM frEg== X-Gm-Message-State: AOJu0YyyRUMVw3fO0i2CVvLb304GJ+G6Jtx9bRRBLMOInyQyM4QnANF5 EMFeHEWuUL5ABUnz4t9kybBW+Guo0GioM4WprLG/0vxEsdJ0YQ/qDdyjUi69V/Y+jJIHVgjA5+D yIx1J8Hw= X-Gm-Gg: ASbGncv8B8zeT3iP5d2eONBFCa8LL+MimN7NCzVjns2UoRa1qPRwOd6LXsw/23uZZXX mc5rPeNYuiSjVsR0gWCdix1xrx+93p2U6ABWoy2UlPin9GVqxOdujKyZExDaIxoxBEXD/9mWyVf wVHWha/gfgo78yinIc7UI17iss/muiFoDi04yNzDsY+ozzfm7cQC1vZpLtLmnDtUdUXJ6t3uFNQ KK/TBomYgm4gmz3+pRyUOpt54tOyS9JHwO2zije3ZLHFj8t70JFaGaeXBWR0pyn+bTUhDdbn4HZ krqZu14j2J2nNmrWrgMciOTMw74JBNOuJSp7a6p7buVRqEFNfGwJ6/HCRJBCjDjwZ/eAXESrpAE YoQKo5foCD+DeU+UKHYvAxVWOSau27s0wgqljPnkqSjuZBzGCyImk X-Google-Smtp-Source: AGHT+IFaAYnlVg+LC3kfPmWqWkivlY+X9yccZ7YL4m61biRSBNPjqCwLgGS9KVGtt1td/DuJmxeJfg== X-Received: by 2002:a4a:edc5:0:b0:610:fc12:cbb4 with SMTP id 006d021491bc7-6198f0be1e8mr2568929eaf.1.1754176301259; Sat, 02 Aug 2025 16:11:41 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v2 59/95] linux-user: Move elf_core_copy_regs to m68k/elfload.c Date: Sun, 3 Aug 2025 09:04:23 +1000 Message-ID: <20250802230459.412251-60-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c30; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc30.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: 1754177090726124100 Content-Type: text/plain; charset="utf-8" Move elf_core_copy_regs to elfload.c. Move ELF_NREG to target_elf.h. Signed-off-by: Richard Henderson --- linux-user/m68k/target_elf.h | 3 +++ linux-user/elfload.c | 27 --------------------------- linux-user/m68k/elfload.c | 24 ++++++++++++++++++++++++ 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/linux-user/m68k/target_elf.h b/linux-user/m68k/target_elf.h index 62ff9d38d4..b721687d3e 100644 --- a/linux-user/m68k/target_elf.h +++ b/linux-user/m68k/target_elf.h @@ -8,4 +8,7 @@ #ifndef M68K_TARGET_ELF_H #define M68K_TARGET_ELF_H =20 +/* See linux kernel: arch/m68k/include/asm/elf.h. */ +#define ELF_NREG 20 + #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 985c3e4e80..bc1a06a651 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -434,33 +434,6 @@ 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 - -void elf_core_copy_regs(target_ulong *regs, const CPUM68KState *env) -{ - regs[0] =3D tswapl(env->dregs[1]); - regs[1] =3D tswapl(env->dregs[2]); - regs[2] =3D tswapl(env->dregs[3]); - regs[3] =3D tswapl(env->dregs[4]); - regs[4] =3D tswapl(env->dregs[5]); - regs[5] =3D tswapl(env->dregs[6]); - regs[6] =3D tswapl(env->dregs[7]); - regs[7] =3D tswapl(env->aregs[0]); - regs[8] =3D tswapl(env->aregs[1]); - regs[9] =3D tswapl(env->aregs[2]); - regs[10] =3D tswapl(env->aregs[3]); - regs[11] =3D tswapl(env->aregs[4]); - regs[12] =3D tswapl(env->aregs[5]); - regs[13] =3D tswapl(env->aregs[6]); - regs[14] =3D tswapl(env->dregs[0]); - regs[15] =3D tswapl(env->aregs[7]); - regs[16] =3D tswapl(env->dregs[0]); /* FIXME: orig_d0 */ - regs[17] =3D tswapl(env->sr); - regs[18] =3D tswapl(env->pc); - regs[19] =3D 0; /* FIXME: regs->format | regs->vector */ -} - #define ELF_EXEC_PAGESIZE 8192 =20 #endif diff --git a/linux-user/m68k/elfload.c b/linux-user/m68k/elfload.c index 561ac5b3b3..d30bee477d 100644 --- a/linux-user/m68k/elfload.c +++ b/linux-user/m68k/elfload.c @@ -16,3 +16,27 @@ const char *get_elf_cpu_model(uint32_t eflags) /* Coldfire */ return "any"; } + +void elf_core_copy_regs(target_ulong *regs, const CPUM68KState *env) +{ + regs[0] =3D tswapl(env->dregs[1]); + regs[1] =3D tswapl(env->dregs[2]); + regs[2] =3D tswapl(env->dregs[3]); + regs[3] =3D tswapl(env->dregs[4]); + regs[4] =3D tswapl(env->dregs[5]); + regs[5] =3D tswapl(env->dregs[6]); + regs[6] =3D tswapl(env->dregs[7]); + regs[7] =3D tswapl(env->aregs[0]); + regs[8] =3D tswapl(env->aregs[1]); + regs[9] =3D tswapl(env->aregs[2]); + regs[10] =3D tswapl(env->aregs[3]); + regs[11] =3D tswapl(env->aregs[4]); + regs[12] =3D tswapl(env->aregs[5]); + regs[13] =3D tswapl(env->aregs[6]); + regs[14] =3D tswapl(env->dregs[0]); + regs[15] =3D tswapl(env->aregs[7]); + regs[16] =3D tswapl(env->dregs[0]); /* FIXME: orig_d0 */ + regs[17] =3D tswapl(env->sr); + regs[18] =3D tswapl(env->pc); + regs[19] =3D 0; /* FIXME: regs->format | regs->vector */ +} --=20 2.43.0 From nobody Sat Nov 15 07:41:35 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=1754177092; cv=none; d=zohomail.com; s=zohoarc; b=J/ptRDX8i0RDaYWzfgSyF7K6urF+qnIytAp2WbCxSaWg79PM8yXXMPid3Mp4hRxp8PJ9rNm86B9hML9oPWEISo1B/P+kuboKdyqPnAADwcQZGe1MxHe97utsWjzbR+cbBYyPNtwzgLyHtbqM6foQh3+zDXlZXAefTKFzeKxDwF8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754177092; 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=uE6kEEA2yLsGbbdqUp9jlCxO7X+3Igj3rF1vo83t+uQ=; b=ScXVlRrIcW6x6S/IRBgO2lmaIDfWm6CtTRQfJWs0MqTsGqjllDUgMgX1tVFZxVW2CmZobJaI6mp/cqSg+mRoVkf5UvABSa+BE6lhtos79m0JSUB31AJv8sg21Su1dZ8ObVh2fETRkkivgwpsOsf2sGXaLP0pDfFb0QMCWG2foI4= 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 175417709259428.61851995236259; Sat, 2 Aug 2025 16:24:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLOv-0004NB-D1; Sat, 02 Aug 2025 19:12: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 1uiLOF-0003bJ-9b for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:51 -0400 Received: from mail-oi1-x231.google.com ([2607:f8b0:4864:20::231]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLOD-0001mf-Kp for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:47 -0400 Received: by mail-oi1-x231.google.com with SMTP id 5614622812f47-4338d05970bso2037645b6e.1 for ; Sat, 02 Aug 2025 16:11:45 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.11.41 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:11:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176304; x=1754781104; 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=uE6kEEA2yLsGbbdqUp9jlCxO7X+3Igj3rF1vo83t+uQ=; b=vmUgJiXGBvrTr8+vvfU7SNE6eIe4gpxh7coCnMsePB7KTDPk7FLBPr77T7aFGX3brv UwI3sWDPdX7UP1X+CLHIqdFbqNZebeR5W5arq39UKIqJsQszfErthpTIPKaEY6mcknv+ jo7zCPjnLXx2eEjVOpgv5mv9JVxIcysyVQDuRPZSBlbSmiQGJEFTRLQXgmbRZBpE8VBU G3Yy7wbBD0kysYJ8LTKSZsrmQt8j2Y0Vuv7+g/2TG0DdSJGgacKG3BBPpJJjlCgo7Ati XFGpnxWuEEWjdQMgmX+h8pqOP62vn5TxD4viKUErrgT6TiqgBY7knpfEEA6YPtyLZIhC hXKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176304; x=1754781104; 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=uE6kEEA2yLsGbbdqUp9jlCxO7X+3Igj3rF1vo83t+uQ=; b=IS0CUggOC4sCmFjUxBO/6LGY+nHHryQLyT/92PVJJ+4UK+g/HZanKYGluGPoeKEF4Y uJAtNs3oAwkb7vRw6V0V5podRDr56KbeglErAGKchS7vGLxIktkwVBQSp26xT91JCTbm 6mkEklB+vJ5t6s+/ChH/X69YHTuP2aHO+Ciey4zCojIIDu9U2Y2VJLWEPF5RYDLOW/DU NN50oSbQhD7Voxm4/tQQxihgvSUDhV2eMFK58F+0lgO5I/2eaCVLSyhvZHx/CLry6K26 VWYUeDAPBqm7pyjhYQzc4mG2x8ZyEi89lKJJW/ygwHOaThlTiuyyhIRSY7VsUpCg5Umm eSzw== X-Gm-Message-State: AOJu0YwhZeJ7xqAlz0ha4QEFclIvGOFj6lR9QlUTcFxUa1+tFcZoBCZC HzF0o4bAJ7x9celIkpp2OwDAuifesxbcJ7va7tX2HTrmI4KNDsjkyKPNlXzcMcj4YnHRUeEVnqV 7VOVpHcA= X-Gm-Gg: ASbGncvFtNJucf+cXHwA5hFZU424bqKHvZRj/TBZPE4FVkzGviOt9gLI8cUyYuWG/j6 sHwnx6p4szHHpVWvkCVfuuaM7nQX7+rM5OZpA6BtZrnHz9FjRUpLvwZyzklqUwIFXLQ6ojgwaMn 7zHkrxQ6ebJjyq5DJT0DYBKCy1tCV2e4kcQKjIZHp9eMVkvVgMiFTVmQr8UU3bMyMlfUOpC+f/1 l8CjHrHpbZPvQRwYx40kXB1plIwE+tRwRRjk7JUIYMQNlRyKYJ0FNlMnmvYmS8mMf4nvxkWvOfj Lhe45KW4uyVHim/mO/MzmVbwHgHXq/DRXI/QH6Cnaj9Z/ILVGS9Gs3V7csirwAHVtCDsXLflNP+ GXlrZw4f4HC6oqzRrrW/UOg3GPZsHb/km2SVYyIYxL+Er9X9MlxP1 X-Google-Smtp-Source: AGHT+IGc5oMo9FTSpBZmuGUpCt2Yl+ep6BeXgqBvJCsEIO6zOrpNKP7d4V3Wzx/NGwRor+Nrn51ytA== X-Received: by 2002:a05:6808:3509:b0:406:7af5:30f2 with SMTP id 5614622812f47-433f0363587mr3557172b6e.34.1754176304480; Sat, 02 Aug 2025 16:11:44 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v2 60/95] linux-user: Move elf_core_copy_regs to s390x/elfload.c Date: Sun, 3 Aug 2025 09:04:24 +1000 Message-ID: <20250802230459.412251-61-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::231; envelope-from=richard.henderson@linaro.org; helo=mail-oi1-x231.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: 1754177094804124100 Content-Type: text/plain; charset="utf-8" Move elf_core_copy_regs to elfload.c. Move ELF_NREG to target_elf.h. Signed-off-by: Richard Henderson --- linux-user/s390x/target_elf.h | 3 +++ linux-user/elfload.c | 28 ---------------------------- linux-user/s390x/elfload.c | 25 +++++++++++++++++++++++++ 3 files changed, 28 insertions(+), 28 deletions(-) diff --git a/linux-user/s390x/target_elf.h b/linux-user/s390x/target_elf.h index cebace949a..f83fdbbddf 100644 --- a/linux-user/s390x/target_elf.h +++ b/linux-user/s390x/target_elf.h @@ -10,4 +10,7 @@ =20 #define HAVE_ELF_HWCAP 1 =20 +/* See linux kernel: arch/s390/include/uapi/asm/ptrace.h (s390_regs). */ +#define ELF_NREG 27 + #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index bc1a06a651..80f5c967da 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -453,34 +453,6 @@ 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 - -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, -}; - -void elf_core_copy_regs(target_ulong *regs, const CPUS390XState *env) -{ - int i; - uint32_t *aregs; - - regs[TARGET_REG_PSWM] =3D tswapl(env->psw.mask); - regs[TARGET_REG_PSWA] =3D tswapl(env->psw.addr); - for (i =3D 0; i < 16; i++) { - regs[TARGET_REG_GPRS + i] =3D tswapl(env->regs[i]); - } - aregs =3D (uint32_t *)®s[TARGET_REG_ARS]; - for (i =3D 0; i < 16; i++) { - aregs[i] =3D tswap32(env->aregs[i]); - } - regs[TARGET_REG_ORIG_R2] =3D 0; -} - #define ELF_EXEC_PAGESIZE 4096 =20 #define VDSO_HEADER "vdso.c.inc" diff --git a/linux-user/s390x/elfload.c b/linux-user/s390x/elfload.c index 79ceaba51d..38d72a36f9 100644 --- a/linux-user/s390x/elfload.c +++ b/linux-user/s390x/elfload.c @@ -66,3 +66,28 @@ const char *elf_hwcap_str(uint32_t bit) =20 return bit < ARRAY_SIZE(hwcap_str) ? hwcap_str[bit] : NULL; } + +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, +}; + +void elf_core_copy_regs(target_ulong *regs, const CPUS390XState *env) +{ + int i; + uint32_t *aregs; + + regs[TARGET_REG_PSWM] =3D tswapl(env->psw.mask); + regs[TARGET_REG_PSWA] =3D tswapl(env->psw.addr); + for (i =3D 0; i < 16; i++) { + regs[TARGET_REG_GPRS + i] =3D tswapl(env->regs[i]); + } + aregs =3D (uint32_t *)®s[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 07:41:35 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=1754176669; cv=none; d=zohomail.com; s=zohoarc; b=j3oxnv8Ijb5Sx5y2sm5O7oYpNJRw6v7+RuKXHscg1Ta/giMdFEK0j2Df4j0wPhvpeGmv/yJQhVdKVbc9+TfGySacqi54Pg7PK6Nfl5tNmXgv9rsSHsUrPfuyLlf+Dg8+R3IKUoefiwmEss9uR8BWVgoZMB1QC5nnY0aKX/fJZjY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176669; 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=V570hcmnLPaHK1q/9+XOiTmxop0MReW3DKJENlfmRzM=; b=B9ISlPWAvSqAuzW4xw6I7E+HiZ1hj7SUpb4eNrI1zrLJXf7x+erGLnhhX7+LvWSZ3TJhl5NY0piyotBs1t93Mp9ldJh/nb9wt8ADDjhoQxuDaxWRk/CP82rUNmRoytlNLGbNabaXqpkxOAyMShtruAZJAQHi23UDFr3zxW+4u8E= 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 175417666935910.871415342862178; Sat, 2 Aug 2025 16:17:49 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLOq-0004Es-U1; Sat, 02 Aug 2025 19:12: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 1uiLOH-0003fm-Sz for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:52 -0400 Received: from mail-oo1-xc29.google.com ([2607:f8b0:4864:20::c29]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLOG-0001n6-9t for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:49 -0400 Received: by mail-oo1-xc29.google.com with SMTP id 006d021491bc7-619a0f2a8c9so158861eaf.0 for ; Sat, 02 Aug 2025 16:11:47 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.11.44 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:11:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176307; x=1754781107; 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=V570hcmnLPaHK1q/9+XOiTmxop0MReW3DKJENlfmRzM=; b=FwxThJfGJzXwB5O8Tu1+Ku6PzVrBarp0+bcFhSTu+k6rXp9s8WKWHfxRLzROEPd8z+ VN4eMVDUn8x6lgSW8HIslvx4rIJn4jjEyqp3mUrs0tXd2WRwguFKVdNG7XwKWPr+g6Uf XCEH2N10nFEmNDte9huV3kRIX+EBCebRtGEyamTP2nnIMBj4h8qf97Y8c4aFMTXwKEVb VZ2/7KguONKyMKTLpQhcXlC3IkmkhbYwdiCnRGWxzjQQp9s5sLJXtkZsO5upt4bTBxh+ Ygm17IUe+GAfxZ6KW/Fnd6Ce2i4o94o1QSWbS3K2vWcsBqPRP36hqdHsTyLKlKyM1j0f LmWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176307; x=1754781107; 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=V570hcmnLPaHK1q/9+XOiTmxop0MReW3DKJENlfmRzM=; b=AdGton30j6t36WiHRThkajfvCQhOjF2RKArn+R3ySbwoCVpnN3qjGqcyZ3ePOiIRgx hYBZPp6FVF4wHWHfTS/e1XM0XrlhXGUl5PqM+itVPf6g/hxM6hJgdgWlvXY/eeuQTbAs mvGyQmWYliloxYhsVE3cHStJ/lNTUXT+wtg28WXpS1lvj2H7EczXRD/TyxXZh+kXEbpb Bz5wPqh3YuQzRkW/s55bHCRD12alGarG4YxYWxJHEYgAuhKO6WXGXS3NB7E394lRmaqQ dIlAAgs9HHL4rnNePq8p83R9TJ2Z+jF6pN5ug52KgBQzuAm8Rk7OgQt5fTN0Zwpf0CSt wx1Q== X-Gm-Message-State: AOJu0YzLRFKth2jSRq9qaemH97PTyTIIZh1s+bYm0NOb5q+eFuBE+raC BgKqbvQ6HhX8nMIEadzwgCBYzC36MXPwvR5G2Bv8An1GGPG7cyeo9BqEMxL5ul/fxHTKXpphe+E 0sdlLnnw= X-Gm-Gg: ASbGncsNlPdA0W+gHU80lploklN0wYIk1hP9o64zzYWFyFK1razaet3zotlAQrpxqL6 KajC5NsRLR7cfVy64rvUd4Y0cK9J+jFUpf2zRHzOm7JO5h9vOSDr49yL8vQG+goD3QB549cEjKh 24tN4mJjFScZYjDBy8fcLq5Vs5T1mTUybVmGNlFhkq8Vg/frXlfB5rymvBC324XFHqtt577qxtL tKy9X9zqoOXmDRVTtw8G5LmGVTYCGAy/20KmuD4sGYVo8HfkzmMni1Ol5NUjAAqNPxWiPiWnbOJ xV3UQrvkfWIZ/E+xEZ40t+1ZeBE8Ol3KtQ5uBvVo/XU7VEOixIw6+M/q/K7VZHhkWL/0jPCAQgV uTijTSLrdMu2JQ5Bb7PGN4UQ7BAn3HH3QzA3NEBIikNcpCM98Loq6 X-Google-Smtp-Source: AGHT+IEDtyMHqgwKYSsElocLQlbUCff/tkDydM18iYqMX35zQenXz/z16jagpZbKUiYVQu+FzbbqTQ== X-Received: by 2002:a05:6820:290a:b0:615:e61d:2de3 with SMTP id 006d021491bc7-6198f2358c1mr3035975eaf.3.1754176307178; Sat, 02 Aug 2025 16:11:47 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v2 61/95] linux-user: Move elf_core_copy_regs to xtensa/elfload.c Date: Sun, 3 Aug 2025 09:04:25 +1000 Message-ID: <20250802230459.412251-62-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c29; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc29.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: 1754176670656116600 Content-Type: text/plain; charset="utf-8" Move elf_core_copy_regs to elfload.c. Move ELF_NREG to target_elf.h. Signed-off-by: Richard Henderson --- linux-user/xtensa/target_elf.h | 3 +++ linux-user/elfload.c | 35 ---------------------------------- linux-user/xtensa/elfload.c | 32 +++++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 35 deletions(-) diff --git a/linux-user/xtensa/target_elf.h b/linux-user/xtensa/target_elf.h index 2c55c22e14..f84fc9e6d1 100644 --- a/linux-user/xtensa/target_elf.h +++ b/linux-user/xtensa/target_elf.h @@ -8,4 +8,7 @@ #ifndef XTENSA_TARGET_ELF_H #define XTENSA_TARGET_ELF_H =20 +/* See linux kernel: arch/xtensa/include/asm/elf.h. */ +#define ELF_NREG 128 + #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 80f5c967da..3ac0f89931 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -523,41 +523,6 @@ 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 - -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, -}; - -void elf_core_copy_regs(target_ulong *regs, const CPUXtensaState *env) -{ - unsigned i; - - regs[TARGET_REG_PC] =3D tswapl(env->pc); - regs[TARGET_REG_PS] =3D tswapl(env->sregs[PS] & ~PS_EXCM); - regs[TARGET_REG_LBEG] =3D tswapl(env->sregs[LBEG]); - regs[TARGET_REG_LEND] =3D tswapl(env->sregs[LEND]); - regs[TARGET_REG_LCOUNT] =3D tswapl(env->sregs[LCOUNT]); - regs[TARGET_REG_SAR] =3D tswapl(env->sregs[SAR]); - regs[TARGET_REG_WINDOWSTART] =3D tswapl(env->sregs[WINDOW_START]); - regs[TARGET_REG_WINDOWBASE] =3D tswapl(env->sregs[WINDOW_BASE]); - regs[TARGET_REG_THREADPTR] =3D tswapl(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 tswapl(env->phys_regs[i]); - } -} - #define ELF_EXEC_PAGESIZE 4096 =20 #endif /* TARGET_XTENSA */ diff --git a/linux-user/xtensa/elfload.c b/linux-user/xtensa/elfload.c index e35ba69a10..e35de398da 100644 --- a/linux-user/xtensa/elfload.c +++ b/linux-user/xtensa/elfload.c @@ -9,3 +9,35 @@ const char *get_elf_cpu_model(uint32_t eflags) { return XTENSA_DEFAULT_CPU_MODEL; } + +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, +}; + +void elf_core_copy_regs(target_ulong *regs, const CPUXtensaState *env) +{ + unsigned i; + + regs[TARGET_REG_PC] =3D tswapl(env->pc); + regs[TARGET_REG_PS] =3D tswapl(env->sregs[PS] & ~PS_EXCM); + regs[TARGET_REG_LBEG] =3D tswapl(env->sregs[LBEG]); + regs[TARGET_REG_LEND] =3D tswapl(env->sregs[LEND]); + regs[TARGET_REG_LCOUNT] =3D tswapl(env->sregs[LCOUNT]); + regs[TARGET_REG_SAR] =3D tswapl(env->sregs[SAR]); + regs[TARGET_REG_WINDOWSTART] =3D tswapl(env->sregs[WINDOW_START]); + regs[TARGET_REG_WINDOWBASE] =3D tswapl(env->sregs[WINDOW_BASE]); + regs[TARGET_REG_THREADPTR] =3D tswapl(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 tswapl(env->phys_regs[i]); + } +} --=20 2.43.0 From nobody Sat Nov 15 07:41:35 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=1754176422; cv=none; d=zohomail.com; s=zohoarc; b=NK5PjNokxZM92WjB6XC3FEkbKIv/VYaMhsJaoocqxg9xjsXccW/bWwLBYWaWQXtscRYSCfh+DEvEBoFaqquSvblB95y8ORM8HRHYQjKwn/vfLTp7Z0yJxsM42JLZP99ybGiVPUz1SDwZuyYNPptsYnPpxCjEMVppRNvfQoD1W9E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176422; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=7h47KFm+1VQ/a1EaPtWlthuxLynK8yu1DHI+lj2hiJ4=; b=Kx6NnEW2BwRodfPsPYmntSvfji3/UdWLA6BkHLv/9Sny8DXB1OHH/hBMCBciLmKrzPdEX1XqjGyzvkECnC5MYuSJU7trG7frinqNHXpJfkkxqTJ35FWK/1AdxOFBMqrF7epADiKzIbvuhRMvfSa9Svuxftp+C2TMMt+1zVaJwx4= 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 1754176422190326.04217841728837; Sat, 2 Aug 2025 16:13:42 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLOo-00045S-PC; Sat, 02 Aug 2025 19:12:23 -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 1uiLON-0003lQ-05 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:12:01 -0400 Received: from mail-oa1-x31.google.com ([2001:4860:4864:20::31]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLOK-0001nb-Kv for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:54 -0400 Received: by mail-oa1-x31.google.com with SMTP id 586e51a60fabf-306e88f0b0aso891995fac.3 for ; Sat, 02 Aug 2025 16:11:51 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.11.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:11:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176310; x=1754781110; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=7h47KFm+1VQ/a1EaPtWlthuxLynK8yu1DHI+lj2hiJ4=; b=Wc9ug8e09/TJIZJ0lcvYZcyhX03ARNKo8xQVQ4zOv9hxxwO+/2qUvp3O/FmXCvia8B PsBwXdaUgOL9gsixRCpG8smlkN2wxrQKJ0mP9V/oobtLNLMrBoln5fqzXR0QZ0Qr3bcU mxolbs2aqYtyR3xtisR/0pL79sgPgbpbGzrTcQhGCwShp9o8Vuupgm0NqQmYKn5L39BH osCDL+7upnGTey/KsB7zrwTJOpeF4ZOFnMLaSHNgctpz3V11CJ5nKUANmSF7l8wDjfv3 j6SEyxoiANK7LHmKfA1FTSS9q54JMfyxGwRkRp/6RPmEVrqUgZw+7nVE5S82C+aVzcpi hKJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176310; x=1754781110; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=7h47KFm+1VQ/a1EaPtWlthuxLynK8yu1DHI+lj2hiJ4=; b=BLv6Cfgu0s/LPq/FnlD/Wb9uo5JIJobHNp2yx7jmkl17q9RDXcX2z7g7jwZkILNpO4 i1mXNmRXWxEUSpdwafK3VGZcP3aDA0hXCjlpJuWH3zBW9OLgQn9mOGb/SzCvU83Rv38u ZePJGHQWQ6E/Sy/04ts+Oe7E9BgZGjp5WDUbPhdl86cbO4sJsKeyeqHbskHNaRxi4vLX nUqm3Jqp1uJAi/8F8PHZzg7PvGkoqruZvMxm7R/J/S3h4Nap08y6TMYubD9HSB8+GIFr t+msVqAYBaJRLT3RkGEtq7rVRI+ffotjF6TdWworKfZX8GrSbKNvtYd4b5SvlautEniP 6gcg== X-Gm-Message-State: AOJu0YyC1ICslEiL3ieGSd0MdrTd2aFd7QVNIiWHDGUxXi/j459UlJh6 M8cbWsVkmPFlSWZBpl7VN1ZZDq/WS/uCemmwodO1EcJB1Fkpsqtf4egAFiIXGyzn8pPoahoTIZE 1p9+CTvk= X-Gm-Gg: ASbGncvMhmkv9bgjIx0+Pkc5vK6QCgatVjXQhk+JFMqw+Kj5CuKaaFHrqktzoYSxu/4 OfVNCi4eYpLLoJCdvj8vTmCTnCReyKOkeAwtrbmgScq1yaTSDARZ7Go9Dvi4B3MmrS4ho34fi1+ pTp8+52X8U9/fdFENwL+4RnfJLRk9f9rDwUsah1julFP6pPNBsn8TjrBrWUGabKExaDOgPyQkrj lwjeCmDYOCVfemxvcxXWgtXBwXO3ZlbnzsRSi7reABcmVt/cJffIKxyP4ekY+Glbpo2bBHiLoPD O+d1gE/d9bxs1WVTJIqgQ2QGO2LjZJLCiGZPct+SgTI6enDjJjiP2MaFscFcEwkwsfnybzsgnwJ 5VrjBniS4/IHVmMAdC1ittadrtLPwj0A4N5qGPYqlpRwJKge8IM/v X-Google-Smtp-Source: AGHT+IFjWExOUGAZ7E5Q16dnQQb4DLhXrll4O8lWlmzaFOUmDdF3XKcB9ec977Gme4WyyBtu5GRxxQ== X-Received: by 2002:a05:6820:2187:b0:619:950f:1d5e with SMTP id 006d021491bc7-619950f267bmr1885822eaf.2.1754176310413; Sat, 02 Aug 2025 16:11:50 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 62/95] linux-user: Move init_guest_commpage to x86_64/elfload.c Date: Sun, 3 Aug 2025 09:04:26 +1000 Message-ID: <20250802230459.412251-63-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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=2001:4860:4864:20::31; envelope-from=richard.henderson@linaro.org; helo=mail-oa1-x31.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: 1754176423896124100 Content-Type: text/plain; charset="utf-8" Rename INIT_GUEST_COMMPAGE to HAVE_GUEST_COMMPAGE to match the other HAVE_* defines. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/loader.h | 3 +++ linux-user/x86_64/target_elf.h | 1 + linux-user/elfload.c | 23 +---------------------- linux-user/x86_64/elfload.c | 20 ++++++++++++++++++++ 4 files changed, 25 insertions(+), 22 deletions(-) diff --git a/linux-user/loader.h b/linux-user/loader.h index 84bb04f9fd..efa7f9b64a 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -105,6 +105,9 @@ 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 void elf_core_copy_regs(target_ulong *regs, const CPUArchState *env); =20 #endif /* LINUX_USER_LOADER_H */ diff --git a/linux-user/x86_64/target_elf.h b/linux-user/x86_64/target_elf.h index 3ab10a6328..8c4bd9a3d8 100644 --- a/linux-user/x86_64/target_elf.h +++ b/linux-user/x86_64/target_elf.h @@ -10,6 +10,7 @@ =20 #define HAVE_ELF_HWCAP 1 #define HAVE_ELF_PLATFORM 1 +#define HAVE_GUEST_COMMPAGE 1 =20 /* * Note that ELF_NREG should be 29 as there should be place for diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 3ac0f89931..4ff360b43c 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -145,27 +145,6 @@ 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 /* @@ -1215,7 +1194,7 @@ static abi_ulong create_elf_tables(abi_ulong p, int a= rgc, int envc, #else #define HI_COMMPAGE 0 #define LO_COMMPAGE -1 -#ifndef INIT_GUEST_COMMPAGE +#ifndef HAVE_GUEST_COMMPAGE #define init_guest_commpage() true #endif #endif diff --git a/linux-user/x86_64/elfload.c b/linux-user/x86_64/elfload.c index cd7aeb9743..1652a4243d 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 @@ -20,6 +21,25 @@ const char *get_elf_platform(CPUState *cs) return "x86_64"; } =20 +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; +} + void elf_core_copy_regs(target_ulong *regs, const CPUX86State *env) { regs[0] =3D tswapl(env->regs[15]); --=20 2.43.0 From nobody Sat Nov 15 07:41:35 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=1754176688; cv=none; d=zohomail.com; s=zohoarc; b=MHVXhQH3C0LbMZ2vAdW48Oa5teKK7NxUwUNaxBmVyXI2LTlGBv8lZyEDKfEgDkzyKl58URulKQ6+DomvLEe14dipa8Exmb79WVXzlEjqZYLBpCZazkJ9ILdzFFXSMwhJUGyWClG7VPfTm1L3r8D7GORwEs0LlA6TKrMgjARd+w8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176688; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=gziFnQYyx9mUDdCD6TJ2eXiHZRA/1XfntIJ0wwd6/FA=; b=cggGRxn01Ca3kBO2kMk4hAAVCLhZU5AnzJshwEqh9KZLmJLPYaN4nxuP8CABC5vl2iW7p6BAcj+gih9EFcvt39KEb31tEIn3ZTry4/kH44GAtXmAcZ9jASyEE4vj0I5EESnAdNeRWHDbv5tDf4F93DDA0oy/df2XlR/1y1wvmqU= 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 1754176688111157.8723954433275; Sat, 2 Aug 2025 16:18:08 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLP6-0005Gw-3m; Sat, 02 Aug 2025 19: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 1uiLOQ-0003mo-9U for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:12:06 -0400 Received: from mail-oo1-xc33.google.com ([2607:f8b0:4864:20::c33]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLON-0001oC-F2 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:11:56 -0400 Received: by mail-oo1-xc33.google.com with SMTP id 006d021491bc7-617744621acso485753eaf.2 for ; Sat, 02 Aug 2025 16:11:55 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.11.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:11:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176314; x=1754781114; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=gziFnQYyx9mUDdCD6TJ2eXiHZRA/1XfntIJ0wwd6/FA=; b=bzOyLLDNZdncHH8mS/Mnm2w8OzEuYhr5/22UIoPKA5tLq2nWtT2UESPVG25MuA9Fc8 0Wu42sqgMsgaWeYDLQ+pK6UX4nqpGqG6QIbzsQLLetijVmR4tSKL5cmvOtPdMpspb5oq 50b6roMH0LeasG70sqtmYYHcUKUmqNxizRKe6nUf60P4A75FccbHYiQIut8xnu5WTB/t SOAkMGBvzZ0AXkE4uTUoaDwAJ3WM7cFpFo8wF4ddPUc5X9pMak1PDCyLUx/Bybc4DGuw q/SjgN/5FKpIxOquTG1Kpo6GRqB3VhgU25axAWb97p2oglPspSx3DLtH+gz+CqlrdOO8 RaNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176314; x=1754781114; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gziFnQYyx9mUDdCD6TJ2eXiHZRA/1XfntIJ0wwd6/FA=; b=R7z8+iQsJ5hguaul1GWxk30M5BNpXCRV/mULoXtQO+7JxHzxQrRellF2wqDs8rZgot 0J+ZuDtxU+poa4nBpnZ1rxF47jTKhRaJoff3H8OvnZMFT8bnonRzG5oaRYO2bf50AsGt 4bTp3fCTYK3vvaUEzMb/wYulARG+HDuTkgNJBO2oVSpjkdElG+zl3dnOBljGTWAmdjrl Kfnhm/JSF7QtOHd28Q7g9r20H3yEf7XYSEZGpZPH1Yhmq9hXaUi1nSTuxaRaTidWs/R6 jWUpg2HWa6v3fKL9wUt9sKaLO+CNQ2nblGllaGwE33dcBrDVnwioysEexowVkdit89O9 LrBQ== X-Gm-Message-State: AOJu0Yxd+XOodMB/k+awXUpjdEQPRRtWUXzSlJ+npbaB1l9hmTwi7wLr xs5bGoaoit/t6+8EI26vz/K2q3pYWsKhO0dMZeiL/hKteJi2CBJnN0UwZfN2/CeSOvJFLo/qG/5 +nqsHaWA= X-Gm-Gg: ASbGncvluNa6lQIRcH3E2DIHwWVmrE6RHdHknUBpvgvVOn6dzAcj7z9kVoygGfAJwFN iZSYfXxPIdv3EaCMpsFn5wfUQqyQGv8Fa+azH++E7SmhRRxlp5aUhSq0PObrYqaMsklrislttYi gk2jAXd6HeOskS46sBpp7cTv+ukj21RZTT7WHVw6n8TqGCjx07IN+07XOesSfJ7OE6j7LV+gcRs Fu8VxWOGtUIJEax1pommzXe9DnMFZQh8XGMYFemjKgDx7GBW/2rnHC3zF4PhRJzuNPrXfcyqfFS a41nbm+ZUG5OXEsecj22TW8T8hf0HQy3cGa0a2YwbOOpxyrOwBzyx8WZohuHMe4JF+ByeqtnLji lm0sAZu5e8BJsqhbX0bYM1+sfI07XLoBIRr4uE71AScTACsxgdBwnKTg6FmQAwPo= X-Google-Smtp-Source: AGHT+IFMjXmjiW2jUQDmHMyo/aapxNzJiDlMUwM8EagOH+d7TieHYqGSUE/eghmYlUQ+/TTAv/DPIw== X-Received: by 2002:a05:6820:2187:b0:619:9530:87e3 with SMTP id 006d021491bc7-619953089e1mr2297948eaf.1.1754176314241; Sat, 02 Aug 2025 16:11:54 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 63/95] linux-user: Move init_guest_commpage to arm/elfload.c Date: Sun, 3 Aug 2025 09:04:27 +1000 Message-ID: <20250802230459.412251-64-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c33; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc33.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: 1754176690825116600 Content-Type: text/plain; charset="utf-8" Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/arm/target_elf.h | 1 + linux-user/loader.h | 2 +- linux-user/arm/elfload.c | 46 +++++++++++++++++++++++++++++++++++ linux-user/elfload.c | 48 ------------------------------------- 4 files changed, 48 insertions(+), 49 deletions(-) diff --git a/linux-user/arm/target_elf.h b/linux-user/arm/target_elf.h index 84c7950ace..c98d48745c 100644 --- a/linux-user/arm/target_elf.h +++ b/linux-user/arm/target_elf.h @@ -13,5 +13,6 @@ #define HAVE_ELF_PLATFORM 1 =20 #define ELF_NREG 18 +#define HI_COMMPAGE ((intptr_t)0xffff0f00u) =20 #endif diff --git a/linux-user/loader.h b/linux-user/loader.h index efa7f9b64a..a12a07039a 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -105,7 +105,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 void elf_core_copy_regs(target_ulong *regs, const CPUArchState *env); diff --git a/linux-user/arm/elfload.c b/linux-user/arm/elfload.c index b0d4dea591..0c18cde12e 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 @@ -200,6 +202,50 @@ const char *get_elf_platform(CPUState *cs) #undef END } =20 +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; +} + void elf_core_copy_regs(target_ulong *regs, const CPUARMState *env) { for (int i =3D 0; i < 16; i++) { diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 4ff360b43c..6cc2c498c8 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -191,54 +191,6 @@ typedef abi_int target_pid_t; =20 #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 07:41:35 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=1754177163; cv=none; d=zohomail.com; s=zohoarc; b=WnZxIFy2LP40riETrPTE1pTx7mcPoGWmQGrEw2RMqerDUGm5gTW92domjqN9R6gYg5Ydl7SSGFNdzMQQgwJRwzjjcdhIAb6KRUIn0QokoqQztEpLuiXnBE63layPnDNScuLsohpj0d95XAXWad8BuTVc3SivS9EoJk+c4RPdx3s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754177163; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=f9Fyxy0iYqxs0t+2QnM3wgexXwkcWrG91zIlwNYAYRg=; b=ahZJm2QUbIpmdA4bfDkCQPyTjlbE4dJuU/RbGo/lqWzc71ZYS/FVSCWLuaERwsB9svhg6O11G/tTUjnbnVlnNW99GfH4VCjeKz4fFsq9ayUmADSWhgSAMWc9JfR90QTV4aSqzi10FS8hXDA+IA2/43/96aylErT34lGEa1fTjuY= 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 1754177163897626.39342757957; Sat, 2 Aug 2025 16:26:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLP2-0004tf-0D; Sat, 02 Aug 2025 19:12: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 1uiLOU-0003nn-Bl for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:12:06 -0400 Received: from mail-oa1-x32.google.com ([2001:4860:4864:20::32]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLOS-0001oo-2y for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:12:01 -0400 Received: by mail-oa1-x32.google.com with SMTP id 586e51a60fabf-2ea34731c5dso2665742fac.0 for ; Sat, 02 Aug 2025 16:11:58 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.11.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:11:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176318; x=1754781118; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=f9Fyxy0iYqxs0t+2QnM3wgexXwkcWrG91zIlwNYAYRg=; b=Ui2HMNDj4wZXSbSVtKYougYUF08klW+Df1YRePCIPxgAiX3qvJSRX6KILZKHJw81ws UurPIcgebVLrYC3CTKtSDwVvLjeD1WGqtMV+YCP2gBfThleL50hYjgP4zSnqfyMkB325 d+di2iPXNzXqWuJAKYXMPEzIPkBWDK2VVAJRgpvxFfWR4xRFQNL7c1xrD8jgrCXoryg+ vhNIU75Lbpcg1xxJHqLTNcx7RaSq+z6KCrZYA0ZdN5VuAIF9J2jCjk+2YZZCsRrmTccM 1HYdnHm7JAop9BavMJ/v3NqB/wwSYL8UGFrH1j9mrlS6UBe/AL8SSb7cklAWZ89rgMqG WZkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176318; x=1754781118; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=f9Fyxy0iYqxs0t+2QnM3wgexXwkcWrG91zIlwNYAYRg=; b=MUmvbtu3IkikYmhbSamM2H96rDOLHi7G6C2qjDmeXV9RGDbXu1A8zlxoT23TBDV/c0 88n1v+lwBmwjrxQZFMovK60mlNDQ8WIdZYyJ0soRJQyRl0Vsk0N4HLIhS9bCtDj60Os/ hpC0ZmlOci+rsnG5lCsMZCJNBPoDWZGTEwKb18r+NroSMQUB2TaQDQhi12lwUDzaPust jKFKVjRGVYKbe7Ox8yyjZorjBbcCBSCOK1QHUiQ3sZC7vVawZZJWjv+NnFsH8pOmVrgS 40zl2vgKx/h//5r00NquvCB7CES4YFVPeQEv0BTTi58ESn32Vh5QV7pmHBi/LJazZFDb 6iuQ== X-Gm-Message-State: AOJu0YzS0UJY0EGT9lNkzP3IC5JrCMJgE2Q3X2s++wSYUWtPx/pSD5bh UOd0/pb6/5fiaBgnyUbMmREr9UsZe/5XtYeLd0qB0RbDBvIi1g9/aLnsVV29EPZOppKuxxZZ7jT CTn94l+E= X-Gm-Gg: ASbGncs4rBHJl1nvtEztlq36IqikwgHcAId7k6AEEhUq1/cjksxPD6fsTVbcDvZVZ/W 7xnU2ahrrRvgpGZ8S2ELOXvg+ofY+BlznDhRJq2vv5XfhigZnbUyAndYqrlP0BWx0iHngJKqQhL 9MdQgQyTQHtzonTEy4pkkj3HzqoQ7vVwpBJwZaLeXgGO9HqfSMPzb48x1Mxwa0JYfKVyGqJgN+2 Xh8rzZm5Wvlz3rcKTp2Twm8An4VFrxXuGbxdMi/hT0EZF5ICNA23bVy1yt6ZJPjGoK77KR0VmUA AkZybFJThjt29b/KkqfrLH5rW1gBvGLyjfP4AG2Fjoi5DEVw+4tIh8AQGBrO+gGXZmRencVBpT4 eTbzvK0nG0QNP9sRfGb05i2kgbKpA2zu69XAbqfS/Asirvk4e77Yy X-Google-Smtp-Source: AGHT+IGPA61HYU47hLvilGjNtnKliUrZkP9SAfx6j5g6VeGUvL+p4ZVYzXL5gFwkLWGtvzOQ5zE2gg== X-Received: by 2002:a4a:edc5:0:b0:611:a921:bfef with SMTP id 006d021491bc7-6198f314133mr2438394eaf.8.1754176317981; Sat, 02 Aug 2025 16:11:57 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 64/95] linux-user: Move init_guest_commpage to hppa/elfload.c Date: Sun, 3 Aug 2025 09:04:28 +1000 Message-ID: <20250802230459.412251-65-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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=2001:4860:4864:20::32; envelope-from=richard.henderson@linaro.org; helo=mail-oa1-x32.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: 1754177165061116600 Content-Type: text/plain; charset="utf-8" Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/hppa/target_elf.h | 2 ++ linux-user/loader.h | 2 -- linux-user/elfload.c | 32 -------------------------------- linux-user/hppa/elfload.c | 31 +++++++++++++++++++++++++++++++ 4 files changed, 33 insertions(+), 34 deletions(-) diff --git a/linux-user/hppa/target_elf.h b/linux-user/hppa/target_elf.h index 85be00584d..b654758afa 100644 --- a/linux-user/hppa/target_elf.h +++ b/linux-user/hppa/target_elf.h @@ -10,4 +10,6 @@ =20 #define HAVE_ELF_PLATFORM 1 =20 +#define LO_COMMPAGE 0 + #endif diff --git a/linux-user/loader.h b/linux-user/loader.h index a12a07039a..4ef46fba5c 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -105,9 +105,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) || defined(TARGET_ARM) bool init_guest_commpage(void); -#endif void elf_core_copy_regs(target_ulong *regs, const CPUArchState *env); =20 #endif /* LINUX_USER_LOADER_H */ diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 6cc2c498c8..ec5b1b586f 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -415,38 +415,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 9dd3fe092a..018034f244 100644 --- a/linux-user/hppa/elfload.c +++ b/linux-user/hppa/elfload.c @@ -3,6 +3,7 @@ #include "qemu/osdep.h" #include "qemu.h" #include "loader.h" +#include "target_elf.h" =20 =20 const char *get_elf_cpu_model(uint32_t eflags) @@ -14,3 +15,33 @@ 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 07:41:35 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=1754176491; cv=none; d=zohomail.com; s=zohoarc; b=faSalguy2VIgVXTEovQ2zg9rAxmJ+NJw85hQZB0elLwqVF/EaYKAy95RiuZV0gmBGUOVE4ShF0nXFLr+rOzovTcbKKinkRMPA8A53vT6RYDfXpYOkZ67kAXdE13Gd6b1yuYd30YBwqOezcZ2IlCfjNgVxdSXjrYnrh7qaL/KqL0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176491; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=QSCLNq+Taq3Oq2BlU4mdWkvovoZ3XyBtNGOx6Dfu8X0=; b=fsY9eF0nYrjLN49kglCh31hxuN1r6kmckIiSQa4Lixb3GFJeT3GYs/Tu1aZqgN9iFnuYYEVQK+xsKJGiWFXMbSjyBWEOpGZWU5cuG39aAGOQFczcp4fpXcXcPhFEXUbFJoiUBatzceUf8NFV2Wc53/IR+/+jOyQHv6FRqLTWDRs= 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 1754176491211467.9870905602579; Sat, 2 Aug 2025 16:14:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLOw-0004VQ-Rl; Sat, 02 Aug 2025 19:12: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 1uiLOa-0003pz-0x for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:12:11 -0400 Received: from mail-oo1-xc29.google.com ([2607:f8b0:4864:20::c29]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLOU-0001pM-H6 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:12:03 -0400 Received: by mail-oo1-xc29.google.com with SMTP id 006d021491bc7-6196ca9a2edso834220eaf.2 for ; Sat, 02 Aug 2025 16:12:02 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.11.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:12:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176321; x=1754781121; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=QSCLNq+Taq3Oq2BlU4mdWkvovoZ3XyBtNGOx6Dfu8X0=; b=qI5LaksGC+kIdrLNkDg7/iRCm8BRIekllF59jV3/Ia3Egw2EfLqgnS21z9nl+fyixn 2ncxaS77oaBdX8FFJqrTvTyGWE2/cx3d/dtDZm0nCUpnfmVtEgShjGUO0gJsT9UremiQ hnIYTIR4oaq73f6j1YGwmBSQ9y7FTerzzMT5T6/JIy0AWSMFMC8R7crTRngXCKijZpOF CIuPsf3WNMSkZ/i0rzytM2ipe6lCecKSXeYB90CpvbxJ9ajPub4s5dzOOR89+e2Lvt9j 3q2PTNDHQjdRZZ4RllPPQiGvyZyVHavFnVphiPkxEX15VVruQMsizkk0YCrq5yIcFTvG FuZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176321; x=1754781121; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QSCLNq+Taq3Oq2BlU4mdWkvovoZ3XyBtNGOx6Dfu8X0=; b=xPGHHWOxJfFItcVGAD5wRIgchOpQH2zNiYUc53bPrDs8o5OXiIi7NLES+brsFqHTn5 76UsBa1qAtsM63ed8M7DLFP/Uu85FNaVXCCO1r5K4d/eSrJMB5dx+NxMmdjaUPoiRwlv WIIBeFbg2FBw51esTzPLI1/tJiwFl/hWjB3eGbHEoAv2zF94f3EYgxlbQHuh6pCTOR1o 73jK8PLVhhHPXPQVWMLBcZqiVd60oRVjxDC7ZHDVoohdctrfmN8zWbm4/PKD94YeCdoW bKdZ+dZ1YY6qiuvSKuQGNwzQEIfrPB8GhoFXhWV84E6E9MO0323zrNa2k4gNXqo2Vj9Z Cmrw== X-Gm-Message-State: AOJu0YyApsBu4SPXPFE2cAyLZMbNvwM3oHiJ3fyJ612DuRSclclkpyvx p+ouATXwYbQ6kJcZ3kn+TMsELLmy96D9H76xpqpSD8MVrpsFSv0YF/k1RI/1vJr4Yh7DYEBspA2 0z1A5ueE= X-Gm-Gg: ASbGnctwLYxZqaHFEWbj5rPV5OMIgzqadIqO3db611gFViQnscQWycBMqMNZF+XixGo hIX9yjTMm0ROn029Sl84iz4QXT01vltVcj6yWmib2I1oz8jczBBrKXKKIREda/UceTDCEG4LWZC Az8GauYtZm+51qHIvSFXvAkghB0VKqt7vWjhWuq+0l365OiNPQMbyXTIp86sVA45A9MtGvZOqre LG3TrrBZxCwIW8d7rg/g0EbxuEbdwgfZBPT7T27/Qj3sXqDOrzFZaeQUEKZPHMoiX+H+Dh+ncMh z/AWUiWxEYc33f9SeEuOAJsK7F9Lcap3IFDlFaQXkOyoIkw8gtFl9wvwqDYkKdtZggNHF+732hg PnpV46JGPbfDWR7P3WsQmoEjPgqrOO9hGu1017rTYscbhC3U6OOSH X-Google-Smtp-Source: AGHT+IF8fFFNe4OYCDuS0ZxsOI9WkWq9ktHNFNwj6r2fhV5FAySlHJII1f2MTNltMXbdx9jMVplDKw== X-Received: by 2002:a05:6820:c019:b0:619:950f:1d5c with SMTP id 006d021491bc7-619950f261fmr1121646eaf.1.1754176321330; Sat, 02 Aug 2025 16:12:01 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 65/95] linux-user: Replace init_guest_commpage macro with function Date: Sun, 3 Aug 2025 09:04:29 +1000 Message-ID: <20250802230459.412251-66-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c29; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc29.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: 1754176492700124100 Content-Type: text/plain; charset="utf-8" Turn the fallback macro into a function. This will produce a link error if the other macros are set up incorrectly. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/elfload.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index ec5b1b586f..0299bb852b 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -1115,7 +1115,7 @@ static abi_ulong create_elf_tables(abi_ulong p, int a= rgc, int envc, #define HI_COMMPAGE 0 #define LO_COMMPAGE -1 #ifndef HAVE_GUEST_COMMPAGE -#define init_guest_commpage() true +bool init_guest_commpage(void) { return true; } #endif #endif =20 --=20 2.43.0 From nobody Sat Nov 15 07:41:35 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=1754176977; cv=none; d=zohomail.com; s=zohoarc; b=GykjLgva1fjJac0rv4R8UzKIqJ+0PC/iZhnSfIl8dFQLHcrSfauwJ7GIIqED/sUjAjtxqfDRigru+JuKqc9s0pLUCF9wq6ePIrjQNp5LXmHk00Z9boi9KwTm0OhUjxEgH7EZpxQ4TD8NodEt3K19sPGKfyLjpk243R4B4wLJjno= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176977; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=mTx1fj5rdrYNDuo5F88JtxGg2c6LutUZmN3zw6hV3I8=; b=E4jO3Rsw9sCcNBx610wQrbRBeir6qUk+fhJZjd3Z3WFSUsGWX+SoaXpCAlBXk6pEFI01T50dbxh0bDRBayOovhxKbujZUviV4JAo1LGQvbCK/X6P6YMKKAEEpV41H2ib6k+oidfEX9xHKUGmNtRp+j7ahlpKZcLmb98mcSIzv1Y= 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 1754176977245759.7235927397104; Sat, 2 Aug 2025 16:22:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLOy-0004YR-BK; Sat, 02 Aug 2025 19:12:32 -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 1uiLOc-0003r4-3c for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:12:11 -0400 Received: from mail-oo1-xc2e.google.com ([2607:f8b0:4864:20::c2e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLOY-0001qC-Jr for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:12:08 -0400 Received: by mail-oo1-xc2e.google.com with SMTP id 006d021491bc7-61997c8e2a1so388438eaf.1 for ; Sat, 02 Aug 2025 16:12:06 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.12.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:12:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176325; x=1754781125; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=mTx1fj5rdrYNDuo5F88JtxGg2c6LutUZmN3zw6hV3I8=; b=bTxzJ0jJ5xkpj6iMqxnStAxzFVT6mYNL8lWusMrN1gpmEOfJZHL1X/tM5HhXUAwPPA 3P+aSDYZ5d6atfEN+5Xngw1HeC2S958yWskk29UUmK15eTGOMh2mz8gQm6RWvMVHXxrq jxhjhd4WlhfNqwiHwrN7U8plpBOIHmMbe9dXv5DQqiN6MQydoh3wAO8TqBtPQjH6FOT5 gDZqv4HZ22qELwGzJiCGD0ZSnKibJVCC1Z5C2t0eHeavg5PEUVdbrSgEVRVeijagPfVX FwYJMoVjE+jPnjAskfgfYnFVbAilK9rxoOIGjxW2sKOhb9mw+T+QjUWyEuOrYFX7zlRJ 6ZfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176325; x=1754781125; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=mTx1fj5rdrYNDuo5F88JtxGg2c6LutUZmN3zw6hV3I8=; b=q/I4jWNXaIuTkRFbSQQpkH2WwhuDH2NQ/lBmsYu9V8JuklJYO+AESsqQ2kMga5mYL9 Sb2vIJPkzTRo303YL5BwG0PKor+qU0hcwFgc4pn8N0ejsAutddRvBKa1efQYlGa73UbW TUfiBLwM16hvOEGUFZ16nT+hEufdWe3/GmYbZ3a+p42JErX1sV9KlBDCCstwpOhW/SDc XHxhhpAOpHB9UunaGnsUaKE/Brq8Wiih1s4f7DdFDiBlK3WAwa/cBWNBtw9DjXevfMLz 8xmIFcCzbk7X7xbkvVRnvZvpfGyVPPDSBqfAShb3YbQGV2kGZ4E80pMI8MP5pefi5Qnf cJyA== X-Gm-Message-State: AOJu0YxoLg2osQNgZt2sk/n2NbqAHPrwor4foKqLCpkKZl6E8S8iMm3R RqMdOL0+S2iY5Wvlj7zKDbvT+PXDGOfe1inBNOLZMnKW262zaUDA113/7KcI/UrtaxoYkE8f9hL 6tCkbslo= X-Gm-Gg: ASbGnctJvHjCI60gle1mEFLRV55JB9upe1fyfmhz6urmAKeCeo8oDomLLzPuR9DSPxu 9SOY8GcZ11hVsj/amqgEL7CuCmzNGiih2maImN1hPYRihP0+7byZE/w3jHBwyVD3GAOJayRNV6s sIAYSeBBmYtqiQ9NL9TW/sPD7NHUGYhsMPCfTqrr01v+KtdSpc50y0iXuPwdreCTWejrhHZwnR7 ffsxRwlT0DyCkgkspGlSLXaJ0Ny7EsHM8QCpU8T0PaVwla6NC7ngz00UT1Gsepve8wWBmoQZAgE 7VZC2KJz+oRwmvluaAB+lg+VeQFk2e27naNcbFBmcAXe3UUj9NQI5lKS4a3xupXF+HhKxtg8dy6 WToi9H30RvRvU4PyvkkB7g52bjW1S/2rDQnQrBB27SAxNYbNHwJUn X-Google-Smtp-Source: AGHT+IHUIcsJSVKhKnDdCnkkkPIX87msEy+jgnOcTGvMvR5pDNjV3yuYeptWpw53i9308+K5Ipz40g== X-Received: by 2002:a4a:ef86:0:b0:611:758f:1fa4 with SMTP id 006d021491bc7-619703746fdmr3858693eaf.0.1754176325518; Sat, 02 Aug 2025 16:12:05 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 66/95] linux-user: Move get_vdso_image_info to arm/elfload.c Date: Sun, 3 Aug 2025 09:04:30 +1000 Message-ID: <20250802230459.412251-67-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c2e; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc2e.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: 1754176979874116600 Content-Type: text/plain; charset="utf-8" Rename from vdso_image_info to avoid a symbol clash. Define HAVE_VDSO_IMAGE_INFO to signal the external definition exists. Provide fallback versions for other targets. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/arm/target_elf.h | 1 + linux-user/loader.h | 12 +++++++++++ linux-user/arm/elfload.c | 20 ++++++++++++++++++ linux-user/elfload.c | 41 ++++++++----------------------------- 4 files changed, 42 insertions(+), 32 deletions(-) diff --git a/linux-user/arm/target_elf.h b/linux-user/arm/target_elf.h index c98d48745c..0fbeffae64 100644 --- a/linux-user/arm/target_elf.h +++ b/linux-user/arm/target_elf.h @@ -11,6 +11,7 @@ #define HAVE_ELF_HWCAP 1 #define HAVE_ELF_HWCAP2 1 #define HAVE_ELF_PLATFORM 1 +#define HAVE_VDSO_IMAGE_INFO 1 =20 #define ELF_NREG 18 #define HI_COMMPAGE ((intptr_t)0xffff0f00u) diff --git a/linux-user/loader.h b/linux-user/loader.h index 4ef46fba5c..7fad9e7b4a 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -108,4 +108,16 @@ const char *get_elf_base_platform(CPUState *cs); bool init_guest_commpage(void); void elf_core_copy_regs(target_ulong *regs, const CPUArchState *env); =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 0c18cde12e..99123de503 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 const char *get_elf_cpu_model(uint32_t eflags) @@ -254,3 +255,22 @@ void elf_core_copy_regs(target_ulong *regs, const CPUA= RMState *env) regs[16] =3D tswapl(cpsr_read((CPUARMState *)env)); regs[17] =3D tswapl(env->regs[0]); /* XXX */ } + +#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 0299bb852b..8cf9a1d77f 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -40,15 +40,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 */ @@ -191,23 +182,6 @@ typedef abi_int target_pid_t; =20 #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 @@ -1973,14 +1947,17 @@ 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 +#ifndef HAVE_VDSO_IMAGE_INFO +const VdsoImageInfo *get_vdso_image_info(uint32_t elf_flags) +{ #ifdef VDSO_HEADER #include VDSO_HEADER -#define vdso_image_info(flags) &vdso_image_info + return &vdso_image_info; #else -#define vdso_image_info(flags) NULL -#endif /* VDSO_HEADER */ -#endif /* vdso_image_info */ + return NULL; +#endif +} +#endif /* HAVE_VDSO_IMAGE_INFO */ =20 static void load_elf_vdso(struct image_info *info, const VdsoImageInfo *vd= so) { @@ -2311,7 +2288,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 07:41:35 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=1754177024; cv=none; d=zohomail.com; s=zohoarc; b=OFgN+4t/B2a3/RFRL+xok6N4ksdz2UhkLxZgCQT16leYVl+ruKgy+Dl/vIveAoLAJfGSrf9nvMYo+KOafCj5B2mmq0liqq+0KFy9Es2X9jEdBhKEiRpa4FOjlj4yyQHe/X7zGJnvhIJymmGZSZqXCNJezE1bvigNJBu3hqec9Ws= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754177024; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=cBh0dJ0blSoCHT9xDRizOiJZ4DluKa4hv5tDy/lDBuE=; b=lxz6rpHLO9HofA1+iNvboCcRRPolAOZwCOD0b//IziutfQPMFFWW0lzibjH7MsIh+HFbLoqNazLp0QwjWODbjckPrfqiy4CJ1w34lIrzTWJUp5sqb6sU68l94MbjxHk7w7AEcYagYJOjjwfFgAnwnXgxvVvCbCfp2en6H73R90s= 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 1754177024457934.594864924756; Sat, 2 Aug 2025 16:23:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLOs-0004Fn-3l; Sat, 02 Aug 2025 19:12: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 1uiLOd-0003sA-Vj for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:12:14 -0400 Received: from mail-ot1-x334.google.com ([2607:f8b0:4864:20::334]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLOc-0001qj-8O for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:12:11 -0400 Received: by mail-ot1-x334.google.com with SMTP id 46e09a7af769-741a254d4a0so886343a34.1 for ; Sat, 02 Aug 2025 16:12:09 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.12.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:12:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176329; x=1754781129; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=cBh0dJ0blSoCHT9xDRizOiJZ4DluKa4hv5tDy/lDBuE=; b=cWPLp/XgsBoXrvYLCoBqKOypJQvXKbjiP85EtDyFIYWlBkJ6Gn78gd4uwYCpdwImjO rFDUELqQ4896xggV73EieK2n/ETWjF0PHaXMj0g8ZM4YIIp/09GMp0pCU6+ZThKdLodj 5A01bqQXLpWzMxDe0E/xGsIkEfI0LiQyiYpSRG/efTZFXvnqvUnDmb4PjwjYSpgjTTXI QVkL9mr8RdUk70k5bqsZcDluddxuWxC4DzFSUEkadvNlBYQqZw8U7i0wFR2xswtfXV74 eUboBL1ekTXczFm68C3/9L1Pjc8/+a9duxDwUEXf2N+f/MBZ2YEHWy370Ekp4YPqdaiU JTeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176329; x=1754781129; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=cBh0dJ0blSoCHT9xDRizOiJZ4DluKa4hv5tDy/lDBuE=; b=HFGcOZRAZVAKeLu+0fX+sDKbzHhLeb3ahck7xTHAtQLXmw8FbvHmLzY6fbVMRR9t0l BK6Qx/SO7kr/Ek5lpKIqJPDjVf0MgFd7I5+vgxs8ERmTlkRAkI0lZdIzgBccQpltkRjb hTow/fJSWUb4IRrSu82STBXy25tnsZBj+Pds60HBCCgWfkvobLjUrCjNY1kSJ7IUMmY/ /b/lc38GDYoCD64RLaBi1F6CSdtTuYzoSG+AVlG3oAynY+IGprN+akmZoi7Wla5+it13 OlD4IHD9U9mQalus2mA34L4poPK2UQp8eRPNxxNWFxl/WFqUjgS5hzW16Z33Te7L50bD 6ugQ== X-Gm-Message-State: AOJu0Yy6j7+a43iuOh68M3en8MJKXo18WHYHHNA4LEGLc6iUCs4Crg0l Mxmv3RTLEcl/zmfAP+Lk/PQ6lm+JRpKeeXTuvjzWqxTEQSR9wuKkxcRC1m0c6qYliFtjZHatLzo toz8hlt4= X-Gm-Gg: ASbGncsCgIocZ/mfznYroZupD5R5WY9KPt6fdd9P4gu0g83mWxAH4mJ9Ph81o0iY6U+ 0Cvia4tw0BMyvMaZXIyVaDHK6K34+PNoAzKdcPQ0oXEXCsb/Ks8DP20oq2dbmyVXDAuZcIyfgXT yt3RUD6imgbwDVsfFUIRPSCMYAR9zfN44vy40p8Zp802S3iZxvFDDjTtSqmBZi4A8WhRp/BzxTV Ac0oROwzfk6NV7WCJHG1u+p5Ikikk3fZR2wVCUFJtGCdHLHFHd/DoEYkJdiEMk3j0ajF1oI4oV/ 4E4GlFkn1ZNU76yTfUb50MEHfeN7DJHZZ8BzL0oj9j0BaSaNdcjw13mgeNq4w2EOH1y2Pvd7S5D PNP4IWHRwgrSqKZc69k92Kj1wh22kk4rWqkdGziobpZxKOPdIzXS2 X-Google-Smtp-Source: AGHT+IFQ67CPp43hXmebAdGul71evRqxTiIJ97/jB21H2ijxTzchfsd5euD8990R3v7Gt+H/1TaiRQ== X-Received: by 2002:a05:6808:2185:b0:426:8e15:6a4a with SMTP id 5614622812f47-4334f66b360mr5889030b6e.0.1754176328899; Sat, 02 Aug 2025 16:12:08 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 67/95] linux-user: Remove ELF_EXEC_PAGESIZE Date: Sun, 3 Aug 2025 09:04:31 +1000 Message-ID: <20250802230459.412251-68-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::334; envelope-from=richard.henderson@linaro.org; helo=mail-ot1-x334.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: 1754177026176124100 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. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/elfload.c | 32 ++------------------------------ 1 file changed, 2 insertions(+), 30 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 8cf9a1d77f..e700bc7642 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -167,8 +167,6 @@ typedef abi_int target_pid_t; =20 #define VDSO_HEADER "vdso.c.inc" =20 -#define ELF_EXEC_PAGESIZE 4096 - #endif /* TARGET_I386 */ =20 #ifdef TARGET_ARM @@ -180,16 +178,12 @@ typedef abi_int target_pid_t; #define ELF_CLASS ELFCLASS32 #define EXSTACK_DEFAULT true =20 -#define ELF_EXEC_PAGESIZE 4096 - #else /* 64 bit ARM definitions */ =20 #define ELF_ARCH EM_AARCH64 #define ELF_CLASS ELFCLASS64 =20 -#define ELF_EXEC_PAGESIZE 4096 - #if TARGET_BIG_ENDIAN # define VDSO_HEADER "vdso-be.c.inc" #else @@ -258,8 +252,6 @@ typedef abi_int target_pid_t; NEW_AUX_ENT(AT_UCACHEBSIZE, 0); \ } while (0) =20 -#define ELF_EXEC_PAGESIZE 4096 - #ifndef TARGET_PPC64 # define VDSO_HEADER "vdso-32.c.inc" #elif TARGET_BIG_ENDIAN @@ -280,8 +272,6 @@ typedef abi_int target_pid_t; =20 #define VDSO_HEADER "vdso.c.inc" =20 -#define ELF_EXEC_PAGESIZE 4096 - #endif /* TARGET_LOONGARCH64 */ =20 #ifdef TARGET_MIPS @@ -300,8 +290,6 @@ typedef abi_int target_pid_t; #define elf_check_abi(x) (!((x) & EF_MIPS_ABI2)) #endif =20 -#define ELF_EXEC_PAGESIZE 4096 - #endif /* TARGET_MIPS */ =20 #ifdef TARGET_MICROBLAZE @@ -311,8 +299,6 @@ typedef abi_int target_pid_t; #define ELF_CLASS ELFCLASS32 #define ELF_ARCH EM_MICROBLAZE =20 -#define ELF_EXEC_PAGESIZE 4096 - #endif /* TARGET_MICROBLAZE */ =20 #ifdef TARGET_OPENRISC @@ -321,8 +307,6 @@ typedef abi_int target_pid_t; #define ELF_CLASS ELFCLASS32 #define ELF_DATA ELFDATA2MSB =20 -#define ELF_EXEC_PAGESIZE 8192 - #endif /* TARGET_OPENRISC */ =20 #ifdef TARGET_SH4 @@ -330,8 +314,6 @@ typedef abi_int target_pid_t; #define ELF_CLASS ELFCLASS32 #define ELF_ARCH EM_SH =20 -#define ELF_EXEC_PAGESIZE 4096 - #endif =20 #ifdef TARGET_M68K @@ -339,8 +321,6 @@ typedef abi_int target_pid_t; #define ELF_CLASS ELFCLASS32 #define ELF_ARCH EM_68K =20 -#define ELF_EXEC_PAGESIZE 8192 - #endif =20 #ifdef TARGET_ALPHA @@ -348,8 +328,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 @@ -358,8 +336,6 @@ typedef abi_int target_pid_t; #define ELF_DATA ELFDATA2MSB #define ELF_ARCH EM_S390 =20 -#define ELF_EXEC_PAGESIZE 4096 - #define VDSO_HEADER "vdso.c.inc" =20 #endif /* TARGET_S390X */ @@ -376,8 +352,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 @@ -396,8 +370,6 @@ typedef abi_int target_pid_t; #define ELF_CLASS ELFCLASS32 #define ELF_ARCH EM_XTENSA =20 -#define ELF_EXEC_PAGESIZE 4096 - #endif /* TARGET_XTENSA */ =20 #ifdef TARGET_HEXAGON @@ -2677,7 +2649,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; @@ -2785,7 +2757,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 07:41:35 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=1754176849; cv=none; d=zohomail.com; s=zohoarc; b=Tt0/IFSr4yys0jB0AiaF5fVlu+lUpJq3wBUUU+P2GHlxK1YXbooO1OdE8s85KHX7/V8VN+12+VMEIV5J5LURwfWZCNWEx1zEmfyV+aJY7rBY5wN6PHz434dZzrQzHqqxQ9a2mxBFbghEdMy0HSuG2ZNXdXOMlhzhhQSsopwAMak= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176849; 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=WlpguNAy1db+19GMtuU2rYn1N1mDvWtUCnEpEfy+tBw=; b=myqqLSo2KQBchc4CO6BusT1WTNJrCmBRqqKIKuZsPjNUW2J9gE8OEh78pnwFHf7P9szPPd421TJMGR0mGRUwWotyvB6gwl1X9XgnGZY05MONUOPdTemnAUrYUCrBMJASU7RmfIgfCwl/P0dXyeDKTldsFy/RYXql9o5eVJpLc7o= 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 1754176849266964.1594619753546; Sat, 2 Aug 2025 16:20:49 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLPG-00069o-4H; Sat, 02 Aug 2025 19:12: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 1uiLOg-0003vi-Kw for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:12:16 -0400 Received: from mail-oo1-xc35.google.com ([2607:f8b0:4864:20::c35]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLOf-0001rF-7v for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:12:14 -0400 Received: by mail-oo1-xc35.google.com with SMTP id 006d021491bc7-610cbca60cdso1074507eaf.0 for ; Sat, 02 Aug 2025 16:12:12 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.12.09 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:12:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176332; x=1754781132; 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=WlpguNAy1db+19GMtuU2rYn1N1mDvWtUCnEpEfy+tBw=; b=flq7j0l2qA1zanuPfZVbaNuEUgjMB2ebcVNJnuGXh0tPreoV2wn+SAJScmxFMcdO+B skSEhIhHeOHk4aF26NKQbZvWH6jlcdk7WyPCLVKVkwrxGG0Kbf5/GHN0FnvGCmyQWW6k JeI2732gt7X7u+/JmzVGNm+3zR+G+UqLE+5ENpVfqil+SLIUpDnsRb75b9n/aPtNLNU2 zUZwFUMTVk2VxPEQQdgFwIpjDATH5MI/DGIRvGY7AhWjWJTDvs3IJnUtRt6AWJCF4njU f1fd+ZkYCnvdnr+18Dx73YTmX1RQ8aLJ9mtekbz545QHZW6vKIYPzBSubHcpnqETqRGp HGwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176332; x=1754781132; 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=WlpguNAy1db+19GMtuU2rYn1N1mDvWtUCnEpEfy+tBw=; b=tk7OsBYjg/tLcqXS0aINqJYYskogZ26gqdxYxtZqRCgSGuOZoSUv2dVzVbpJ7sdmpV FJbSLGbVNNMl+pLMyjVXrbXYSfGXnG94j18jkyFQmlmYlPYo1ITBfmac39zUf/Eh3vCm iGNBLr8LFFm14qR6CRftO4W0xxUjX+BRySmAnH+DeAusH8eZtkxlqbqUHmNFDhUJeYWi 5TMeFC46gJqEhug84C+UrcbJk6NJ5ziEI2i06X5gJ3qKXNqEqTlFJYq1rpBKF64aWD6z 1ImTCD+QQ3zEdlgEqcoU1jfKNE2ZVp7qv1noQ2K1B6M+7cdSgskiN+pW4T5/N/C5hr+v SBLw== X-Gm-Message-State: AOJu0Yy47VHN7BmQPsp8OiSSFek6IC5n0+dE+7wrXfhPeQhREqiK7Blm /fZdowSln63HRj6oyK18uEDu9CfUXDdcBo9/7n/MxyBgiHeSg83IzPWGP5C0McohVWv/XPx1gtk ir0ZYeJA= X-Gm-Gg: ASbGncuqZ0+YO+CmU5l3S27Y02sB3jPKerZ/YR/cZlZVddWEu9t5egUNKc5mFIfVGTB L+dFz7MaaT2ryt/KeNNzshwqiqf2iagxAFsftG8F7efvlDG+Sl7WbjsusgkGZjZb6RgcSe0iboy P1IDHryADnWCsm13D9F1QyB1FoQAWfnjVLi81cimk1qoDEuIsxz2qYELx8j7aRAOjDZcPSDpUQs uGyN16aVlGkXb4SYK1PV/DBjl2FY/bZXhss9zzsne6FVpKxHYRZKRuOBv7Jy+xZsRt7qBJ0DFIK m6eAGM4QTgVx9/02eNASSO0U0hNW0bYD9i212UFjOSapQ0QUZ++49RMNcIVxeUAM3FUSPWlulNl kUZao2K2+aO9oRFhJINskT5vN7odsWreOpkQm/e60lKcQI9BUMlu5 X-Google-Smtp-Source: AGHT+IGXOb/EHPRPWSvonvy0Qb3pnNPs5xeV6CxPjFdgJp68TKJq3SwREXa2z7EZGdMyrLohHsK30Q== X-Received: by 2002:a05:6820:3093:b0:619:a34b:3e32 with SMTP id 006d021491bc7-619a34b4375mr806346eaf.0.1754176331977; Sat, 02 Aug 2025 16:12:11 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v2 68/95] linux-user: Remove redundant ELF_DATA definitons Date: Sun, 3 Aug 2025 09:04:32 +1000 Message-ID: <20250802230459.412251-69-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c35; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc35.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: 1754176852094116600 Content-Type: text/plain; charset="utf-8" We already provide ELF_DATA based on TARGET_BIG_ENDIAN. Remove the extra definitions from openrisc and s390x. Signed-off-by: Richard Henderson --- linux-user/elfload.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index e700bc7642..44fe1322dd 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -305,7 +305,6 @@ typedef abi_int target_pid_t; =20 #define ELF_ARCH EM_OPENRISC #define ELF_CLASS ELFCLASS32 -#define ELF_DATA ELFDATA2MSB =20 #endif /* TARGET_OPENRISC */ =20 @@ -333,7 +332,6 @@ typedef abi_int target_pid_t; #ifdef TARGET_S390X =20 #define ELF_CLASS ELFCLASS64 -#define ELF_DATA ELFDATA2MSB #define ELF_ARCH EM_S390 =20 #define VDSO_HEADER "vdso.c.inc" --=20 2.43.0 From nobody Sat Nov 15 07:41:35 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 1754176670193641.2090004083823; Sat, 2 Aug 2025 16:17:50 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLP6-0005Ha-1W; Sat, 02 Aug 2025 19:12: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 1uiLOk-00043M-5f for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:12:22 -0400 Received: from mail-oo1-xc2f.google.com ([2607:f8b0:4864:20::c2f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLOi-0001rg-Ad for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:12:17 -0400 Received: by mail-oo1-xc2f.google.com with SMTP id 006d021491bc7-6196ca9a2edso834259eaf.2 for ; Sat, 02 Aug 2025 16:12:15 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.12.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:12:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176335; x=1754781135; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=EsTLnH31scjYz+bxEZM+kYi0Y3PVFWRhTQ+Zd0S7h5Q=; b=HiTRavQLgnhZdIOaRLMUa4spvxvgXCEegiiixFUgWiqrDwLxkkWirX8l8UPgtgXXNW 1kB9XrZE0MnuNqSo3SInquGpO93kg1TmQNq2yhOaut9Q47jS1JWcqePfrAb9zXI7hkZk WHVIr93pr9BQerOVqgJ1Gby3S1O+/BVwM7Zr8nbaLY/29utNgZj4fGTCnYWiHgAeA5C+ YdTZfIR5FHjp41DXOaH2w0OzOZ3Y7TZNfmc1ivmuNuUKYH6ebumDNuuAn94LihDTLcls WwOx8/2FTv8cE6rF8s+rFWcuxPZClWDNweLR72xahVDZA9lv42vMUqwNlZU2jwWcjNtR W6gQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176335; x=1754781135; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=EsTLnH31scjYz+bxEZM+kYi0Y3PVFWRhTQ+Zd0S7h5Q=; b=gAmDNgxDE2RjsXnwsUhQ9y22543GlMml09ZUk9OYhxN7isaNBq56ImGLwaHGQ+l2OF cJtXy59PnGZp5Fu1H3aXSEal8LJlP+QdWYhRVrXIo6nsXgM7GJFrfYNHzUBnQA59zFQX UDbSIZXyZBhuDF7ob01o3ww96qz8HfuiBNXqMEc0YwIg/NQfZ1iOXapqLVdornkvgZjd +SPHcEnn3qyzShb+TcgDSpIOPzqLXjjNoiyETS3LVJeQHSmN95T1ik8qfNgf8DGsCmy1 41+aKeT/AkaOGDECinAdU47aYjK8MnaViQ/FknZbzbzaE1sULEc50vim3DhSIeavv9Bs 9o5w== X-Gm-Message-State: AOJu0YyWbvmLVyA2PE6MF53zIF5CZdVPx1AurVnJFIFCtapnc2NQEtXM Js7U16hK5k1+ZZfj3Iath5Pax/NXs96TKUi1I4ttLnr6Ve1oXZNQXWy1TlA2ky/f7lPcFZr/Wsl y5chPbGw= X-Gm-Gg: ASbGncvYB01szqzfDfVc3QHbAVcgMC0bHi5U+uhZEXmrY/uWV6TlGMx+BLjNUpfMzgZ TzzZnTHmrc5V0WNkyZf1DqqZ5wRJ1TmO6XEXPOnC3SlX2VX8HPAE5S9PBTXw0UB4WywF+DNanoq sZinIA1vDqAgBjzT0/6csra5McKKvRH08tmEc+4V62n3KmvS0L9upZ5zvEArQYHUBRdAoisnTuo kiJG2bQCZaI0t5/6QMcSU+DfRVZl9BbPCBwgi9d/ALgx0RJi3iwQQNA/4Hpylcp3LqIkcSjlBwJ No/C3mMhvvU4qGQ7KoI7HvdfOZWc/uLaL3i+T7DaDY6Figi/kq++7hkk55a5BO0Tl/AZPhyZSB7 BV0z/2BywBeJwIWvWTrKjHloZz4PeUhY6Inim4qICai6ISQ9qx6EP X-Google-Smtp-Source: AGHT+IEuke0XOlkLVcItYsWdckDMLKW1sJTJmSVPOwBXmcz9CiZYZuS5f0S8FXE1psx6HaGU6kUKng== X-Received: by 2002:a4a:edc5:0:b0:618:d339:1fe with SMTP id 006d021491bc7-6198f23451emr2592426eaf.3.1754176335185; Sat, 02 Aug 2025 16:12:15 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 69/95] linux-user: Move elf parameters to {i386, x86_64}/target_elf.h Date: Sun, 3 Aug 2025 09:04:33 +1000 Message-ID: <20250802230459.412251-70-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c2f; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc2f.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: 1754176672660116600 Content-Type: text/plain; charset="utf-8" Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/i386/target_elf.h | 22 +++++++++++++++++++ linux-user/x86_64/target_elf.h | 4 ++++ linux-user/elfload.c | 39 ---------------------------------- 3 files changed, 26 insertions(+), 39 deletions(-) diff --git a/linux-user/i386/target_elf.h b/linux-user/i386/target_elf.h index aaf7b229c0..9acac275b8 100644 --- a/linux-user/i386/target_elf.h +++ b/linux-user/i386/target_elf.h @@ -8,6 +8,11 @@ #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 HAVE_ELF_HWCAP 1 #define HAVE_ELF_PLATFORM 1 =20 @@ -19,4 +24,21 @@ */ #define ELF_NREG 17 =20 +/* + * 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 8c4bd9a3d8..d924314679 100644 --- a/linux-user/x86_64/target_elf.h +++ b/linux-user/x86_64/target_elf.h @@ -8,6 +8,10 @@ #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 HAVE_ELF_HWCAP 1 #define HAVE_ELF_PLATFORM 1 #define HAVE_GUEST_COMMPAGE 1 diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 44fe1322dd..a017c2162c 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -130,45 +130,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" - -#endif /* TARGET_I386 */ - #ifdef TARGET_ARM =20 #ifndef TARGET_AARCH64 --=20 2.43.0 From nobody Sat Nov 15 07:41:35 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 1754176938119542.1633069958913; Sat, 2 Aug 2025 16:22:18 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLP7-0005Kq-6m; Sat, 02 Aug 2025 19: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 1uiLOn-00044n-Cm for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:12:21 -0400 Received: from mail-oo1-xc33.google.com ([2607:f8b0:4864:20::c33]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLOl-0001sC-Pq for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:12:21 -0400 Received: by mail-oo1-xc33.google.com with SMTP id 006d021491bc7-60402c94319so2042664eaf.1 for ; Sat, 02 Aug 2025 16:12:19 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.12.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:12:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176339; x=1754781139; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Bk5EntNhtj6cVgm0qRFlXwzo87uUlNI/Hb/uQV355fw=; b=kQSEiiH6RVhMkxqu1Nbsqsbl6+FXvVv0aWwFJs62mim0rx1i0xukTMma3bnQuNabgi +hao7Xw34siJbW+K39fSWbf0ABW6l4+CCX42mKh5dDnHb9bLNIzQtswLmqJiGGsYysDv yFUxcL9s3CdmwlIAz4tjeMKp0Uz0XJ7bDpH/dse7H5ISBsKLTHlzxK3f/29H7DCFwiGP s+xe2FmVvHVbjW6VIZ/lVpymNavgfKlQd7eTGSwzTYTApxOy6gEeVBq3YsVkOMCZXChi QVMUNbjGL9ObWbuB9ynDilb4iq7wAkGdAzAAXJdf8+L28ETb5Gr68zqchph2JoisHz4l YGXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176339; x=1754781139; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Bk5EntNhtj6cVgm0qRFlXwzo87uUlNI/Hb/uQV355fw=; b=QSIvV9RWZzjjYkS92YBFE3641Cmd13Tos8xx03t7ClSRAv4g1X5rnj+8fQ+dOMCC+Q NMnoZlr6giB+qWPKbHsm46AxCsDiqb9OGOQ2RkvFoWpVuEe5vKZUuUrMVEakKm8mbQqR ubA2gvRO3Hy1H9CL+9Fs2rN4bCPZG/9PNB/BqINhWkGq5HEuPz3PEglSuOzC8xRdlTGU /EVtws1b7uRaLhHVdw1QP9MV5YvqU4BZz028Vc60CF9CoI/8r8y8QpiBwPgQxv+5M2d9 DTssinvmTmmxeyL1NqLVQZlcfWBe5wejOx+OD/O448CtY9fm4ALIH5Uc5EhG2AxUK3jV FUlA== X-Gm-Message-State: AOJu0YxZfG1BArqbGcQ7BHEv8F2ZC9Id4CFMaE6qRuFVBbEoBcg9mhuN oyOSDGPUvyAovQLzYWlu/YYS2USRO5qW/y/1M1GdhFYMQXp2940hHbK2GIcv39nAXsEp/FQU4CI 7NbiVyGs= X-Gm-Gg: ASbGncsUKJGHbsB38Xtg9mzC0t0YHEryBRBK+EvH+ADDDo31vJPrJ4PSxz/HuYML5kZ p9JOsOhEl0az7hVB7JkZ646c1r8ZCXUzXzHF2zk4tB34HDV+qtktfhHA/+9AIaA3FAh/KZR3pih z6gO3qYGCzfJh+w7DizewRYIwfn3EmOo+G/dpOHuDlcx4FT946FulDf9+dZn2oUABnd/f5HJL0i lkUJnUjSfx5aLuCsSCmAom5lUXt8+n7QNXLapXFk6G/3hnENjWB9HUOWoPsbJKgk4sJckjQrI0h XCmy/5KEJw9G17iMRYlgOqzy2safN952TBgDU1oGWyPTQtOGS+58JZJmQ24vuFHQfFUq0tDVPjZ 5w56GwQzAK6s4I2ydDLaFUV/NoKjxUxnJgm9L/86DF3rmtT1E89tj X-Google-Smtp-Source: AGHT+IHxtSIWg9yWKEbhc8ssMdGUeZ3gaCidGUPCtSTqdrf9qrXeYYPZR0SukhM+XLAJzod4X5nXMA== X-Received: by 2002:a4a:edc5:0:b0:615:ecc5:c07b with SMTP id 006d021491bc7-6198ef76654mr2701491eaf.0.1754176338664; Sat, 02 Aug 2025 16:12:18 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 70/95] linux-user: Move elf parameters to {arm, aarch64}/target_elf.h Date: Sun, 3 Aug 2025 09:04:34 +1000 Message-ID: <20250802230459.412251-71-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c33; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc33.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: 1754176939329116600 Content-Type: text/plain; charset="utf-8" Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/aarch64/target_elf.h | 9 +++++++++ linux-user/arm/target_elf.h | 4 ++++ linux-user/elfload.c | 25 ------------------------- 3 files changed, 13 insertions(+), 25 deletions(-) diff --git a/linux-user/aarch64/target_elf.h b/linux-user/aarch64/target_el= f.h index 7628904365..9e09bfbf12 100644 --- a/linux-user/aarch64/target_elf.h +++ b/linux-user/aarch64/target_elf.h @@ -8,10 +8,19 @@ #ifndef AARCH64_TARGET_ELF_H #define AARCH64_TARGET_ELF_H =20 +#define ELF_ARCH EM_AARCH64 +#define ELF_CLASS ELFCLASS64 + #define HAVE_ELF_HWCAP 1 #define HAVE_ELF_HWCAP2 1 #define HAVE_ELF_PLATFORM 1 =20 #define ELF_NREG 34 =20 +#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 0fbeffae64..4614acb7c0 100644 --- a/linux-user/arm/target_elf.h +++ b/linux-user/arm/target_elf.h @@ -8,6 +8,10 @@ #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 HAVE_ELF_HWCAP 1 #define HAVE_ELF_HWCAP2 1 #define HAVE_ELF_PLATFORM 1 diff --git a/linux-user/elfload.c b/linux-user/elfload.c index a017c2162c..fb1c125566 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -130,31 +130,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 - -#else -/* 64 bit ARM definitions */ - -#define ELF_ARCH EM_AARCH64 -#define ELF_CLASS ELFCLASS64 - -#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 07:41:35 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=1754177077; cv=none; d=zohomail.com; s=zohoarc; b=iJkwQhvkpd0it/U+KLZRjzD1ev3W6DrpdtswlkSoLOGcuLkLXBOc2O4CRsRFIckcTGUtQjHex2ZqxL1r4mYY0Y3e665HySbTV5KwLwsquCtdf5nRSYrs1JEcnFKPoi1IThISnPtOsDvpAh9XAfKFpvj4QxgmLJo8b+MtlArZu80= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754177077; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=p9KQfwAxii2oEHvk10Z9N3J74RVGe8CdA10oQJ2nk78=; b=GB4x9CWHOI1LZsxs2qbsW2VifYBhwZk8c/JG8O8c4+tSMH9cHUunENRqrqmaC20R0aq/zYcme9QwLwPEPVJMpgbAeh4DVVZ3fsLjLjlJqCyl4anyr/eoZYhFXd7UQU10iPKOdfRJFNbfWQ7/j+cfi86in2eLbQ4wyKTbSMYEY6I= 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 1754177077665794.5246794124067; Sat, 2 Aug 2025 16:24:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLP9-0005bz-4U; Sat, 02 Aug 2025 19:12:43 -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 1uiLOr-0004Fj-3n for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:12:25 -0400 Received: from mail-oi1-x232.google.com ([2607:f8b0:4864:20::232]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLOp-0001sq-HC for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:12:24 -0400 Received: by mail-oi1-x232.google.com with SMTP id 5614622812f47-433f787057eso432184b6e.2 for ; Sat, 02 Aug 2025 16:12:23 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.12.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:12:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176342; x=1754781142; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=p9KQfwAxii2oEHvk10Z9N3J74RVGe8CdA10oQJ2nk78=; b=zAYPj0N5jF1SGV7J9lOQwxWA0cwT+yji8VuddcP44c2ZFzUzGMEzQuA3cZoW4pWwoh 7OLTstpxo+Zt1IK0gDXuGQZiGb9ms178RTIb399fnKi5y0ti9p7o9blUoeN90SJzkIwW 7/AE6lRjxsN1s+inSmq8jQt/0fIxoKDGRHsB8vU5YLqGUlmKvOhYAiJCBsC1IDNUEG2K edLYZrdZPmD26dN3NqBIt0MfiI3+UeAWr6xl8hVUdfzz9C7J5DS8pvkKHicZC236NWSN TfaYsrXV0RY3SRz5qVKByLSjqZxzopm5TzlhQWHKRDrDV1QRvIPLXVq9u7lfeQDTZbXg kICQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176342; x=1754781142; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=p9KQfwAxii2oEHvk10Z9N3J74RVGe8CdA10oQJ2nk78=; b=CcCp7LyAH+JNx4rVfDtCOuI5Ch+v0v/NqyD7zr5PqZBVrt/p/E9uynYUVlqqvos6zN sz+o+lmlGxBwWhtXWPAMJu7DuGjgVVrFn9WStzM5nmLUGS1yKx3Y1HzFMlTMmYVD6mQb LpXgcXpqCkJqLl2BSoXQXQj5XmI7oFXjyi6aKpYlnZN07Ckoi4r66fJljwTjYxvhSkPq lSQ35Z+9MQmSDYg4ctCB+4J0O4eT3fjQEuwbiUEqS+Iavnj6IK2ay2nUowlwSilmMNRM kqk0n0kNWdIcg79V5At5S/Cb4dqLg2QeBxZM9AwgcjEWdPqDFwfv5W9c061CIMx1hZcb r7Dg== X-Gm-Message-State: AOJu0YxUfTcOXD+1e4FvarjOng7ekDMuAeaGkIQvsAhZ8bPdonp6E+Uc E05C58ZCoiEyBw/flxHenIPWLVYgggs1xEzZZArvngWaYhyNN46r5lhPcyLTX1OV0b0X/AenXKx t3ciUulA= X-Gm-Gg: ASbGncspv5Qcxcjg1O48l6XEelE/aySSuCU6UrhD8jJDRlWovqNXhFo6ACfH1umGzt2 acg4G9UTrYYb5NeWYcddp54xHWLTiifkOC+vd7v+0VYaTzOHXPJNRmAWde8aDp9FFf+GcUbEFC6 hTzKxjNoHdWXivbX+E9Du9paG3m993aqIkMkXu70077eAaKPrZIDkyNNJChmtvNTL+3/QzNMmry 6iHmjFKdVOIBioKM1T/MeRTN+ynYNOyxpH3ns4VCTKUf5PvDXK1Vr5UxuB/mOKtGUQ4L/PM+pX8 QZzYxNFv7tG7hlgK4ScypPnCmW6ZCmXZuPZeHUA8XRf8pLwezMh70vb9MSa/lgwgRqkQb3icaze 1I8vwNQGEY16UCF1SGHCLNrkeMLd0J9P+NZrX92IYl6MI06rYL/Pl0LsZ9ItmccY= X-Google-Smtp-Source: AGHT+IE3viSk3ChLHSxM4Z/qkDeye+btXPS4NBS7MNCsqxxgMe2PoLHd0gcdrJYUeLMWOl4iyqSJKw== X-Received: by 2002:a05:6808:68d5:20b0:433:fe6a:e879 with SMTP id 5614622812f47-433fe6afb41mr637583b6e.36.1754176342413; Sat, 02 Aug 2025 16:12:22 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 71/95] linux-user: Move elf parameters to sparc/target_elf.h Date: Sun, 3 Aug 2025 09:04:35 +1000 Message-ID: <20250802230459.412251-72-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::232; envelope-from=richard.henderson@linaro.org; helo=mail-oi1-x232.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: 1754177080585124100 Content-Type: text/plain; charset="utf-8" Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- 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 b7544db0a1..f89c708c46 100644 --- a/linux-user/sparc/target_elf.h +++ b/linux-user/sparc/target_elf.h @@ -8,6 +8,17 @@ #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 + #define HAVE_ELF_HWCAP 1 =20 #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index fb1c125566..e321ff3d14 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -130,21 +130,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 07:41:35 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=1754176382; cv=none; d=zohomail.com; s=zohoarc; b=laU78u67zFnA2W/pANI3WluCulZExZHAWAtaSNbijpQ4o5nhYXCME48M1b3QL/BBauX7kqf4x4ez7YrMOdfyQrFoiB4ye19LSqygfUMb9XX67auZ8Zmpt90IsRtUPoJQeX0em0LoVu8KAc48GmbPzSxaPUUbYVCGcpSlrMJNHDc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176382; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Uo8CXh3J3Cwo6Fet/c+x+mJdmco4tOEU2Zf5zDWJDa8=; b=CeXjsGlNy1xI1SpSHnCVyxTrH/JTMwBfG6Fbg7LZdRdZGC/IS3qzG5xnvdd+Z/NLL5CqpuGgruqI6J03bEzfIErGzv3Nj21sJIWe9Fj4ya7JD/DKxooZEDDO0hVc1nUAtXhYXPsX8qTlGHbw1hb7qBaXZgFqQ9XxjQmC2gz5yPQ= 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 1754176382042956.3572812184204; Sat, 2 Aug 2025 16:13:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLPB-0005kx-Cw; Sat, 02 Aug 2025 19:12: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 1uiLOu-0004Pl-Nu for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:12:29 -0400 Received: from mail-oo1-xc2a.google.com ([2607:f8b0:4864:20::c2a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLOt-0001tN-12 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:12:28 -0400 Received: by mail-oo1-xc2a.google.com with SMTP id 006d021491bc7-6159466e80aso1095009eaf.1 for ; Sat, 02 Aug 2025 16:12:26 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.12.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:12:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176346; x=1754781146; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Uo8CXh3J3Cwo6Fet/c+x+mJdmco4tOEU2Zf5zDWJDa8=; b=o52N1N0CeLmqZQHFVLd3N8KI4MM8cBZgr4x5unnzfPzO51A6tZ9pqyBLkBGwn7d10z iySW2ONjGGD5gupwhX5YimrQ6DH+Tkl39InRJlaYVpKk79edgN7pMK3KdkpuCgwO2mQ0 d+vofBZlXgY2RxrX29EiWzzvvlXoH4SGPKbPRnO3WPYC4Ekz7YzwecRU5I7ZRVvSY7ZT 6/MYcKTsUEt3uhVBjbLz4fHEiATaZSlXN+OhG0MewJZ8QWH5xgNoo3E8g6NY+P4EeoRn aiFwsSL9Rx+73ghvpbXfsWlyXJSqvoQXsFuLZ15hQMSTSHJYS7uXOkuXS0A+sILR7Kt0 MwOQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176346; x=1754781146; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Uo8CXh3J3Cwo6Fet/c+x+mJdmco4tOEU2Zf5zDWJDa8=; b=KW/luOd7VIej/7ZniolmIe5kxw4I/EjHeyH04YxEaLqbkvLVDFQIUavGnoQfVOGmo/ 1k+Qsu0v9bmBb+t0Eo+bs5dQLkC8yhvmWV3/6uJkUwgbUVH0J2wTdcqEcHAoNnBzn7+N /plGMeeLrSXunNqJwY/pv7Txit9gxRkrlEI/y+1yV2aQ++hqufiCbNeyt/7svcH7oU2j PiFzOGFzHZpAkVvhr0HFB1UyOcy6shEC5AVhJMqmzKZXp8eYalIKSRpqpZZOK9vNP9mm XT+pEPWgtQUedKysv2XGCFdXieLFdg54wBGVHUTJQhG9UE4sNS/0UkcVrWK7RcZvjmxB LtkA== X-Gm-Message-State: AOJu0YwaHZg41ZknlmtfGwOPtYL+B2CJ31A6NhzKuK0F7xpxFTf+ejgb PXCAK0lKJYuwLG93+GynrkWoVwDHlYqXTjv1M1buU9CWZTNodeetsBcQb4+p110bq4vQ4YAnbq8 ys+nm3tE= X-Gm-Gg: ASbGncvlz9wfksYTp/WveXd9rrb8XkcuMHf+ywEZknTibyYf53EbSGAU+pEvRZoE+oz oN9V82/8icUhvLeuViZ1sGy5ekH4cLI9NthHPdDnnlIXXS9BqpPug10VDvWm+gZwtgg929WqVzd 8ju37R/TKj/t+bdSyCGGpNW12Yf5IcU04eo/wTOm6wMzY3RLEFM7QWJC4sEPHh+LybrVVD5i0ho TCjYPPKfNt5DRApTquWWUxED72OyAeCEjGpekuW7e3LYBgVBtRYqrUnkCvUt9H2GqXcXZoTHDIN o/jfUCyJjDbPTKkFSS8UtKykSmr0s0yjY0vPiyMnzXMeunCfsSck8R1EMWSqPfLVHYziHnqBScd CnOrpwYZU4XYsvQk00WpRAcTYeed4BCVq5XNHzs80VYaCN2SZrah1 X-Google-Smtp-Source: AGHT+IEPwNHjXD+aau9Sq0h0hC2bU/ZpJJ4JpoeOC4RWnpKNF41uwCWgT2ULmjTJIJ8AzQRLQWeXPw== X-Received: by 2002:a05:6820:f02:b0:619:bc8:d858 with SMTP id 006d021491bc7-6198ef5f235mr3001948eaf.0.1754176345859; Sat, 02 Aug 2025 16:12:25 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 72/95] linux-user: Move elf parameters to ppc/target_elf.h Date: Sun, 3 Aug 2025 09:04:36 +1000 Message-ID: <20250802230459.412251-73-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c2a; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc2a.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: 1754176384287116600 Content-Type: text/plain; charset="utf-8" Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/ppc/target_elf.h | 43 ++++++++++++++++++++++++++++++ linux-user/elfload.c | 53 ------------------------------------- 2 files changed, 43 insertions(+), 53 deletions(-) diff --git a/linux-user/ppc/target_elf.h b/linux-user/ppc/target_elf.h index dd8a65b1fa..6bfe27fc45 100644 --- a/linux-user/ppc/target_elf.h +++ b/linux-user/ppc/target_elf.h @@ -8,10 +8,53 @@ #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 HAVE_ELF_HWCAP 1 #define HAVE_ELF_HWCAP2 1 =20 /* See linux kernel: arch/powerpc/include/asm/elf.h. */ #define ELF_NREG 48 =20 +#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 + +/* + * 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) + #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index e321ff3d14..1a24dfee7a 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -130,59 +130,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) - -#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 07:41:35 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=1754177099; cv=none; d=zohomail.com; s=zohoarc; b=RuRyiqOe3fjJ3+ABDYjCBtbvOwSMUh0+pcZ1MjeY9wdHaCXiwzfwAKHuIShIXoSn2+27ppDijmtVonNj5+BljgyByg5q4XjbMAsXTYlUlVTQ06PwenrUSEsTtBoa2uLMlmJf2KWiN2tTQEOpgY71eTel8PdXVLp25vbzgtyr2pM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754177099; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=LKnoobLYhlsWNDmOql8BCDTejxT7XKGUYJKu9t1JMBs=; b=BitMI2i3nQyxZsK1SO+690XmamIYXLCoslAlOYCoYW6A/BhqDBTC4zux58gV7KjlBNls9XfsMk20dfxRon8DbNrAIMNlY8roUIwMoKJG8ueSw62AbuKV3gvmJfHtLtg2o0GFcab2GLSfo0Zvy9sp6eMDftk9huXfBXpSBnbffmU= 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 1754177099892974.6200422752097; Sat, 2 Aug 2025 16:24:59 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLP9-0005c0-38; Sat, 02 Aug 2025 19:12:43 -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 1uiLOy-0004bj-03 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:12:32 -0400 Received: from mail-oo1-xc30.google.com ([2607:f8b0:4864:20::c30]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLOw-0001tp-BY for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:12:31 -0400 Received: by mail-oo1-xc30.google.com with SMTP id 006d021491bc7-615ee07353bso1761478eaf.0 for ; Sat, 02 Aug 2025 16:12:29 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.12.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:12:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176349; x=1754781149; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=LKnoobLYhlsWNDmOql8BCDTejxT7XKGUYJKu9t1JMBs=; b=rsWPSNv2lnQn5sLg4iNBzG4Dx8qUlr7r9iiLTrCG5PQ4n1Zg2X6lmQrAKworRg2KGM Ae1kmHMmsjKxhqFPP1SCAauM9HBYmH5DaI9Q4tvfpTeT4A7ba02/mmUg1gmWX+OqsVkf pMF0ZBczNc6Nn9MEraQtGEBfGOjyza/BMBiYQQe7wo5VagmJqx6vPpqmT+vdYKkvCPTv mmN04aIPL2oy+pdsNsfl4QkF4+TXdVIZ3cqKyJux0giMxJsMW/y/XZAG26PYoYrwTCSS 9vt+NS6KkDFTrrxvqtbNLYcP75pljkLnOy0DCuRE0FD+527HjX7cc0X4pM+5Su5qg4Oi xHfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176349; x=1754781149; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LKnoobLYhlsWNDmOql8BCDTejxT7XKGUYJKu9t1JMBs=; b=D8+TGzNtPNRxnkaFdU6e8MyWiC2NO+IutcH0zXZIFNBG3EUkbyA0RMIq/oY9Qgr/1V pqSCctifTroicPUKXo7cck6hVKQDcbRw3w0DeziNRKwa1SSC5cYlgXeW7nWHd91PJ00m dOy3mkNU49Htx4v7ufg1Px+GmsGBF+TInbfr5kxClNnGHp4wMTwwoGu8okYtOORLNIV/ l2yeu2sza5G3tB/j+44uQ3VtJfB2aMywJOSgwS1dhau2/53cGCP37Tv4SjBRG+wvZkpU B4bffY7QubTXFVml6WhGGeWhXn3pXfctscj2SSJittJoLd4huXVzNOJuanhRZsZ6Y8C/ rWmQ== X-Gm-Message-State: AOJu0YzkDIs6gE9tWuoahHwFufIy/3S1fLwm/CJp3EvSujctjWWpW2KO u+4xmNmymTAbtAogS/xqJ3xpGsIIY1PaufzKr1yTgETV5+leKoYYD5aziGrlPIgbacVS4GVUKoc 2zsYqCrw= X-Gm-Gg: ASbGnctqUsfOc/LJuLS3NSQ3TDKK5lg+txHAMSanCkeIV/FqaqzzbSKLcf33tVneti8 HDlSCF7wNOrLid8g6hj3wnuVuqaHL2xoy9YojN+z/XQP8ejDGoajxfQmfE3DRAUsWr6mg+RgvhI rlHcJxMUF4xYtfWZy3aMAhZFUvOQIrsSM9LSQ5e2gU6Bi+pFToEbCeEmFSZlLWVwfq/3oWXprL7 ol57XJrG4YGKaRqZ7yVLu84pNzroXyQJ+XuBCjnHNwV5p5eYGz5Ony7ImFyWx5oCPF6bmiRKVEy eED5VggyJAjd+HrP6a0oCBmg9AbhSvmOKWe6kHvcGq2MKuCRQRu9xz9r0Hh3yQIwthAO4iKdqMA vilJigEGUX5iIWlyxaEl4KHXaXwfR2hTko0mZoVZ0k2PFNycht6aWwobKJudTPvA= X-Google-Smtp-Source: AGHT+IG6SUw0hQR/eRE14mCd0ZgFlV4XdWsRDoVzu2mk/2hHKUAhGmTdgHk1jPhCBCZSeOINw8jY2w== X-Received: by 2002:a05:6820:1b18:b0:615:b6df:4faf with SMTP id 006d021491bc7-6198f2556b4mr2887837eaf.6.1754176349148; Sat, 02 Aug 2025 16:12:29 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 73/95] linux-user: Move elf parameters to loongarch64/target_elf.h Date: Sun, 3 Aug 2025 09:04:37 +1000 Message-ID: <20250802230459.412251-74-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c30; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc30.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: 1754177102855124100 Content-Type: text/plain; charset="utf-8" Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/loongarch64/target_elf.h | 6 ++++++ linux-user/elfload.c | 12 ------------ 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/linux-user/loongarch64/target_elf.h b/linux-user/loongarch64/t= arget_elf.h index f2d00c9232..e121e409d7 100644 --- a/linux-user/loongarch64/target_elf.h +++ b/linux-user/loongarch64/target_elf.h @@ -6,6 +6,12 @@ #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 HAVE_ELF_HWCAP 1 #define HAVE_ELF_PLATFORM 1 =20 diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 1a24dfee7a..6b0d73a6f7 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -130,18 +130,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" - -#endif /* TARGET_LOONGARCH64 */ - #ifdef TARGET_MIPS =20 #ifdef TARGET_MIPS64 --=20 2.43.0 From nobody Sat Nov 15 07:41:35 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 1754176680600848.20109906645; Sat, 2 Aug 2025 16:18:00 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLPC-0005mo-4H; Sat, 02 Aug 2025 19:12:46 -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 1uiLP1-00050f-OD for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:12:35 -0400 Received: from mail-oo1-xc2c.google.com ([2607:f8b0:4864:20::c2c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLOz-0001uF-LI for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:12:35 -0400 Received: by mail-oo1-xc2c.google.com with SMTP id 006d021491bc7-61585dfc8f8so1028124eaf.0 for ; Sat, 02 Aug 2025 16:12:33 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.12.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:12:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176352; x=1754781152; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=bKhldYKs1QSuxD/L/nGAckx4xf1pBRHHNxpQtiRND84=; b=uuL3Z8pw6vIcWTxllj1NADBH2cPgLVFgqJSykp1G/2YUs2wYOV51B7pua1mrypYiYW vo9oyWqKb0h9V4QcaRppP2M7Ku9Dn56tGLmDzf3BC/94yO6pYlKHFvv49YaPCCmsdkLv W3XEhtrmNc9Ynh0alRCqF7XjWWo3kYs/PJWl7bFNIXe5kCjFt76DqO1hjgpPOXAjoNHv 9r7jEZQdW7qJzU8zF/YtvhUKExvx69ga2cggf6oU4BGh78yHkrWra1sFA8larJZHQ+Cu S8OufyNxufpS3omaXNsF8rPOH/nkrylCMTNkGiEthmLf3IGr5GfsjA6kQdJXVKghXN0D Rl4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176352; x=1754781152; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=bKhldYKs1QSuxD/L/nGAckx4xf1pBRHHNxpQtiRND84=; b=PdBfPQEta/6EQqYM1tl5yRfIlig+FSDQjDihmnw1nLjSiE/o3+CGdYfpJYK75yNAL+ nBorfjGlMu2OD6W1b09RJSAcWW4P7eS+trL0uFTVOa+NPZNUEVn3SErJCglRv0yRBaHC b2h+NpnYgZP2oZeaoKXwLpwZYGWyFlK+Bwk4Bpkj1xAMmHhNqXgu2W7WbFS17XDJDMoG r7cedCAmb2J/KUpHWmXR4SMCVOXstq2NGQyTzyQKV/4KsinbobzWCdLyapQYuyAAWb57 PHHmGWGh1KIKPQ4QNtJ2swL1pOcQppB9iuRdoHINmGiQoKnsjGxjRTlZgj6yCu8SXye0 nzTg== X-Gm-Message-State: AOJu0Yw8S63eQO/SNA5W8S40pC8J9jYwqdhYUQqtL27npoVCX3Ab3ZYQ 0eta+48AxW3IXNy8UIQ6NbGku4I5znhFOtfeCAy6RpzKDDvBbU5/htwtNSIxAHCgAhyTiUQblpv ix5kM5hg= X-Gm-Gg: ASbGncvEORWRNJJEYhV4N+Fi2WpTce3+/5mt2p/qFp51t9+enc5RQxAs3Rwg63nz/Eb 1p+Yt1wlDM/sL8zcFX2+VO+7k9p+ASqCGWyaMw3w4YPXr1/IVkkoTPeNfUls99dJOItlB3OQSAi 7SJTL5QEGjG6jeXc380g0ffIR6qe5FuQ8XLRV1XseLYkP3VbnvCQSZrya8HeqnBQSMWoFWw0Vs3 MMwKfBrXqgVNwKWLLcDFdK6PDaksPWXsjB3W8UXvveEqDeDnukFIMUDQyXw9oW6hLCXSkjS0Y9w KmKMy164Xqvs86z1aqDuGW58E+mEqvItfvcF8T+/0JsoLGrtxY4qd5TWCW/cu8OxKzoo+s1IgN/ QC21C2CCfyPlsc5K3yTfV1b7NnDivBSuWSoGqf57Kg2+5Oh2SwVW9 X-Google-Smtp-Source: AGHT+IGaiPwR84YarFsF8mTRwWpak7D12KdyeVtvDD/5RqSqRy0fcZhBLvuBV6EV4p0tsnnhjSJimA== X-Received: by 2002:a05:6820:1e10:b0:619:a8f7:dfa6 with SMTP id 006d021491bc7-619a8f7e0b7mr82595eaf.0.1754176352489; Sat, 02 Aug 2025 16:12:32 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 74/95] linux-user: Move elf parameters to {mips, mips64}/target_elf.h Date: Sun, 3 Aug 2025 09:04:38 +1000 Message-ID: <20250802230459.412251-75-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c2c; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc2c.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: 1754176682637116600 Content-Type: text/plain; charset="utf-8" Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/mips/target_elf.h | 4 ++++ linux-user/mips64/target_elf.h | 10 ++++++++++ linux-user/elfload.c | 18 ------------------ 3 files changed, 14 insertions(+), 18 deletions(-) diff --git a/linux-user/mips/target_elf.h b/linux-user/mips/target_elf.h index a36ca5a83f..0433de4529 100644 --- a/linux-user/mips/target_elf.h +++ b/linux-user/mips/target_elf.h @@ -8,6 +8,10 @@ #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 HAVE_ELF_HWCAP 1 #define HAVE_ELF_BASE_PLATFORM 1 =20 diff --git a/linux-user/mips64/target_elf.h b/linux-user/mips64/target_elf.h index ebfd62348f..60ecb4d0ae 100644 --- a/linux-user/mips64/target_elf.h +++ b/linux-user/mips64/target_elf.h @@ -8,6 +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 HAVE_ELF_HWCAP 1 #define HAVE_ELF_BASE_PLATFORM 1 =20 diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 6b0d73a6f7..4173a8d619 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -130,24 +130,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 - -#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 07:41:35 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=1754176989; cv=none; d=zohomail.com; s=zohoarc; b=dYNZijeVTyyPxp1xvk2GFYLVwcSZwi7viJCfr1w5XJk1ISuEmBPpRheQ8U3I06TUXG+RXg6UmJsAYh1oJmXSEdhH8YG9P/73sghr7mAuXiOQsThpvxUQ3SczoQZ6+mCSlvCfGkxnP06v/+RDEnQZ+CsMvzpTD+GiFU5LyCGW5cw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176989; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=QP61lQW9RuzWvrPNmZmEKa6PBqjBLfDxLSYJ7A/0qbE=; b=f3H2IiChKNKXRGTvtmxDsZovvvvv8ujfA+oeUC2ou9f+923zbPHgNdxMjdVeM51Hn2SBBNNgwn7X95G7BDssBb5ETe4W6G/V5Fu8ll4+anaZ704N8tPUZCFIBXTpa8ae4pnPZ5FTUeBk8GWs/cRU2RZ0Hhm/p9nauGnniC2Ec/c= 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 1754176989473502.1194697596296; Sat, 2 Aug 2025 16:23:09 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLPE-0005wj-DC; Sat, 02 Aug 2025 19:12:49 -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 1uiLP4-00059i-K3 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:12:38 -0400 Received: from mail-oi1-x22c.google.com ([2607:f8b0:4864:20::22c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLP2-0001uc-Vc for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:12:38 -0400 Received: by mail-oi1-x22c.google.com with SMTP id 5614622812f47-433f1f97199so593173b6e.1 for ; Sat, 02 Aug 2025 16:12:36 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.12.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:12:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176356; x=1754781156; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=QP61lQW9RuzWvrPNmZmEKa6PBqjBLfDxLSYJ7A/0qbE=; b=K7wRL8VJpvnDm3W7LxVeVZXHfBVMS3nAnZM8RDq8KaN19fOYsj1nNBG+LoF+WKt3cH 5YBu84NGg5vas3scHZruttba8mOdsusGrCnqJxb83RyYeRve0KEjrEtiCedtxtO/jUuY mGAMZoM3f4Fy63rSbGm5OefwgzWzLJIpa77moLE1tffWh8LY26XfTmYnDyci9sRUiqv3 B6aVZVhIVc+wc0My5A2cAYDTj3YyslUu3lf1MZFgzibABeaf67saANMM/cn4O0Rnwk9y CEJLPkVfVfO35UA5kX93EvOAJAVird2QOqamDdFErAeC2vT63zSKhsWzEnICC0i9Rxci anxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176356; x=1754781156; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QP61lQW9RuzWvrPNmZmEKa6PBqjBLfDxLSYJ7A/0qbE=; b=lRp5ZxF/fVMt2bfP9Buflk+HadAaC4ZunhrAwKln+3QQi4VwtbtgAmYv5YLL9CAuvZ cr+oQQp7Le8IsXroWi5ejUttofugbdFOs7wu5ORwX5Jl2WARjzQPzfLTrMiP7FQYicqB MWI0LxTBCq0RN/lPbcTJiqveu5nSoG0mexIuVopJTckRbSNaAEAD80psPSTBjQeiirxq AMlrBBf7ohMXCpzfKK2kdcgsYBbXpID6lRftvwaqE7sfdMNNGcVPGJoSxgsp06haQ0Ks 70Ul0hLfUrrMfihl8cfexKCbdJ9KEI/JbXZofqOtLpMyvxQ7BB+MGeDfp0W5mFQq9wQd fL+Q== X-Gm-Message-State: AOJu0YwZVY1U9kd4LhT1rp4IQZ0JlJaAn86uOGqmdRxIPistJCRb3C4p BkQeBg6Z5bmOU+xMNjSz+tBdCmG8tsEFumKo5bpJA0iEQa5h5xdQjgCiMkZqAU5BXRli3OrWCV/ Hze3+cWM= X-Gm-Gg: ASbGncuRwZYnuNIJySOvC8CzhHZxysKx7yIN7cyeP5826nJq6Mwc2ITOBXfjaHkhMmQ 5akDhelvdpZwmsn2F5LBWwA4Dd4OndBiUWLkBU3H3UDCT13h+thH5JNINZaOyqZ859VE6/Jr6eX dM5GwTAQTfpkHbzqwgxrLTtkDUHNPNDaHx3fJ6g4FoSvCHaOCg9czpNH5jBESksp3z7PNqsfY89 HGECXAdb1dsJqBkdd1hIHnsPigEJu98dhRIHX0PgPYemr3Fa9t09MFeireD9PD2KanewG8oIhRL Yt3mREEDmzdJXFVnuHrx6fw2NivolTbhZK4m6oZBZIt8T1Koi9Rt++J77Te6+JqJs6vMVkDlS7b R5ptLPA1yJj+qEQrBHGq37G7MDJPo6qzVQNUc9Ie/8huLG5nxO/AA X-Google-Smtp-Source: AGHT+IFpFymIFV5w67zLoYYOGw+GKjECn0rEbtW5dR1HN7on0vhIX3Wb+0CKGBl1pUD+QDRG/FinAQ== X-Received: by 2002:a05:6808:199b:b0:434:487:320e with SMTP id 5614622812f47-43404873ad1mr26721b6e.29.1754176355728; Sat, 02 Aug 2025 16:12:35 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 75/95] linux-user: Move elf parameters to microblaze/target_elf.h Date: Sun, 3 Aug 2025 09:04:39 +1000 Message-ID: <20250802230459.412251-76-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::22c; envelope-from=richard.henderson@linaro.org; helo=mail-oi1-x22c.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: 1754176991589116600 Content-Type: text/plain; charset="utf-8" Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/microblaze/target_elf.h | 5 +++++ linux-user/elfload.c | 9 --------- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/linux-user/microblaze/target_elf.h b/linux-user/microblaze/tar= get_elf.h index 2d83fdaf6d..7ce4c10d00 100644 --- a/linux-user/microblaze/target_elf.h +++ b/linux-user/microblaze/target_elf.h @@ -8,6 +8,11 @@ #ifndef MICROBLAZE_TARGET_ELF_H #define MICROBLAZE_TARGET_ELF_H =20 +#define ELF_CLASS ELFCLASS32 +#define ELF_ARCH EM_MICROBLAZE + #define ELF_NREG 38 =20 +#define elf_check_arch(x) ((x) =3D=3D EM_MICROBLAZE || (x) =3D=3D EM_MIC= ROBLAZE_OLD) + #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 4173a8d619..34a2639d85 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -130,15 +130,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 - -#endif /* TARGET_MICROBLAZE */ - #ifdef TARGET_OPENRISC =20 #define ELF_ARCH EM_OPENRISC --=20 2.43.0 From nobody Sat Nov 15 07:41:35 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=1754176699; cv=none; d=zohomail.com; s=zohoarc; b=YEjZTi93Gcsd9ZE3lURt6z4Sdd3mhcP+y2TCVkrSYEKjcsNq4vDePXO1+2JMcb7c1swhEDKmh9mmrHDikUFXnGCJT8ncJIPyQHL7kjEM80XjoarSiquVa5HaB0Oj3DOO4AmbIwtOA2G5nsdICop1AOz0ZpcqlfhtLYbsR78VftQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176699; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=uuAZkOmaNlZv8AwzpdIipUN5ubagjCWQYNTuWVayrGE=; b=OwfzSQ9po5Jn1FD+sDQR2khpFT/0tCjKWw87N7FQ/Mc2iWqjV7dVlpf6g8rZYjt1z4/V03BJofAlGbHESyob3B/3qzuQ7twGN+Q+HaIOMaVxlJdieGSDFuP2/Roouox/Bp52funuUTZr4vnn6aUFhRDui0aljPl7QhSXYreeQO0= 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 1754176699775955.7312203754317; Sat, 2 Aug 2025 16:18:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLPF-00066P-3P; Sat, 02 Aug 2025 19:12:49 -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 1uiLP8-0005b7-FE for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:12:42 -0400 Received: from mail-oo1-xc29.google.com ([2607:f8b0:4864:20::c29]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLP6-0001v6-Tt for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:12:42 -0400 Received: by mail-oo1-xc29.google.com with SMTP id 006d021491bc7-619a915c65fso30697eaf.3 for ; Sat, 02 Aug 2025 16:12:40 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.12.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:12:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176360; x=1754781160; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=uuAZkOmaNlZv8AwzpdIipUN5ubagjCWQYNTuWVayrGE=; b=jgk1Wv1EqUW/3KvzcKLplJBmEffxkEtOGlGaph9AYfpa19DdYQ/unlWGJKpSnicNt3 hJulD+4ZGBP3z7BpyMemfJBDDExWlt0gmtrO1KohwMoBlZezaivXjLMyNwdM1rjjm4Aj 7sERYHat+ufafbZqTK8Py65MyETNB5NiiBXcM+Z5okM6kt05PLa9eWKANrWuLslVUoyg SbsVUnRTi5rjbSdyPiXyM/GNjEbT9W0V8XOEB9hrMsbvteqw9YBxWjYjW5lNCO7faEqE 9B1kMlMyOcjh2FEY6X1NRp5GyJBP1ZKt86Dwsd1r+8Y8aSbohw3EXh8av1NE3dIrX8+s 1bTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176360; x=1754781160; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=uuAZkOmaNlZv8AwzpdIipUN5ubagjCWQYNTuWVayrGE=; b=QFKIRAlQOVlxisDVHLpQ9/h+PgHJAB/P0RqscKmWup03/njOXb1NiU0hFID+tP71np VmlDoj2c7/Ud85/SBeJ5Htyz8XALlWbVWU3a//Yo0gI1yBsxYS8DQK+voCWePlC3cTip GU/qgda6EUELm7ccJw0jRMJ9ziAXUTp9Cy2IPc2OzjjjME8zswjeUDJWjU4uBnAvh3FT get7bT31vG2bTC05SVxQDckrfrg/dqBI/NtFYU6O1ymNNJ7Exa94GG6eF4ynGfgyHbGk hc9n23sNHHl/DuMSSBgSmOoipiNexb4CFU2RBMEWSKMuwDdlClnoafH3PF9i8bSPkQnS /jFQ== X-Gm-Message-State: AOJu0Yw7NIbLqNBmIK8zcqLVyv8SSsGwd2Am0UVhLFCiKf07wxhh/J7p ay5JdMfKK/aUaPFzYy1rbJ56cy8qTJCaWfur/ClN4OLuDLk9bKOudIke4O780VMMT+H9EbZ0ZqE QaQPdKhE= X-Gm-Gg: ASbGncu4oV4XTar75oADFWIg2wTHY4NBZjxw8vCghRaV+09sAQSXznLp/oa2AuBNPDk YkVvKUaE9Ar9WwxX7sq+W5Lu7BQsbRiO3MJgxI2Ueju94OpvFKykT59u0vLV4NB2WymNPzFdHMt LkXozacGV7iwHsa2cpt0ulVf9fSvt6OJsjBdDPzyfEsqPmGv/zXHKvPdExPaUe9X2DGCLZXiOOz 1Q18bDeOT1AXvlL2KrcG3FGxs0GOpFw0gVZoSj+PBBouyvXJ+GTv9CvXUAwZvRJEkkqI7WuKmxb GZBwCTKL43xB9bmP2Kk7RoAj4b/jyIxHeqJbcsuulmMwdnN5CxlO8Qr78483B5vzvahZ9BBR9/Y nVMOgO03qxUqEAX1vkKb7W9oa5RX2g8xL0enWkwOdxvLJXL5dAa+SsFj4kKUKpojVFQ+kXdLFrA == X-Google-Smtp-Source: AGHT+IHUaWInuTBmHlHZHgmABnmAP/ExGLWeIVwab0Q51gOZQS9QGzmAvhCZZm/aYODq1sL1TEWXpA== X-Received: by 2002:a05:6820:2685:b0:619:a3cf:4d82 with SMTP id 006d021491bc7-619a3cf51a9mr554579eaf.4.1754176359766; Sat, 02 Aug 2025 16:12:39 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 76/95] linux-user: Move elf parameters to openrisc/target_elf.h Date: Sun, 3 Aug 2025 09:04:40 +1000 Message-ID: <20250802230459.412251-77-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c29; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc29.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: 1754176700770116600 Content-Type: text/plain; charset="utf-8" Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/openrisc/target_elf.h | 3 +++ linux-user/elfload.c | 7 ------- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/linux-user/openrisc/target_elf.h b/linux-user/openrisc/target_= elf.h index 4ffe54fe87..1d3c00c83d 100644 --- a/linux-user/openrisc/target_elf.h +++ b/linux-user/openrisc/target_elf.h @@ -8,6 +8,9 @@ #ifndef OPENRISC_TARGET_ELF_H #define OPENRISC_TARGET_ELF_H =20 +#define ELF_ARCH EM_OPENRISC +#define ELF_CLASS ELFCLASS32 + /* See linux kernel arch/openrisc/include/asm/elf.h. */ #define ELF_NREG 34 /* gprs and pc, sr */ =20 diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 34a2639d85..368c7be0e3 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -130,13 +130,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 - -#endif /* TARGET_OPENRISC */ - #ifdef TARGET_SH4 =20 #define ELF_CLASS ELFCLASS32 --=20 2.43.0 From nobody Sat Nov 15 07:41:35 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=1754176866; cv=none; d=zohomail.com; s=zohoarc; b=V8MlLH8Z0gpPQVlHfUz1T7od7camS7M7ovN6vM+UcIJMIVrlf8sMPg9geuKfiZEpp6XJcHr0gfR0kMxwBlO5OalV3P2jWBRNIJc6nxRRBKB530B5jeRcmxhvBRXntc9z4eqUvwJZcNa5F/8t8Pec3/PVN5e/TdvK7/CFRj+6YEM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176866; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=yfym8zML+0wdkKsMmu1OiESY4P7K8MowokUWQbtFtAI=; b=ABI5fbvcngedILlFEA2mrIXfzZ5uCWfAuS8lQJQE6R0huqBEflTNElVbHzNLW154fhSQC/xSYdCoqCBDvi/VXsEcEwCHPiZ2T7Dne9pau7ZqImP4XS9SjV3m6nVqLXMVGOhwIYWwg5pPcfcwNByXbjtc6y178yc/RZsp/Pbwp/U= 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 1754176866899769.5461949120352; Sat, 2 Aug 2025 16:21:06 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLPJ-0006NO-R5; Sat, 02 Aug 2025 19:12: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 1uiLPC-0005sB-3y for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:12:46 -0400 Received: from mail-oi1-x22d.google.com ([2607:f8b0:4864:20::22d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLPA-0001vg-G6 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:12:45 -0400 Received: by mail-oi1-x22d.google.com with SMTP id 5614622812f47-433f78705feso215186b6e.0 for ; Sat, 02 Aug 2025 16:12:44 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.12.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:12:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176363; x=1754781163; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=yfym8zML+0wdkKsMmu1OiESY4P7K8MowokUWQbtFtAI=; b=o+32rqVDLCCJGWKF93DEldWGaEHI21fVt5q1dyRiIN1xCVY/GEKZ/FYAE0pVvW2zCh dQJssGlyL8ihuZxBBw3FnaY88A6cSuZyB10JGjRcUmjUgx058L7Myvi+uGA3C6zKeEZZ OsBHi9u3oP1S76IAcAdYA2mX0ByRbp1RDcjWDQ4ah464K1P8rJIYa4BpmZxQ0BNlYoG3 rub/h3kS5vGyibX1o5o+V+xp0BicdGIS5p98a80qjvw1FGfyAHKvAroYnsVrGlwPe3FQ q8x0i8SLBum6vfTwy0ICQ2pwcEOsLvokE69X8cAnxZydApfxDTQY8FtrlapqWeoRS7rJ TRQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176363; x=1754781163; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=yfym8zML+0wdkKsMmu1OiESY4P7K8MowokUWQbtFtAI=; b=xIDzNOX9GgD3iBP4X0QFkppGLkopPj3qWMNPy5eMPmn6JHYnv0I5PvspQHKd4bRVLH N3EqhYr/8KV8xJpE6QaiJlIgEndRajJtzPnyjjMNlyaGd2EcVTstE+3MgQ+ELipRRtNq Y15F3A0P6MDbPX3unly3KVOl3JSB4j7sNJbmIWvfrNok6a1/Byd0jBXwDN2C0TxTdWrn OOUCyG/nHyvvC5edumG9a3wZjUohZ8D2Hs4o01pT6S8vY9dRZy1L+hOnjAXJyrfSQsLV k7W2qO4DvhcRRx1Mb090hS9gkW3dJHdblqSSCsdbyLcvT+/J2FrcvEg8DFGqJxRbwQkg MTZA== X-Gm-Message-State: AOJu0YwUPEZPx1DxgQzh7kJW1sUil9wlET8KlaS9iLFUa8hYR1KZja5s ixy5d0KZH6YFHQpF3E8XL2/GLhh4Y6vIoiFX45DPPpALWYoVf58IEATkgXxR91yH+b6pG3+bmXB Vpx1XCV8= X-Gm-Gg: ASbGncsuAXQVkqDeTWrSejl0Xadtk0wyQaLYCPdl3j+KyRhjbqQnM5JaP+pd6EDcZvt K0EvM2bZSHE5qUNzvHz65GTIaAlHnAEXZMrjcFM9Dit56NSZ0swyQae1CuoQromOvo6r8857/26 T94IyPyVrVpVKxSApBZPPCRsLAGWZbFf4YRAj9mRRQ6jtmElwc+6qwifkebfua/Z65tzcDLXrVO AI75lpQpAqfW/mP4pBHhtR2dlp2TlqWXG1tPs6uAMEekBY1UN1aXlVxIr6pdryLG8BVxKHJtvY+ Mj4Tz+hBDPbMmmAhExKpoFd6GQJ4KQhkHTSsHc9PN6nezDkXd75lrrOtzi1UXLmLRsz/fL7QHee p+NH+D43cn3KyHj0Eib/P4EsIVsCkz9/kT15ABuo43100iTsnjvFj X-Google-Smtp-Source: AGHT+IHXCa2J7gJTwbx8AYgi+VFIUcZBIfzruZTCuv6/ZiSSu90zFc9ZATpx3g7FGv0UCeLyRJVW2g== X-Received: by 2002:a05:6808:144a:b0:434:2f0:2e0e with SMTP id 5614622812f47-43402f02efemr280326b6e.29.1754176363019; Sat, 02 Aug 2025 16:12:43 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 77/95] linux-user: Move elf parameters to sh4/target_elf.h Date: Sun, 3 Aug 2025 09:04:41 +1000 Message-ID: <20250802230459.412251-78-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::22d; envelope-from=richard.henderson@linaro.org; helo=mail-oi1-x22d.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: 1754176868194124100 Content-Type: text/plain; charset="utf-8" Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/sh4/target_elf.h | 3 +++ linux-user/elfload.c | 7 ------- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/linux-user/sh4/target_elf.h b/linux-user/sh4/target_elf.h index b0f1ece1e9..b305cac5b0 100644 --- a/linux-user/sh4/target_elf.h +++ b/linux-user/sh4/target_elf.h @@ -8,6 +8,9 @@ #ifndef SH4_TARGET_ELF_H #define SH4_TARGET_ELF_H =20 +#define ELF_CLASS ELFCLASS32 +#define ELF_ARCH EM_SH + #define HAVE_ELF_HWCAP 1 =20 /* See linux kernel: arch/sh/include/asm/elf.h. */ diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 368c7be0e3..fd3bdfe9c6 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -130,13 +130,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 - -#endif - #ifdef TARGET_M68K =20 #define ELF_CLASS ELFCLASS32 --=20 2.43.0 From nobody Sat Nov 15 07:41:35 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=1754177055; cv=none; d=zohomail.com; s=zohoarc; b=eBuJSLibQi/VR45RkbIIFqN7SY+PcVcXAey7yhWRGQT4BMRc8DwyoBGjuJEMlWio45mcsO9yMaX/PzMHptpHk0lEUhx1cvXBf74YPw6eaPPUHzLPdmtgmof95CJSE/1hlzhMow+BwtETDhqEL/3fsiv7+sB64Bxl0jPD8CsB/Is= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754177055; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=1v+oHh5NI/CAD3fUn3WO/NvcFU8grJSwgg1nXQ9k+uE=; b=gzmLf9fUwhs/B7clo5ODBteDp8L1ZDfvp9/xk4oEwCXdIV4uxEyb2OdV3g1eqU9IlOmOnKNxIdXBniHK8DAurPYUwiTVbUWyNe8lI47AoToawV9x3k3CYVPtaZ1BTvp52xA9+nUPNVzv31azNIG6D0rpi8iUteBvRKT/+HOxHCQ= 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 1754177055824273.5696784153954; Sat, 2 Aug 2025 16:24:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLPH-0006J5-PF; Sat, 02 Aug 2025 19: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 1uiLPF-0006BM-GN for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:12:50 -0400 Received: from mail-oi1-x231.google.com ([2607:f8b0:4864:20::231]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLPE-0001w8-3P for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:12:49 -0400 Received: by mail-oi1-x231.google.com with SMTP id 5614622812f47-433f78705feso215198b6e.0 for ; Sat, 02 Aug 2025 16:12:47 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.12.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:12:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176367; x=1754781167; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=1v+oHh5NI/CAD3fUn3WO/NvcFU8grJSwgg1nXQ9k+uE=; b=XeimjJJ4ewTiMRDKLOpbW2otdUdISfqogiaQoJtySTh75vzSoYHWSeDDNHGBBJOWkG X7FAIluastjpRmqM/MFksj8OMpIfqwE12jLobB7maAYWQtlwFREBtdt5tAiBDLGEfT9+ xMPOIesnTDq9berRRtZKulctWEYsIcoAeU1UlPp2yDNq92Nqneg/oxMYMnek/0wJBUJV uH61e9aJryrJ52n0X/ZYy4gfU71MI1vo4hGy3mpC1u+oqSyEQFqA9au6GXv+fQH6i/Em DUofI2frQ/N2Yo2VGOJCvzN45wqzBII0otu1PuAWwYAIjhEdZYoKNciPWegoeP9UM4fI b2Xw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176367; x=1754781167; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=1v+oHh5NI/CAD3fUn3WO/NvcFU8grJSwgg1nXQ9k+uE=; b=BHuEM4nGMhFqzsVtVvguHyLVY6cXTLFxQnijE+dtluPs/2cVERmH4PyPGcwCYtaiWI eP+QoQayIWFvyBQxF8kImEFYkh/8baWi4C66kQ0QOfQ/AwTXdE/YDyF4LQycf95x27jS Fak3LktFqAI45PfMGWBqyriFwf0pTuAgIe0Q+8g26DUT0CAIBN0x0Ot30Q96EQJ/3mtS MxN5C3mAfSBfapefujGKLxIoIWDtr7u0ADuv+PngraZrBvEhWClbnW1Xiv6xGUU38i0O nswwXfXLq+ANSXP1YYdykOGMKjgC2/qDh1YfMzTgC5ZRa/V+6LGb8IQQcqz2/RgJl9Ki U5pA== X-Gm-Message-State: AOJu0YyOOfORaDaWpXYtfexVGI0A6D7hrqYPvpigHmhNTnDAIRaVIz9c s7alSwZwzPvUX7wpdVHPSVpfTbCSUYLJlupGQxCG3AmAZIF9Da+wymh5H7rJOSsZcYiOrSWs8BF bR+fw4NI= X-Gm-Gg: ASbGncvtd4PK6vpWPMA42c6DjoNScozDXpTXhuzVauYEvf1d3S5bhI17rr3zaQvEh0c zwytZ9ilEP57DxN9GBmd3QOBUoifmpH1Jm/BHshxC6V/IvoaWfsxEz3kW12KSbh5uqRorHkkL49 8mkrDSOZItArOIKb7Z7hpGD5GC6l2S9DKxA7pS5YOup4olUXLu69SgsuDcU+lNR+GnIrvnGgTDS vvuFTOxeUsxVSO5sSMWr2b8PL/6HuRjHusFKE6rwO/+xk9uO13PdORusarxjAxsixJ2Rh2AsmjH p69hGKNo7sWCa6CstOM1vMe6JuXzC0FYT4oipJoaTrzg6b9gMf1cPwcAazYoR961fYcELYD37M5 cHE3TeRseLQa7yGSX4WFJODrG7pPZXSPYL4FuQh4gbwWc8WDd9o13 X-Google-Smtp-Source: AGHT+IGlflxpTRet0YHulrLculCceiY8HjOQv3U6hbDQa2KpJSZ13EzjAvtEeUlIrcfKXq78C6j73w== X-Received: by 2002:a05:6808:4f62:b0:408:e6e0:910a with SMTP id 5614622812f47-433f0343a37mr3218925b6e.22.1754176366914; Sat, 02 Aug 2025 16:12:46 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 78/95] linux-user: Move elf parameters to m68k/target_elf.h Date: Sun, 3 Aug 2025 09:04:42 +1000 Message-ID: <20250802230459.412251-79-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::231; envelope-from=richard.henderson@linaro.org; helo=mail-oi1-x231.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: 1754177058372124100 Content-Type: text/plain; charset="utf-8" Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/m68k/target_elf.h | 3 +++ linux-user/elfload.c | 7 ------- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/linux-user/m68k/target_elf.h b/linux-user/m68k/target_elf.h index b721687d3e..568b7be389 100644 --- a/linux-user/m68k/target_elf.h +++ b/linux-user/m68k/target_elf.h @@ -8,6 +8,9 @@ #ifndef M68K_TARGET_ELF_H #define M68K_TARGET_ELF_H =20 +#define ELF_CLASS ELFCLASS32 +#define ELF_ARCH EM_68K + /* See linux kernel: arch/m68k/include/asm/elf.h. */ #define ELF_NREG 20 =20 diff --git a/linux-user/elfload.c b/linux-user/elfload.c index fd3bdfe9c6..8c908db2df 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -130,13 +130,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 - -#endif - #ifdef TARGET_ALPHA =20 #define ELF_CLASS ELFCLASS64 --=20 2.43.0 From nobody Sat Nov 15 07:41:35 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=1754176804; cv=none; d=zohomail.com; s=zohoarc; b=MlPPyKMwIcJb4I6WiAC4rTsecRBYB3Sb4bthy1Zt99LndHHSmbbQ8FHMuKfqu2fwpaR6H37+g3m7IkpCt17KDGVRxVvvkevnhRvEolTgVwns0SaOvaamHoqo416Z7/V0d7qjqNC4vWbgkYKGWcwRB5PA8Ei1rW7U74fMFLUDgT8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176804; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=SILBGhBUmTMCfemjzfu//plks4jMSfbHFV5+GJ2zWkI=; b=YLu9ac9/okAJEFQ9b8AiqXei45aclgBCa4HYm/k9oQ47DD1qeuw1VUBIEo+r/OdcMgYoUxxXcor9oBipC1PyUqN+751e9AZJ+Nv8paSYJWxYDVXetPVuz6ilxtQktJIKuJhvOHhhre0QYXuPXcBZOdSy7rrQ0VyOMpF5DqQIta8= 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 1754176804255758.5242597881652; Sat, 2 Aug 2025 16:20:04 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLPb-000763-Qg; Sat, 02 Aug 2025 19:13: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 1uiLPI-0006My-Vo for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:12:53 -0400 Received: from mail-oo1-xc35.google.com ([2607:f8b0:4864:20::c35]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLPH-0001wO-GT for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:12:52 -0400 Received: by mail-oo1-xc35.google.com with SMTP id 006d021491bc7-615950642d9so928484eaf.1 for ; Sat, 02 Aug 2025 16:12:51 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-61970693ed9sm1084454eaf.20.2025.08.02.16.12.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:12:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176370; x=1754781170; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=SILBGhBUmTMCfemjzfu//plks4jMSfbHFV5+GJ2zWkI=; b=JdrQpuKMXLbgnQJSIa9M93ZjtbMGKiI3z53QVMk2v1lZNEfcoV2V3a2c+t8d8CXoJC 2TzgVdEeRv/NPNZQ1i7AK/donSTdoiImOefBWNb/07BbovQRT5/ZWXFJjMNmYbl2SH3A PsP7n6txVuzNDPmpweRop0lWMh0B0JMF4/FTFR6cJ9It+jbmAwRoEpG9O+gswkoG4f5g dE8SzJeksJvd0Xlo3CdtPbnQ7CFZwQjX/gwcBdSTnzCl1LAhA1qBl2dyYvH5EUy3Po9T stajZEiK/nYMQa2I1GJca4i2dnDIaKAPIsXej2EzGJmd/MgoKU50y7aCXyLrDll8XGCO TyXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176370; x=1754781170; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=SILBGhBUmTMCfemjzfu//plks4jMSfbHFV5+GJ2zWkI=; b=NttKeufZE1nJxdUKqlhQw2P5Tvz+6L2ph2k5QFEP3ERzILtVa8w5dOsutBOtCOwwW4 c+xvJmhB0Qh7xaeTAsIjTS0tFm+VVVkFPpdy5A0XTomtylz/HYGJxnFSguME5a4HzHPM D0hvBgaFpWNntovjkC5x/2uhVHG6Ap2boV7MCgqHI/vKBtoP1JfsfSwgc/1lEYvV/HK4 NXn7fvcPYvrxwGSMuFLvyun2Q849tqbqnNEqMRo64J+gADKiWT+FqdUeonNbZqp13xkL R2sgue6Y3SMBdYitkw+L97cntDfxuJgLsZfC5GXNY5Zkoc+Alro6I4VJB1dQSzIMxvc+ EDcw== X-Gm-Message-State: AOJu0YwsemiisN16MpWsQbWO+CIFItuAA7WnFkJJJ+gpDX3kOvlZS4mf tlBjDoaRhYJrfQI5WE1ySbFDrUPkdqEKcyvUyjORdaoTqnhXGMPadpS44JzGBNVRmpJVFa4v+Ia cF0HRgOw= X-Gm-Gg: ASbGncuMCPojglmrBkostICOj2VspyTs4u3WxxHuwypWvq97/j88T3LiVBezYubVE78 umg8HN1OGSsu3PHhbdH2+CdgbzSAHrlkRwcNLzSPxVWRWTDdr4aVOvF5bbQFkikvYSHiu4ILZxo yVyqO01X9LF4HcthZi6cBl+GFZnQiLvwStgev9Ervhl/NqckgBzwEedaKBxzYKc26NLXUBhcGbx tfHJIQoPQHnvOmOlgWBGBrKMKSEJ2JO4/wP+074mzDTt7ZzU1kCxXiXEi4nsHLk5KgawZIW2YgQ CTb+xqjhyfGKuJAtarphrwaCiTM+CVyjcPyBUf9jjwxZWabCVhz4dvOBxMXZGLCp5Lp/jfsDela twnNke2WHpnU3BAxfwrijaPY9FWzfkiBWEah5VEA1UvwhcDVtFMig X-Google-Smtp-Source: AGHT+IHZcIb+/bKRDUHcZvWY19rPhPX8vAZT6eHfFg2Esn6oeIz8S1uAoInJfVPg5PdZt/xFXnW02g== X-Received: by 2002:a05:6820:138e:b0:619:6fea:3343 with SMTP id 006d021491bc7-6198f2af271mr2381640eaf.7.1754176370374; Sat, 02 Aug 2025 16:12:50 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 79/95] linux-user: Move elf parameters to alpha/target_elf.h Date: Sun, 3 Aug 2025 09:04:43 +1000 Message-ID: <20250802230459.412251-80-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c35; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc35.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: 1754176806271124100 Content-Type: text/plain; charset="utf-8" Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- 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 8c908db2df..729ce4dc19 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -130,13 +130,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 07:41:35 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=1754176857; cv=none; d=zohomail.com; s=zohoarc; b=b+cljTCQ4YvGYKIaio7v2Ucm5gHd0eMtYORFAwr/wKmvNqpJvgyhxtCV6JpqY/GAoZRvbRL8QtgNhaRxkH8RhX2Tz2UNSYUZl0WvdTVC5qEwjPaiofgmn0blhuXIZsfJny8KQkeauigYTbnzOglhoA4ONRaQUM9IrKGKJvPx+xo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176857; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Ac5U1ZjOBvR1Fua4Opx4nZaR3yDnqonHoG3yV/Hdq8M=; b=JVqC4R9yj3masdlvE3RgQZo9PvIJ2gY47BY9CI4Mq15HOW1qC/xeoQuhEsR/2WJaxhOo6ultlN2b/csUPju1Lwaydt+gzdvYgvHwB11HwvZgwlkH+G1MIeTlr43P/PVU+K0BpMZ+BmICZM8SEkz6ONNj76kIHV6Kga/YWEvIB6o= 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 1754176857825901.5659846732192; Sat, 2 Aug 2025 16:20:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLSc-0003f3-Py; Sat, 02 Aug 2025 19:16:18 -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 1uiLSQ-0003Wd-GG for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:16:08 -0400 Received: from mail-ot1-x32e.google.com ([2607:f8b0:4864:20::32e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLSO-0002Tk-0N for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:16:06 -0400 Received: by mail-ot1-x32e.google.com with SMTP id 46e09a7af769-741b1fe0dc7so50877a34.1 for ; Sat, 02 Aug 2025 16:16:03 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-741930994e2sm1081608a34.1.2025.08.02.16.15.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:16:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176562; x=1754781362; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Ac5U1ZjOBvR1Fua4Opx4nZaR3yDnqonHoG3yV/Hdq8M=; b=zIKCi2NeApEIJHFjKa1falzu0eeJQejVbZO4hXHio2Xuo7I7Gs9VzTSM08qtOYiomq YTnO8cpkdRBGaHNTY64o0hoTe1f8ElKLnFt7sD9YgWPUuB6gv7tGvjIh3umfs0rp415U KqT2HSU2hd2//0Rj5HPEEcPZe+Vv7bHS4Xrxjy+/8Po/eG/6F5J9khUKYiB/zRDWIMBe thGtTL4QlDiuwHWPlCbJycRqAEIlZSwzm8ghvpwgoZ01RVc1wY/CpXX95RzyZLOEwSF+ PNEsq3DBtHDGo83I1OVdwbWqTSrmvQmSNGlLU7/k3Jiou4tcK6FNPk77EVsFZ+ATpf/O EMlw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176562; x=1754781362; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Ac5U1ZjOBvR1Fua4Opx4nZaR3yDnqonHoG3yV/Hdq8M=; b=ior2bBag1+p+f40jC/yNCH3jU8DDbe3DNxUB4qBxBCc2GXV12l3XB79Jq+t2+zfmxO ciE0w7t842vBIFEhhWkRLCjngCrkHArkKWJtsLGAcp2qidj30+X2cCKuvsDfk4+4KUNi K1wbg2X+JXfpGDtuD1Ro8dK6qVGnJAOxMQEH6/I3gZ53rC06Hq+x0QoeUPC0ln9/GZlU BbJBKchCW/XJHWIIvb517F+5hGMAowTKldcZl31JsA55dPwjEVUvgHBhimT3NP02WOiE 7nBAUhDDzKRP230DHyoeLGpiIIIdARtat0BGUH8ZsLvNKG4R76v4uJYrOJHPW7mXXuuw 6Vow== X-Gm-Message-State: AOJu0YxJCBD4V41/dl8YIt4s3RBBkoVSWfdKxTDI2UYZjXjiv8+qEw4+ x6z+BSWDdvxW6vw95BcRH8xNt0LSSa3wUx9b66OTV5TTUYNhnZdECw7ZstzHgKQYOC0i5qI4ZmV GXa3q1mM= X-Gm-Gg: ASbGnct1hJXm42eYyNnDARzvpl+tFI1itfuxsX4v0jkpm8/y4+8xVa7QpmKUvOlmCqJ DCnhdrZFSFOvMGxQVQN76fwO4G4KOOdgPX7kYVqMP1nfn5tABGOvh5h42nXcWVOrGm0wFsUPafl 4y/SbQn6tQZwFi/74mu/rT1D1PPEryYR95sILg57Ir90nZVkVlp5xrzTGM578dbgaPJQZWB38uA 8qPf7gX0KyGqTDsHe4xz7yrMdEEBgDIdbdjsjG0Gpfme4X9HJK4WGYzSXdMSBDr/Jr+nRX6vEhM J7uQD4LMnB4KVl7lz6VwxCtr+ECQddnW3OFbYN6MjD428QjewsPLmf8hLPfRsw+8bGUXuowYHx7 YA0QV9tp3V+7LOadaQTqJaH2KtWGkhMeT2dQ8MLjeqvDx9S2zVj+ewxhMVhzgIVw= X-Google-Smtp-Source: AGHT+IEOn9zoWX8NLDtVgGhKWI7cqfeN5lQLcTav6UiZ+3FacfZ3fdR/CQxNbfVrtWX1yMtPdvJ6Bw== X-Received: by 2002:a05:6830:438b:b0:73e:9293:556e with SMTP id 46e09a7af769-7419d0aea04mr2236392a34.6.1754176562432; Sat, 02 Aug 2025 16:16:02 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 80/95] linux-user: Move elf parameters to s390x/target_elf.h Date: Sun, 3 Aug 2025 09:04:44 +1000 Message-ID: <20250802230459.412251-81-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::32e; envelope-from=richard.henderson@linaro.org; helo=mail-ot1-x32e.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: 1754176858124116600 Content-Type: text/plain; charset="utf-8" Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/s390x/target_elf.h | 4 ++++ linux-user/elfload.c | 9 --------- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/linux-user/s390x/target_elf.h b/linux-user/s390x/target_elf.h index f83fdbbddf..3d6317d14f 100644 --- a/linux-user/s390x/target_elf.h +++ b/linux-user/s390x/target_elf.h @@ -8,6 +8,10 @@ #ifndef S390X_TARGET_ELF_H #define S390X_TARGET_ELF_H =20 +#define ELF_CLASS ELFCLASS64 +#define ELF_ARCH EM_S390 +#define VDSO_HEADER "vdso.c.inc" + #define HAVE_ELF_HWCAP 1 =20 /* See linux kernel: arch/s390/include/uapi/asm/ptrace.h (s390_regs). */ diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 729ce4dc19..1025ee5fac 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -130,15 +130,6 @@ typedef abi_uint target_gid_t; #endif typedef abi_int target_pid_t; =20 -#ifdef TARGET_S390X - -#define ELF_CLASS ELFCLASS64 -#define ELF_ARCH EM_S390 - -#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 07:41:35 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=1754176797; cv=none; d=zohomail.com; s=zohoarc; b=dkUEOm5z2svGe2RegzEAbyeKxC1ofeHFe0D7dpDWwi1/GQCZTzA/4axwjpN14mwzhIbj5o0echnN8F+2V/qnG4zM1abohJ+tL1jWrOoqQ71Tse9zPdOL///ie1e1oQVQ6FVIOGhpvwqJJv4WHxb5114hknPKnYgba2Tgcy1fKPI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176797; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=QrYvjPXQDsgPgsbdHSjo5YgvdnA/u/5pnjxh7aozN8o=; b=JiQTiQ5kV4RmZXVVDUtApL2MEfNdV2mLbbbE3856a0LZACAQ0kp1DE33cwh0f4MxlbwIkNTnXXeRWi5k4zW7G/i7LednkTKcxCrxLiZZienOmKfYfVgVQb4luzsZoVEY7HNP7Km27dDAPHqIUSWcyWpH96j9ZHlQPNknsm9VH7k= 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 1754176797370297.9389474942169; Sat, 2 Aug 2025 16:19:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLSi-0003hk-Ss; Sat, 02 Aug 2025 19: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 1uiLSU-0003YS-GS for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:16:10 -0400 Received: from mail-ot1-x32c.google.com ([2607:f8b0:4864:20::32c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLSS-0002WA-7e for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:16:09 -0400 Received: by mail-ot1-x32c.google.com with SMTP id 46e09a7af769-741a1ee9366so579566a34.2 for ; Sat, 02 Aug 2025 16:16:07 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-741930994e2sm1081608a34.1.2025.08.02.16.16.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:16:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176567; x=1754781367; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=QrYvjPXQDsgPgsbdHSjo5YgvdnA/u/5pnjxh7aozN8o=; b=zentDnqRrbbNukGHKYbyEjJU0zS8kdDTqLSW2ujnpA74/xdHPNGFPaiF1pFZTvq2bt cDlx1c3H/IR8QvawRl306cmkOCLJBNSMitbmd4EMKtdaTTwwydSz2xNzCpZT2PVsqx1x LxAgGS6Hb+d+6Hl0YsIAeYK8V4cV9VvI5n0a4+xo//cXPerZh7uACk/4u/gVqrM2uCuH +RDOQcuCYid6qrr5ANRalrGdEYxOnf3UdKkNU2sHjCfljXolR3nve6WPC+ZvKtO+9vXV nnRi0GnigdAx5Rd6rpSGeOiQev4mcmLvBeuWZdLp2CtE58M77SHZ0nRmjwDfZLFlZGZL gilQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176567; x=1754781367; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QrYvjPXQDsgPgsbdHSjo5YgvdnA/u/5pnjxh7aozN8o=; b=lXa8PbqDgWHyIamVVYr4bXQbSDzpf0W4uy5sIB8cIlwGwqPbG6WPTaEKk3TZOtQ8Wp ECLUWxxOXDJfzVN1XSBNh9+p8tFImmpQEvNlhIJSj8wVRwkfjGi8qqUlwk9+5vIHcmaQ /NGGkyVX4gjlGJdpfNsaZ692EA7dOgD1+ybMT6G58iS19rDGmrCHakZvPUENpkDPqJZ9 6mscMZl22Y7eTmROpbEeqKf5SGR4ysVOKD2Sd3RzHmthPhw1GxGyka8eUy0u65hF8/Fc yiolwgO+/sPbdj3emyRUTWesjpJzcAlFuOOHUwk+qUTGNLEnVEHCFoGu8hwiqP5ladV2 Yw2Q== X-Gm-Message-State: AOJu0YxybzrwLPOeH7vLFen8CkqhKE+IVrHBrvH2z3IdXmcY5q9vO2qD /O2r8f7I0qcUZ+jj4H4Ht7+dgctS5lNzN7U8p4WyILxmaO4xCifqk3loSkUZ6Ga6oDup0FvC/+P gKo3x9H4= X-Gm-Gg: ASbGncsIp8y23XM5HUqjX8GEowxH1Knf+TZUWlUHMU6iAEXuZZnEuNENGjZBN4XBkVa bu1OcuDws8h0uZjJ4gjvAs1yWARH9nLFvw1xSegvpgUwM3ZT/1D1cjZkAP+gg0cpBCU1g0JtyI3 0kAUDgxax1FgowhD8wYh449guwQ+ksGA2yVyxqs164RVQLGbXUXkIvkSi7Ab97oBGa8nicyjMF8 lBJvAA9vAMDOJJCgKODsKJ2kR0F5IElzGbQlSJwCz1GZC1+yZYhbe9RCXPNRRXq3Y6T5tZ7v3pu 8NKC4Oc3UVZepwh1Xw62DF7zP6dBqE9Z7imRIZV/5kPoq2XH6AtrnFfAelmc+gSVigxBObAbHVv kjYdiUqWuEzeFU/uNCFcMuI78HpHjGQ5w5vGMbF/B/ug9zTLxFf4ZmIO1xek2ohs= X-Google-Smtp-Source: AGHT+IEPj056cAah9maOS+6Q93fGBR/hNGnZMwSKEkW7Hmv162JjNjXT9zea/Lsk8SETJqrpEhC+sA== X-Received: by 2002:a05:6830:6318:b0:73e:96e6:253c with SMTP id 46e09a7af769-7419cee764cmr2449863a34.0.1754176566908; Sat, 02 Aug 2025 16:16:06 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 81/95] linux-user: Move elf parameters to riscv/target_elf.h Date: Sun, 3 Aug 2025 09:04:45 +1000 Message-ID: <20250802230459.412251-82-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::32c; envelope-from=richard.henderson@linaro.org; helo=mail-ot1-x32c.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: 1754176798165124100 Content-Type: text/plain; charset="utf-8" Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- 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 48d9af557b..51b8def1d1 100644 --- a/linux-user/riscv/target_elf.h +++ b/linux-user/riscv/target_elf.h @@ -8,6 +8,16 @@ #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 + #define HAVE_ELF_HWCAP 1 =20 #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 1025ee5fac..a0b9454f15 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -130,20 +130,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 07:41:35 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=1754176803; cv=none; d=zohomail.com; s=zohoarc; b=QRrm4tWOycXWLsJvNhqMuidT4PIqDgb/h53OUn65AtCMFkLLnnIHuZjkUZsB4PRFkfAyUI4ofKVWqVuyR5enWkFquwPeS/yppFXjTPDEERwe8ezLcVMnSFmNfFzj5KzI8blECq2PSQQ+p3s/SGyZbAbZV+DCq6550fJPMq+jF+Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176803; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=DIssYzEBlpkGHd5iuJ42OMntD/yk9ZyACqlB/jV8zZA=; b=H85ixcs029xL3Zm4UZeo86xWGLGMXJ/cAtVNvrQBdk277tVbwIXq+fJgsNm0Vvp6uHDnPX6m9h4zp/2pddD+IrT7jf0oXUAaVWxWAVqot4zaJcwlYgWpMfXrzzSEHuGiGRKYM2R9YknLgnej0kXUNr8xHcqTlcwznw5nfkOv8zM= 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 1754176803007899.2890582258449; Sat, 2 Aug 2025 16:20:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLSy-0003nn-IM; Sat, 02 Aug 2025 19:16: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 1uiLSX-0003d3-F5 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:16:14 -0400 Received: from mail-ot1-x32c.google.com ([2607:f8b0:4864:20::32c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLSV-0002Wi-Q4 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:16:13 -0400 Received: by mail-ot1-x32c.google.com with SMTP id 46e09a7af769-741b1fe0d43so13517a34.1 for ; Sat, 02 Aug 2025 16:16:11 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-741930994e2sm1081608a34.1.2025.08.02.16.16.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:16:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176570; x=1754781370; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=DIssYzEBlpkGHd5iuJ42OMntD/yk9ZyACqlB/jV8zZA=; b=T0sPDHtSCbp7D+kB6sv1ySC5zdH4DFO12j/NhFOdmPjOS6b9CdBZzOhXJdXB16S6iO F3dr7CvVVrOBe6yzAJoia5mO/oK1tpzSokB3bzqrg/oFcJwPhVRfK0G4vHe1eUYrJDsw aBXdyxAC9Hl97XG4cPRbmPdirKWUTUkC3pFt9y7Qx6MZ5y+6D5w3IKl+Z0ituubRG1/N 681a31wgTqOBuF6UPqTQ5sW5eVm/GVtXtjnurg3QZzuq+yVtytMlGoI26SyL9yngdIad KhzpYeYm2YAJCqXQZv4xs53vf3xKUxSX3ZnEonXjaA3nROLaP3yPmtLFrAbTkyJfoYwW //oA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176570; x=1754781370; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DIssYzEBlpkGHd5iuJ42OMntD/yk9ZyACqlB/jV8zZA=; b=IZQxvHSlm8iL9m8C4rXanWXL1QIkemhQntlO+uTQ5J0BMUoR0y5jnj103TNvfRrsER GwOWGeS0dPYWDh3xb/0AlCJlJiYcv0RInvSeByuZtGu7b/Gr+Zyht7UcmMEnIhFOuHTU S/1jlTe4T1GoVeKu6mDLbruGdYJ/NVYiVLCPORPRq6dnLCwAruXaVc5Ad9OcsThSjo1L xb6ScgVkKTHJ9DoJzsN0ZfmSRetYXgE+UHcUgn37DKHdvi+NW6OR4sU2cSVpMTQ73IlF YiYcoOaFWigMImyqBR0q2mAxOGAq5TbKyYIxCBRDUeuz2ADf3clYMxmpfibeMp6yxrgA 5ssg== X-Gm-Message-State: AOJu0Yx403DsfpNCkVKn3tQZ0ATOv8jnZuRkK0BRSCFwx+V7uIOkdhpI 6IuXIKEGZbkqGN5Hr5sTYgOkpb9dyvPyGa16+UaUumPGhyrTauO7XS7H/iaA2sVYvkz2HX2j7t3 QkmIkg7E= X-Gm-Gg: ASbGncs81A6gJIR6RI1lGcxzaPKz/KgRxSL0I2NLCVQ7d4Da/8cfsN9+HeVGMvwHU1V Z/WUgVlaU2hpDiQEfoT9C9HHY/qB/Ix06TqFu/71CYecU2WLGuvBPB7gJHjzUSZtDYNECPrrXYz NK8QSIUmuWLBwhfInLhICqEVUr3wv+qlvleGnh/tuQW8/Ohq2WZGws5zK0Og2fK/GsPkFE+Yg97 WNr6FNGOY8e0Pd4zodkT3ov8hSWIYtZI+cNjxWhG6YSn6/TmD+JY63voTySGToSRDbITRpHOGen H2SPg6qiNCT1/gtx1b3Ep1HRP36LygnornNiZo04O3YLmN8SayoVqpIgrrnqmQpcMi/ugTWnouQ aasttTpLJk5wcaPKQzAcptCywRYR0navINq7+uz0dkswftiewdwA6xDgaF6W3oOE= X-Google-Smtp-Source: AGHT+IE+Zro4G6u69R8u3JF4fCoE/z0bbsY1R3JEXKACFb0vJ0oLS6hHcXHZ0wE/y5QlGuiO2ExseQ== X-Received: by 2002:a05:6830:43a9:b0:741:90d6:710e with SMTP id 46e09a7af769-7419d2b5463mr2376755a34.25.1754176570409; Sat, 02 Aug 2025 16:16:10 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 82/95] linux-user: Move elf parameters to hppa/target_elf.h Date: Sun, 3 Aug 2025 09:04:46 +1000 Message-ID: <20250802230459.412251-83-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::32c; envelope-from=richard.henderson@linaro.org; helo=mail-ot1-x32c.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: 1754176803761116600 Content-Type: text/plain; charset="utf-8" Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- 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 b654758afa..9b6363a0a7 100644 --- a/linux-user/hppa/target_elf.h +++ b/linux-user/hppa/target_elf.h @@ -8,8 +8,14 @@ #ifndef HPPA_TARGET_ELF_H #define HPPA_TARGET_ELF_H =20 +#define ELF_CLASS ELFCLASS32 +#define ELF_ARCH EM_PARISC + #define HAVE_ELF_PLATFORM 1 =20 #define LO_COMMPAGE 0 +#define STACK_GROWS_DOWN 0 +#define STACK_ALIGNMENT 64 +#define VDSO_HEADER "vdso.c.inc" =20 #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index a0b9454f15..82137e7f59 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -130,17 +130,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 07:41:35 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=1754176975; cv=none; d=zohomail.com; s=zohoarc; b=jcAiCKdnUkJJlufq5Qb3J6ECBX+s0EVn343EwlCHrm+gg3AMbF5D5Vuy1QeuqF/51MaZ+0VyNz7jx+57Dx5mXdbgki92u79z2xesrX/iXUW8OCU49uGpQqn5ioX12szOb/Mj8hfXtDwAaf5PSP8w62QcJMZbicQgAyzUc05kP3Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176975; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ZIxZZk/BNm2YTjKM78Vbu4/Y5hyqvqvxEmS8hrDowg4=; b=UTWcRf9V2iD0J9kN09MpxEcCTw3bVd2DW5gRpmTYfFHrP79jAxSUrW/E9KCOcOtpdpUPDI12cXnHxbLveMIqS3TyPWHssVNiMgGWf5ukayuL9Pb9GP6XI3657skZLR4EZCAGP4GgvfOtvhc7uodUotQ/AZSGIw4qPe+YEq/0uFM= 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 1754176975331713.208732366995; Sat, 2 Aug 2025 16:22:55 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLU0-000645-BL; Sat, 02 Aug 2025 19:17: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 1uiLSb-0003f0-Lm for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:16:18 -0400 Received: from mail-ot1-x329.google.com ([2607:f8b0:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLSZ-0002Y8-5I for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:16:16 -0400 Received: by mail-ot1-x329.google.com with SMTP id 46e09a7af769-741a905439eso349253a34.0 for ; Sat, 02 Aug 2025 16:16:14 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-741930994e2sm1081608a34.1.2025.08.02.16.16.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:16:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176574; x=1754781374; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ZIxZZk/BNm2YTjKM78Vbu4/Y5hyqvqvxEmS8hrDowg4=; b=CIS7fs95ucTFse2UDlQFg9TdFPIgUfVEkTrDUxCWboalPiuddY8AxopC+073pdrje+ m59nxWH6obkCeZwikqiXGCZmpX8MTxtJxNF+drQgQXNvX75eNfzx7wRQxGdfuoXfwizd qkKlBFgOfTI7ADgI4d/eHtCG9T+VqH42UBY+AfcFIdfNIAJnl3J6wzWhzPTFVvhdtYkP jQLGY2i4bF/gag58mb3r7/iwh0CSKXqI3PC4zDPWQ7pYLuxrglchZsSplmX+AjqAZyz4 vHGi6EBs7SQiYBiGRMUGAtPZgyRNGLtrt4I9/WbEgIFRnmxIbD8fmfZpQV4ahMcEfrbi zM/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176574; x=1754781374; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZIxZZk/BNm2YTjKM78Vbu4/Y5hyqvqvxEmS8hrDowg4=; b=EcjAmojG886SCw3XNwU62ZGH4lD0UlWk+Ez1lUfZIT9G8QLAzZfsqMpf/zOXiKbWwE lt+TgHgP7C63ibSzvbjDbR0oZu/3lLjr3CP0JGTpHkHWkn2KJoN0W811ne5nRRVPoLUY Dfh+tt6kXsb61IqSuC+D519s/TPwhzwn5dBIDODRW2svBDe4LX6GJwZLyLcsADOoGUBJ Jy4NV0uU4J8CWCJni/3Ws+9ZuB3yyZ0R5ebLP38a30cI1z3Iowqm+GU4n3deogrn4Y9k 2YXSW8h5LpwNm5Owr68xvclXxQQY16MooxVEYzY4SLgnB+nYmp3JoB2EskQzL+H7cJyl bQSQ== X-Gm-Message-State: AOJu0YzlNaqb2h2IrfhPWWQNBp7apQagWcPWBF8gF4fZ11W7GsBbJQAK FccwhXBNmM6XhvCCGPT64JmkzoQFdOxhp9HdyyZtbU9fs4dKUR7rgplWrAb3zyYsCzYpajJjTLP I3BInrjc= X-Gm-Gg: ASbGncuJzfCQ5ohk6CRjcYsjoztxRH4IUfC0DDwHMuHWTthM+odhbjmNRQPNjO2nMlt 4NjbU4Vk5hPKdznR+YqJL4QheoMhDcLcvHqzm9jieVmynUNZvKMroe94Cm/1apSJAQrU5HQICGb mWefjaMm1PJlkUldz0g50/ydQGa41idCFG66AjEvwO504PRPR4LzwVM/G7JaXCQGE0RtklWwanb veGmIr8RJwvB75gqG61GwWBQxKYCgPmA9FiBqp2MQcF+gtBav3a7Q9kooTn7E8mjvhti6QWjDEa z7HoFTS7ZnLMbRH1IrP3IW8piFsBNriDZlym4pd/1DHL+BXEa4QBJxhv1N3hMVeoVdRXdJTYukl elO26KOdrK2xF+qHjljzcAg9VKfd2EG0Nm1irBzrShOFpbIWJ2SLX X-Google-Smtp-Source: AGHT+IHUhxS8prYp0kK8CQ9ELrfc75TQyEeyCUnnPbXKPzcxqXYC5TxOkCr0Ygto7IF2QX3xlbMf7w== X-Received: by 2002:a05:6830:660d:b0:73b:2751:eee2 with SMTP id 46e09a7af769-7419d2d3e9emr2477035a34.23.1754176573977; Sat, 02 Aug 2025 16:16:13 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 83/95] linux-user: Move elf parameters to xtensa/target_elf.h Date: Sun, 3 Aug 2025 09:04:47 +1000 Message-ID: <20250802230459.412251-84-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::329; envelope-from=richard.henderson@linaro.org; helo=mail-ot1-x329.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: 1754176977580124100 Content-Type: text/plain; charset="utf-8" Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/xtensa/target_elf.h | 3 +++ linux-user/elfload.c | 7 ------- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/linux-user/xtensa/target_elf.h b/linux-user/xtensa/target_elf.h index f84fc9e6d1..011a77a1d7 100644 --- a/linux-user/xtensa/target_elf.h +++ b/linux-user/xtensa/target_elf.h @@ -8,6 +8,9 @@ #ifndef XTENSA_TARGET_ELF_H #define XTENSA_TARGET_ELF_H =20 +#define ELF_CLASS ELFCLASS32 +#define ELF_ARCH EM_XTENSA + /* See linux kernel: arch/xtensa/include/asm/elf.h. */ #define ELF_NREG 128 =20 diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 82137e7f59..f6fb9926a7 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -130,13 +130,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 - -#endif /* TARGET_XTENSA */ - #ifdef TARGET_HEXAGON =20 #define ELF_CLASS ELFCLASS32 --=20 2.43.0 From nobody Sat Nov 15 07:41:35 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=1754176867; cv=none; d=zohomail.com; s=zohoarc; b=NiLFaENANqjM/ZYKdLJJoQa7RVau4CKFKKaPYR/0pHCo/1bKLDEK/bfYmCw2SYoR0/LJeC62c3rgVKo7nzXSx8bdxobiTwHAPTVgydNOsFTiDUvmVaq3R9dyaoP4V1sfFwZxSu4MMXwBnNHi28auNlK5LD287oyoiBytR7pdddA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176867; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=IRrzSNh7EH0UuJpL/aMxYHKRNncazgZh4BhqUvU7DkQ=; b=SpjUlmQsF7o9K1pRotYdsFgvNNDvrguMGScOaBTWzLlIdgFLOT1ibcTfKfwbNV+f6JdIVsE6bkzhJIIhlCMuW30EUaqLUy/YpoClnovTW6XJlsHhI+ldgRPyeILtfu8YOfJOQtl4239R1YnSKDE1TilOo58NU1axMrzlJ4coemM= 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 1754176867319239.2628276802742; Sat, 2 Aug 2025 16:21:07 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLT4-00040K-Cc; Sat, 02 Aug 2025 19:16:46 -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 1uiLSh-0003gp-Rl for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:16:23 -0400 Received: from mail-oa1-x2e.google.com ([2001:4860:4864:20::2e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLSd-0002YJ-FZ for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:16:20 -0400 Received: by mail-oa1-x2e.google.com with SMTP id 586e51a60fabf-2eb5cbe41e1so2555480fac.0 for ; Sat, 02 Aug 2025 16:16:19 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-741930994e2sm1081608a34.1.2025.08.02.16.16.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:16:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176578; x=1754781378; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=IRrzSNh7EH0UuJpL/aMxYHKRNncazgZh4BhqUvU7DkQ=; b=La7c4nSp8XD7Brh0Z7H+vtEhKv4v6E9m0mGLFdqlj5B7x4d+aDHssEG63LOEpt3lru mcBvCqMO14lw2N9UImtLVxquMZEIpeZbMly0iY3e2o+gAm8QD+yuo4zOzEHHHkzg0t1W rXqdlXpgtsJ8pOzOCh+WWwnFR5cYsfpkrU4cQvkVg2RsN1tnZYT+DKjfEVPpNvA4fv+6 wY045xn7TBmo0Vrcq0uLDj8HIBVQboHAv3ZoYKqOvNt0GUpEKyNCQn6m9UNAwgT9QsI+ IO+A8iYXairuYgmADb3cEXZC7U+sOq+SCv+9lSvBv3XC9iGfOJk2T89Kr7PfpWLcIZWf qXyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176578; x=1754781378; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=IRrzSNh7EH0UuJpL/aMxYHKRNncazgZh4BhqUvU7DkQ=; b=U6pZ6acVDRNkqHgvMTelu/WPxpY9nxJJzv4yhHwKSYAvjU7Yi7jWu1zXZdUhSyeiQl fR0GSG3oQR8lOQxg3YBzL5VulbqKmQqXecFo2ug5i8oZZQ8BsJbOEaqWTsk6VNNpfbev B+izvN0StmVfV1e2PcViXDZwYrhJLbhxN8PekuAtCCXW8Mp1EQaYoxBa5pWqp1FCjCRf nbihao+s7Tcmf65cNOSUOo77M07VsiqYsET2wrNr7lng7CedsIvLipca1ZIttkKYAmGo My54bx7FNHbfkNaa2n6WZzKt7bII5GI7/+0fSNHAq2VBU69tGsocHJNLatcOGlvycF8A b3Ng== X-Gm-Message-State: AOJu0Yx0+jZGDboIFLBOynLEUgcY7h5zukZcAlgm5ICX7Hx1J1AJWp/r Wshbmak5NZAqKZFeKOZjSZTTPnchu0R58Y5ABHSjWqtGHWiktHEk0VGm0f9VdPcuw4dMiPx8DcC VHF/qHb8= X-Gm-Gg: ASbGncu81trO2+QnZa8lCP6PYhTstdDkHCcOw0ZJkpOx468klzOTwjWw0buHwzlPrgW VcUCe/vc9OC50prpMe84jGyXS/DEIMOJW1phf7cHg//oK/rF9ASvvQC6XdH8yE1ANUPcsY5BIJ/ fUtbGJGuLyzTaL74wpCZws2drSxJbsJr7hElxuwg8sC7hJ3RjkyM+XwMaTJJx3wkkArKBqLJdFt 2K0ZPbREcxilgEZ551ZHwh4evSS2SRFbOlZZemLsClcy48bpLrkZrcTEagIXB+IA0TRyDX5qAL/ h0H1FACWe6mzFtMks9l9apqPS8CXVM/TaNei+G0+moOvfa3CS4nb/cUA0beQ6cujWcosohLPHTi fJdxu47eMDDMw/745DOXxHWV2gSdV5y4XNrLo7jBQw5E86UM2zMRM X-Google-Smtp-Source: AGHT+IG+XZbg+/Y2aijfsPbeU6QkYML7MjGX01UCCmF9bnZDyakrvROQ/ccRt3dM+pwTJiKLPGWMhw== X-Received: by 2002:a05:6871:6210:b0:2e4:68ee:4f21 with SMTP id 586e51a60fabf-30b6796e652mr2512111fac.20.1754176578157; Sat, 02 Aug 2025 16:16:18 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 84/95] linux-user: Move elf parameters to hexagon/target_elf.h Date: Sun, 3 Aug 2025 09:04:48 +1000 Message-ID: <20250802230459.412251-85-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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=2001:4860:4864:20::2e; envelope-from=richard.henderson@linaro.org; helo=mail-oa1-x2e.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: 1754176870240124100 Content-Type: text/plain; charset="utf-8" Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- 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 f6fb9926a7..fdbc55ebc2 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -130,13 +130,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 07:41:35 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=1754177024; cv=none; d=zohomail.com; s=zohoarc; b=XLhhLsjoDNbyblfvSWWYe1zKEYXWK1DT/AbOgpfP1AmtgZ9pBnhlnu9nVJ1BS6W2RhRPvfx9cCnMPqNMZ0OfE25ucxIvX1jgfWOvKnCPjwvVs5P41elodkMixDHcoDcx6P/s22BqXZBJFruoyiR1YtGUFuHButLSN+nWC541HcA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754177024; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=6r1zS+vdBf5qqwTnjiIFu+XSyk+iJWSbk/UdFjJJmVo=; b=CyLxkHGf+wkEC+xFx9TOHl14Piq8fZRJoJm3tHRX7yygqQXgNQ1Qv8RwiJnnpzJin+oqNEasXFC9oQHJPwmOQwGnrapuIAL0J7SAjXgbPFTDTtERcu1zOkFZJuKsMRL7LIqyfEgUiRghnY3Zi/iHtGSwb31lGnhKSMjpzUg8Gkc= 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 1754177024235119.10370782881671; Sat, 2 Aug 2025 16:23:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLTB-000433-Rr; Sat, 02 Aug 2025 19:17: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 1uiLSk-0003hu-GC for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:16:27 -0400 Received: from mail-oa1-x29.google.com ([2001:4860:4864:20::29]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLSh-0002Yb-A9 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:16:25 -0400 Received: by mail-oa1-x29.google.com with SMTP id 586e51a60fabf-306e88f0b0aso892592fac.3 for ; Sat, 02 Aug 2025 16:16:22 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-741930994e2sm1081608a34.1.2025.08.02.16.16.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:16:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176582; x=1754781382; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=6r1zS+vdBf5qqwTnjiIFu+XSyk+iJWSbk/UdFjJJmVo=; b=g6PhcDGcJxTiWRkup1p6A6U29zhF/XkbTzbqliQSE50vVxL+StEThqxHWw9LEcNatk qUijHXQIBJ/QpoqJ3ObnXT+wnmhDl0UT+MvpZ5CJyVY7r6P92p20TbXB9Ri4UEzuSmdz 1xG1XO50sYVm9U8pOEa74s26NlWNe6HJJgR4yfHX1zEYHXLZzM69lfK96H0hmhADZ8kH QzST7vRzT4g1xnSYgCM2oAVjiccz1055E/xG69Xa4JmLErFzaSF28utMz8FPb+9af9uy 277kQjhc5F/FXUd919YH2wEwOH1CMzcM8zVwlUU89qEVWBDLdX7RarnLe6ckUpyOmI3X YZXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176582; x=1754781382; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6r1zS+vdBf5qqwTnjiIFu+XSyk+iJWSbk/UdFjJJmVo=; b=YdTTzR43MMNRiDCN3eWY5vysNIY9XWp9AyZ9na0N33VzIhS6b0Mpu0Kl5LCBrNDvuC DGDvokjcSpiyD8rB1r2mcz71z2U0IpNMOxNgMwmjUkSrVMrv0cHVTWj9c652tnr9HcUL R3PsHj+2s+/f3u0O5T4ZTWf2ru4OjNMGOE3Di6rB5QA/Mg19vfY2CN9dp8T4YqpjtpzD C6CJnfUWXHVoeX9ZwIu9q5SvoVJA6qDWNbiRlRfmax8z/92Pgc59StScRVyALerr8yau WD8a6fiMYRO4QnlPVULym0T5KfCn9iL7x+DNra7N9I8kZa9vf/XtnyI8YOBXwooqTP6u qddw== X-Gm-Message-State: AOJu0YwQYPC6lcrOYjQwtQJ7lE8aE62kNpNVjyq7yIuUNh/wZkn8dHiR QTStbfdUV8LcrPVQSlqMIW2FXFV59W+uZWPZefJfMjBf2hy9+oGy78K13aa7CKhhwPpZDqKpZkJ KGBTT9cA= X-Gm-Gg: ASbGnctZTPpnj6Uo0HQXl1qEC1c2fvYMFEb97/9AeDUZPlrH/DQwuUS82CNurUdQvKP UFHLbmNzI49bOH5mfuPyLTyfCcOePg88hZJccuW1UEZEwxoHivMopojtM2WoPb5tbXMETfzGaSI E86ZsxO32CaHfpFWVdpesd77mqCDUi7l6L7shJ0mCYTcPPmGDkNl6up/Cj6vWhZPz88J0jO1XT+ MZKKMTE9/llyNDsldDTi7ozTaSdM0phx+y6HScAtP5rknlvVpbY04KOpSbTTcs8CKPGayj6qPnS gPRhCJL6oqesvZ5yRhtSy61e+pno7cl9nBt0amXZjXhNkOD3BBF8Vn2HM1hW7H04SHnAtP5Eu5A WRsUka+E1bfbO1POoEyYRmRnR6wByeV/8XkHXVw00RjVx5IA9jI1u X-Google-Smtp-Source: AGHT+IGqIr4thH1cyBx0ulkrhwSrfxwx8omkVegiJTeD0AhqECVr4RWaYi8pdUj05ctST3F4LjcpjQ== X-Received: by 2002:a05:6870:6989:b0:2c6:72d3:fc93 with SMTP id 586e51a60fabf-30b676bd72cmr2403037fac.12.1754176582043; Sat, 02 Aug 2025 16:16:22 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 85/95] linux-user: Standardize on ELF_MACHINE not ELF_ARCH Date: Sun, 3 Aug 2025 09:04:49 +1000 Message-ID: <20250802230459.412251-86-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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=2001:4860:4864:20::29; envelope-from=richard.henderson@linaro.org; helo=mail-oa1-x29.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: 1754177026191116600 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. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- 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 | 2 -- 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, 20 insertions(+), 26 deletions(-) diff --git a/linux-user/aarch64/target_elf.h b/linux-user/aarch64/target_el= f.h index 9e09bfbf12..5d41bf4ec6 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 =20 #define HAVE_ELF_HWCAP 1 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 4614acb7c0..b3e9604407 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 =20 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 9b6363a0a7..76930c9369 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 =20 #define HAVE_ELF_PLATFORM 1 =20 diff --git a/linux-user/i386/target_elf.h b/linux-user/i386/target_elf.h index 9acac275b8..bfd0040a79 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" =20 diff --git a/linux-user/loongarch64/target_elf.h b/linux-user/loongarch64/t= arget_elf.h index e121e409d7..93e71dbb16 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 568b7be389..762f07c47c 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 =20 /* See linux kernel: arch/m68k/include/asm/elf.h. */ #define ELF_NREG 20 diff --git a/linux-user/microblaze/target_elf.h b/linux-user/microblaze/tar= get_elf.h index 7ce4c10d00..45146ae102 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 =20 #define ELF_NREG 38 =20 diff --git a/linux-user/mips/target_elf.h b/linux-user/mips/target_elf.h index 0433de4529..dabf6b1261 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 =20 #define HAVE_ELF_HWCAP 1 diff --git a/linux-user/mips64/target_elf.h b/linux-user/mips64/target_elf.h index 60ecb4d0ae..e722179af8 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 1d3c00c83d..ddeac77efc 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 =20 /* See linux kernel arch/openrisc/include/asm/elf.h. */ diff --git a/linux-user/ppc/target_elf.h b/linux-user/ppc/target_elf.h index 6bfe27fc45..fbcb869a57 100644 --- a/linux-user/ppc/target_elf.h +++ b/linux-user/ppc/target_elf.h @@ -11,13 +11,11 @@ #define ELF_MACHINE PPC_ELF_MACHINE =20 #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 =20 #define HAVE_ELF_HWCAP 1 #define HAVE_ELF_HWCAP2 1 diff --git a/linux-user/riscv/target_elf.h b/linux-user/riscv/target_elf.h index 51b8def1d1..dbbfdf54d3 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 3d6317d14f..a46ba42e33 100644 --- a/linux-user/s390x/target_elf.h +++ b/linux-user/s390x/target_elf.h @@ -9,7 +9,7 @@ #define S390X_TARGET_ELF_H =20 #define ELF_CLASS ELFCLASS64 -#define ELF_ARCH EM_S390 +#define ELF_MACHINE EM_S390 #define VDSO_HEADER "vdso.c.inc" =20 #define HAVE_ELF_HWCAP 1 diff --git a/linux-user/sh4/target_elf.h b/linux-user/sh4/target_elf.h index b305cac5b0..5bd72a9602 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 =20 #define HAVE_ELF_HWCAP 1 =20 diff --git a/linux-user/sparc/target_elf.h b/linux-user/sparc/target_elf.h index f89c708c46..6b0cac3caf 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 #define HAVE_ELF_HWCAP 1 diff --git a/linux-user/x86_64/target_elf.h b/linux-user/x86_64/target_elf.h index d924314679..c7c2f3b6a1 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" =20 #define HAVE_ELF_HWCAP 1 diff --git a/linux-user/xtensa/target_elf.h b/linux-user/xtensa/target_elf.h index 011a77a1d7..c2ea12cb84 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 =20 /* See linux kernel: arch/xtensa/include/asm/elf.h. */ #define ELF_NREG 128 diff --git a/linux-user/elfload.c b/linux-user/elfload.c index fdbc55ebc2..3343058865 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -130,12 +130,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 07:41:35 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=1754177065; cv=none; d=zohomail.com; s=zohoarc; b=DBNHUSlSVDUTnFXBZArgOfkMfV9R6tH2oGTptVNteEtD2aR3tJPBk8jjjQMBOh3jdNisXLqD8BvCDU9YU3W4HaKuckZRsdXuQ/XMA/9I4N7pOuWVlSWUiiMgJcTbQ5jz57rFDXecS4WAo0oiz3xHTRo2mvNIWD+JVQVm4VHPCzQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754177065; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=mRFMQNgreHFfZ4Otx/nnJzKCNGmCt4FhqLze6+sSgz0=; b=ki2Y5JJiLiDBU7S1G6sjskS160yie7AkyL4yN9bH1OUtxQuOuOE8tTf59qD2QN5v08bGJ9ewW3YoD0rhN17wWFywZEbqOAR7/Vv9OZY76kb6zEFBHAZV6ZosX8bDZwXeX2SuQbmpl9CbqmG/tOC98r+iPG4nDwwmpBrbyBtE6Lc= 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 1754177065000139.56042638294696; Sat, 2 Aug 2025 16:24:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLTX-0005Tl-Iz; Sat, 02 Aug 2025 19:17: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 1uiLSo-0003jD-Jx for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:16:30 -0400 Received: from mail-ot1-x32f.google.com ([2607:f8b0:4864:20::32f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLSk-0002Z0-Ns for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:16:28 -0400 Received: by mail-ot1-x32f.google.com with SMTP id 46e09a7af769-7419f3428c9so267032a34.2 for ; Sat, 02 Aug 2025 16:16:26 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-741930994e2sm1081608a34.1.2025.08.02.16.16.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:16:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176585; x=1754781385; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=mRFMQNgreHFfZ4Otx/nnJzKCNGmCt4FhqLze6+sSgz0=; b=YHY6vRrtQXJZimJ7eLWm+RhOzzvSuw82gXsBbsFM5Zhx+7ZJSOWbiWYTB4KqZ3jBMt a1MgyfZjI0h/BI9VXUstZdL9IjwiGatVq2WgE+ChpJnxRhxJyZ+16ONdTqxSvlYEX3qr U4M20L++dkeq1nup/RXVNdQkYUxlvCw1fEK6V4cw//dlC6L3QEk4b4/0iV9+4ieElbiN VLUOfemyuhS2reWfiNAuYIEGyqZYca3aR3aIUEUacrqXp8NYWd3C9H6HSSJHGoieDxDP tFX8bGNPTBRAeb+2zr0QmxDHN5q5bOYxBmolt/Vs4vNAGRQSsUFhAX16NEcWxdrRvMnP xanA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176585; x=1754781385; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=mRFMQNgreHFfZ4Otx/nnJzKCNGmCt4FhqLze6+sSgz0=; b=ENmA/GStwnvhg3FKjURtnuPhc3mX2xVJl6uk3UA22qUcEfzWwHewrXl/OFUlMC+wKU 2zE130Ta0JPtcl8yumZS2B0osnFosDeOg5P7co/+AjCqGUceq3OkJJ8FokaoA+Wn6i5Y C8ppboqrwJNQx8c7TWSquqlxR8xB5jcpTM95CMdi/l0gHcxqwBWWFa5RQQyQBxPXBeVw z59M9ZE6lrydxdQLG2EWLdXjtmre8xtCp/lcvvft+ONvEfhWMEw3HLG6lgMumA3RKhgE VMmyZh+qaJQYfvb2pIFDjagkb86gkgZzQSW+1AdDEJgBr0e2Wu5a80OylO3GJYgipOAl GH/w== X-Gm-Message-State: AOJu0YxoT8mq4M2PGOj7UfBiplyOk9J3ac5LBJXNgu63o+So+pSuECJu UTFn8otbuDLOZ18uyWi14iCFqA+L3pFRP5e50eFTwVbKI+CbiOAMT+ChIjtHZe4HJTNGpUuViFb 9IIqsJ24= X-Gm-Gg: ASbGncvbehUK/GJne0z8Bo2nTx1u5rbj2RVDiw8vIGnZPSw4r0HS39FXVv5UjZzreG9 18/IbS/zZXwuKvyJj3EOChCgVw6Te9sllIhoU3Er+uPxUi0fguO3EP2CVemIryHHUv+WqGgTW4n E2wNTWXfFQitH+M28XjfB5aoe/JFVL/jMot9lsA49GVwCtIWeeZGYnxUjiVbVTDsIYXxYW+o9wX 3GEjAqxoLYFav3PyEjk9zaC2Md7rl5MCJddgr7zBds2rUohqHtjpAQpEhvU9Pu45TgRlcMriOBH /aP1YjDeLUlawsEq88s94wqYpZLfvUcJ+evn1usULDwlQIvGifr24rwzAc3IVcj5corFkYoPZyt zhcPvxhgWA8gRyIoY0xucOxWdNtPEUT3Mhuv7W5yh5e619NglLiaS X-Google-Smtp-Source: AGHT+IEGgFF/02DoWdK3Ao+VchyekB+WkkgDmnAiZEp9LqjfuBOQKGW3aK100Y0t1hBBu4Ltz2tC7g== X-Received: by 2002:a05:6830:2b10:b0:741:5d00:e86b with SMTP id 46e09a7af769-7419d093f8fmr2450224a34.6.1754176585320; Sat, 02 Aug 2025 16:16:25 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 86/95] linux-user: Rename elf_check_arch Date: Sun, 3 Aug 2025 09:04:50 +1000 Message-ID: <20250802230459.412251-87-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::32f; envelope-from=richard.henderson@linaro.org; helo=mail-ot1-x32f.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: 1754177066217116600 Content-Type: text/plain; charset="utf-8" Rename to elf_check_machine to match ELF_MACHINE. Remove the unnecessary definition for loongarch64. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- 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 bfd0040a79..6ca3740410 100644 --- a/linux-user/i386/target_elf.h +++ b/linux-user/i386/target_elf.h @@ -27,7 +27,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 93e71dbb16..f05bc68898 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" =20 #define HAVE_ELF_HWCAP 1 diff --git a/linux-user/microblaze/target_elf.h b/linux-user/microblaze/tar= get_elf.h index 45146ae102..60a495c4ba 100644 --- a/linux-user/microblaze/target_elf.h +++ b/linux-user/microblaze/target_elf.h @@ -13,6 +13,6 @@ =20 #define ELF_NREG 38 =20 -#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) =20 #endif diff --git a/linux-user/sparc/target_elf.h b/linux-user/sparc/target_elf.h index 6b0cac3caf..7827767bcb 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 3343058865..135c4f319d 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -130,8 +130,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 @@ -346,7 +346,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 07:41:35 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=1754176723; cv=none; d=zohomail.com; s=zohoarc; b=n4l0Ra/pK8zEEM5xs/ASZWtU1T08Q2i1Oi7a9kRIxVqaCY6xjQcxcY7X3M6r3ErGyCV20lckLX8WTSZW4CnyGuRUskUbkGqwKUE9rn2yk3lfNtCROlH/xv8APITpXcKYOtnTRiJObGxLsUvimVsF34G0s8E64NGKAtsB+UwVC/k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176723; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=6v7h38Ym+Ui66y9qX3SHeDcnGzU28Qfcg8CwHunalrk=; b=kkNoNlXhCLxKPNI14FFeIBW1XCwD45O2bx+08b8zCi3RNMySrWGBYTxMRwQxKcK2QLBSQLgb9sigkRSwK0B/8sAX6br+9iT9MCwWZCW782JaBIOPi6FH4XzpM3TGk5T8C0s1epN6FKR0g+5zWJn1f+rNnmXlzAiS05p8JIJyBDw= 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 1754176722995534.2833425789828; Sat, 2 Aug 2025 16:18:42 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLTa-0005e3-Cj; Sat, 02 Aug 2025 19:17: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 1uiLSs-0003kj-N3 for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:16:35 -0400 Received: from mail-ot1-x329.google.com ([2607:f8b0:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLSn-0002aJ-Vp for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:16:31 -0400 Received: by mail-ot1-x329.google.com with SMTP id 46e09a7af769-741a8bb8aa4so158601a34.1 for ; Sat, 02 Aug 2025 16:16:29 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-741930994e2sm1081608a34.1.2025.08.02.16.16.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:16:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176589; x=1754781389; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=6v7h38Ym+Ui66y9qX3SHeDcnGzU28Qfcg8CwHunalrk=; b=bI/dmQ6mRCCD7GizaXlY0NUkPSzV0o1Xo3T1+i4u6YzXkpzlGkyqc/DL3nvgXFQbMc X3XZG09tvp1Qj/UNUxFLC4vguCYtr+V4bpnzqJ2iU6l5dGQBOeEKPQp6yrwzWPiZRuGF IGm3NsZFqnbXLDqyoOU8pSdcJGpDOZQ3yJnP6BDbdLcI9XTgpmtNHxBcC65MFAM6JuXt WRPUkCn7eb4r2uxMfeKtYRg3KokeT/X1khcSgBtdgiALbt1odpFDuiIbtBhYrMxO30EK ZkWGQ2p8HNK6cLmlpzW74AwZQIfkxKnP2wXYeTghPuQyJsX2qFID8edPfdka4G/ojt43 LQ1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176589; x=1754781389; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6v7h38Ym+Ui66y9qX3SHeDcnGzU28Qfcg8CwHunalrk=; b=dwHIuejH3O80cse/fMgENUW2iFkO6MEoVhSr5hiVpXz+S9we1rn3I4ilplbFVeGB6v 8aS1V6I70yvqjr7f8eHAhJAreDsT9Do4as+Thkvo5kYuRXwuzBubGUF6VK9pR/rLnSoy LGO9Cxs56AdCQlgCdGE8U17Q+i0K+45lbBSQpeu9TYCPxx+YYsdCVh0LrMvhulVO/f8o ERGOfV4bygKAXYopw/KdU2EF48gyPfF0HCaL8N/hCAQ2YVwSY8otODpVnznpKggpOkVl 4GTnOiIGX8nkAp93Nbr2xdoJAQWU0cWVHaGIMv6l0tDnUjHbKJiDcy1CsomyTYnKRlJF 2A4g== X-Gm-Message-State: AOJu0YxdoGzmdeS9nNqHzxowKDPlLtpY8JMSHgtW8tF4ZUHZn1Kr7ktL u4X4x/XVU2qAy41rHCGk9hezxxZKMFJbs9RFBpvps9HTgpJh3Nkt8dK4qLFQ5UwKlWolUQDz0Mx aWPHy3KE= X-Gm-Gg: ASbGnctyaSQJVMMeleO1MZbj8GtXcKwaOSFN1IA31wdvxBdInAlDAmE6W6e+EX9MVhz rB6i+L2oWfnrsj/N63fotYhUOS/nOKETxdET5gQ75MGUyZFrdTU4D1SGd00i8JJOlKFzfINQu+c 3q0RVlIHuII/oWW7RW5voHFmv4xsJHxwpTNf7/D9V+uG4M0YSm2rbLu63ZUA3zAPwG0jQfFlyqZ mjqTMxyF/+ZF6UiNgBiYhgZYtfiGnK+KAjaTARDnhS8X2Z6dQBLkEZbieHobECg0MQH4clB3l5F 4XBDb7v0rCqw8uOCxYtsAOgUB2RObqjijGtnq3maLi++apqawGmsABjMNR2/S8SDYBrhx+iHBoq awV1Mi7XptRgFAm+u4nyP0EJe2lo+QQ1V4N9pdVig297FCj59b+3mMe2Mlt5+3CA= X-Google-Smtp-Source: AGHT+IH8bueZZ2XmgU66EKyprSlXwSSONhv1eaknaIMjMCH+oSwIsBKYkpxYT3PtulXspXPdHCOCkw== X-Received: by 2002:a05:6808:2508:b0:408:f80a:bab9 with SMTP id 5614622812f47-433f0239a78mr3396293b6e.11.1754176588602; Sat, 02 Aug 2025 16:16:28 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 87/95] linux-user: Remove ELIBBAD from elfload.c Date: Sun, 3 Aug 2025 09:04:51 +1000 Message-ID: <20250802230459.412251-88-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::329; envelope-from=richard.henderson@linaro.org; helo=mail-ot1-x329.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: 1754176724944116600 Content-Type: text/plain; charset="utf-8" The last use of this fallback was removed in 8e62a71738bc. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/elfload.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 135c4f319d..c45724b33e 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 07:41:35 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=1754176889; cv=none; d=zohomail.com; s=zohoarc; b=oLZEDlfcJ+byiwZRrfnZ/OZdYpvXAXwnE3OG3kzjgxHS5xM5rxTA1Gs6wmgaLZe2/ez9v2UzXDoenAKqR/KGXh4F+On4ykG2AXhayN0ZXrLd09ZC2IX8DpDiJuLYerBkjHGLXRY1T3TmfHmpVbrcMaXKlUmwpC7+dRaOt0P/29Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176889; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ZIYNBYdbbedxMEELb3vRrPziRZG0SvFOYG6yaXQaCQ8=; b=bBaDv8fibv4Za+CY/ZDRAGTlls9VqGr8PFu9KkHL5BdPr5bcrcPd2kSYQlZ3B9i8Kh/9aaWvvust0y+yaGnCGXe/rGhG4ARgAjEBXB5gHxzoQEWUgfnLTQ9u5KfBk8ALqvJS2ltZjThOfMgdIG4cEJDVzj7nQCfPQbNcXOjnJ4o= 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 1754176889086461.3736755966638; Sat, 2 Aug 2025 16:21:29 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLTV-0004uC-NG; Sat, 02 Aug 2025 19:17: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 1uiLSv-0003lb-1t for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:16:37 -0400 Received: from mail-ot1-x32c.google.com ([2607:f8b0:4864:20::32c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLSt-0002du-1g for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:16:36 -0400 Received: by mail-ot1-x32c.google.com with SMTP id 46e09a7af769-741b1fe0d4fso49725a34.0 for ; Sat, 02 Aug 2025 16:16:34 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-741930994e2sm1081608a34.1.2025.08.02.16.16.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:16:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176594; x=1754781394; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ZIYNBYdbbedxMEELb3vRrPziRZG0SvFOYG6yaXQaCQ8=; b=bd9FNbDjPEPwkPpKMs0ioxAw4hLkGoAzWgNx02JLFQ3c2OGqh8WEf3IRO1jEyv0Eo5 Njo7/Pz7EVzpHUv07t50GNP0p5gE5F8zk3kmtUqWyvqFa06NwlStETzryT7xc44t0hv8 kx4xGZjk/AGBlFNBhH9brVSWSRzwvUCY0YIlGxSYZc72PC03zBWvVd1wSsxWYWlLgt2E 2/yqnyQcYQlarhSl9lNO/sIzWiMvIw0bxqugG9WiNtr2d+wVl6qZHCA+5T+XN7O4sVqL JWZHMDJNUYEIDxp9nE1BhJn6o7a2QZHPdM/YZN47HB1millJSPRbYnYOT830VSFacF+h gl7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176594; x=1754781394; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZIYNBYdbbedxMEELb3vRrPziRZG0SvFOYG6yaXQaCQ8=; b=c6z10pVGaZc6ckjVN5vZFLKuNa8u1QOzJBpVudkBld5HaDmQzfrSjz4aqzFIWKHT+D OHxiadEhUECcSINbKD1xvj+ihKLFUKrV2y3xbokTLjXodvWmLKiCnWtEZrGMyh10wn9S fQOXU82S5ndnpEWgt7CALuiVScsctZY+BcMBtwvzBWgsufcvQErXEEx6JiA7nuC6C9SL O/6Gg5Q7dRFvIprBzT8GSvatmBr2igPJzbc5MqsDpSadxITE2k5lcvkVHRp/ycvtA7r0 +g7MBPjJ31sx+Hs3ggz8aJqA1OCvlktjbCORsoJtkSrgrFZeCskCHlX4/c3Hwzzedtp9 SPgg== X-Gm-Message-State: AOJu0YzBJWj1U40nxEfJWmDIaM2DTGPt+zXa9sjgogE9m1Fscs3vWO/O A/kU3sPphbMBN8fw/IC2CPnKXbIk/dNZ1t4n5QOpKxk5HBtqySvrPydNnhj2guR1LWTwZlzN9J5 doh4kuPM= X-Gm-Gg: ASbGncuOJvAEgBhFXZROorG/8DQ4zrKJau7AKLm/6L0YtRKZcJ4gduBbI9SgYt/I0MB VNYp1MxU2IwMS8W6Z75BjxKlthPiHTgUm7pGtNCFCDO+P91YezF1Tlfu50Q1KH6nRzpIVki+Vh5 cQbYcUQCwVWNXb4zDJ9ZDGONYhZWPlheuRuSwgLHtOuMYcVBxXZcY9YxlQdsrmju6NdTj9YTCcQ hi43KyGzlVa0wLM/2lDQs0qKouehiox1+X8e+2JNfibntqkIg9oVNK9CPNY+ljJ4z10U1ou8w4o Ljtv+PuKmF6OtA5ohUajsnpZIEwclwg3y3shFUTmBONHoF1+0RmEZGAQPjmkntRqlrzNnJqr3rA SzCIjl5xiusa7xdHybpTFbncNAaQHRUcqtYvzoRgStIq+jEzQHs+a X-Google-Smtp-Source: AGHT+IG43/ubnsljGqTdlGNkpg7QQ7bWJJlgWneJXeeE6rBQ1ylauSB/XBZ4yfrUk9bPSSEkhacjpA== X-Received: by 2002:a05:6830:dc4:b0:741:a36f:7a2f with SMTP id 46e09a7af769-741a36f7bf4mr1943014a34.5.1754176593915; Sat, 02 Aug 2025 16:16:33 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 88/95] linux-user: Remove MAP_DENYWRITE from elfload.c Date: Sun, 3 Aug 2025 09:04:52 +1000 Message-ID: <20250802230459.412251-89-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::32c; envelope-from=richard.henderson@linaro.org; helo=mail-ot1-x32c.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: 1754176891736124100 Content-Type: text/plain; charset="utf-8" The last use of this fallback was removed in bf858897b769. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/elfload.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index c45724b33e..ade72c7624 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 07:41:35 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=1754176975; cv=none; d=zohomail.com; s=zohoarc; b=gD5daTbLYIZrJJBZv6NAlibCfZo9UmfhDHG0pFey9fRWTrtheXUyEx57Nn/mHXArbZodrD328VnDO2k4xUOI34BCtyCvTEzc9fBUILhaTKRtzwG3Zec/FJYwAgNWJhmXk1cbRU1ZwFigiQUgZCkxGwv0TNF2EqDK3yZeFBZAF+E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176975; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=LaXNjGDttmGP7fojpg5HBIO968y4mIzO2OTSI4a8EsE=; b=Vw9wyYEOZgeOniF9Td1nlEh0PIksIRZD9TBz1agWE+55GCJni1/A0SseGeBO1pvAy8TcwPXmCXHH0V/VgJTKj/GM/fOSQ/8z7sNNzyu0L+02e1ZIDK/BMc0c9mtLytEjXP43IBaNN/CQYcs9pL8kprrgxzPsfKvmkKkybjJ1P68= 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 1754176975852984.8394148991453; Sat, 2 Aug 2025 16:22:55 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLTg-0005gC-4G; Sat, 02 Aug 2025 19:17: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 1uiLSz-0003oR-Gj for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:16:41 -0400 Received: from mail-ot1-x329.google.com ([2607:f8b0:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLSw-0002eo-TC for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:16:40 -0400 Received: by mail-ot1-x329.google.com with SMTP id 46e09a7af769-741ad8d0c15so184264a34.1 for ; Sat, 02 Aug 2025 16:16:38 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-741930994e2sm1081608a34.1.2025.08.02.16.16.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:16:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176598; x=1754781398; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=LaXNjGDttmGP7fojpg5HBIO968y4mIzO2OTSI4a8EsE=; b=tdjDL6PkCN2XILyyslFz1XMYNus4SvaW0WLZYealEHnzF8eBVwd3ObvSzc/4L9kd9L pq/Lj7YdOzlX0KFOzgv6b6jkQ6gVMfh+ajyfYVeGum3Wg4ZLggScGjHFOQzSicP+pCwu 55MViTPuYy/WAelUXZj2qAF5BzyTgw4iOiJjXNk5kYE0ZUFvUPJwnlBu2e/E32UKCJYo L4xY3+tI8bZ/mq/7GVup/689BeTLoQUhMzhV0rDu6iSUZQ4KWqDPcVPrIRG/y/CZo/OH mA/yOD3ywzLyQ0wHLR2865DUlUuzeLbE3WdU0aOavJi+jvgd9Tr7X+4N4gklLxB4xl46 t/XQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176598; x=1754781398; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LaXNjGDttmGP7fojpg5HBIO968y4mIzO2OTSI4a8EsE=; b=CrSMVOeNL747gNL/VCGEudlPdjGf7Heexn/NucOsVCtLZMQhugfs2OIbuokNTt4JLG u0sqvQqLxsaGg2gemNvcDWDGUfuV7/3k4WPTdMnjddG+1BabMrIFrxtAWmggnfbSawoU GPHll8rvKp/L95Dyov+W01qEygoJKAX/XKXgsP/S77BPRLkAQfkMxOU3bZgjDQk9g6cU 0cPvn84LgG8l7rU3yBApF6SmmbvD1VNBK3gksW/53MzaeRh+dx0Wv56akznla+SCA3M6 DnSZPNYEei7jCugLetmmXtc1YOQNXlixiBqb4oWuzVrMjnXIOhsvei+Eh2607P2wfY7n dQrg== X-Gm-Message-State: AOJu0YzJ8YLunNXpODGCcfUtJFnt3izZveMPXQAwi1Ui0uKS/CCMhVZY g1cAQvXSDD+Z40Xa/ET3arExvhR2TV6Ql3QqfQ7ziPxnxM4pIOOgddSJ3O/x5FFuPaBaBjpF4+0 alxiYwdI= X-Gm-Gg: ASbGncu++YIB1JuxJBY+r3G8xkj4HUHzrUH2eemnlh+d3OA71Jn+Pjmb5R5BVhk4ey8 7iWF5YxRopW+Wso8guJkajFxzUecWdeonQTnAg2+hmEUokXPdloFFoCYcBc+7SImxHUQdcEXbct 4wyG9Kfsr6fd8hFwksng7Z4su3wN4XD1DSh/0904l5D8g3wsk/emdRy+iYspqAkmqW+9My9khK8 vGolc81lOWbhINeBdw1ZrQrotgJ3IUXPPd8CrM9KYgyQ8abUU8QvickIDG6k96Dha/MgoUA9R84 hAS44bGB0kEfI/VSuu6fnC5S6Ij1xpCMFsYg0/4BCOCsHX8wgfJot6oTTm1DgJTm4e8wURMMACK omUviQW7ajgsDG53ubJm9zM2a9VBH1mjSPGHHkycrNuOiFNSBqzZo X-Google-Smtp-Source: AGHT+IG7WkORUhv0vKi/o3LTWA/GYXdgc/GSLKxx6Oj0N3OW77a/+6VGgsjjgpTIV275q6BabSowPQ== X-Received: by 2002:a05:6830:7195:b0:73e:8b47:a3ad with SMTP id 46e09a7af769-7419d1483ddmr2726349a34.11.1754176597806; Sat, 02 Aug 2025 16:16:37 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 89/95] linux-user: Move arch_parse_elf_property to aarch64/elfload.c Date: Sun, 3 Aug 2025 09:04:53 +1000 Message-ID: <20250802230459.412251-90-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::329; envelope-from=richard.henderson@linaro.org; helo=mail-ot1-x329.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: 1754176977602116600 Content-Type: text/plain; charset="utf-8" Rename the controlling macro to HAVE_ELF_GNU_PROPERTY to match the other HAVE_* macros. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/aarch64/target_elf.h | 1 + linux-user/loader.h | 5 +++++ linux-user/aarch64/elfload.c | 18 +++++++++++++++ linux-user/elfload.c | 39 +++++++-------------------------- 4 files changed, 32 insertions(+), 31 deletions(-) diff --git a/linux-user/aarch64/target_elf.h b/linux-user/aarch64/target_el= f.h index 5d41bf4ec6..79f8c6957c 100644 --- a/linux-user/aarch64/target_elf.h +++ b/linux-user/aarch64/target_elf.h @@ -14,6 +14,7 @@ #define HAVE_ELF_HWCAP 1 #define HAVE_ELF_HWCAP2 1 #define HAVE_ELF_PLATFORM 1 +#define HAVE_ELF_GNU_PROPERTY 1 =20 #define ELF_NREG 34 =20 diff --git a/linux-user/loader.h b/linux-user/loader.h index 7fad9e7b4a..e17d2ed622 100644 --- a/linux-user/loader.h +++ b/linux-user/loader.h @@ -120,4 +120,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 3581b45d50..fdb40722b1 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) @@ -348,6 +350,22 @@ const char *get_elf_platform(CPUState *cs) return TARGET_BIG_ENDIAN ? "aarch64_be" : "aarch64"; } =20 +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; +} + void elf_core_copy_regs(target_ulong *regs, const CPUARMState *env) { int i; diff --git a/linux-user/elfload.c b/linux-user/elfload.c index ade72c7624..422414ad1d 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -166,41 +166,18 @@ const char *get_elf_platform(CPUState *cs) { return N= ULL; } const char *get_elf_base_platform(CPUState *cs) { return NULL; } #endif =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 HAVE_ELF_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 - +#define HAVE_ELF_GNU_PROPERTY 0 #endif =20 +#include "elf.h" + struct exec { unsigned int a_info; /* Use macros N_MAGIC, etc for access */ @@ -1233,7 +1210,7 @@ static bool parse_elf_properties(const ImageSource *s= rc, uint32_t prev_type; =20 /* Unless the arch requires properties, ignore them. */ - if (!ARCH_USE_GNU_PROPERTY) { + if (!HAVE_ELF_GNU_PROPERTY) { return true; } =20 --=20 2.43.0 From nobody Sat Nov 15 07:41:35 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=1754177178; cv=none; d=zohomail.com; s=zohoarc; b=MQt2Fc0Gx6148oIIqWhiBBXfuCdAChNcyFmVJraR5OtbgM7PeWLYINFccPEc9KYBaZdNeeFFd/adoAcpblGDmfh4yzIetIj8BDEDLynnglugr/+ZFU5ZaT1GWrD7AUsQdi4u/p1E3vhFecsF3V+73Vf6dpEYuaT17nHPE44cjwk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754177178; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=HSMexr9apaJrbmSV1XOD/8MxlgL1dJOMi/qxEPNLCeE=; b=WAD3nQ3VK74ybbCxgBBeli7zGqls/fk7N+NwP2aGA5zMSDYwGDOBopmnG3ACpgzi4bcGwVii/H/I0C0DxK1G5NTEDfP8mK49nes8rSq4AqKmkl8p63iNAxHSu0GbP1eK8JOsJf0dj0CeVlPD47iQTN+j0FxuAOFpSOYrZaSK2mc= 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 1754177178987664.6489204034535; Sat, 2 Aug 2025 16:26:18 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLTW-0005LK-BQ; Sat, 02 Aug 2025 19:17:14 -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 1uiLT2-0003zs-6T for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:16:44 -0400 Received: from mail-oo1-xc2a.google.com ([2607:f8b0:4864:20::c2a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLT0-0002fD-Eu for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:16:43 -0400 Received: by mail-oo1-xc2a.google.com with SMTP id 006d021491bc7-6199e7dea23so312433eaf.3 for ; Sat, 02 Aug 2025 16:16:42 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-741930994e2sm1081608a34.1.2025.08.02.16.16.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:16:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176601; x=1754781401; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=HSMexr9apaJrbmSV1XOD/8MxlgL1dJOMi/qxEPNLCeE=; b=JdM+UQIt7EdC/SB9/+NK/2YISHnRZExflHGXREjvNYL6b7vBRIF10HUGjsHSAJke8o R7+cskOLOWS28rXoQeTZiSbL4BPPESmRxy6vQ+Q8D7pZa/7oGiKP4B9LUUVQa9CJv8Fx JZvRZOgo7FHlnubqHWXI6zycMy2LmEAfSGRo6AgtWb6wyjJ24y7h74gfdAAz6KY8HM6y uQ9nwE061UUSvBlwYuyAAWw0nPhJVZz4F1XZDz3ek011Yov+jsM0SxVYnZ/N8+ms3ebD 4+ZRjQt3RG/+PImRhR7YL/Qw0hGWcaftNFQrd2y63GYhca80KF4IMgmwb89hNFNOBSSR Xcjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176601; x=1754781401; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HSMexr9apaJrbmSV1XOD/8MxlgL1dJOMi/qxEPNLCeE=; b=SVh2Qn+426LIgBoOKEyaoeIFDKS8iH/dbPAIoCyksmdqQ5WFlG97+KdI9Mz/4hOM8d ae4a6HrmcAtngQAGrTVa9pnYGXjdbILSlCraOgto2cBGU8NudKpYjGW0xehxfKEmggEe Lcr2B8VADDmDXrCcRp01i3mZU0QX4f2g62a//8xH37T96+79S8jiU847lsZ+1STrfAIf B941USFKUPL/0RTmkNBfwSGs5ksAv0hjF31WUUebZIrPA3JZkKGZsJi9aWaZ3naoX82D FR1p27kWP7S6YpZzllwrAJQfmsMuQobfkM2rKwnq0dpDT2/hzAmPcuKLztXoHHKz3zfk d6fw== X-Gm-Message-State: AOJu0YysaRgETJI82fyUFbaZZtAMTL66aYoVVIbXydu+6ikHCjtg4NMc eTFY2wCqJADeWSX11WOatk0Z7HttuMoEm7yNYMCX1sP2GfSVN5qafIrZNpm6T+VLQkD2F8WsGve c5xOwrPk= X-Gm-Gg: ASbGncsok+Gyo3HtBFmN1TmpBeX2x7wk2ol2bxpyjVzY8RMbZ4KUcz8EJk/26d5qXZ9 AzkHBIm7wQS1gIJ14oqQehTasvP148y6nPdKohJpwIhRcmAiEueUBMCyQMYdV2nJUghmGcSiH0c 3AaLdi6JHOVJc9rRq5Y9G+2ys9hJHSFenvWuAH7wJ81d3q8iWh3fYbQexF/T9Y0SAKd7BsxGu9o rLFD/SCxSWUCqLSzbtXPxpJDanqhDkzfNO95bfAxlAiLQlD3YKUzZplWefPDiqED3uHdKo2jC1T 1avqY72Os+jG4ySO76YRpi9pWnAJjzppa8qByXBmnAKOXcESN5weRQz5mZ9Q4MtbRUUF0z95RnG v8i62Pz7/IlvC1LC+J19Np5lT5sU9cBE78L0LZJoxqm6aTT9aqWZ8 X-Google-Smtp-Source: AGHT+IHGf1s2QynMJgt+a8LDBwQ38jEAnBQNx8OM3ylort+fu+ivwCmA/DVE3TLQtQKikQnnRa0+sw== X-Received: by 2002:a05:6820:1e10:b0:619:a6c0:b4b with SMTP id 006d021491bc7-619a6c013f8mr293299eaf.5.1754176601216; Sat, 02 Aug 2025 16:16:41 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 90/95] linux-user: Remove a.out declarations from elfload.c Date: Sun, 3 Aug 2025 09:04:54 +1000 Message-ID: <20250802230459.412251-91-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c2a; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc2a.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: 1754177179683124100 Content-Type: text/plain; charset="utf-8" These should have been removed with the rest of the stub a.out support in b9329d4b5321, though they were not in use even then. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- linux-user/elfload.c | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 422414ad1d..4931b4a9b5 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -178,25 +178,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 07:41:35 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=1754177033; cv=none; d=zohomail.com; s=zohoarc; b=YIwr0fH8FTmrZQ1om5yH5dckYzWcGXpA/sAQoF3JO8+z0CJUR/yR5EE7g6PDgDWz+yhWx1V13TPQWYIU6byWAvgaCZLYZwNOZZSpdZxhb3KF7JVXXBQjgUJvYGCU+zQu88tvs7Xrw/uxA3UG1eles/l8AUM7WLCFraFoyxvwvXo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754177033; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=6QdfB+NytoX9k9jsv7VVcmrRDVzL0Ovmr6JLafNnASA=; b=flvgnITyKKmPSGjnG0FJCkHh+UG+511isesG5GQCzTz8qV+M5shGsU+3zhCKmz437H62PzfxP2XUasmWjFXoszlEyTlkFeVU1Uyt3j9dY8exndMjqXWb9guJRYj2AqvI1ftM71RNhyjwaEYwPnl/I1uYltsFlj3MZjA7F9H5EQU= 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 1754177033062322.7595726532003; Sat, 2 Aug 2025 16:23:53 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLU2-0006Cd-Qo; Sat, 02 Aug 2025 19:17: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 1uiLT6-0004Cp-6E for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:16:51 -0400 Received: from mail-ot1-x333.google.com ([2607:f8b0:4864:20::333]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLT4-0002fl-HI for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:16:47 -0400 Received: by mail-ot1-x333.google.com with SMTP id 46e09a7af769-741a59f64c8so415598a34.3 for ; Sat, 02 Aug 2025 16:16:46 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-741930994e2sm1081608a34.1.2025.08.02.16.16.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:16:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176605; x=1754781405; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=6QdfB+NytoX9k9jsv7VVcmrRDVzL0Ovmr6JLafNnASA=; b=w+8rwuRVD4x8MxWXP8sh+pJljMqDi13AJEwumCpi0w3xOzd2b9FVNZkdoitCuQolRX L7HAaUFdGcZid0HO8u9LC6Qnmryb6tetO81QK6u6ApV/IRBytdcnJg4rtIHIv+A3+dLZ MoWwfVY08MrKZ/43iIRaHxFFINqUc191pPz8H+arXqOHbdhYLa0AGW85CIVH0ZjDJzc5 +aPrUDF8LFWKcBchswbngjGIzTCqqxgDn5t2KL7MbAN7OpFaa8MGHoUWeJN8axqYGbB+ amnkRCVsMA7ljIXaou9/2SkIWJxiVEJYI0WkCp4fe48qcto/Y+Tne/RTMVjSkWiS/Dpy LwNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176605; x=1754781405; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6QdfB+NytoX9k9jsv7VVcmrRDVzL0Ovmr6JLafNnASA=; b=oIiZtu6cquXq1KMpozSgUxBkVGLQ7BerhUQLHjN6iMnPd5b0GPNcDvwcInH8vgpFjN ZgrQi8LCAKVU6ByzDH8iagKZ25GYomvLzA9GW3KkXTtgAc9dskur74pgXbdQJex1DO1a eoia9gvQVIqGfzMHSx4kfskCrClQU684y+YXoLWf6LxPwr2++35aJruhqhil0GR8A+2H JvFZz1j5XMHJ3kE3AWPOXgsNHGwvQbqnF1y1LILC0pSnJsCesVwvyQV+aCfByQ8TFg8B DSgOFJWZIyidNUmG7ZTGozu33S/ZdlJ8Z5u76L5ACtvRopP1Q2ZsDyoggwUTSsZrvQhS XeJw== X-Gm-Message-State: AOJu0YyWYHbCfq0iMw+Xi1PbOgzcbq16VRS6yjoJJiIIotRa+MGlW9hy 6Cz1DJ5OyIW7PmUmEPjQJHrFpFtvsjsXYrgfAdmGgYnsvVR4Hmwi10JeuN9PTt/644m4NCMcZ0l VmG8nTkI= X-Gm-Gg: ASbGncvddRW4/ciTW/4UbLUckhn4g83lDmu2Cy0FD7hyNWX5bAD8w+KONlX8IawPc/t uCia5qTmb4Onzu18IqifG2JN0EoypLiKqKjtdiZ/5kZftx39eIezKEwlIJbvzJHbuJs1WHECJX9 D9aZH2qogJDUl4FbHlKvDkdUJUGC1qC4xczePoSQ43TnriSgRIcVQLZUnZHkl30jRqU67G/Haho yuA+Md47zYrupEP6ZVusUMPQJ/HZOETy7kK3ugH1rOiPKNhLvE5jSr7D8OSB6wHulIMkniabilO DpBeQz4I93mdGWAmghDDbB9wDQoKOy4N3Nr1/bdssWbitB/efo+PbQt2rfyoeIM0amf5iuUaJ7T WUBI8wxf6B5XaXyxkdm287P/WFlXnxqTUvXryvtSCszXc6IPVUy/H X-Google-Smtp-Source: AGHT+IG5s5giM5kUEGN3uI8nGsmDXnWYxjkGMlPoXr9P+j0bQHNVJNoTUFyNFeqkBvyBxG9Ct/fJKA== X-Received: by 2002:a05:6830:92a:b0:741:adad:2331 with SMTP id 46e09a7af769-741adad2557mr693061a34.11.1754176605366; Sat, 02 Aug 2025 16:16:45 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 91/95] linux-user/sparc: Move target_pt_regs to signal.c Date: Sun, 3 Aug 2025 09:04:55 +1000 Message-ID: <20250802230459.412251-92-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::333; envelope-from=richard.henderson@linaro.org; helo=mail-ot1-x333.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: 1754177033895116600 Content-Type: text/plain; charset="utf-8" This structure is part of the sparc signal frame. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- 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 07:41:35 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=1754176775; cv=none; d=zohomail.com; s=zohoarc; b=Tt4LzBxlnzrplQOyc7u04YWuyt7b8RquCMGPPlI5VdbsSzpKAGnUBI9XQ5YMUlIn2VSpDTKkf/RS5ypdn18ctsKtuZl7oaotcQAYiDup6CXf1p77SnL5Pwsalt0j9huPk80n+/+FS53fVtv/SV2AfJDiH1T6iNlAMO9RY0Zvh0c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176775; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=E+uIoBLSh9jKC7ksgBHFT2TiR1g9EIjfFhvri+e9kKk=; b=FxBzldD52km0JfhMv7x/GVSOqwiPupMNwfOXegb0uN5LMr20WhQn7U3l+rZHeKwVG41QV53YAQ2JMW3INphqSwJKq+wryov/Y5XXWFQ7T+0vnXoIq0S1kmWcqFDCY1Zi14kqKl4rGEYDc3kChnCJHJn87ifOXzR70D4H9y8irfQ= 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 1754176775279788.1440915738854; Sat, 2 Aug 2025 16:19:35 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLTc-0005e7-A0; Sat, 02 Aug 2025 19:17: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 1uiLTC-0004MW-6z for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:17:01 -0400 Received: from mail-ot1-x32e.google.com ([2607:f8b0:4864:20::32e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLT9-0002gG-0u for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:16:52 -0400 Received: by mail-ot1-x32e.google.com with SMTP id 46e09a7af769-741a905439eso349445a34.0 for ; Sat, 02 Aug 2025 16:16:49 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-741930994e2sm1081608a34.1.2025.08.02.16.16.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:16:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176609; x=1754781409; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=E+uIoBLSh9jKC7ksgBHFT2TiR1g9EIjfFhvri+e9kKk=; b=vm8AletqdHNqqWpdUKmgsk4YOoYjdvIgxYRYih5DI3xOVVH/sHEa2qgSXxlMivsPo1 2KODXUgcVl3nYiiCQ6EAoaH08kJ6AZUx0bN+T8qE3Wrs+gKOz44oxKVjjwxI4RLKWn4Y 2S3vVLJPEIKDzNAZvuPd/xE4u3MAULt/BGJw5K8FjncSsMY5HFBDAacZzhTKh3EJuTUH 4znBwtYbCgSvFsw8udWbjirm2kfRSILSfJr4TE3m76D+rmpYFNiPSHPeSFke2ghx5n3u 9cL6HHGAMEJ+NGVkzf40XH5gX4KJnH+5fGEHrYHApLMaNMX1OiWjtEGJftwVumN3suWQ 4j5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176609; x=1754781409; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=E+uIoBLSh9jKC7ksgBHFT2TiR1g9EIjfFhvri+e9kKk=; b=QxREednyNh9EA082FA1lJB+ZOF6cgvW7D2JOlTL6soayrPbelBTWyN5+cGDylAMYYm pvHTGm8fk2azJZLV1kU3+TJIF+7dVSpQcjvQb2bZRY4eHZCaRvuN8INEa4Ipc7s0iUmb lKI6luwMcIh7TGDhASVYcy1yy5dKuZHha6gSGUvTffI694csdvVMxVpDpkJxTEFkCqzm j63ik0pnc4PhDvYceISdE1PR2ddFlM1H7SrFV6xQXVNwOga69bvsuMCmS+f1vF7Bwl5+ KExXt6f+9eUe1cZd6seAJ3t0e8NNgFUXxiguMPTCFfBf5YdrC2MQN3UIEnCaZMoCTdnI 0SiA== X-Gm-Message-State: AOJu0YwrwbUny6C5y37sOv+H0tmrDJuH54mZvVi8qfbvh63BB2rvyEwK fQTyrqzweBd1Wwik/mdfEVjnljnSzeWp8LqinpJoDA9nsv0aX1MOJv6lI8SCf7WrednTYJv07KA XzXIab/k= X-Gm-Gg: ASbGncvN1bKCYIMWWWgYu50lh/6y57WtfXocOWjfnqSv8eBrWf1IhdnhwH/S20Ea3rD rjUBfnZOIYftejzktVMEejFJItlQd78p5b4ME/kEL7NROcp3W51snMkUA5DKwlGLz81pta0dwyM p9rkpF/miUMJizInAaTMJxqOGiMJ+AieLrlQZJQ93vGws0QqdyRAxiPCrPbuZ6nOmwBaLGjuwnj 2ygb31uvi6ZKPbjMVVSnt2aMriaAnKkDlsQfLRtvaD3xUY1P7vkIEUhMMEhBLq/VZ/r1Wez/Mp8 vKFW8rdwGJEs6qw63tmRIYqjH+LUnlyVlqYKlCDfLzoh5q7z61nXUf1/yPfMU2kDwSd8GmiTRvk fJrbE7jEAzkvElCiDd95c05w/T02Q+AXhejKx0jsJqizOcoHe71cB X-Google-Smtp-Source: AGHT+IFYgfT4pm04bB+60xh2IruKdEWuQeyH6HIm8YKJB0FwLUWHJ+kT6zdrv25XElpAY+6S2S08gw== X-Received: by 2002:a05:6830:4112:b0:73e:a0fd:ac73 with SMTP id 46e09a7af769-7419d27d151mr2304586a34.14.1754176609206; Sat, 02 Aug 2025 16:16:49 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 92/95] linux-user/microblaze: Move target_pt_regs to signal.c Date: Sun, 3 Aug 2025 09:04:56 +1000 Message-ID: <20250802230459.412251-93-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::32e; envelope-from=richard.henderson@linaro.org; helo=mail-ot1-x32e.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: 1754176775426116600 Content-Type: text/plain; charset="utf-8" This structure is part of the microblaze signal frame. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- 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 07:41:35 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=1754177128; cv=none; d=zohomail.com; s=zohoarc; b=dzb4kXy1OyRVjNfFcyH/fWSnDIM7zV/ZjIkM5XLolfuv70nvYrvudBszNdPfAm5pHNlTAJQ+JYvt+ucON7TPxtAewp4W3J3xZ2cdeZEjaQTS5OcVukKmHzRppjbYgmtuj18olF/Tu9vyNPUp9rS9KrIMBzF6AbEMbEMNusA/IDw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754177128; 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=PcJpR39SssShXVbHba+WgDV342jrg7zDHAhF6M4KN6o=; b=L2RTxOwyopwABlJ2KfO+IZJvb1VIjKR0bWgiizr5bFvocJytMd20KjrBsbAem8EISFzhWUmcPrAFBrgGCjE67aMnKlQV3/0UH1Gl7KhtkZKDphJXPeWFqMU8j186ImqeorLzf2VJzf3d0d4J3Pbh2BV1Tmlf+t4kBF1mpH5OVLA= 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 17541771284261022.6158663369391; Sat, 2 Aug 2025 16:25:28 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLTv-0005wO-SI; Sat, 02 Aug 2025 19:17:43 -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 1uiLTD-0004PK-Qq for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:17:01 -0400 Received: from mail-ot1-x334.google.com ([2607:f8b0:4864:20::334]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLTB-0002gc-OP for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:16:55 -0400 Received: by mail-ot1-x334.google.com with SMTP id 46e09a7af769-74190a2fc10so750865a34.1 for ; Sat, 02 Aug 2025 16:16:53 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-741930994e2sm1081608a34.1.2025.08.02.16.16.49 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:16:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176612; x=1754781412; 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=PcJpR39SssShXVbHba+WgDV342jrg7zDHAhF6M4KN6o=; b=HJJTQqVPGW1B8iTG+NaRk5PwsCvkh4AhX+eNw81iZdskhPNmET4uZPQSk33V4E5PfI EhUj8UKQbqV91LE8s9OrZ3cS3VOYF4duGkc9aQWKNuPQwonaZvPvzkqs6VyiupZirehH 7p59uBc3Au14TOOu2FLSfa29wVvcHqSHzrsJfblkj+vwT5AXAH9pwQc3RtxgPxnlvcwE iCe9+JYS1Osd7aQ16ZttYK6pfxW4GdEhGqDF4ECVptfCXhxcguDGOytUXYAUiGXg6+3H y9uByXz29nDmWMnns+cRk6jZEn7fNnw6xVHmk4tUW99vFl/PM4eCXB76jaeM/3D5fxFK yq5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176612; x=1754781412; 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=PcJpR39SssShXVbHba+WgDV342jrg7zDHAhF6M4KN6o=; b=qRpMnuRlY4DqFLtwSK73rPGNU7lucVLPSrP0VNu21/v4h3TH0/rr6IlYw5W+FzmCkK a/aXowhpC1GpZX0b8hygcP4ZenOYCtjTERV28x3N9LJZuQuiESSIPPgWGYtKL553O1+3 veDffaegPenR9J8hgiNwQ+xdUUbuQMziePa9eGoTdHGVF6yY8cBuN3rTF82xHi5xtf1k 5MAPk3vs/VvMCQ4XMh5smw8s+XbbbweubbHctbLWXbBr5DAIE2k1f6dIcFhtN7ROvK49 f6bDcdJT797XB+Osccx6nhr+yCmfkIypncJXw8g9XLpryBJ5Zp/qPc2lL4YvJBbRIwKB ElKA== X-Gm-Message-State: AOJu0YweN6SIO9xv/13TZdaA18s50V/B0Kq4tIgl3PxViNTpRH2ycOWj Kkne3Nm5/NGKgEWWzhkRxOOrRuJzSgHgCz8gqq8HtHQr+TBewjIFp9GM9Q5Gg5b/pK3AkO0vmFY 5ROvVD14= X-Gm-Gg: ASbGnctuX9D2SFJLP9WfmOe3Lxz8fxXUzMntpCizoQRb9VOCxeHQhmaHqOvJdoPF4Qv 525EdEz9SM8bBwcHlaNqyMSt/6Lq4QFtgJt3wUNQg5pI935SD6TpqiegY+E2tTPz3+ikXGqG/AF 6lK0HZ2Chd3vW7v/nZ5qdWhw7q69pzse2ahqcCB1ePMHbxVIYM82veGxRlMsaGFhLmgx6s8yp/C VVQy9+c3FIp3vPMQXI4NqksNrWJSRnoYFDUZkZhGHQTT7Gtekm30lLvRqoR9Ngl9zD2fuE4Z2q2 6KDOtdzr3d9CtjaZSNv+XfpIwqlQV8UpVpwwpEbTXOChXBKaCUbw73MBq37GYPYrKq8TGYnXvoL b8YzVT2tdIAgKobWiF5Z2KOP/CEgNLCmC2H4BiIrqcnkAwMO9pwNr X-Google-Smtp-Source: AGHT+IFUdQTx6TXXU0JbJZk4BuuA43j+n9vWMdtQueYX4+keAJfqTwIvbjkwPVzxbX6FbcLa8CyO8g== X-Received: by 2002:a05:6830:43aa:b0:741:b263:4ded with SMTP id 46e09a7af769-741b2635852mr89492a34.15.1754176612498; Sat, 02 Aug 2025 16:16:52 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v2 93/95] linux-user/openrisc: Move target_pt_regs to signal.c Date: Sun, 3 Aug 2025 09:04:57 +1000 Message-ID: <20250802230459.412251-94-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::334; envelope-from=richard.henderson@linaro.org; helo=mail-ot1-x334.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: 1754177130630116600 Content-Type: text/plain; charset="utf-8" This structure is part of the openrisc signal frame. Rename to user_regs_struct, per the kernel's ptrace.h, which allows removal of the explination of the name change from the kernel source. Signed-off-by: Richard Henderson --- linux-user/openrisc/target_syscall.h | 11 ----------- linux-user/openrisc/signal.c | 9 ++++++++- 2 files changed, 8 insertions(+), 12 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..5b97d016af 100644 --- a/linux-user/openrisc/signal.c +++ b/linux-user/openrisc/signal.c @@ -22,8 +22,15 @@ #include "signal-common.h" #include "linux-user/trace.h" =20 +/* See linux/arch/openrisc/include/uapi/asm/ptrace.h. */ +struct user_regs_struct { + abi_ulong gpr[32]; + abi_ulong pc; + abi_ulong sr; +}; + typedef struct target_sigcontext { - struct target_pt_regs regs; + struct user_regs_struct regs; abi_ulong oldmask; } target_sigcontext; =20 --=20 2.43.0 From nobody Sat Nov 15 07:41:35 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=1754176811; cv=none; d=zohomail.com; s=zohoarc; b=bNKa4gJbTcwEF/W/evCybXsjqkqSK+35zL7UvnwpD74x+ruFH+pF3jMkqFphG/FmjKpF6B2hM+zaWZcKU9DxOZxJD+UXB0OCAMakeP73Sy0MtA4iZNXA4+jHMw31pgJY8LnccGYjWpV7KEdAbKL5JJQqEOHS15IiPVcMpu+eyRU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754176811; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=YTo58dUSNI3YDcTPhtLgzai3OOd/DYUGwbtHV5KS80Q=; b=h6s3d2JRxKvxGEqYGOaRPWplSbwtipUQiRDJaor/CL8vGJRYyzoY42967To0iwEMgdW5L2rIX6z97RSqZf7T1QG09Dl+sIPFGUcOIAOXfYyz69MSpURsC6+H/XXmhMInt+bvPmBn+qCueBZpl1N3enjn4/TTT4ijl1n3FX8dJHg= 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 1754176811716742.760079439868; Sat, 2 Aug 2025 16:20:11 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLTz-0005y7-HN; Sat, 02 Aug 2025 19:17:43 -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 1uiLTG-0004gk-UZ for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:17:02 -0400 Received: from mail-oo1-xc35.google.com ([2607:f8b0:4864:20::c35]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLTF-0002h2-8g for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:16:58 -0400 Received: by mail-oo1-xc35.google.com with SMTP id 006d021491bc7-61585dfc8f8so1028642eaf.0 for ; Sat, 02 Aug 2025 16:16:56 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-741930994e2sm1081608a34.1.2025.08.02.16.16.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:16:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176616; x=1754781416; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=YTo58dUSNI3YDcTPhtLgzai3OOd/DYUGwbtHV5KS80Q=; b=xWyYa8giqh+xrl7MrrpsNuHiwVlKSf4QkZJfOd+BmvT++YYVqRVn9KMyHZ9q5uxcmw +qHwh9o7sH+xb0pfZ2WcyBS5QFwnWGVKY5Q/CpMtcwJw804hPfS1syB8x/ptn5QvTqhq VMm7iNZbp+RSFL77fYt4qqa/4gGH+REuK3E3rbNNI3gwXC/AhJQGriT9jLSEM4md+VUV 7do5Kh/RjkfVCxHMcE6C44/YRyJ30DZxJinMqHeZyAqQ8CpjvKL3ROpUdScuq7DgYw/J U7dkQufYQrhNgvPH7GTBesEUsSQmDyLtaa1+tc93mLyY/JZS2plJcvKhIOeoZTELQOHD TDZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176616; x=1754781416; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=YTo58dUSNI3YDcTPhtLgzai3OOd/DYUGwbtHV5KS80Q=; b=k+0MmVreXLL8W3uJcbTCYzZROMB5/36dxJsAuIU4DKjjT0U52wOF9e2ryZZhsYZ0wK zGuBDqldQoYFQMYStkwG2+ewNX00fvW/v4p9u2MMNa2ZSdMGX+td18BYVnr++usPxuTT /Ubr4XjTIr+1wP1bXxXOh7Pgd1ZmjeBZExKooE3OQXefTNS7C1EDApzuo1tbXypfa++x 1kibYL2x01EiBniCoMIALWApTpt83pC6VUH/0wUZXPBZ1Dm5Jp6mcnPHuSDnpRyEf+rh feck5yrwwumYX5rzq6FmDpgJlq+s8nApqe02EJl2niSOop4Rnj+W5WcBJB3ehu2C2xEP WADA== X-Gm-Message-State: AOJu0YyL3I2vbjhicFR9gWxbpSVi2lhNrr0TdwjCh2dokYGIaVwY5JAD fIPxx+ai0ItsDPbZzIXWANfxGqkn0/9ToX2HHi6jLEI51fPu3K1G+0s62SeiMqq8jOfIRiMvvoz 1hPedkwQ= X-Gm-Gg: ASbGncs9wvOU+01qvCdXquJj/ZYPe2Oo6b4avKKAGiYw8rWWoQvaKgvwIAMCqarWCDl WyNbWVhDGvGNjL7t7ugMBMbbBtfQuSMEoqv3LSHMAIQNFN32AqBzSJoVHApe8Lk01tiJVUIlImx 51qHtTZ44qk0t9nhgpsCeUHsM1+FFlGk1gH5nEQoInHtBzk+h8IGEQXWZtuvticra4yVMjfKTOv Xp7+S3fbOpyXQAKZbBYC3aMgISWtJPD6NrnRAliM0+6LGKpuVg6GzvKPhg68EkKa8Mi15k5TBU4 EcE8X95PmU+8o07Ux8cadXcx6RDKDtTcdH5xBYtEClQ1CDUCHCAwW/fl4ToU6CRrzSZKnm/jxaF cl//C7QjTZtYQneBCNTpMN0dCKVmWzSiXPtuXyfQa7LP3ykqx8upjAQLrws9lH70= X-Google-Smtp-Source: AGHT+IELdCeNodyZ1q1Px1sxwPmB1QvMcmzxYYmjR6uhDOulWe9SGLbj42q0fGA2Ib64pgMztccEMg== X-Received: by 2002:a05:6870:79e:b0:2ea:7963:534e with SMTP id 586e51a60fabf-30b67607c9emr2697407fac.14.1754176616142; Sat, 02 Aug 2025 16:16:56 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 94/95] linux-user/s390x: Move target_psw_t to signal.c Date: Sun, 3 Aug 2025 09:04:58 +1000 Message-ID: <20250802230459.412251-95-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::c35; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc35.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: 1754176831692124100 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. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- 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 07:41:35 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=1754177102; cv=none; d=zohomail.com; s=zohoarc; b=UjwhrZc8YstdkEOYXCNfPAZbNGg2Dxk1UjuBx+cCNEJsANe/wY4UU7KNlINAkbf88PBa4aa2iHXpoHIgMbZyW59YOLEe6maKBO6t1aSpQ4IHesCrAN9SKmqsCx4msjXfOQopLl3Jm39Lk/EdHFU3SbY43FPk1tRJIa/VWd2iUHU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754177102; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=mQogNm5ZECiw1tt/T2fhoBqBr+ViP56B0DF9NHMiKqs=; b=WAuE1D7LzCy1ijkZdCC2OMdTaSi1C3wDUqadasraBLdws3s5JpYjb4y6iuIK+v4XL8KrBzAJSkSeJYRD4y7MjtTk9j8/ubK19be0PZVE77Ow12TNrOorkSTmG8Xm9IohJNZapqRDnD7+3X4uLJf8Bw4ICSD6j4IC9btYCkc8ewg= 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 1754177101957756.9104858499619; Sat, 2 Aug 2025 16:25:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uiLU1-0006AQ-Qg; Sat, 02 Aug 2025 19:17:46 -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 1uiLTM-0004zh-Fk for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:17:06 -0400 Received: from mail-ot1-x335.google.com ([2607:f8b0:4864:20::335]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiLTK-0002ha-3v for qemu-devel@nongnu.org; Sat, 02 Aug 2025 19:17:04 -0400 Received: by mail-ot1-x335.google.com with SMTP id 46e09a7af769-7416d362e7aso1688488a34.1 for ; Sat, 02 Aug 2025 16:17:00 -0700 (PDT) Received: from stoup.. ([172.58.111.133]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-741930994e2sm1081608a34.1.2025.08.02.16.16.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 16:16:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1754176620; x=1754781420; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=mQogNm5ZECiw1tt/T2fhoBqBr+ViP56B0DF9NHMiKqs=; b=YiAcomUTfmKnYG+SDwYIdT3/PHIUXy1D+q+GjhJ4WHAuKZ9rWbqhFZwfmC4kInCJ9r DiRBsyGqsRhy1raEXgJitrhXsGgrE0T6oqQH8dFvDT+C2N6DfCIG9XJt3/pcNXkBbhjF BgPg30YRHiYdwde9cVDzdbeeUoCtLk96IAoPbaccHmRDXlCUubv3XhcAgRGeqhqCFjTf GlxiqDubofCxRAyLZYMnAOhhZj5Iyej40kyVB9LKbvr0ts19JOvKFlfXHWHfDEIcsiwx MTPJThk5vjS/8EywyHPgljMGqk5deW0IaVis2ttazf/ZuFm69lEnAGxP+XhXX7j1PtCa Pk5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754176620; x=1754781420; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=mQogNm5ZECiw1tt/T2fhoBqBr+ViP56B0DF9NHMiKqs=; b=AcY4iDfZFoJtZFjHMAEc3gC1MLGG87d1hjuhhLsyYgA/Y2InZpciPINhpwEX8gEjyS OzfU1k6DDdY/QMRFFD6xagRvozDEdl6jNPc/0HNM1CbxP+P30OborVSUnRbvwkCP/qic Qrl764iCbuYRLBYxC0VXL4RJoOfD0K1jeeOe3d9FAIS0v6QjF+AtzSpbiH5b1P7DU32G u145E4zzIlZwkV+ke4d0s623LxpDUvIlai+FZE6iwkde2w8whci4IpFYshx2ibwOBJQ9 U8Uq3SA5IaeCaYizJh3XbHoAVIlZipFT31q9VBxAbtNNuMwCnLGA52biNCHtAajKhtFb lQRA== X-Gm-Message-State: AOJu0Yzuz6VPmQ5EAKeMYLsWAXg9Av4Vb735mGuAv1iPY1uXTdrTdd9K IwQWbaIXgC7XtijPzISBJqKHIsrleSL8C3QURvMMf9MfC736sqC9ASSHSlaspFQFsti8avBOHUH ++gMlWwc= X-Gm-Gg: ASbGnctOcH8ftKFnHNknvjBRgTCDz26SmIUw5gM6kw/uWkXVQDCHOsKMQEr25ia3ZHY oaVBNL/yH+mVodWJxdRTJ2n9P7lE4KvSZhC4Bd0iMhgoFDALqJDKkheTXc79HQjhz6qwwB88MzJ 4n6s6GGyRgWy8YWMlcsZ/D49LM3EYBeONtYuJZOmCugi8cVarEoAEeN+D82Q8KWQsxD9V5+YQGa JXZkqfffzoHYySvVOCsGgtQdJmxA16c8xr6hTawkPk/i0b7mpPPaUhiENeTFyYqay0SUQzQvhQy VciIesaORJk4ctSOd6FrkV0bS1eWh/yzhc+pOcrR6bGI/nSbHPoelT0jsD0lNkFT85fn4Q42cup 7ZKosany7KsmiOsaM0YtjiJamFi8xSn8QA6EF2nF9rCo4lUBxhl0w4c662yucBms= X-Google-Smtp-Source: AGHT+IGT5x6HGXEuQg9Qp/sQf0QrLwpK6gplBM7txkopYk4NmGEfdvj/pi02F+oIfgexfoyjvSZpDA== X-Received: by 2002:a05:6830:4423:b0:741:90c1:5f with SMTP id 46e09a7af769-7419d289248mr2489571a34.24.1754176619963; Sat, 02 Aug 2025 16:16:59 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Peter Maydell Subject: [PATCH v2 95/95] linux-user: Remove struct target_pt_regs from target_syscall.h Date: Sun, 3 Aug 2025 09:04:59 +1000 Message-ID: <20250802230459.412251-96-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250802230459.412251-1-richard.henderson@linaro.org> References: <20250802230459.412251-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::335; envelope-from=richard.henderson@linaro.org; helo=mail-ot1-x335.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: 1754177102625116600 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. Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- 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