All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Mukesh Kumar Chaurasiya (IBM)" <mkchauras@gmail.com>
To: maddy@linux.ibm.com, mpe@ellerman.id.au, npiggin@gmail.com,
	chleroy@kernel.org, ryabinin.a.a@gmail.com, glider@google.com,
	andreyknvl@gmail.com, dvyukov@google.com,
	vincenzo.frascino@arm.com, oleg@redhat.com, kees@kernel.org,
	luto@amacapital.net, wad@chromium.org, mchauras@linux.ibm.com,
	sshegde@linux.ibm.com, thuth@redhat.com, ruanjinjie@huawei.com,
	akpm@linux-foundation.org, macro@orcam.me.uk, ldv@strace.io,
	charlie@rivosinc.com, deller@gmx.de, kevin.brodsky@arm.com,
	ritesh.list@gmail.com, yeoreum.yun@arm.com,
	agordeev@linux.ibm.com, segher@kernel.crashing.org,
	mark.rutland@arm.com, ryan.roberts@arm.com, pmladek@suse.com,
	feng.tang@linux.alibaba.com, peterz@infradead.org,
	kan.liang@linux.intel.com, linuxppc-dev@lists.ozlabs.org,
	linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com
Cc: Samir M <samir@linux.ibm.com>, David Gow <davidgow@google.com>,
	Venkat Rao Bagalkote <venkat88@linux.ibm.com>
Subject: [PATCH v5 2/8] powerpc: Prepare to build with generic entry/exit framework
Date: Mon, 27 Apr 2026 17:57:36 +0530	[thread overview]
Message-ID: <20260427122742.210074-3-mkchauras@gmail.com> (raw)
In-Reply-To: <20260427122742.210074-1-mkchauras@gmail.com>

From: Mukesh Kumar Chaurasiya <mchauras@linux.ibm.com>

This patch introduces preparatory changes needed to support building
PowerPC with the generic entry/exit (irqentry) framework.

The following infrastructure updates are added:
 - Add a syscall_work field to struct thread_info to hold SYSCALL_WORK_* flags.
 - Provide a stub implementation of arch_syscall_is_vdso_sigreturn(),
   returning false for now.
 - Introduce on_thread_stack() helper to detect if the current stack pointer
   lies within the task’s kernel stack.

These additions enable later integration with the generic entry/exit
infrastructure while keeping existing PowerPC behavior unchanged.

No functional change is intended in this patch.

Signed-off-by: Mukesh Kumar Chaurasiya <mchauras@linux.ibm.com>
Tested-by: Samir M <samir@linux.ibm.com>
Tested-by: David Gow <davidgow@google.com>
Tested-by: Venkat Rao Bagalkote <venkat88@linux.ibm.com>
Reviewed-by: Shrikanth Hegde <sshegde@linux.ibm.com>
---
 arch/powerpc/include/asm/entry-common.h | 8 ++++++++
 arch/powerpc/include/asm/stacktrace.h   | 6 ++++++
 arch/powerpc/include/asm/syscall.h      | 5 +++++
 arch/powerpc/include/asm/thread_info.h  | 1 +
 4 files changed, 20 insertions(+)
 create mode 100644 arch/powerpc/include/asm/entry-common.h

diff --git a/arch/powerpc/include/asm/entry-common.h b/arch/powerpc/include/asm/entry-common.h
new file mode 100644
index 000000000000..05ce0583b600
--- /dev/null
+++ b/arch/powerpc/include/asm/entry-common.h
@@ -0,0 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+#ifndef _ASM_PPC_ENTRY_COMMON_H
+#define _ASM_PPC_ENTRY_COMMON_H
+
+#include <asm/stacktrace.h>
+
+#endif /* _ASM_PPC_ENTRY_COMMON_H */
diff --git a/arch/powerpc/include/asm/stacktrace.h b/arch/powerpc/include/asm/stacktrace.h
index 6149b53b3bc8..987f2e996262 100644
--- a/arch/powerpc/include/asm/stacktrace.h
+++ b/arch/powerpc/include/asm/stacktrace.h
@@ -10,4 +10,10 @@
 
 void show_user_instructions(struct pt_regs *regs);
 
+static __always_inline bool on_thread_stack(void)
+{
+	return !(((unsigned long)(current->stack) ^ current_stack_pointer)
+			& ~(THREAD_SIZE - 1));
+}
+
 #endif /* _ASM_POWERPC_STACKTRACE_H */
diff --git a/arch/powerpc/include/asm/syscall.h b/arch/powerpc/include/asm/syscall.h
index 4b3c52ed6e9d..834fcc4f7b54 100644
--- a/arch/powerpc/include/asm/syscall.h
+++ b/arch/powerpc/include/asm/syscall.h
@@ -139,4 +139,9 @@ static inline int syscall_get_arch(struct task_struct *task)
 	else
 		return AUDIT_ARCH_PPC64;
 }
