UPSTREAM: openrisc: add support for TIF_NOTIFY_SIGNAL
[ Upstream commit e181c0aa2e532af2b17128fbde699f8578cc0562 ]
Wire up TIF_NOTIFY_SIGNAL handling for openrisc.
Cc: openrisc@lists.librecores.org
Acked-by: Stafford Horne <shorne@gmail.com>
Change-Id: I664b804e2b20332f1c529bca7e083c62e95e6d9f
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 12284aec88
)
Bug: 268174392
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
e2e4fbbceb
commit
2b94543d45
@@ -98,6 +98,7 @@ register struct thread_info *current_thread_info_reg asm("r10");
|
|||||||
#define TIF_SINGLESTEP 4 /* restore singlestep on return to user
|
#define TIF_SINGLESTEP 4 /* restore singlestep on return to user
|
||||||
* mode
|
* mode
|
||||||
*/
|
*/
|
||||||
|
#define TIF_NOTIFY_SIGNAL 5 /* signal notifications exist */
|
||||||
#define TIF_SYSCALL_TRACEPOINT 8 /* for ftrace syscall instrumentation */
|
#define TIF_SYSCALL_TRACEPOINT 8 /* for ftrace syscall instrumentation */
|
||||||
#define TIF_RESTORE_SIGMASK 9
|
#define TIF_RESTORE_SIGMASK 9
|
||||||
#define TIF_POLLING_NRFLAG 16 /* true if poll_idle() is polling * TIF_NEED_RESCHED
|
#define TIF_POLLING_NRFLAG 16 /* true if poll_idle() is polling * TIF_NEED_RESCHED
|
||||||
@@ -109,6 +110,7 @@ register struct thread_info *current_thread_info_reg asm("r10");
|
|||||||
#define _TIF_SIGPENDING (1<<TIF_SIGPENDING)
|
#define _TIF_SIGPENDING (1<<TIF_SIGPENDING)
|
||||||
#define _TIF_NEED_RESCHED (1<<TIF_NEED_RESCHED)
|
#define _TIF_NEED_RESCHED (1<<TIF_NEED_RESCHED)
|
||||||
#define _TIF_SINGLESTEP (1<<TIF_SINGLESTEP)
|
#define _TIF_SINGLESTEP (1<<TIF_SINGLESTEP)
|
||||||
|
#define _TIF_NOTIFY_SIGNAL (1<<TIF_NOTIFY_SIGNAL)
|
||||||
#define _TIF_POLLING_NRFLAG (1<<TIF_POLLING_NRFLAG)
|
#define _TIF_POLLING_NRFLAG (1<<TIF_POLLING_NRFLAG)
|
||||||
|
|
||||||
|
|
||||||
|
@@ -299,7 +299,7 @@ do_work_pending(struct pt_regs *regs, unsigned int thread_flags, int syscall)
|
|||||||
if (unlikely(!user_mode(regs)))
|
if (unlikely(!user_mode(regs)))
|
||||||
return 0;
|
return 0;
|
||||||
local_irq_enable();
|
local_irq_enable();
|
||||||
if (thread_flags & _TIF_SIGPENDING) {
|
if (thread_flags & (_TIF_SIGPENDING|_TIF_NOTIFY_SIGNAL)) {
|
||||||
int restart = do_signal(regs, syscall);
|
int restart = do_signal(regs, syscall);
|
||||||
if (unlikely(restart)) {
|
if (unlikely(restart)) {
|
||||||
/*
|
/*
|
||||||
|
Reference in New Issue
Block a user