linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Rohan McLure <rmclure@linux.ibm.com>
To: linuxppc-dev@lists.ozlabs.org
Cc: Rohan McLure <rmclure@linux.ibm.com>,
	Andrew Donnellan <ajd@linux.ibm.com>,
	Nicholas Piggin <npiggin@gmail.com>
Subject: [PATCH v6 01/25] powerpc: Remove asmlinkage from syscall handler definitions
Date: Wed, 21 Sep 2022 16:55:41 +1000	[thread overview]
Message-ID: <20220921065605.1051927-2-rmclure@linux.ibm.com> (raw)
In-Reply-To: <20220921065605.1051927-1-rmclure@linux.ibm.com>

The asmlinkage macro has no special meaning in powerpc, and prior to
this patch is used sporadically on some syscall handler definitions. On
architectures that do not define asmlinkage, it resolves to extern "C"
for C++ compilers and a nop otherwise. The current invocations of
asmlinkage provide far from complete support for C++ toolchains, and so
the macro serves no purpose in powerpc.

Remove all invocations of asmlinkage in arch/powerpc. These incidentally
only occur in syscall definitions and prototypes.

Signed-off-by: Rohan McLure <rmclure@linux.ibm.com>
Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Andrew Donnellan <ajd@linux.ibm.com>
---
V3: new patch
---
 arch/powerpc/include/asm/syscalls.h | 16 ++++++++--------
 arch/powerpc/kernel/sys_ppc32.c     |  8 ++++----
 2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/arch/powerpc/include/asm/syscalls.h b/arch/powerpc/include/asm/syscalls.h
index a2b13e55254f..21c2faaa2957 100644
--- a/arch/powerpc/include/asm/syscalls.h
+++ b/arch/powerpc/include/asm/syscalls.h
@@ -10,14 +10,14 @@
 
 struct rtas_args;
 