+
+static inline bool arch_syscall_is_vdso_sigreturn(struct pt_regs *regs)
+{
+	return false;
+}
 #endif	/* _ASM_SYSCALL_H */
diff --git a/arch/powerpc/include/asm/thread_info.h b/arch/powerpc/include/asm/thread_info.h
index 97f35f9b1a96..ee3b9adb5b67 100644
--- a/arch/powerpc/include/asm/thread_info.h
+++ b/arch/powerpc/include/asm/thread_info.h
@@ -57,6 +57,7 @@ struct thread_info {
 #ifdef CONFIG_SMP
 	unsigned int	cpu;
 #endif
+	unsigned long	syscall_work;		/* SYSCALL_WORK_ flags */
 	unsigned long	local_flags;		/* private flags for thread */
 #ifdef CONFIG_LIVEPATCH_64
 	unsigned long *livepatch_sp;
-- 
2.53.0



  parent reply	other threads:[~2026-04-27 12:28 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-27 12:27 [PATCH v5 0/8] Generic IRQ entry/exit support for powerpc Mukesh Kumar Chaurasiya (IBM)
2026-04-27 12:27 ` [PATCH v5 1/8] powerpc: rename arch_irq_disabled_regs Mukesh Kumar Chaurasiya (IBM)
2026-04-27 12:27 ` Mukesh Kumar Chaurasiya (IBM) [this message]
2026-04-27 12:27 ` [PATCH v5 3/8] powerpc: introduce arch_enter_from_user_mode Mukesh Kumar Chaurasiya (IBM)
2026-04-27 12:27 ` [PATCH v5 4/8] powerpc: Introduce syscall exit arch functions Mukesh Kumar Chaurasiya (IBM)
2026-04-27 12:27 ` [PATCH v5 5/8] powerpc: add exit_flags field in pt_regs Mukesh Kumar Chaurasiya (IBM)
2026-04-27 12:27 ` [PATCH v5 6/8] powerpc: Prepare for IRQ entry exit Mukesh Kumar Chaurasiya (IBM)
2026-04-27 12:27 ` [PATCH v5 7/8] powerpc: Enable GENERIC_ENTRY feature Mukesh Kumar Chaurasiya (IBM)
2026-04-27 12:27 ` [PATCH v5 8/8] powerpc: Remove unused functions Mukesh Kumar Chaurasiya (IBM)
2026-06-19 21:59 ` [PATCH v5 0/8] Generic IRQ entry/exit support for powerpc Madhavan Srinivasan
2026-06-23 11:11 ` Michal Suchánek
2026-06-24  7:38   ` Mukesh Kumar Chaurasiya
2026-07-04 15:49 ` Andreas Schwab
2026-07-05  6:49   ` Christophe Leroy (CS GROUP)
2026-07-05 11:35     ` Andreas Schwab
2026-07-07  4:29       ` Shrikanth Hegde
2026-07-05 12:02     ` Andreas Schwab
2026-07-06  6:02       ` Shrikanth Hegde
2026-07-06 15:26         ` Andreas Schwab
2026-07-06 19:21         ` Andreas Schwab
2026-07-05 18:00     ` Andreas Schwab
2026-07-07  6:05       ` Mukesh Kumar Chaurasiya

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=20260427122742.210074-3-mkchauras@gmail.com \
    --to=mkchauras@gmail.com \
    --cc=agordeev@linux.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=andreyknvl@gmail.com \
    --cc=charlie@rivosinc.com \
    --cc=chleroy@kernel.org \
    --cc=davidgow@google.com \
    --cc=deller@gmx.de \
    --cc=dvyukov@google.com \
    --cc=feng.tang@linux.alibaba.com \
    --cc=glider@google.com \
    --cc=kan.liang@linux.intel.com \
    --cc=kasan-dev@googlegroups.com \
    --cc=kees@kernel.org \
    --cc=kevin.brodsky@arm.com \
    --cc=ldv@strace.io \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=luto@amacapital.net \
    --cc=macro@orcam.me.uk \
    --cc=maddy@linux.ibm.com \
    --cc=mark.rutland@arm.com \
    --cc=mchauras@linux.ibm.com \
    --cc=mpe@ellerman.id.au \
    --cc=npiggin@gmail.com \
    --cc=oleg@redhat.com \
    --cc=peterz@infradead.org \
    --cc=pmladek@suse.com \
    --cc=ritesh.list@gmail.com \
    --cc=ruanjinjie@huawei.com \
    --cc=ryabinin.a.a@gmail.com \
    --cc=ryan.roberts@arm.com \
    --cc=samir@linux.ibm.com \
    --cc=segher@kernel.crashing.org \
    --cc=sshegde@linux.ibm.com \
    --cc=thuth@redhat.com \
    --cc=venkat88@linux.ibm.com \
    --cc=vincenzo.frascino@arm.com \
    --cc=wad@chromium.org \
    --cc=yeoreum.yun@arm.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.