From patchwork Thu Jul 4 14:36:06 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 13723852 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 15760C3271E for ; Thu, 4 Jul 2024 14:40:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=iTFYUe1EbgzmQ5lPd9XCAN6eoCY2WaOY+9WjwEBfyGY=; b=TPSGJOkMivXh0r dzCmnIEh3yu7iFkTlOvpcuglAtQq7wmuVt/tYD8IUQfaUcspjRne3xaqOmiFjAPPKW18DP5WnVh7t c2GexY7AM7eNZnQTeOn8efW8KBwch2vDfDBMlS7v1CLWJch9AQ4Q89yd5zahMuXNIdOzidSqlM9Ed QD0JRkKegj29DYOetE/hYINa+lTIx+JMU+KocUJ5qUoK4TXzoipDNvBCXR0zIl2SeQRqG1jU9yky4 coA6/Szflyrm9oWHL2jZPEQg1qSWRNYSf+OGr4/tV+5UAiHHlv+T2vIbve5nDOg3eRWm0C/PxGl4F ofJFH+ZNA7uvZ61LHBgg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sPNdE-0000000DWdx-3A3B; Thu, 04 Jul 2024 14:40:20 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sPNbA-0000000DVCK-0aUZ; Thu, 04 Jul 2024 14:38:13 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 6215C62785; Thu, 4 Jul 2024 14:38:11 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0FD5EC4AF0C; Thu, 4 Jul 2024 14:38:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1720103891; bh=F6VHs8/vR/gkfT29GR/49ui5Xm5trk2YQxZHzsh3y7A=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=WZG8y7JLFBgwuDuQbUnDG+sAz0Fy+O09sVQVJaoVv3WAH4BgFyY5s2todTxxhH7cS tSB0vEHm1Kgdl7/cE4DMiEoaMmyIazdnUuscmtR2MXXTFeLgFCsYmxZMlqYFzSvNKV iC3VA+6mofoZCzEgKiMsjeshxko8zlwegeGneY4ClK1/mWaoe0JL+v4BpfboZqZ2tz /Oc4dpZC8Zy0BQORX3cYkyeXfAJFA9p8foYD7WTsCON/AGnnaNl+EfVewoNcn+6Ffk VbKrxUpK48nX1cFpAtsy1zwOMNiYFmKotvfsxqzmf2z744ZkatdlkhT10W8B1LFy/8 A3M0XPDZJpTTw== From: Arnd Bergmann To: linux-arch@vger.kernel.org Cc: Arnd Bergmann , Masahiro Yamada , Nathan Chancellor , Nicolas Schier , Vineet Gupta , Russell King , Catalin Marinas , Will Deacon , Guo Ren , Brian Cain , Huacai Chen , WANG Xuerui , Dinh Nguyen , Jonas Bonn , Stefan Kristiansson , Stafford Horne , Paul Walmsley , Palmer Dabbelt , Albert Ou , Rich Felker , John Paul Adrian Glaubitz , "David S. Miller" , Andreas Larsson , Christian Brauner , Mark Rutland , linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org, linux-snps-arc@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-csky@vger.kernel.org, linux-hexagon@vger.kernel.org, loongarch@lists.linux.dev, linux-openrisc@vger.kernel.org, linux-riscv@lists.infradead.org Subject: [PATCH 12/17] csky: convert to generic syscall table Date: Thu, 4 Jul 2024 16:36:06 +0200 Message-Id: <20240704143611.2979589-13-arnd@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240704143611.2979589-1-arnd@kernel.org> References: <20240704143611.2979589-1-arnd@kernel.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240704_073812_438469_5E9D86E3 X-CRM114-Status: GOOD ( 17.92 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org From: Arnd Bergmann The uapi/asm/unistd_32.h and asm/syscall_table_32.h headers can now be generated from scripts/syscall.tbl, which makes this consistent with the other architectures that have their own syscall.tbl. csky has two architecture specific system calls, which I add to the generic table. The time32, stat64 and rlimit entries in the syscall_abis_32 line are for system calls that were part of the generic ABI when arch/csky got added but are no longer enabled by default for new architectures. Both the user visible side of asm/unistd.h and the internal syscall table in the kernel should have the same effective contents after this. Signed-off-by: Arnd Bergmann Acked-by: Guo Ren --- arch/csky/include/asm/Kbuild | 2 ++ arch/csky/include/asm/unistd.h | 3 +++ arch/csky/include/uapi/asm/Kbuild | 2 ++ arch/csky/include/uapi/asm/unistd.h | 14 ++------------ arch/csky/kernel/Makefile.syscalls | 4 ++++ arch/csky/kernel/syscall_table.c | 4 +++- scripts/syscall.tbl | 4 ++++ 7 files changed, 20 insertions(+), 13 deletions(-) create mode 100644 arch/csky/kernel/Makefile.syscalls diff --git a/arch/csky/include/asm/Kbuild b/arch/csky/include/asm/Kbuild index 13ebc5e34360..9a9bc65b57a9 100644 --- a/arch/csky/include/asm/Kbuild +++ b/arch/csky/include/asm/Kbuild @@ -1,4 +1,6 @@ # SPDX-License-Identifier: GPL-2.0 +syscall-y := syscall_table_32.h + generic-y += asm-offsets.h generic-y += extable.h generic-y += kvm_para.h diff --git a/arch/csky/include/asm/unistd.h b/arch/csky/include/asm/unistd.h index 9cf97de9a26d..2c2c24de95d8 100644 --- a/arch/csky/include/asm/unistd.h +++ b/arch/csky/include/asm/unistd.h @@ -2,4 +2,7 @@ #include +#define __ARCH_WANT_STAT64 +#define __ARCH_WANT_SYS_CLONE + #define NR_syscalls (__NR_syscalls) diff --git a/arch/csky/include/uapi/asm/Kbuild b/arch/csky/include/uapi/asm/Kbuild index e78470141932..2501e82a1a0a 100644 --- a/arch/csky/include/uapi/asm/Kbuild +++ b/arch/csky/include/uapi/asm/Kbuild @@ -1,2 +1,4 @@ # SPDX-License-Identifier: GPL-2.0 +syscall-y += unistd_32.h + generic-y += ucontext.h diff --git a/arch/csky/include/uapi/asm/unistd.h b/arch/csky/include/uapi/asm/unistd.h index d529d0432876..794adbc04e48 100644 --- a/arch/csky/include/uapi/asm/unistd.h +++ b/arch/csky/include/uapi/asm/unistd.h @@ -1,14 +1,4 @@ /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ -#define __ARCH_WANT_STAT64 -#define __ARCH_WANT_NEW_STAT -#define __ARCH_WANT_SYS_CLONE -#define __ARCH_WANT_SET_GET_RLIMIT -#define __ARCH_WANT_TIME32_SYSCALLS -#define __ARCH_WANT_SYNC_FILE_RANGE2 -#include - -#define __NR_set_thread_area (__NR_arch_specific_syscall + 0) -__SYSCALL(__NR_set_thread_area, sys_set_thread_area) -#define __NR_cacheflush (__NR_arch_specific_syscall + 1) -__SYSCALL(__NR_cacheflush, sys_cacheflush) +#include +#define __NR_sync_file_range2 __NR_sync_file_range diff --git a/arch/csky/kernel/Makefile.syscalls b/arch/csky/kernel/Makefile.syscalls new file mode 100644 index 000000000000..3df3b5822fce --- /dev/null +++ b/arch/csky/kernel/Makefile.syscalls @@ -0,0 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0 + +syscall_abis_32 += csky time32 stat64 rlimit + diff --git a/arch/csky/kernel/syscall_table.c b/arch/csky/kernel/syscall_table.c index a0c238c5377a..a6eb91a0e2f6 100644 --- a/arch/csky/kernel/syscall_table.c +++ b/arch/csky/kernel/syscall_table.c @@ -6,9 +6,11 @@ #undef __SYSCALL #define __SYSCALL(nr, call)[nr] = (call), +#define __SYSCALL_WITH_COMPAT(nr, native, compat) __SYSCALL(nr, native) #define sys_fadvise64_64 sys_csky_fadvise64_64 +#define sys_sync_file_range sys_sync_file_range2 void * const sys_call_table[__NR_syscalls] __page_aligned_data = { [0 ... __NR_syscalls - 1] = sys_ni_syscall, -#include +#include }; diff --git a/scripts/syscall.tbl b/scripts/syscall.tbl index 13f4c79ba5c2..ed0ecba8fea4 100644 --- a/scripts/syscall.tbl +++ b/scripts/syscall.tbl @@ -293,6 +293,10 @@ 246 arc arc_gettls sys_arc_gettls 247 arc sysfs sys_sysfs 248 arc arc_usr_cmpxchg sys_arc_usr_cmpxchg + +244 csky set_thread_area sys_set_thread_area +245 csky cacheflush sys_cacheflush + 260 time32 wait4 sys_wait4 compat_sys_wait4 260 64 wait4 sys_wait4 261 common prlimit64 sys_prlimit64