From patchwork Thu Aug 9 05:36:43 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Firoz Khan X-Patchwork-Id: 143693 Delivered-To: patch@linaro.org Received: by 2002:a2e:9754:0:0:0:0:0 with SMTP id f20-v6csp1657523ljj; Wed, 8 Aug 2018 22:37:25 -0700 (PDT) X-Google-Smtp-Source: AA+uWPykRuxiJkaPlX+nKh/SdWbSAKqF4xA9CxflQzA1c4XMnYwuPkNqJlkYAgEG/+PoSHkh4z7A X-Received: by 2002:a62:464f:: with SMTP id t76-v6mr805253pfa.118.1533793045800; Wed, 08 Aug 2018 22:37:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1533793045; cv=none; d=google.com; s=arc-20160816; b=TwKYxeepx9uc3lgnqDcBp9lsSvhWCK1zG8fDSW0j0H1g4epAK2nU1nstViyk6AyH5U 4Gys38OSQOk+XGIpSpD3s12MLKPO4nbvvWEeToDln04r/mCanPpE6QWttO11SRsG8Rfq 9y2mdcAnPqFYVJx/xnR/g9dspGCcFXKD3zba/NHBduaKnt4qNWtuV3rF3Ycc7OIBfe4D Zu9jsN/Z1Z+3jZXOCNujX4NWQ1UaHdfzQjQiwm8w5tDQGLV3UMcFHNJWu4QVCqBxCv53 ktCvQii8/X1V52zE1lagSVahvsNSnxSAi/KKayTyn0AjH0J6/Mep49L58VwGhLH7AsYy zFPA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=IUVZraVYSlqqIRwCZ0bLejzyYZFNdfTPMp8RLGQyfZo=; b=MZlfIQOnv2aL5ILa91qIqbYGvzc1duXnWYyHZ5geWcht+4p/PsZVPTOdzPTCxsWlOY 32ig+rwSvJA4THfMxdv2ZadMeFq7Gfm3bdd7VCArJj76fXu+kFPUp+Yf1JIPpoNC1Qy2 3hOsSYzhwyPvZPrxcproyubIaS8Lef37Cx4PM4SLuHDumcrAVN/GHuCG/aFiDnVj9OXq h5OkexeuTnCJuUMZhtWYKqOEk5aITbhKBDXZpMSQZk8K+NuY8AXOtCtVVntm1kq5MbrD CdO+cuKKeTyS6GLynwAKmqnq1iIFinkb5OQnsMbUYKuJ6OJm0eZayG/SnFavARIksJsM VGWg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=WwIIvoKX; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h29-v6si5758713pgb.53.2018.08.08.22.37.25; Wed, 08 Aug 2018 22:37:25 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=WwIIvoKX; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729415AbeHIIA0 (ORCPT + 31 others); Thu, 9 Aug 2018 04:00:26 -0400 Received: from mail-pf1-f196.google.com ([209.85.210.196]:41937 "EHLO mail-pf1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728788AbeHIIA0 (ORCPT ); Thu, 9 Aug 2018 04:00:26 -0400 Received: by mail-pf1-f196.google.com with SMTP id y10-v6so2276960pfn.8 for ; Wed, 08 Aug 2018 22:37:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=IUVZraVYSlqqIRwCZ0bLejzyYZFNdfTPMp8RLGQyfZo=; b=WwIIvoKXC0SFnvJe3FUyuZQaOX/Zd15nPAEG6QJXTsqL+Dq3VTUAZKDwEFr4FF+dcd iCcbA/SsqiIx5WJ+jTVM85EqmXsZ1tE8X3N41E0TNPLAA4UbhOY88qV6z9fMUHasOTj6 c3XsBdeGhIMdkIDnD0yJXbaECmvx+Tt+W4f4Q= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=IUVZraVYSlqqIRwCZ0bLejzyYZFNdfTPMp8RLGQyfZo=; b=lm6WJYLIfc4GBLfmZgXeYPz1lw1aeF1cdJdMjl3G1GKh1JtagZC9Tksf44k5xElAwJ t01mNrnhIOJ1o7FZpFw9UTiBqFtGm0n1qNYo8VR6oGKrEQPhxJowLyUQDdqgHQquqWRZ 2gD2lKrZXCjESaqPyCM0EiBbfz6MS+D0chHN270iIGOEhg12F+y69rzmpMGHA7MpFn2e NhLpnM11stCb6yjF8MV0LNOl+EaaqI0/ipRkc3n4EFhiibl9owhXXfJcA0ORCyeCUveG +4+C/PL5KABsFX3X/yvSGVHKaSdQuAAxqvyzD/Yqr5L/Qx/siktJXIry3K6Cb67zQcLi UPYQ== X-Gm-Message-State: AOUpUlHBt8P5UShunteRbCvWd0KVukdnKY0eq24sKLKI7Uv9kMObuqzB 3o8NAsf04uIkEQbya82UElWVuA== X-Received: by 2002:a63:121a:: with SMTP id h26-v6mr718889pgl.316.1533793042255; Wed, 08 Aug 2018 22:37:22 -0700 (PDT) Received: from qualcomm-HP-ZBook-14-G2.qualcomm.com (blr-bdr-fw-01_globalnat_allzones-outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id r11-v6sm5826229pgn.62.2018.08.08.22.37.16 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 08 Aug 2018 22:37:21 -0700 (PDT) From: Firoz Khan To: linux-sh@vger.kernel.org, Yoshinori Sato , Rich Felker , Steven Rostedt , Ingo Molnar , Greg Kroah-Hartman , Philippe Ombredanne , Thomas Gleixner , Kate Stewart Cc: y2038@lists.linaro.org, linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, arnd@arndb.de, deepa.kernel@gmail.com, marcin.juszkiewicz@linaro.org, firoz.khan@linaro.org Subject: [PATCH 1/3] sh: Rename NR_syscalls macro to __NR_syscalls Date: Thu, 9 Aug 2018 11:06:43 +0530 Message-Id: <1533793005-4525-2-git-send-email-firoz.khan@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1533793005-4525-1-git-send-email-firoz.khan@linaro.org> References: <1533793005-4525-1-git-send-email-firoz.khan@linaro.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org NR_syscalls macro holds the number of system call exist in SH arch- itecture. One of the patch in this patch series has a script which will generate a uapi header based on syscall.tbl file. The syscall.tbl file contains the total number of system call information, which will be used to update NR_syscalls. The macro name also changed form NR_syscalls to __NR_syscalls for making the name convention same across all architecture. While __NR_syscalls isn't strictly part of the uapi, having it as part of the generated header to simplifies the implementation. Signed-off-by: Firoz Khan --- arch/sh/include/asm/ftrace.h | 2 +- arch/sh/include/uapi/asm/unistd_32.h | 2 +- arch/sh/include/uapi/asm/unistd_64.h | 2 +- arch/sh/kernel/cpu/sh5/entry.S | 2 +- arch/sh/kernel/entry-common.S | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) -- 1.9.1 diff --git a/arch/sh/include/asm/ftrace.h b/arch/sh/include/asm/ftrace.h index b1c1dc0..968a9bb 100644 --- a/arch/sh/include/asm/ftrace.h +++ b/arch/sh/include/asm/ftrace.h @@ -5,7 +5,7 @@ #ifdef CONFIG_FUNCTION_TRACER #define MCOUNT_INSN_SIZE 4 /* sizeof mcount call */ -#define FTRACE_SYSCALL_MAX NR_syscalls +#define FTRACE_SYSCALL_MAX __NR_syscalls #ifndef __ASSEMBLY__ extern void mcount(void); diff --git a/arch/sh/include/uapi/asm/unistd_32.h b/arch/sh/include/uapi/asm/unistd_32.h index 58f04cf..2c4f087 100644 --- a/arch/sh/include/uapi/asm/unistd_32.h +++ b/arch/sh/include/uapi/asm/unistd_32.h @@ -396,6 +396,6 @@ #define __NR_preadv2 381 #define __NR_pwritev2 382 -#define NR_syscalls 383 +#define __NR_syscalls 383 #endif /* __ASM_SH_UNISTD_32_H */ diff --git a/arch/sh/include/uapi/asm/unistd_64.h b/arch/sh/include/uapi/asm/unistd_64.h index 6f809a5..9e6e8cb 100644 --- a/arch/sh/include/uapi/asm/unistd_64.h +++ b/arch/sh/include/uapi/asm/unistd_64.h @@ -416,6 +416,6 @@ #define __NR_preadv2 392 #define __NR_pwritev2 393 -#define NR_syscalls 394 +#define __NR_syscalls 394 #endif /* __ASM_SH_UNISTD_64_H */ diff --git a/arch/sh/kernel/cpu/sh5/entry.S b/arch/sh/kernel/cpu/sh5/entry.S index 0c8d037..d2ff022 100644 --- a/arch/sh/kernel/cpu/sh5/entry.S +++ b/arch/sh/kernel/cpu/sh5/entry.S @@ -1192,7 +1192,7 @@ system_call: STI() pta syscall_allowed, tr0 - movi NR_syscalls - 1, r4 /* Last valid */ + movi __NR_syscalls - 1, r4 /* Last valid */ bgeu/l r4, r5, tr0 syscall_bad: diff --git a/arch/sh/kernel/entry-common.S b/arch/sh/kernel/entry-common.S index 28cc612..80ea3c4 100644 --- a/arch/sh/kernel/entry-common.S +++ b/arch/sh/kernel/entry-common.S @@ -396,7 +396,7 @@ syscall_exit: #if !defined(CONFIG_CPU_SH2) 1: .long TRA #endif -2: .long NR_syscalls +2: .long __NR_syscalls 3: .long sys_call_table 7: .long do_syscall_trace_enter 8: .long do_syscall_trace_leave From patchwork Thu Aug 9 05:36:44 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Firoz Khan X-Patchwork-Id: 143694 Delivered-To: patch@linaro.org Received: by 2002:a2e:9754:0:0:0:0:0 with SMTP id f20-v6csp1657640ljj; Wed, 8 Aug 2018 22:37:33 -0700 (PDT) X-Google-Smtp-Source: AA+uWPwwoVxSQLV7cjPoIT2vrb8+cTJ3DmtW4GwfNJqPa51kSj3MTNVUSBAI/jqDfttxJUSAQ8wG X-Received: by 2002:a17:902:5501:: with SMTP id f1-v6mr678191pli.219.1533793053799; Wed, 08 Aug 2018 22:37:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1533793053; cv=none; d=google.com; s=arc-20160816; b=l7ZgwIFI/ABQcTL/MyBZaiYgaXJ+CIxhFT2rOxBF7bP1xy/cHFbQ9aAYAgPTn2Hy7l RUwnwW66KaagvMCkJFZB1AB5iDtbyjraMECBVBkA+xrK201afXumVOPIpD7mCgiRJSpy HUTsJTEcTdr6TMxAIWV6Be97D8VXjuUTiY+JkUyFDZ3NS9Z9ra9VfDe0q1plDy68obDq Ev1cZ7Loa6LHimcWDddZui+oveOkgBONBjslvvEbXtTacWC06sAUJhxi3tFZYJzoWVLb CSvDQuiHJ+m5+bmOOmlhqsiuaWb7IH+KC82vLTeoy2Dh9LPigce6X07pVAuiEGojWYdY TXbA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=ATVkyJSeuWlHFUfjojmFc+iS+BIz/WqlEzLIsgYuBbM=; b=G4tyvLCiQ1hIhtqJ4bNgPKADF1B19wnYmRNJkA0QvRQ/Y2qGIOgXKwrtK+mhsG2nNn sLqsJj+G57PlyGI3GLnR4fwIfAhkSkkmWsCSxQ+ua2rv/qPrIscjoigsirW7TnC/opTp 0fJ4Xhg9Ryk51LtouhYk6oj8gJ2eYMqi1698querXn9VhKqpQjShcAH+0I9CxX9lP0m/ f37R7KPmm4nPH/ik8SMD1oOve7QKxnE+OoQGxRgAIx6WebEPqsyqX3QHodmqL9krHrrk qZPW4qKnd5/pQEKg3izprXBCa4hmbbihbBhYBIY3sUDyQOjMHMtP1RuUwsdxMhEnZlMe rMCQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=EiGvXJBD; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v17-v6si6142503pgk.135.2018.08.08.22.37.33; Wed, 08 Aug 2018 22:37:33 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=EiGvXJBD; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729745AbeHIIAe (ORCPT + 31 others); Thu, 9 Aug 2018 04:00:34 -0400 Received: from mail-pf1-f196.google.com ([209.85.210.196]:39614 "EHLO mail-pf1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728788AbeHIIAe (ORCPT ); Thu, 9 Aug 2018 04:00:34 -0400 Received: by mail-pf1-f196.google.com with SMTP id j8-v6so2283858pff.6 for ; Wed, 08 Aug 2018 22:37:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=ATVkyJSeuWlHFUfjojmFc+iS+BIz/WqlEzLIsgYuBbM=; b=EiGvXJBDjtMu1ewnI62Vac2Skj6AiHnjAhMFqcP9PrqXdiPBwkOmKbuOX9GfmG6NA2 ZFN7K5JW5hTgtN0DFJCCGzRipIS/NoX0Sj5gvg8I+mAf5Vt1oyQosZoEL09jao4o6nCo W4MMKSKnJLFJ/WUf9QdzhOJMogGXwzTWTiBHw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=ATVkyJSeuWlHFUfjojmFc+iS+BIz/WqlEzLIsgYuBbM=; b=rTzFWJ6AJbtrwxsn8m9GJXwShbOOomMtnToI0pfyzEpX+xv5+VjBCwyUG6AE4Ij0Y4 RvkeuCBXIxzCcaKyqmYsxVWrgzB2bOB2MMBYZCOTxpx3b92lKHtfiZ9qcFrvtgUeyLn3 xcoSbh6dnvulgzZaI45m3KMqx1xyFP+cUdKDUXYgenG56KCFPlbJbmh4+Edcxucxkhbw ZTDN7nOcvm27eviz+TuwbqfPprziFFeM9dyk6//7Hzw1DxC7aQobi8oJcLR/o8EN/IpO ReIry+MgVivyx+nFJzDiWb4+w6X32RZooXhn/6eepNDzMUeWhZnbHTRSSHCURboyCK6r RFaw== X-Gm-Message-State: AOUpUlG1ewBFMyuBv9WkgA3gOivARjKrYCvMGdL7K0pu/hLtKXVnDZ/C /slWCs7HzYqg9X2JNsmb8LR71X72v10= X-Received: by 2002:a62:5e45:: with SMTP id s66-v6mr775613pfb.129.1533793049355; Wed, 08 Aug 2018 22:37:29 -0700 (PDT) Received: from qualcomm-HP-ZBook-14-G2.qualcomm.com (blr-bdr-fw-01_globalnat_allzones-outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id r11-v6sm5826229pgn.62.2018.08.08.22.37.22 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 08 Aug 2018 22:37:28 -0700 (PDT) From: Firoz Khan To: linux-sh@vger.kernel.org, Yoshinori Sato , Rich Felker , Steven Rostedt , Ingo Molnar , Greg Kroah-Hartman , Philippe Ombredanne , Thomas Gleixner , Kate Stewart Cc: y2038@lists.linaro.org, linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, arnd@arndb.de, deepa.kernel@gmail.com, marcin.juszkiewicz@linaro.org, firoz.khan@linaro.org Subject: [PATCH 2/3] sh: Added system call table generation support Date: Thu, 9 Aug 2018 11:06:44 +0530 Message-Id: <1533793005-4525-3-git-send-email-firoz.khan@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1533793005-4525-1-git-send-email-firoz.khan@linaro.org> References: <1533793005-4525-1-git-send-email-firoz.khan@linaro.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The system call tables are in different format in all architecture and it will be difficult to manually add or modify the system calls in the respective files. To make it easy by keeping a script and which'll generate the header file and syscall table file so this change will unify them across all architectures. The system call table generation script is added in syscalls directory which contain the script to generate both uapi header file system call table generation file and syscall.tbl file which'll be the input for the scripts. syscall.tbl contains the list of available system calls along with system call number and corresponding entry point. Add a new system call in this architecture will be possible by adding new entry in the syscall.tbl file. Adding a new table entry consisting of: - System call number. - ABI. - System call name. - Entry point name. syscallhdr.sh and syscalltbl.sh will generate uapi header- unistd.h and syscall_table.h files respectively. File syscall_table.h is included by syscall.S - the real system call table. Both .sh files will parse the content syscall.tbl to generate the header and table files. ARM, s390 and x86 architecuture does have the similar support. I leverage their implementation to come up with a generic solution. And this is the ground work for y2038 issue. We need to change 52 system call implementation and this work will reduce the effort by simply modify 52 entries in syscall.tbl. Signed-off-by: Firoz Khan --- arch/sh/kernel/syscalls/Makefile | 37 ++++ arch/sh/kernel/syscalls/syscall.tbl | 388 ++++++++++++++++++++++++++++++++++ arch/sh/kernel/syscalls/syscallhdr.sh | 33 +++ arch/sh/kernel/syscalls/syscalltbl.sh | 28 +++ 4 files changed, 486 insertions(+) create mode 100644 arch/sh/kernel/syscalls/Makefile create mode 100644 arch/sh/kernel/syscalls/syscall.tbl create mode 100644 arch/sh/kernel/syscalls/syscallhdr.sh create mode 100644 arch/sh/kernel/syscalls/syscalltbl.sh -- 1.9.1 diff --git a/arch/sh/kernel/syscalls/Makefile b/arch/sh/kernel/syscalls/Makefile new file mode 100644 index 0000000..7624044 --- /dev/null +++ b/arch/sh/kernel/syscalls/Makefile @@ -0,0 +1,37 @@ +# SPDX-License-Identifier: GPL-2.0 +out := arch/$(SRCARCH)/include/generated/asm +uapi := arch/$(SRCARCH)/include/generated/uapi/asm + +_dummy := $(shell [ -d '$(uapi)' ] || mkdir -p '$(uapi)') \ + $(shell [ -d '$(out)' ] || mkdir -p '$(out)') + +syscall := $(srctree)/$(src)/syscall.tbl + +syshdr := $(srctree)/$(src)/syscallhdr.sh +systbl := $(srctree)/$(src)/syscalltbl.sh + +quiet_cmd_syshdr = SYSHDR $@ + cmd_syshdr = $(CONFIG_SHELL) '$(syshdr)' '$<' '$@' \ + '$(syshdr_abi_$(basetarget))' \ + '$(syshdr_pfx_$(basetarget))' \ + '$(syshdr_offset_$(basetarget))' + +quiet_cmd_systbl = SYSTBL $@ + cmd_systbl = $(CONFIG_SHELL) '$(systbl)' '$<' '$@' \ + '$(systbl_abi_$(basetarget))' + +$(uapi)/unistd_32.h: $(syscall) $(syshdr) + $(call if_changed,syshdr) + +$(out)/syscall_table.h: $(syscall) $(systbl) + $(call if_changed,systbl) + +uapisyshdr-y += unistd_32.h +syshdr-y += syscall_table.h + +targets += $(uapisyshdr-y) $(syshdr-y) + +PHONY += all +all: $(addprefix $(uapi)/,$(uapisyshdr-y)) +all: $(addprefix $(out)/,$(syshdr-y)) + @: diff --git a/arch/sh/kernel/syscalls/syscall.tbl b/arch/sh/kernel/syscalls/syscall.tbl new file mode 100644 index 0000000..8fe5187 --- /dev/null +++ b/arch/sh/kernel/syscalls/syscall.tbl @@ -0,0 +1,388 @@ +# +# Linux system call numbers and entry vectors +# +# The format is: +# +# +# The abi is always "common" for this file. +# +0 common restart_syscall sys_restart_syscall +1 common exit sys_exit +2 common fork sys_fork +3 common read sys_read +4 common write sys_write +5 common open sys_open +6 common close sys_close +7 common waitpid sys_waitpid +8 common creat sys_creat +9 common link sys_link +10 common unlink sys_unlink +11 common execve sys_execve +12 common chdir sys_chdir +13 common time sys_time +14 common mknod sys_mknod +15 common chmod sys_chmod +16 common lchown sys_lchown16 +17 common break sys_ni_syscall +18 common oldstat sys_stat +19 common lseek sys_lseek +20 common getpid sys_getpid +21 common mount sys_mount +22 common umount sys_oldumount +23 common setuid sys_setuid16 +24 common getuid sys_getuid16 +25 common stime sys_stime +26 common ptrace sys_ptrace +27 common alarm sys_alarm +28 common oldfstat sys_fstat +29 common pause sys_pause +30 common utime sys_utime +31 common stty sys_ni_syscall +32 common gtty sys_ni_syscall +33 common access sys_access +34 common nice sys_nice +35 common ftime sys_ni_syscall +36 common sync sys_sync +37 common kill sys_kill +38 common rename sys_rename +39 common mkdir sys_mkdir +40 common rmdir sys_rmdir +41 common dup sys_dup +42 common pipe sys_sh_pipe +43 common times sys_times +44 common prof sys_ni_syscall +45 common brk sys_brk +46 common setgid sys_setgid16 +47 common getgid sys_getgid16 +48 common signal sys_signal +49 common geteuid sys_geteuid16 +50 common getegid sys_getegid16 +51 common acct sys_acct +52 common umount2 sys_umount +53 common lock sys_ni_syscall +54 common ioctl sys_ioctl +55 common fcntl sys_fcntl +56 common mpx sys_ni_syscall +57 common setpgid sys_setpgid +58 common ulimit sys_ni_syscall +59 common oldolduname sys_ni_syscall +60 common umask sys_umask +61 common chroot sys_chroot +62 common ustat sys_ustat +63 common dup2 sys_dup2 +64 common getppid sys_getppid +65 common getpgrp sys_getpgrp +66 common setsid sys_setsid +67 common sigaction sys_sigaction +68 common sgetmask sys_sgetmask +69 common ssetmask sys_ssetmask +70 common setreuid sys_setreuid16 +71 common setregid sys_setregid16 +72 common sigsuspend sys_sigsuspend +73 common sigpending sys_sigpending +74 common sethostname sys_sethostname +75 common setrlimit sys_setrlimit +76 common getrlimit sys_old_getrlimit +77 common getrusage sys_getrusage +78 common gettimeofday sys_gettimeofday +79 common settimeofday sys_settimeofday +80 common getgroups sys_getgroups16 +81 common setgroups sys_setgroups16 +82 common select sys_ni_syscall +83 common symlink sys_symlink +84 common oldlstat sys_lstat +85 common readlink sys_readlink +86 common uselib sys_uselib +87 common swapon sys_swapon +88 common reboot sys_reboot +89 common readdir sys_old_readdir +90 common mmap old_mmap +91 common munmap sys_munmap +92 common truncate sys_truncate +93 common ftruncate sys_ftruncate +94 common fchmod sys_fchmod +95 common fchown sys_fchown16 +96 common getpriority sys_getpriority +97 common setpriority sys_setpriority +98 common profil sys_ni_syscall +99 common statfs sys_statfs +100 common fstatfs sys_fstatfs +101 common ioperm sys_ni_syscall +102 common socketcall sys_socketcall +103 common syslog sys_syslog +104 common setitimer sys_setitimer +105 common getitimer sys_getitimer +106 common stat sys_newstat +107 common lstat sys_newlstat +108 common fstat sys_newfstat +109 common olduname sys_uname +110 common iopl sys_ni_syscall +111 common vhangup sys_vhangup +112 common idle sys_ni_syscall +113 common vm86old sys_ni_syscall +114 common wait4 sys_wait4 +115 common swapoff sys_swapoff +116 common sysinfo sys_sysinfo +117 common ipc sys_ipc +118 common fsync sys_fsync +119 common sigreturn sys_sigreturn +120 common clone sys_clone +121 common setdomainname sys_setdomainname +122 common uname sys_newuname +123 common cacheflush sys_cacheflush +124 common adjtimex sys_adjtimex +125 common mprotect sys_mprotect +126 common sigprocmask sys_sigprocmask +127 common create_module sys_ni_syscall +128 common init_module sys_init_module +129 common delete_module sys_delete_module +130 common get_kernel_syms sys_ni_syscall +131 common quotactl sys_quotactl +132 common getpgid sys_getpgid +133 common fchdir sys_fchdir +134 common bdflush sys_bdflush +135 common sysfs sys_sysfs +136 common personality sys_personality +137 common afs_syscall sys_ni_syscall +138 common setfsuid sys_setfsuid16 +139 common setfsgid sys_setfsgid16 +140 common _llseek sys_llseek +141 common getdents sys_getdents +142 common _newselect sys_select +143 common flock sys_flock +144 common msync sys_msync +145 common readv sys_readv +146 common writev sys_writev +147 common getsid sys_getsid +148 common fdatasync sys_fdatasync +149 common _sysctl sys_sysctl +150 common mlock sys_mlock +151 common munlock sys_munlock +152 common mlockall sys_mlockall +153 common munlockall sys_munlockall +154 common sched_setparam sys_sched_setparam +155 common sched_getparam sys_sched_getparam +156 common sched_setscheduler sys_sched_setscheduler +157 common sched_getscheduler sys_sched_getscheduler +158 common sched_yield sys_sched_yield +159 common sched_get_priority_max sys_sched_get_priority_max +160 common sched_get_priority_min sys_sched_get_priority_min +161 common sched_rr_get_interval sys_sched_rr_get_interval +162 common nanosleep sys_nanosleep +163 common mremap sys_mremap +164 common setresuid sys_setresuid16 +165 common getresuid sys_getresuid16 +166 common vm86 sys_ni_syscall +167 common query_module sys_ni_syscall +168 common poll sys_poll +169 common nfsservctl sys_ni_syscall +170 common setresgid sys_setresgid16 +171 common getresgid sys_getresgid16 +172 common prctl sys_prctl +173 common rt_sigreturn sys_rt_sigreturn +174 common rt_sigaction sys_rt_sigaction +175 common rt_sigprocmask sys_rt_sigprocmask +176 common rt_sigpending sys_rt_sigpending +177 common rt_sigtimedwait sys_rt_sigtimedwait +178 common rt_sigqueueinfo sys_rt_sigqueueinfo +179 common rt_sigsuspend sys_rt_sigsuspend +180 common pread64 sys_pread_wrapper +181 common pwrite64 sys_pwrite_wrapper +182 common chown sys_chown16 +183 common getcwd sys_getcwd +184 common capget sys_capget +185 common capset sys_capset +186 common sigaltstack sys_sigaltstack +187 common sendfile sys_sendfile +188 common getpmsg sys_ni_syscall +189 common putpmsg sys_ni_syscall +190 common vfork sys_vfork +191 common ugetrlimit sys_getrlimit +192 common mmap2 sys_mmap2 +193 common truncate64 sys_truncate64 +194 common ftruncate64 sys_ftruncate64 +195 common stat64 sys_stat64 +196 common lstat64 sys_lstat64 +197 common fstat64 sys_fstat64 +198 common lchown32 sys_lchown +199 common getuid32 sys_getuid +200 common getgid32 sys_getgid +201 common geteuid32 sys_geteuid +202 common getegid32 sys_getegid +203 common setreuid32 sys_setreuid +204 common setregid32 sys_setregid +205 common getgroups32 sys_getgroups +206 common setgroups32 sys_setgroups +207 common fchown32 sys_fchown +208 common setresuid32 sys_setresuid +209 common getresuid32 sys_getresuid +210 common setresgid32 sys_setresgid +211 common getresgid32 sys_getresgid +212 common chown32 sys_chown +213 common setuid32 sys_setuid +214 common setgid32 sys_setgid +215 common setfsuid32 sys_setfsuid +216 common setfsgid32 sys_setfsgid +217 common pivot_root sys_pivot_root +218 common mincore sys_mincore +219 common madvise sys_madvise +220 common getdents64 sys_getdents64 +221 common fcntl64 sys_fcntl64 +222 common tux sys_ni_syscall +224 common gettid sys_gettid +225 common readahead sys_readahead +226 common setxattr sys_setxattr +227 common lsetxattr sys_lsetxattr +228 common fsetxattr sys_fsetxattr +229 common getxattr sys_getxattr +230 common lgetxattr sys_lgetxattr +231 common fgetxattr sys_fgetxattr +232 common listxattr sys_listxattr +233 common llistxattr sys_llistxattr +234 common flistxattr sys_flistxattr +235 common removexattr sys_removexattr +236 common lremovexattr sys_lremovexattr +237 common fremovexattr sys_fremovexattr +238 common tkill sys_tkill +239 common sendfile64 sys_sendfile64 +240 common futex sys_futex +241 common sched_setaffinity sys_sched_setaffinity +242 common sched_getaffinity sys_sched_getaffinity +243 common set_thread_area sys_ni_syscall +244 common get_thread_area sys_ni_syscall +245 common io_setup sys_io_setup +246 common io_destroy sys_io_destroy +247 common io_getevents sys_io_getevents +248 common io_submit sys_io_submit +249 common io_cancel sys_io_cancel +250 common fadvise64 sys_fadvise64 +252 common exit_group sys_exit_group +253 common lookup_dcookie sys_lookup_dcookie +254 common epoll_create sys_epoll_create +255 common epoll_ctl sys_epoll_ctl +256 common epoll_wait sys_epoll_wait +257 common remap_file_pages sys_remap_file_pages +258 common set_tid_address sys_set_tid_address +259 common timer_create sys_timer_create +260 common timer_settime sys_timer_settime +261 common timer_gettime sys_timer_gettime +262 common timer_getoverrun sys_timer_getoverrun +263 common timer_delete sys_timer_delete +264 common clock_settime sys_clock_settime +265 common clock_gettime sys_clock_gettime +266 common clock_getres sys_clock_getres +267 common clock_nanosleep sys_clock_nanosleep +268 common statfs64 sys_statfs64 +269 common fstatfs64 sys_fstatfs64 +270 common tgkill sys_tgkill +271 common utimes sys_utimes +272 common fadvise64_64 sys_fadvise64_64_wrapper +273 common vserver sys_ni_syscall +274 common mbind sys_mbind +275 common get_mempolicy sys_get_mempolicy +276 common set_mempolicy sys_set_mempolicy +277 common mq_open sys_mq_open +278 common mq_unlink sys_mq_unlink +279 common mq_timedsend sys_mq_timedsend +280 common mq_timedreceive sys_mq_timedreceive +281 common mq_notify sys_mq_notify +282 common mq_getsetattr sys_mq_getsetattr +283 common kexec_load sys_kexec_load +284 common waitid sys_waitid +285 common add_key sys_add_key +286 common request_key sys_request_key +287 common keyctl sys_keyctl +288 common ioprio_set sys_ioprio_set +289 common ioprio_get sys_ioprio_get +290 common inotify_init sys_inotify_init +291 common inotify_add_watch sys_inotify_add_watch +292 common inotify_rm_watch sys_inotify_rm_watch +294 common migrate_pages sys_migrate_pages +295 common openat sys_openat +296 common mkdirat sys_mkdirat +297 common mknodat sys_mknodat +298 common fchownat sys_fchownat +299 common futimesat sys_futimesat +300 common fstatat64 sys_fstatat64 +301 common unlinkat sys_unlinkat +302 common renameat sys_renameat +303 common linkat sys_linkat +304 common symlinkat sys_symlinkat +305 common readlinkat sys_readlinkat +306 common fchmodat sys_fchmodat +307 common faccessat sys_faccessat +308 common pselect6 sys_pselect6 +309 common ppoll sys_ppoll +310 common unshare sys_unshare +311 common set_robust_list sys_set_robust_list +312 common get_robust_list sys_get_robust_list +313 common splice sys_splice +314 common sync_file_range sys_sync_file_range +315 common tee sys_tee +316 common vmsplice sys_vmsplice +317 common move_pages sys_move_pages +318 common getcpu sys_getcpu +319 common epoll_pwait sys_epoll_pwait +320 common utimensat sys_utimensat +321 common signalfd sys_signalfd +322 common timerfd_create sys_timerfd_create +323 common eventfd sys_eventfd +324 common fallocate sys_fallocate +325 common timerfd_settime sys_timerfd_settime +326 common timerfd_gettime sys_timerfd_gettime +327 common signalfd4 sys_signalfd4 +328 common eventfd2 sys_eventfd2 +329 common epoll_create1 sys_epoll_create1 +330 common dup3 sys_dup3 +331 common pipe2 sys_pipe2 +332 common inotify_init1 sys_inotify_init1 +333 common preadv sys_preadv +334 common pwritev sys_pwritev +335 common rt_tgsigqueueinfo sys_rt_tgsigqueueinfo +336 common perf_event_open sys_perf_event_open +337 common fanotify_init sys_fanotify_init +338 common fanotify_mark sys_fanotify_mark +339 common prlimit64 sys_prlimit64 +340 common socket sys_socket +341 common bind sys_bind +342 common connect sys_connect +343 common listen sys_listen +344 common accept sys_accept +345 common getsockname sys_getsockname +346 common getpeername sys_getpeername +347 common socketpair sys_socketpair +348 common send sys_send +349 common sendto sys_sendto +350 common recv sys_recv +351 common recvfrom sys_recvfrom +352 common shutdown sys_shutdown +353 common setsockopt sys_setsockopt +354 common getsockopt sys_getsockopt +355 common sendmsg sys_sendmsg +356 common recvmsg sys_recvmsg +357 common recvmmsg sys_recvmmsg +358 common accept4 sys_accept4 +359 common name_to_handle_at sys_name_to_handle_at +360 common open_by_handle_at sys_open_by_handle_at +361 common clock_adjtime sys_clock_adjtime +362 common syncfs sys_syncfs +363 common sendmmsg sys_sendmmsg +364 common setns sys_setns +365 common process_vm_readv sys_process_vm_readv +366 common process_vm_writev sys_process_vm_writev +367 common kcmp sys_kcmp +368 common finit_module sys_finit_module +369 common sched_getattr sys_sched_getattr +370 common sched_setattr sys_sched_setattr +371 common renameat2 sys_renameat2 +372 common seccomp sys_seccomp +373 common getrandom sys_getrandom +374 common memfd_create sys_memfd_create +375 common bpf sys_bpf +376 common execveat sys_execveat +377 common userfaultfd sys_userfaultfd +378 common membarrier sys_membarrier +379 common mlock2 sys_mlock2 +380 common copy_file_range sys_copy_file_range +381 common preadv2 sys_preadv2 +382 common pwritev2 sys_pwritev2 diff --git a/arch/sh/kernel/syscalls/syscallhdr.sh b/arch/sh/kernel/syscalls/syscallhdr.sh new file mode 100644 index 0000000..1b99fff --- /dev/null +++ b/arch/sh/kernel/syscalls/syscallhdr.sh @@ -0,0 +1,33 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0 + +in="$1" +out="$2" +my_abis=`echo "($3)" | tr ',' '|'` +prefix="$4" +offset="$5" + +fileguard=__ASM_SH_`basename "$out" | sed \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \ + -e 's/[^A-Z0-9_]/_/g' -e 's/__/_/g'` +grep -E "^[0-9A-Fa-fXx]+[[:space:]]+${my_abis}" "$in" | sort -n | ( + echo "#ifndef ${fileguard}" + echo "#define ${fileguard}" + echo "" + + nxt=0 + while read nr abi name entry ; do + if [ -z "$offset" ]; then + echo -e "#define __NR_${prefix}${name}\t$nr" + else + echo -e "#define __NR_${prefix}${name}\t($offset + $nr)" + fi + nxt=$nr + let nxt=nxt+1 + done + + echo "" + echo -e "#define __NR_syscalls\t$nxt" + echo "" + echo "#endif /* ${fileguard} */" +) > "$out" diff --git a/arch/sh/kernel/syscalls/syscalltbl.sh b/arch/sh/kernel/syscalls/syscalltbl.sh new file mode 100644 index 0000000..04d4e4e --- /dev/null +++ b/arch/sh/kernel/syscalls/syscalltbl.sh @@ -0,0 +1,28 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0 + +in="$1" +out="$2" +my_abi="$3" + +emit() { + nxt="$1" + nr="$2" + entry="$3" + + while [ $nxt -lt $nr ]; do + echo "__SYSCALL($nxt, sys_ni_syscall, )" + let nxt=nxt+1 + done + + echo "__SYSCALL($nr, $entry, )" +} + +grep '^[0-9]' "$in" | sort -n | ( + nxt=0 + while read nr abi name entry ; do + emit $nxt $nr $entry + nxt=$nr + let nxt=nxt+1 + done +) > "$out" From patchwork Thu Aug 9 05:36:45 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Firoz Khan X-Patchwork-Id: 143695 Delivered-To: patch@linaro.org Received: by 2002:a2e:9754:0:0:0:0:0 with SMTP id f20-v6csp1657734ljj; Wed, 8 Aug 2018 22:37:40 -0700 (PDT) X-Google-Smtp-Source: AA+uWPzYF9xGs1GWyf1yE/5ts+gchqjLaEo5ZeEHG6SddbAbsID9OoJ5eMoqzpr6XvwKnx5APeqY X-Received: by 2002:a62:6d02:: with SMTP id i2-v6mr783203pfc.218.1533793060822; Wed, 08 Aug 2018 22:37:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1533793060; cv=none; d=google.com; s=arc-20160816; b=a8W7f2ABGlc/6LXQ94i8UG6w3d5mdkmISMWgv8tWRyjePra2FmzwUtkoapcsnmEmV+ 3MJIPalPw7CXtMKBoy8qtLUdVq8fhKzzMYA3HGpzEvqpP487ZJh/SNue3yuLT7MGzt7K Op8Km70juAb38jQWOcNRfpYo3rIk1TS3siUwiPJkmNViYYQSHcHLeLnGDlWzoWfc4lV7 y+eJ/KL36F8+FxmnPw0ubiD3AxdiHYDFPezCfZIiOVivgDHQsrtLcSz+l94F7A+EMYam fXiBDSxXeVYvXXXJlf9bC+Yqxa7agf4PD2WYe0vuoXdPENEneOOgJUe3zqihimcN3sxa 14Jg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=DH1QKFP27qFMPWVBoFKKf9QuSgQSOweUfut6B5fMi/I=; b=SDl5hclm8Jbg5L7nMgytrXgPYSQcqfSk+rlqADyye736bGQAyW37btkS837hpMLenk uVzRL9REaokwVRYaGhUki3r2x3fOgM56t8r+Dy6NFHXSRTVhRarM2w1DN5cb/l6vsKRw sjVCHdw3BZPZxPvk56c6QPeS19DZ/s1avy0rqAJ78131y8oL+M8VDuie2pLVN3MzHL9Z o0ft+qYcxyKiJGsAvE31yG5Otfr0ckudYu2XIdWr1o4tYG9IDRiShndqHHPcpDhmGHMy v00ofE/YvG+TjVtF19EpIcoWsNdmwHlGh1L7LsRxEYLAytpTXBA7uBUmFfEEK1dPupx8 DtZA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="PD1qFwW/"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f18-v6si6361474pgd.16.2018.08.08.22.37.40; Wed, 08 Aug 2018 22:37:40 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="PD1qFwW/"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729843AbeHIIAk (ORCPT + 31 others); Thu, 9 Aug 2018 04:00:40 -0400 Received: from mail-pg1-f194.google.com ([209.85.215.194]:33685 "EHLO mail-pg1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728488AbeHIIAk (ORCPT ); Thu, 9 Aug 2018 04:00:40 -0400 Received: by mail-pg1-f194.google.com with SMTP id r5-v6so2207208pgv.0 for ; Wed, 08 Aug 2018 22:37:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=DH1QKFP27qFMPWVBoFKKf9QuSgQSOweUfut6B5fMi/I=; b=PD1qFwW/fXyeKa+VLqXsrVlvaITVOe4Lhs6VdKV7xtZMF0rIuyWiRsUK9YXs1Nxm/R CTsDeif9qaVVwtp8qJh/rAeaNnAhYRhU2BQpSOvIKbkI7/o/u5LvZnV8R62razkVK7WW ctZh9rf9A2n82MxFrMwHqb5f7+9trh0teCypI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=DH1QKFP27qFMPWVBoFKKf9QuSgQSOweUfut6B5fMi/I=; b=MirSC4jd13OOVVWXa2nX6I9aCPX4X27jXDRiC/UoEp9mxSByw1mnPSLxFTQE0J2tcx pNJm3SsIsoAbWzzqdTg7D6Ftm/26Naz+XObdsUrSz8rDaQH8bJf2CkFVGswAqV4f3yG2 fE04UyX/whG0bUBGlhEbDGBInUQKHG08wAW4eFgd6ewf83Tswz+WF5IiTLtR/2wfc5cq lBE27SuIirTbCcUPki7O6Pp7Ky2Xy84eK4/DDdMIgCJBOvREscJL4KkzihjeWtMZyyG2 VvmevBkVp0/WI1qPQR+ibS/hVrcV+RY9t6Urd6Sc1YW07hhTIM1rQQp19hnBREq0rxT6 Pp3A== X-Gm-Message-State: AOUpUlEQV3mVwDjy+XjKbjR9D3lvV/0OLP/87chKF+gWKYkjq4wee3mN 9zG3mhlo/I3EzWwNA6SgELfqmA== X-Received: by 2002:a63:3d41:: with SMTP id k62-v6mr708916pga.254.1533793056068; Wed, 08 Aug 2018 22:37:36 -0700 (PDT) Received: from qualcomm-HP-ZBook-14-G2.qualcomm.com (blr-bdr-fw-01_globalnat_allzones-outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id r11-v6sm5826229pgn.62.2018.08.08.22.37.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 08 Aug 2018 22:37:35 -0700 (PDT) From: Firoz Khan To: linux-sh@vger.kernel.org, Yoshinori Sato , Rich Felker , Steven Rostedt , Ingo Molnar , Greg Kroah-Hartman , Philippe Ombredanne , Thomas Gleixner , Kate Stewart Cc: y2038@lists.linaro.org, linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, arnd@arndb.de, deepa.kernel@gmail.com, marcin.juszkiewicz@linaro.org, firoz.khan@linaro.org Subject: [PATCH 3/3] sh: uapi header and system call table file generation Date: Thu, 9 Aug 2018 11:06:45 +0530 Message-Id: <1533793005-4525-4-git-send-email-firoz.khan@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1533793005-4525-1-git-send-email-firoz.khan@linaro.org> References: <1533793005-4525-1-git-send-email-firoz.khan@linaro.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org System call table generation script must be run to generate unistd_64.h and syscall_table.h files. This patch will have changes which will invokes the script. This patch will generate unistd_64.h and syscall_table.h files by the syscall table generation script invoked by arch/ia64/Makefile and the generated files against the removed files will be identical. The generated uapi header file will be included in uapi/asm/unistd.h and generated system call table support file will be included by ia64/kernel/syscall_table.S file. Signed-off-by: Firoz Khan --- arch/sh/Makefile | 3 + arch/sh/include/asm/Kbuild | 2 + arch/sh/include/uapi/asm/Kbuild | 2 + arch/sh/kernel/Makefile | 2 +- arch/sh/kernel/syscall.S | 9 + arch/sh/kernel/syscalls_32.S | 402 ---------------------------------------- 6 files changed, 17 insertions(+), 403 deletions(-) create mode 100644 arch/sh/kernel/syscall.S delete mode 100644 arch/sh/kernel/syscalls_32.S -- 1.9.1 diff --git a/arch/sh/Makefile b/arch/sh/Makefile index 65300193..19ca795 100644 --- a/arch/sh/Makefile +++ b/arch/sh/Makefile @@ -228,6 +228,9 @@ archclean: $(Q)$(MAKE) $(clean)=$(boot) $(Q)$(MAKE) $(clean)=arch/sh/kernel/vsyscall +archheaders: + $(Q)$(MAKE) $(build)=arch/sh/kernel/syscalls all + define archhelp @echo ' zImage - Compressed kernel image' @echo ' romImage - Compressed ROM image, if supported' diff --git a/arch/sh/include/asm/Kbuild b/arch/sh/include/asm/Kbuild index 46dd82a..a907c57 100644 --- a/arch/sh/include/asm/Kbuild +++ b/arch/sh/include/asm/Kbuild @@ -18,3 +18,5 @@ generic-y += serial.h generic-y += sizes.h generic-y += trace_clock.h generic-y += xor.h + +generated-y += syscall_table.h \ No newline at end of file diff --git a/arch/sh/include/uapi/asm/Kbuild b/arch/sh/include/uapi/asm/Kbuild index ba4d39c..443b746 100644 --- a/arch/sh/include/uapi/asm/Kbuild +++ b/arch/sh/include/uapi/asm/Kbuild @@ -21,3 +21,5 @@ generic-y += statfs.h generic-y += termbits.h generic-y += termios.h generic-y += ucontext.h + +generated-y += unistd_32.h \ No newline at end of file diff --git a/arch/sh/kernel/Makefile b/arch/sh/kernel/Makefile index dc80041..a042981 100644 --- a/arch/sh/kernel/Makefile +++ b/arch/sh/kernel/Makefile @@ -18,7 +18,7 @@ obj-y := debugtraps.o dma-nommu.o dumpstack.o \ process_$(BITS).o ptrace.o ptrace_$(BITS).o \ reboot.o return_address.o \ setup.o signal_$(BITS).o sys_sh.o \ - syscalls_$(BITS).o time.o topology.o traps.o \ + syscall.o time.o topology.o traps.o \ traps_$(BITS).o unwinder.o ifndef CONFIG_GENERIC_IOMAP diff --git a/arch/sh/kernel/syscall.S b/arch/sh/kernel/syscall.S new file mode 100644 index 0000000..317a2a9 --- /dev/null +++ b/arch/sh/kernel/syscall.S @@ -0,0 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#include +#include + +#define __SYSCALL(nr, entry, nargs) .long entry + +.data +ENTRY(sys_call_table) +#include diff --git a/arch/sh/kernel/syscalls_32.S b/arch/sh/kernel/syscalls_32.S deleted file mode 100644 index 254bc22..0000000 --- a/arch/sh/kernel/syscalls_32.S +++ /dev/null @@ -1,402 +0,0 @@ -/* - * arch/sh/kernel/syscalls.S - * - * System call table for SuperH - * - * Copyright (C) 1999, 2000, 2002 Niibe Yutaka - * Copyright (C) 2003 Paul Mundt - * - * This file is subject to the terms and conditions of the GNU General Public - * License. See the file "COPYING" in the main directory of this archive - * for more details. - * - */ -#include -#include - - .data -ENTRY(sys_call_table) - .long sys_restart_syscall /* 0 - old "setup()" system call*/ - .long sys_exit - .long sys_fork - .long sys_read - .long sys_write - .long sys_open /* 5 */ - .long sys_close - .long sys_waitpid - .long sys_creat - .long sys_link - .long sys_unlink /* 10 */ - .long sys_execve - .long sys_chdir - .long sys_time - .long sys_mknod - .long sys_chmod /* 15 */ - .long sys_lchown16 - .long sys_ni_syscall /* old break syscall holder */ - .long sys_stat - .long sys_lseek - .long sys_getpid /* 20 */ - .long sys_mount - .long sys_oldumount - .long sys_setuid16 - .long sys_getuid16 - .long sys_stime /* 25 */ - .long sys_ptrace - .long sys_alarm - .long sys_fstat - .long sys_pause - .long sys_utime /* 30 */ - .long sys_ni_syscall /* old stty syscall holder */ - .long sys_ni_syscall /* old gtty syscall holder */ - .long sys_access - .long sys_nice - .long sys_ni_syscall /* 35 */ /* old ftime syscall holder */ - .long sys_sync - .long sys_kill - .long sys_rename - .long sys_mkdir - .long sys_rmdir /* 40 */ - .long sys_dup - .long sys_sh_pipe - .long sys_times - .long sys_ni_syscall /* old prof syscall holder */ - .long sys_brk /* 45 */ - .long sys_setgid16 - .long sys_getgid16 - .long sys_signal - .long sys_geteuid16 - .long sys_getegid16 /* 50 */ - .long sys_acct - .long sys_umount /* recycled never used phys() */ - .long sys_ni_syscall /* old lock syscall holder */ - .long sys_ioctl - .long sys_fcntl /* 55 */ - .long sys_ni_syscall /* old mpx syscall holder */ - .long sys_setpgid - .long sys_ni_syscall /* old ulimit syscall holder */ - .long sys_ni_syscall /* sys_olduname */ - .long sys_umask /* 60 */ - .long sys_chroot - .long sys_ustat - .long sys_dup2 - .long sys_getppid - .long sys_getpgrp /* 65 */ - .long sys_setsid - .long sys_sigaction - .long sys_sgetmask - .long sys_ssetmask - .long sys_setreuid16 /* 70 */ - .long sys_setregid16 - .long sys_sigsuspend - .long sys_sigpending - .long sys_sethostname - .long sys_setrlimit /* 75 */ - .long sys_old_getrlimit - .long sys_getrusage - .long sys_gettimeofday - .long sys_settimeofday - .long sys_getgroups16 /* 80 */ - .long sys_setgroups16 - .long sys_ni_syscall /* sys_oldselect */ - .long sys_symlink - .long sys_lstat - .long sys_readlink /* 85 */ - .long sys_uselib - .long sys_swapon - .long sys_reboot - .long sys_old_readdir - .long old_mmap /* 90 */ - .long sys_munmap - .long sys_truncate - .long sys_ftruncate - .long sys_fchmod - .long sys_fchown16 /* 95 */ - .long sys_getpriority - .long sys_setpriority - .long sys_ni_syscall /* old profil syscall holder */ - .long sys_statfs - .long sys_fstatfs /* 100 */ - .long sys_ni_syscall /* ioperm */ - .long sys_socketcall - .long sys_syslog - .long sys_setitimer - .long sys_getitimer /* 105 */ - .long sys_newstat - .long sys_newlstat - .long sys_newfstat - .long sys_uname - .long sys_ni_syscall /* 110 */ /* iopl */ - .long sys_vhangup - .long sys_ni_syscall /* idle */ - .long sys_ni_syscall /* vm86old */ - .long sys_wait4 - .long sys_swapoff /* 115 */ - .long sys_sysinfo - .long sys_ipc - .long sys_fsync - .long sys_sigreturn - .long sys_clone /* 120 */ - .long sys_setdomainname - .long sys_newuname - .long sys_cacheflush /* x86: sys_modify_ldt */ - .long sys_adjtimex - .long sys_mprotect /* 125 */ - .long sys_sigprocmask - .long sys_ni_syscall /* old "create_module" */ - .long sys_init_module - .long sys_delete_module - .long sys_ni_syscall /* 130: old "get_kernel_syms" */ - .long sys_quotactl - .long sys_getpgid - .long sys_fchdir - .long sys_bdflush - .long sys_sysfs /* 135 */ - .long sys_personality - .long sys_ni_syscall /* for afs_syscall */ - .long sys_setfsuid16 - .long sys_setfsgid16 - .long sys_llseek /* 140 */ - .long sys_getdents - .long sys_select - .long sys_flock - .long sys_msync - .long sys_readv /* 145 */ - .long sys_writev - .long sys_getsid - .long sys_fdatasync - .long sys_sysctl - .long sys_mlock /* 150 */ - .long sys_munlock - .long sys_mlockall - .long sys_munlockall - .long sys_sched_setparam - .long sys_sched_getparam /* 155 */ - .long sys_sched_setscheduler - .long sys_sched_getscheduler - .long sys_sched_yield - .long sys_sched_get_priority_max - .long sys_sched_get_priority_min /* 160 */ - .long sys_sched_rr_get_interval - .long sys_nanosleep - .long sys_mremap - .long sys_setresuid16 - .long sys_getresuid16 /* 165 */ - .long sys_ni_syscall /* vm86 */ - .long sys_ni_syscall /* old "query_module" */ - .long sys_poll - .long sys_ni_syscall /* was nfsservctl */ - .long sys_setresgid16 /* 170 */ - .long sys_getresgid16 - .long sys_prctl - .long sys_rt_sigreturn - .long sys_rt_sigaction - .long sys_rt_sigprocmask /* 175 */ - .long sys_rt_sigpending - .long sys_rt_sigtimedwait - .long sys_rt_sigqueueinfo - .long sys_rt_sigsuspend - .long sys_pread_wrapper /* 180 */ - .long sys_pwrite_wrapper - .long sys_chown16 - .long sys_getcwd - .long sys_capget - .long sys_capset /* 185 */ - .long sys_sigaltstack - .long sys_sendfile - .long sys_ni_syscall /* getpmsg */ - .long sys_ni_syscall /* putpmsg */ - .long sys_vfork /* 190 */ - .long sys_getrlimit - .long sys_mmap2 - .long sys_truncate64 - .long sys_ftruncate64 - .long sys_stat64 /* 195 */ - .long sys_lstat64 - .long sys_fstat64 - .long sys_lchown - .long sys_getuid - .long sys_getgid /* 200 */ - .long sys_geteuid - .long sys_getegid - .long sys_setreuid - .long sys_setregid - .long sys_getgroups /* 205 */ - .long sys_setgroups - .long sys_fchown - .long sys_setresuid - .long sys_getresuid - .long sys_setresgid /* 210 */ - .long sys_getresgid - .long sys_chown - .long sys_setuid - .long sys_setgid - .long sys_setfsuid /* 215 */ - .long sys_setfsgid - .long sys_pivot_root - .long sys_mincore - .long sys_madvise - .long sys_getdents64 /* 220 */ - .long sys_fcntl64 - .long sys_ni_syscall /* reserved for TUX */ - .long sys_ni_syscall /* Reserved for Security */ - .long sys_gettid - .long sys_readahead /* 225 */ - .long sys_setxattr - .long sys_lsetxattr - .long sys_fsetxattr - .long sys_getxattr - .long sys_lgetxattr /* 230 */ - .long sys_fgetxattr - .long sys_listxattr - .long sys_llistxattr - .long sys_flistxattr - .long sys_removexattr /* 235 */ - .long sys_lremovexattr - .long sys_fremovexattr - .long sys_tkill - .long sys_sendfile64 - .long sys_futex /* 240 */ - .long sys_sched_setaffinity - .long sys_sched_getaffinity - .long sys_ni_syscall /* reserved for set_thread_area */ - .long sys_ni_syscall /* reserved for get_thread_area */ - .long sys_io_setup /* 245 */ - .long sys_io_destroy - .long sys_io_getevents - .long sys_io_submit - .long sys_io_cancel - .long sys_fadvise64 /* 250 */ - .long sys_ni_syscall - .long sys_exit_group - .long sys_lookup_dcookie - .long sys_epoll_create - .long sys_epoll_ctl /* 255 */ - .long sys_epoll_wait - .long sys_remap_file_pages - .long sys_set_tid_address - .long sys_timer_create - .long sys_timer_settime /* 260 */ - .long sys_timer_gettime - .long sys_timer_getoverrun - .long sys_timer_delete - .long sys_clock_settime - .long sys_clock_gettime /* 265 */ - .long sys_clock_getres - .long sys_clock_nanosleep - .long sys_statfs64 - .long sys_fstatfs64 - .long sys_tgkill /* 270 */ - .long sys_utimes - .long sys_fadvise64_64_wrapper - .long sys_ni_syscall /* Reserved for vserver */ - .long sys_mbind - .long sys_get_mempolicy /* 275 */ - .long sys_set_mempolicy - .long sys_mq_open - .long sys_mq_unlink - .long sys_mq_timedsend - .long sys_mq_timedreceive /* 280 */ - .long sys_mq_notify - .long sys_mq_getsetattr - .long sys_kexec_load - .long sys_waitid - .long sys_add_key /* 285 */ - .long sys_request_key - .long sys_keyctl - .long sys_ioprio_set - .long sys_ioprio_get - .long sys_inotify_init /* 290 */ - .long sys_inotify_add_watch - .long sys_inotify_rm_watch - .long sys_ni_syscall - .long sys_migrate_pages - .long sys_openat /* 295 */ - .long sys_mkdirat - .long sys_mknodat - .long sys_fchownat - .long sys_futimesat - .long sys_fstatat64 /* 300 */ - .long sys_unlinkat - .long sys_renameat - .long sys_linkat - .long sys_symlinkat - .long sys_readlinkat /* 305 */ - .long sys_fchmodat - .long sys_faccessat - .long sys_pselect6 - .long sys_ppoll - .long sys_unshare /* 310 */ - .long sys_set_robust_list - .long sys_get_robust_list - .long sys_splice - .long sys_sync_file_range - .long sys_tee /* 315 */ - .long sys_vmsplice - .long sys_move_pages - .long sys_getcpu - .long sys_epoll_pwait - .long sys_utimensat /* 320 */ - .long sys_signalfd - .long sys_timerfd_create - .long sys_eventfd - .long sys_fallocate - .long sys_timerfd_settime /* 325 */ - .long sys_timerfd_gettime - .long sys_signalfd4 - .long sys_eventfd2 - .long sys_epoll_create1 - .long sys_dup3 /* 330 */ - .long sys_pipe2 - .long sys_inotify_init1 - .long sys_preadv - .long sys_pwritev - .long sys_rt_tgsigqueueinfo /* 335 */ - .long sys_perf_event_open - .long sys_fanotify_init - .long sys_fanotify_mark - .long sys_prlimit64 - /* Broken-out socket family */ - .long sys_socket /* 340 */ - .long sys_bind - .long sys_connect - .long sys_listen - .long sys_accept - .long sys_getsockname /* 345 */ - .long sys_getpeername - .long sys_socketpair - .long sys_send - .long sys_sendto - .long sys_recv /* 350 */ - .long sys_recvfrom - .long sys_shutdown - .long sys_setsockopt - .long sys_getsockopt - .long sys_sendmsg /* 355 */ - .long sys_recvmsg - .long sys_recvmmsg - .long sys_accept4 - .long sys_name_to_handle_at - .long sys_open_by_handle_at /* 360 */ - .long sys_clock_adjtime - .long sys_syncfs - .long sys_sendmmsg - .long sys_setns - .long sys_process_vm_readv /* 365 */ - .long sys_process_vm_writev - .long sys_kcmp - .long sys_finit_module - .long sys_sched_getattr - .long sys_sched_setattr /* 370 */ - .long sys_renameat2 - .long sys_seccomp - .long sys_getrandom - .long sys_memfd_create - .long sys_bpf /* 375 */ - .long sys_execveat - .long sys_userfaultfd - .long sys_membarrier - .long sys_mlock2 - .long sys_copy_file_range /* 380 */ - .long sys_preadv2 - .long sys_pwritev2