-asmlinkage long sys_mmap(unsigned long addr, size_t len,
-		unsigned long prot, unsigned long flags,
-		unsigned long fd, off_t offset);
-asmlinkage long sys_mmap2(unsigned long addr, size_t len,
-		unsigned long prot, unsigned long flags,
-		unsigned long fd, unsigned long pgoff);
-asmlinkage long ppc64_personality(unsigned long personality);
-asmlinkage long sys_rtas(struct rtas_args __user *uargs);
+long sys_mmap(unsigned long addr, size_t len,
+	      unsigned long prot, unsigned long flags,
+	      unsigned long fd, off_t offset);
+long sys_mmap2(unsigned long addr, size_t len,
+	       unsigned long prot, unsigned long flags,
+	       unsigned long fd, unsigned long pgoff);
+long ppc64_personality(unsigned long personality);
+long sys_rtas(struct rtas_args __user *uargs);
 int ppc_select(int n, fd_set __user *inp, fd_set __user *outp,
 	       fd_set __user *exp, struct __kernel_old_timeval __user *tvp);
 long ppc_fadvise64_64(int fd, int advice, u32 offset_high, u32 offset_low,
diff --git a/arch/powerpc/kernel/sys_ppc32.c b/arch/powerpc/kernel/sys_ppc32.c
index 16ff0399a257..f4edcc9489fb 100644
--- a/arch/powerpc/kernel/sys_ppc32.c
+++ b/arch/powerpc/kernel/sys_ppc32.c
@@ -85,20 +85,20 @@ compat_ssize_t compat_sys_readahead(int fd, u32 r4, u32 offset1, u32 offset2, u3
 	return ksys_readahead(fd, merge_64(offset1, offset2), count);
 }
 
-asmlinkage int compat_sys_truncate64(const char __user * path, u32 reg4,
+int compat_sys_truncate64(const char __user * path, u32 reg4,
 				unsigned long len1, unsigned long len2)
 {
 	return ksys_truncate(path, merge_64(len1, len2));
 }
 
-asmlinkage long compat_sys_fallocate(int fd, int mode, u32 offset1, u32 offset2,
+long compat_sys_fallocate(int fd, int mode, u32 offset1, u32 offset2,
 				     u32 len1, u32 len2)
 {
 	return ksys_fallocate(fd, mode, ((loff_t)offset1 << 32) | offset2,
 			     merge_64(len1, len2));
 }
 
-asmlinkage int compat_sys_ftruncate64(unsigned int fd, u32 reg4, unsigned long len1,
+int compat_sys_ftruncate64(unsigned int fd, u32 reg4, unsigned long len1,
 				 unsigned long len2)
 {
 	return ksys_ftruncate(fd, merge_64(len1, len2));
@@ -111,7 +111,7 @@ long ppc32_fadvise64(int fd, u32 unused, u32 offset1, u32 offset2,
 				 advice);
 }
 
-asmlinkage long compat_sys_sync_file_range2(int fd, unsigned int flags,
+long compat_sys_sync_file_range2(int fd, unsigned int flags,
 				   unsigned offset1, unsigned offset2,
 				   unsigned nbytes1, unsigned nbytes2)
 {
-- 
2.34.1


  reply	other threads:[~2022-09-21  6:58 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-21  6:55 [PATCH v6 00/25] powerpc: Syscall wrapper and register clearing Rohan McLure
2022-09-21  6:55 ` Rohan McLure [this message]
2022-09-21  6:55 ` [PATCH v6 02/25] powerpc: Save caller r3 prior to system_call_exception Rohan McLure
2022-09-21  6:55 ` [PATCH v6 03/25] powerpc: Add ZEROIZE_GPRS macros for register clears Rohan McLure
2022-09-21  6:55 ` [PATCH v6 04/25] powerpc/64s: Use {ZEROIZE,SAVE,REST}_GPRS macros in sc, scv 0 handlers Rohan McLure
2022-09-21  6:55 ` [PATCH v6 05/25] powerpc/32: Clarify interrupt restores with REST_GPR macro in entry_32.S Rohan McLure
2022-09-21  6:55 ` [PATCH v6 06/25] powerpc/64e: Clarify register saves and clears with {SAVE,ZEROIZE}_GPRS Rohan McLure
2022-09-21  6:55 ` [PATCH v6 07/25] powerpc/64s: Fix comment on interrupt handler prologue Rohan McLure
2022-09-21  6:55 ` [PATCH v6 08/25] powerpc: Fix fallocate and fadvise64_64 compat parameter combination Rohan McLure
2022-09-21  6:55 ` [PATCH v6 09/25] asm-generic: compat: Support BE for long long args in 32-bit ABIs Rohan McLure
2022-10-31 13:23   ` [PATCH] asm-generic: compat: fix compat_arg_u64 and compat_arg_u64_dual Andreas Schwab
2022-11-01 12:25     ` Michael Ellerman
2022-11-03  8:20     ` Christophe Leroy
2022-11-03  8:48       ` Arnd Bergmann
2022-09-21  6:55 ` [PATCH v6 10/25] powerpc: Use generic fallocate compatibility syscall Rohan McLure
2022-09-21  6:55 ` [PATCH v6 11/25] powerpc/32: Remove powerpc select specialisation Rohan McLure
2022-09-21  6:55 ` [PATCH v6 12/25] powerpc: Remove direct call to personality syscall handler Rohan McLure
2022-09-21  6:55 ` [PATCH v6 13/25] powerpc: Remove direct call to mmap2 syscall handlers Rohan McLure
2022-09-28 12:15   ` Michael Ellerman
2022-09-28 13:00     ` Arnd Bergmann
2022-09-30 13:19       ` Michael Ellerman
2022-09-30 14:09         ` Arnd Bergmann
2022-09-21  6:55 ` [PATCH v6 14/25] powerpc: Provide do_ppc64_personality helper Rohan McLure
2022-09-21  6:55 ` [PATCH v6 15/25] powerpc: Adopt SYSCALL_DEFINE for arch-specific syscall handlers Rohan McLure
2022-09-21  6:55 ` [PATCH v6 16/25] powerpc: Include all arch-specific syscall prototypes Rohan McLure
2022-09-21  6:55 ` [PATCH v6 17/25] powerpc: Enable compile-time check for syscall handlers Rohan McLure
2022-09-21  6:55 ` [PATCH v6 18/25] powerpc: Use common syscall handler type Rohan McLure
2022-09-21  6:55 ` [PATCH v6 19/25] powerpc: Remove high-order word clearing on compat syscall entry Rohan McLure
2022-09-23  7:40   ` Nicholas Piggin
2022-09-28 11:56   ` Michael Ellerman
2022-09-21  6:56 ` [PATCH v6 20/25] powerpc: Change system_call_exception calling convention Rohan McLure
2022-09-23  7:43   ` Nicholas Piggin
2022-09-21  6:56 ` [PATCH v6 21/25] powerpc: Provide syscall wrapper Rohan McLure
2022-09-23  7:50   ` Nicholas Piggin
2022-10-30 15:34   ` Andreas Schwab
2022-10-30 15:50     ` Andreas Schwab
2022-10-30 19:43     ` Arnd Bergmann
2022-10-30 20:05       ` Andreas Schwab
2022-10-31  3:09         ` Michael Ellerman
2022-10-31 14:47   ` [PATCH] powerpc/32: fix syscall wrappers with 64-bit arguments Andreas Schwab
2022-10-31 19:37     ` Arnd Bergmann
2022-11-01 12:25     ` Michael Ellerman
2022-09-21  6:56 ` [PATCH v6 22/25] powerpc/64s: Clear user GPRs in syscall interrupt entry Rohan McLure
2022-09-23  8:02   ` Nicholas Piggin
2022-10-31 23:22     ` Rohan McLure
2022-09-21  6:56 ` [PATCH v6 23/25] powerpc/64: Add INTERRUPT_SANITIZE_REGISTERS Kconfig Rohan McLure
2022-09-21  6:56 ` [PATCH v6 24/25] powerpc/64s: Clear gprs on interrupt routine entry in Book3S Rohan McLure
2022-09-21  6:56 ` [PATCH v6 25/25] powerpc/64e: Clear gprs on interrupt routine entry on Book3E Rohan McLure
2022-10-04 13:24 ` [PATCH v6 00/25] powerpc: Syscall wrapper and register clearing Michael Ellerman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220921065605.1051927-2-rmclure@linux.ibm.com \
    --to=rmclure@linux.ibm.com \
    --cc=ajd@linux.ibm.com \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=npiggin@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).