1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
6 #include <linux/sched.h>
8 #include <linux/interrupt.h>
9 #include <linux/thread_info.h>
10 #include <linux/kbuild.h>
11 #include <linux/ptrace.h>
12 #include <asm/hardirq.h>
18 DEFINE(TASK_THREAD
, offsetof(struct task_struct
, thread
));
19 DEFINE(TASK_THREAD_INFO
, offsetof(struct task_struct
, stack
));
23 DEFINE(THREAD_KSP
, offsetof(struct thread_struct
, ksp
));
24 DEFINE(THREAD_CALLEE_REG
, offsetof(struct thread_struct
, callee_reg
));
25 DEFINE(THREAD_FAULT_ADDR
,
26 offsetof(struct thread_struct
, fault_address
));
30 DEFINE(THREAD_INFO_FLAGS
, offsetof(struct thread_info
, flags
));
31 DEFINE(THREAD_INFO_PREEMPT_COUNT
,
32 offsetof(struct thread_info
, preempt_count
));
36 DEFINE(TASK_ACT_MM
, offsetof(struct task_struct
, active_mm
));
37 DEFINE(TASK_TGID
, offsetof(struct task_struct
, tgid
));
38 DEFINE(TASK_PID
, offsetof(struct task_struct
, pid
));
39 DEFINE(TASK_COMM
, offsetof(struct task_struct
, comm
));
41 DEFINE(MM_CTXT
, offsetof(struct mm_struct
, context
));
42 DEFINE(MM_PGD
, offsetof(struct mm_struct
, pgd
));
44 DEFINE(MM_CTXT_ASID
, offsetof(mm_context_t
, asid
));
48 DEFINE(PT_status32
, offsetof(struct pt_regs
, status32
));
49 DEFINE(PT_event
, offsetof(struct pt_regs
, event
));
50 DEFINE(PT_sp
, offsetof(struct pt_regs
, sp
));
51 DEFINE(PT_r0
, offsetof(struct pt_regs
, r0
));
52 DEFINE(PT_r1
, offsetof(struct pt_regs
, r1
));
53 DEFINE(PT_r2
, offsetof(struct pt_regs
, r2
));
54 DEFINE(PT_r3
, offsetof(struct pt_regs
, r3
));
55 DEFINE(PT_r4
, offsetof(struct pt_regs
, r4
));
56 DEFINE(PT_r5
, offsetof(struct pt_regs
, r5
));
57 DEFINE(PT_r6
, offsetof(struct pt_regs
, r6
));
58 DEFINE(PT_r7
, offsetof(struct pt_regs
, r7
));
59 DEFINE(PT_r8
, offsetof(struct pt_regs
, r8
));
60 DEFINE(PT_r10
, offsetof(struct pt_regs
, r10
));
61 DEFINE(PT_r26
, offsetof(struct pt_regs
, r26
));
62 DEFINE(PT_ret
, offsetof(struct pt_regs
, ret
));
63 DEFINE(PT_blink
, offsetof(struct pt_regs
, blink
));
64 DEFINE(PT_lpe
, offsetof(struct pt_regs
, lp_end
));
65 DEFINE(PT_lpc
, offsetof(struct pt_regs
, lp_count
));
66 DEFINE(PT_user_r25
, offsetof(struct pt_regs
, user_r25
));
68 DEFINE(SZ_CALLEE_REGS
, sizeof(struct callee_regs
));
69 DEFINE(SZ_PT_REGS
, sizeof(struct pt_regs
));
71 #ifdef CONFIG_ISA_ARCV2
72 OFFSET(PT_r12
, pt_regs
, r12
);
73 OFFSET(PT_r30
, pt_regs
, r30
);
75 #ifdef CONFIG_ARC_HAS_ACCL_REGS
76 OFFSET(PT_r58
, pt_regs
, r58
);
77 OFFSET(PT_r59
, pt_regs
, r59
);
79 #ifdef CONFIG_ARC_DSP_SAVE_RESTORE_REGS
80 OFFSET(PT_DSP_CTRL
, pt_regs
, DSP_CTRL
);