signal.c (3c532798ec96b6c2d77706f04ed1d8b566a805df) signal.c (d3876ff74437c5f3a1a2f8d2a45b6fb91d51ea25)
1/*
2 * linux/arch/m68k/kernel/signal.c
3 *
4 * Copyright (C) 1991, 1992 Linus Torvalds
5 *
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file COPYING in the main directory of this archive
8 * for more details.

--- 906 unchanged lines hidden (view full) ---

915
916 /* Set up to return from userspace. */
917#ifdef CONFIG_MMU
918 err |= __put_user(frame->retcode, &frame->pretcode);
919 /* moveq #,d0; trap #0 */
920 err |= __put_user(0x70004e40 + (__NR_sigreturn << 16),
921 (long __user *)(frame->retcode));
922#else
1/*
2 * linux/arch/m68k/kernel/signal.c
3 *
4 * Copyright (C) 1991, 1992 Linus Torvalds
5 *
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file COPYING in the main directory of this archive
8 * for more details.

--- 906 unchanged lines hidden (view full) ---

915
916 /* Set up to return from userspace. */
917#ifdef CONFIG_MMU
918 err |= __put_user(frame->retcode, &frame->pretcode);
919 /* moveq #,d0; trap #0 */
920 err |= __put_user(0x70004e40 + (__NR_sigreturn << 16),
921 (long __user *)(frame->retcode));
922#else
923 err |= __put_user((void *) ret_from_user_signal, &frame->pretcode);
923 err |= __put_user((long) ret_from_user_signal,
924 (long __user *) &frame->pretcode);
924#endif
925
926 if (err)
927 return -EFAULT;
928
929 push_cache ((unsigned long) &frame->retcode);
930
931 /*

--- 67 unchanged lines hidden (view full) ---

999 (long __user *)(frame->retcode + 4));
1000#else
1001 /* moveq #,d0; notb d0; trap #0 */
1002 err |= __put_user(0x70004600 + ((__NR_rt_sigreturn ^ 0xff) << 16),
1003 (long __user *)(frame->retcode + 0));
1004 err |= __put_user(0x4e40, (short __user *)(frame->retcode + 4));
1005#endif
1006#else
925#endif
926
927 if (err)
928 return -EFAULT;
929
930 push_cache ((unsigned long) &frame->retcode);
931
932 /*

--- 67 unchanged lines hidden (view full) ---

1000 (long __user *)(frame->retcode + 4));
1001#else
1002 /* moveq #,d0; notb d0; trap #0 */
1003 err |= __put_user(0x70004600 + ((__NR_rt_sigreturn ^ 0xff) << 16),
1004 (long __user *)(frame->retcode + 0));
1005 err |= __put_user(0x4e40, (short __user *)(frame->retcode + 4));
1006#endif
1007#else
1007 err |= __put_user((void *) ret_from_user_rt_signal, &frame->pretcode);
1008 err |= __put_user((long) ret_from_user_rt_signal,
1009 (long __user *) &frame->pretcode);
1008#endif /* CONFIG_MMU */
1009
1010 if (err)
1011 return -EFAULT;
1012
1013 push_cache ((unsigned long) &frame->retcode);
1014
1015 /*

--- 113 unchanged lines hidden (view full) ---

1129 restore_saved_sigmask();
1130}
1131
1132void do_notify_resume(struct pt_regs *regs)
1133{
1134 if (test_thread_flag(TIF_SIGPENDING))
1135 do_signal(regs);
1136
1010#endif /* CONFIG_MMU */
1011
1012 if (err)
1013 return -EFAULT;
1014
1015 push_cache ((unsigned long) &frame->retcode);
1016
1017 /*

--- 113 unchanged lines hidden (view full) ---

1131 restore_saved_sigmask();
1132}
1133
1134void do_notify_resume(struct pt_regs *regs)
1135{
1136 if (test_thread_flag(TIF_SIGPENDING))
1137 do_signal(regs);
1138
1137 if (test_thread_flag(TIF_NOTIFY_RESUME))
1139 if (test_and_clear_thread_flag(TIF_NOTIFY_RESUME))
1138 tracehook_notify_resume(regs);
1139}
1140 tracehook_notify_resume(regs);
1141}