Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp293032iob; Thu, 28 Apr 2022 02:28:13 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwBLfowl2qRL1uxqY5VyJKBPAFEIlEaDplYsESie+j8ZGh8j2M0efDk5z4XcB5v8ak4pKE1 X-Received: by 2002:a17:90b:502:b0:1d9:a907:d845 with SMTP id r2-20020a17090b050200b001d9a907d845mr15621306pjz.162.1651138093410; Thu, 28 Apr 2022 02:28:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651138093; cv=none; d=google.com; s=arc-20160816; b=yj08Lh1Vifj70oPoKJ3UkWPkPveheAe79xB7hNuhoKHKNWXUPS2K8RRwCud4pFfwwC 18zluWMMqcMrF5dtDqUJ9dKSpqBqvi6KNRGtSprPKYYEC4vy+zx85wGtjNczmgRmIIve E6LRHrbeCqUML//B5MZTP8sT9ONM1PCjjI5wn8anlz4w0i0VxlYoy2FR4XCv3zKjp/cH BszS4QL8/dFrT0VkE9XYsUxoSb9W6xEpfD8bGd4GetpsRfwTY8LSPdAkOwQW38WM5Y8c 6AZTkt03TJO7Ks2Yb8Vz+QrWHCkT7/+K6Y3BllOQv6R/SJS/sWsbc4xIEidhZxIw/S8q uBJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=zRDYrXyT6cU3qqdl1WZFC0LSS3KMzwJDQoiUKo2bCHk=; b=Q8kQOIJvgKH38I/7/Y/XRbsNGjIxlVhGpKfw5upp8szb+Kp+niv1a2saprflGHiHUD Zem2/lg/nIL+9NrkdQnAKX8WyOqkTIZnpwkzNYyQS/055NoZQJHq+GR8tEew0uKwk8B+ TanxKtUK2GO/e6UPVjhS7qe2eBbKRnFzuzXacFiM+UFJagQKE33aTgi1Eph2FIvmaJcF 8rW5ZrE4Aj0kyxEXt38Cii3QXY5KwJYnijQiMLMb1YDP5AoSYAxuePuLxmSAMuf/ZkPY BZskKUBvprs2kIB7woDdKgLTbIfZ/ox86sym+8kjl2hUnax1XyYyhKIOEu86yUlEpIvr 1uBg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id e21-20020a170902ed9500b00153b2d16619si3547249plj.545.2022.04.28.02.27.58; Thu, 28 Apr 2022 02:28:13 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239715AbiD1Dic (ORCPT + 99 others); Wed, 27 Apr 2022 23:38:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47808 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241736AbiD1DiR (ORCPT ); Wed, 27 Apr 2022 23:38:17 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 980DA267; Wed, 27 Apr 2022 20:35:03 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 22C6361A94; Thu, 28 Apr 2022 03:35:03 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 14D2BC385AE; Thu, 28 Apr 2022 03:35:00 +0000 (UTC) From: Greg Ungerer To: linux-m68k@vger.kernel.org Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, dalias@libc.org, Greg Ungerer Subject: [PATCH 3/4] m68knommu: add definitions to support elf_fdpic program loader Date: Thu, 28 Apr 2022 13:33:18 +1000 Message-Id: <20220428033319.239341-4-gerg@linux-m68k.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220428033319.239341-1-gerg@linux-m68k.org> References: <20220428033319.239341-1-gerg@linux-m68k.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_HI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add a few required defines to support using the binfmt_elf_fdpic loader on the m68k architecture. The values are defined to be consistent with those used on arm and sh which support this too. The most important m68k specific change is the register initialization. The pt_reg structure only contains a subset of the architecture general registers, so we are more limited than to be expected on what can be used. Signed-off-by: Greg Ungerer --- arch/m68k/include/asm/elf.h | 9 +++++++++ arch/m68k/include/uapi/asm/ptrace.h | 5 +++++ 2 files changed, 14 insertions(+) diff --git a/arch/m68k/include/asm/elf.h b/arch/m68k/include/asm/elf.h index 3d387ceaea3f..2def06a99b08 100644 --- a/arch/m68k/include/asm/elf.h +++ b/arch/m68k/include/asm/elf.h @@ -60,6 +60,13 @@ typedef struct user_m68kfp_struct elf_fpregset_t; is actually used on ASV. */ #define ELF_PLAT_INIT(_r, load_addr) _r->a1 = 0 +#define ELF_FDPIC_PLAT_INIT(_r, _exec_map_addr, _interp_map_addr, dynamic_addr) \ + do { \ + (_r)->d3 = _exec_map_addr; \ + (_r)->d4 = _interp_map_addr; \ + (_r)->d5 = dynamic_addr; \ + } while(0) + #if defined(CONFIG_SUN3) || defined(CONFIG_COLDFIRE) #define ELF_EXEC_PAGESIZE 8192 #else @@ -114,4 +121,6 @@ typedef struct user_m68kfp_struct elf_fpregset_t; #define ELF_PLATFORM (NULL) +#define ELF_FDPIC_CORE_EFLAGS 0 + #endif diff --git a/arch/m68k/include/uapi/asm/ptrace.h b/arch/m68k/include/uapi/asm/ptrace.h index 19a1b9d0d858..5b50ea592e00 100644 --- a/arch/m68k/include/uapi/asm/ptrace.h +++ b/arch/m68k/include/uapi/asm/ptrace.h @@ -74,7 +74,12 @@ struct switch_stack { #define PTRACE_GET_THREAD_AREA 25 +#define PTRACE_GETFDPIC 31 + #define PTRACE_SINGLEBLOCK 33 /* resume execution until next branch */ +#define PTRACE_GETFDPIC_EXEC 0 +#define PTRACE_GETFDPIC_INTERP 1 + #endif /* __ASSEMBLY__ */ #endif /* _UAPI_M68K_PTRACE_H */ -- 2.25.1