~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/s390/include/asm/thread_info.h

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0 */
  2 /*
  3  *  S390 version
  4  *    Copyright IBM Corp. 2002, 2006
  5  *    Author(s): Martin Schwidefsky (schwidefsky@de.ibm.com)
  6  */
  7 
  8 #ifndef _ASM_THREAD_INFO_H
  9 #define _ASM_THREAD_INFO_H
 10 
 11 #include <linux/bits.h>
 12 #ifndef ASM_OFFSETS_C
 13 #include <asm/asm-offsets.h>
 14 #endif
 15 
 16 /*
 17  * General size of kernel stacks
 18  */
 19 #if defined(CONFIG_KASAN) || defined(CONFIG_KMSAN)
 20 #define THREAD_SIZE_ORDER 4
 21 #else
 22 #define THREAD_SIZE_ORDER 2
 23 #endif
 24 #define BOOT_STACK_SIZE (PAGE_SIZE << 2)
 25 #define THREAD_SIZE (PAGE_SIZE << THREAD_SIZE_ORDER)
 26 
 27 #define STACK_INIT_OFFSET (THREAD_SIZE - STACK_FRAME_OVERHEAD - __PT_SIZE)
 28 
 29 #ifndef __ASSEMBLY__
 30 #include <asm/lowcore.h>
 31 #include <asm/page.h>
 32 
 33 /*
 34  * low level task data that entry.S needs immediate access to
 35  * - this struct should fit entirely inside of one cache line
 36  * - this struct shares the supervisor stack pages
 37  * - if the contents of this structure are changed, the assembly constants must also be changed
 38  */
 39 struct thread_info {
 40         unsigned long           flags;          /* low level flags */
 41         unsigned long           syscall_work;   /* SYSCALL_WORK_ flags */
 42         unsigned int            cpu;            /* current CPU */
 43         unsigned char           sie;            /* running in SIE context */
 44 };
 45 
 46 /*
 47  * macros/functions for gaining access to the thread information structure
 48  */
 49 #define INIT_THREAD_INFO(tsk)                   \
 50 {                                               \
 51         .flags          = 0,                    \
 52 }
 53 
 54 struct task_struct;
 55 
 56 void arch_setup_new_exec(void);
 57 #define arch_setup_new_exec arch_setup_new_exec
 58 
 59 #endif
 60 
 61 /*
 62  * thread information flags bit numbers
 63  */
 64 /* _TIF_WORK bits */
 65 #define TIF_NOTIFY_RESUME       0       /* callback before returning to user */
 66 #define TIF_SIGPENDING          1       /* signal pending */
 67 #define TIF_NEED_RESCHED        2       /* rescheduling necessary */
 68 #define TIF_UPROBE              3       /* breakpointed or single-stepping */
 69 #define TIF_GUARDED_STORAGE     4       /* load guarded storage control block */
 70 #define TIF_PATCH_PENDING       5       /* pending live patching update */
 71 #define TIF_PGSTE               6       /* New mm's will use 4K page tables */
 72 #define TIF_NOTIFY_SIGNAL       7       /* signal notifications exist */
 73 #define TIF_ISOLATE_BP_GUEST    9       /* Run KVM guests with isolated BP */
 74 #define TIF_PER_TRAP            10      /* Need to handle PER trap on exit to usermode */
 75 
 76 #define TIF_31BIT               16      /* 32bit process */
 77 #define TIF_MEMDIE              17      /* is terminating due to OOM killer */
 78 #define TIF_RESTORE_SIGMASK     18      /* restore signal mask in do_signal() */
 79 #define TIF_SINGLE_STEP         19      /* This task is single stepped */
 80 #define TIF_BLOCK_STEP          20      /* This task is block stepped */
 81 #define TIF_UPROBE_SINGLESTEP   21      /* This task is uprobe single stepped */
 82 
 83 /* _TIF_TRACE bits */
 84 #define TIF_SYSCALL_TRACE       24      /* syscall trace active */
 85 #define TIF_SYSCALL_AUDIT       25      /* syscall auditing active */
 86 #define TIF_SECCOMP             26      /* secure computing */
 87 #define TIF_SYSCALL_TRACEPOINT  27      /* syscall tracepoint instrumentation */
 88 
 89 #define _TIF_NOTIFY_RESUME      BIT(TIF_NOTIFY_RESUME)
 90 #define _TIF_NOTIFY_SIGNAL      BIT(TIF_NOTIFY_SIGNAL)
 91 #define _TIF_SIGPENDING         BIT(TIF_SIGPENDING)
 92 #define _TIF_NEED_RESCHED       BIT(TIF_NEED_RESCHED)
 93 #define _TIF_UPROBE             BIT(TIF_UPROBE)
 94 #define _TIF_GUARDED_STORAGE    BIT(TIF_GUARDED_STORAGE)
 95 #define _TIF_PATCH_PENDING      BIT(TIF_PATCH_PENDING)
 96 #define _TIF_ISOLATE_BP_GUEST   BIT(TIF_ISOLATE_BP_GUEST)
 97 #define _TIF_PER_TRAP           BIT(TIF_PER_TRAP)
 98 
 99 #define _TIF_31BIT              BIT(TIF_31BIT)
100 #define _TIF_SINGLE_STEP        BIT(TIF_SINGLE_STEP)
101 
102 #define _TIF_SYSCALL_TRACE      BIT(TIF_SYSCALL_TRACE)
103 #define _TIF_SYSCALL_AUDIT      BIT(TIF_SYSCALL_AUDIT)
104 #define _TIF_SECCOMP            BIT(TIF_SECCOMP)
105 #define _TIF_SYSCALL_TRACEPOINT BIT(TIF_SYSCALL_TRACEPOINT)
106 
107 #endif /* _ASM_THREAD_INFO_H */
108 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php