#ifndef _ASM_THREAD_INFO_H
#define _ASM_THREAD_INFO_H
#ifdef __KERNEL__
#ifndef __ASSEMBLER__
#include <asm/processor.h>
struct thread_info {
struct task_struct *task;
unsigned long flags;
unsigned long tp_value;
__u32 cpu;
int preempt_count;
struct pt_regs *regs;
unsigned long syscall;
unsigned long syscall_work;
};
#define INIT_THREAD_INFO(tsk) \
{ \
.task = &tsk, \
.flags = _TIF_FIXADE, \
.cpu = 0, \
.preempt_count = INIT_PREEMPT_COUNT, \
}
register struct thread_info *__current_thread_info __asm__("$tp");
static inline struct thread_info *current_thread_info(void)
{
return __current_thread_info;
}
register unsigned long current_stack_pointer __asm__("$sp");
#endif
#define THREAD_SIZE SZ_16K
#define THREAD_MASK (THREAD_SIZE - 1UL)
#define THREAD_SIZE_ORDER ilog2(THREAD_SIZE / PAGE_SIZE)
#define HAVE_TIF_NEED_RESCHED_LAZY
#define HAVE_TIF_RESTORE_SIGMASK
#include <asm-generic/thread_info_tif.h>
#define TIF_NOHZ 16
#define TIF_USEDFPU 17
#define TIF_USEDSIMD 18
#define TIF_FIXADE 19
#define TIF_LOGADE 20
#define TIF_32BIT_REGS 21
#define TIF_32BIT_ADDR 22
#define TIF_LOAD_WATCH 23
#define TIF_SINGLESTEP 24
#define TIF_LSX_CTX_LIVE 25
#define TIF_LASX_CTX_LIVE 26
#define TIF_USEDLBT 27
#define TIF_LBT_CTX_LIVE 28
#define _TIF_NOHZ BIT(TIF_NOHZ)
#define _TIF_USEDFPU BIT(TIF_USEDFPU)
#define _TIF_USEDSIMD BIT(TIF_USEDSIMD)
#define _TIF_FIXADE BIT(TIF_FIXADE)
#define _TIF_LOGADE BIT(TIF_LOGADE)
#define _TIF_32BIT_REGS BIT(TIF_32BIT_REGS)
#define _TIF_32BIT_ADDR BIT(TIF_32BIT_ADDR)
#define _TIF_LOAD_WATCH BIT(TIF_LOAD_WATCH)
#define _TIF_SINGLESTEP BIT(TIF_SINGLESTEP)
#define _TIF_LSX_CTX_LIVE BIT(TIF_LSX_CTX_LIVE)
#define _TIF_LASX_CTX_LIVE BIT(TIF_LASX_CTX_LIVE)
#define _TIF_USEDLBT BIT(TIF_USEDLBT)
#define _TIF_LBT_CTX_LIVE BIT(TIF_LBT_CTX_LIVE)
#endif
#endif