public inbox for linux-parisc@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/5] parisc: Avoid compat syscalls when COMPAT=n
@ 2026-04-07 22:27 Helge Deller
  2026-04-07 22:27 ` [PATCH 2/5] parisc: let is_compat_task() return false for COMPAT=n Helge Deller
                   ` (5 more replies)
  0 siblings, 6 replies; 10+ messages in thread
From: Helge Deller @ 2026-04-07 22:27 UTC (permalink / raw)
  To: linux-parisc

From: Helge Deller <deller@gmx.de>

Drop unnecessary code and syscall tables when we run a 64-bit
kernel with conpat mode disabled.

Signed-off-by: Helge Deller <deller@gmx.de>
---
 arch/parisc/kernel/syscall.S | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/arch/parisc/kernel/syscall.S b/arch/parisc/kernel/syscall.S
index f58c4bccfbce..bc5421ca537f 100644
--- a/arch/parisc/kernel/syscall.S
+++ b/arch/parisc/kernel/syscall.S
@@ -241,7 +241,7 @@ linux_gateway_entry:
 	/* Note!  We cannot use the syscall table that is mapped
 	nearby since the gateway page is mapped execute-only. */
 
-#ifdef CONFIG_64BIT
+#if defined(CONFIG_64BIT) && defined(CONFIG_COMPAT)
 	ldil	L%sys_call_table, %r1
 	or,ev	%r2,%r2,%r2
 	ldil	L%sys_call_table64, %r1
@@ -250,7 +250,7 @@ linux_gateway_entry:
 	ldo	R%sys_call_table64(%r1), %r19
 #else
 	load32	sys_call_table, %r19
-#endif	
+#endif
 	comiclr,>>	__NR_Linux_syscalls, %r20, %r0
 	b,n	.Lsyscall_nosys
 	
@@ -374,7 +374,7 @@ tracesys_next:
 	/* Note!  We cannot use the syscall table that is mapped
 	nearby since the gateway page is mapped execute-only. */
 
-#ifdef CONFIG_64BIT
+#if defined(CONFIG_64BIT) && defined(CONFIG_COMPAT)
 	LDREG	TASK_PT_GR30(%r1), %r19		/* get users sp back */
 	extrd,u	%r19,63,1,%r2			/* W hidden in bottom bit */
 
@@ -1326,16 +1326,19 @@ ENTRY(lws_table)
 END(lws_table)
 	/* End of lws table */
 
-#ifdef CONFIG_64BIT
+#ifdef CONFIG_COMPAT
 #define __SYSCALL_WITH_COMPAT(nr, native, compat)	__SYSCALL(nr, compat)
 #else
 #define __SYSCALL_WITH_COMPAT(nr, native, compat)	__SYSCALL(nr, native)
 #endif
 #define __SYSCALL(nr, entry)	ASM_ULONG_INSN entry
+
 	.align 8
 ENTRY(sys_call_table)
 	.export sys_call_table,data
+#if defined(CONFIG_COMPAT) || !defined(CONFIG_64BIT)
 #include <asm/syscall_table_32.h>    /* 32-bit syscalls */
+#endif
 END(sys_call_table)
 
 #ifdef CONFIG_64BIT
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2026-04-08 19:48 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-07 22:27 [PATCH 1/5] parisc: Avoid compat syscalls when COMPAT=n Helge Deller
2026-04-07 22:27 ` [PATCH 2/5] parisc: let is_compat_task() return false for COMPAT=n Helge Deller
2026-04-07 22:27 ` [PATCH 3/5] parisc: Fix signal code to depend on CONFIG_COMPAT instead of CONFIG_64BIT Helge Deller
2026-04-07 22:27 ` [PATCH 4/5] parisc: Fix default stack size when COMPAT=n Helge Deller
2026-04-07 22:27 ` [PATCH 5/5] parisc: Allow to disable COMPAT mode on 64-bit kernel Helge Deller
2026-04-08 15:22 ` [PATCH 1/5] parisc: Avoid compat syscalls when COMPAT=n Thomas Weißschuh
2026-04-08 15:40   ` Helge Deller
2026-04-08 17:42 ` Mikulas Patocka
2026-04-08 18:15   ` Helge Deller
2026-04-08 19:47     ` John David Anglin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox