Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) // SPDX-License-Identifier: GPL-2.0-only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3)  * Copyright (C) 2012 Regents of the University of California
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4)  * Copyright (C) 2017 SiFive
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) #define GENERATING_ASM_OFFSETS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) #include <linux/kbuild.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) #include <linux/sched.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) #include <asm/thread_info.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) #include <asm/ptrace.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) void asm_offsets(void)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) 	OFFSET(TASK_THREAD_RA, task_struct, thread.ra);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) 	OFFSET(TASK_THREAD_SP, task_struct, thread.sp);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) 	OFFSET(TASK_THREAD_S0, task_struct, thread.s[0]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) 	OFFSET(TASK_THREAD_S1, task_struct, thread.s[1]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) 	OFFSET(TASK_THREAD_S2, task_struct, thread.s[2]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) 	OFFSET(TASK_THREAD_S3, task_struct, thread.s[3]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) 	OFFSET(TASK_THREAD_S4, task_struct, thread.s[4]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) 	OFFSET(TASK_THREAD_S5, task_struct, thread.s[5]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) 	OFFSET(TASK_THREAD_S6, task_struct, thread.s[6]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) 	OFFSET(TASK_THREAD_S7, task_struct, thread.s[7]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) 	OFFSET(TASK_THREAD_S8, task_struct, thread.s[8]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) 	OFFSET(TASK_THREAD_S9, task_struct, thread.s[9]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) 	OFFSET(TASK_THREAD_S10, task_struct, thread.s[10]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) 	OFFSET(TASK_THREAD_S11, task_struct, thread.s[11]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) 	OFFSET(TASK_TI_FLAGS, task_struct, thread_info.flags);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) 	OFFSET(TASK_TI_PREEMPT_COUNT, task_struct, thread_info.preempt_count);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) 	OFFSET(TASK_TI_KERNEL_SP, task_struct, thread_info.kernel_sp);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) 	OFFSET(TASK_TI_USER_SP, task_struct, thread_info.user_sp);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) 	OFFSET(TASK_TI_CPU, task_struct, thread_info.cpu);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) 	OFFSET(TASK_THREAD_F0,  task_struct, thread.fstate.f[0]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) 	OFFSET(TASK_THREAD_F1,  task_struct, thread.fstate.f[1]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) 	OFFSET(TASK_THREAD_F2,  task_struct, thread.fstate.f[2]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) 	OFFSET(TASK_THREAD_F3,  task_struct, thread.fstate.f[3]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) 	OFFSET(TASK_THREAD_F4,  task_struct, thread.fstate.f[4]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) 	OFFSET(TASK_THREAD_F5,  task_struct, thread.fstate.f[5]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) 	OFFSET(TASK_THREAD_F6,  task_struct, thread.fstate.f[6]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) 	OFFSET(TASK_THREAD_F7,  task_struct, thread.fstate.f[7]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) 	OFFSET(TASK_THREAD_F8,  task_struct, thread.fstate.f[8]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) 	OFFSET(TASK_THREAD_F9,  task_struct, thread.fstate.f[9]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) 	OFFSET(TASK_THREAD_F10, task_struct, thread.fstate.f[10]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) 	OFFSET(TASK_THREAD_F11, task_struct, thread.fstate.f[11]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) 	OFFSET(TASK_THREAD_F12, task_struct, thread.fstate.f[12]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) 	OFFSET(TASK_THREAD_F13, task_struct, thread.fstate.f[13]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) 	OFFSET(TASK_THREAD_F14, task_struct, thread.fstate.f[14]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) 	OFFSET(TASK_THREAD_F15, task_struct, thread.fstate.f[15]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) 	OFFSET(TASK_THREAD_F16, task_struct, thread.fstate.f[16]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) 	OFFSET(TASK_THREAD_F17, task_struct, thread.fstate.f[17]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) 	OFFSET(TASK_THREAD_F18, task_struct, thread.fstate.f[18]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) 	OFFSET(TASK_THREAD_F19, task_struct, thread.fstate.f[19]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) 	OFFSET(TASK_THREAD_F20, task_struct, thread.fstate.f[20]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) 	OFFSET(TASK_THREAD_F21, task_struct, thread.fstate.f[21]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) 	OFFSET(TASK_THREAD_F22, task_struct, thread.fstate.f[22]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) 	OFFSET(TASK_THREAD_F23, task_struct, thread.fstate.f[23]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) 	OFFSET(TASK_THREAD_F24, task_struct, thread.fstate.f[24]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) 	OFFSET(TASK_THREAD_F25, task_struct, thread.fstate.f[25]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) 	OFFSET(TASK_THREAD_F26, task_struct, thread.fstate.f[26]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) 	OFFSET(TASK_THREAD_F27, task_struct, thread.fstate.f[27]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) 	OFFSET(TASK_THREAD_F28, task_struct, thread.fstate.f[28]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) 	OFFSET(TASK_THREAD_F29, task_struct, thread.fstate.f[29]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) 	OFFSET(TASK_THREAD_F30, task_struct, thread.fstate.f[30]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) 	OFFSET(TASK_THREAD_F31, task_struct, thread.fstate.f[31]);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) 	OFFSET(TASK_THREAD_FCSR, task_struct, thread.fstate.fcsr);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) 	DEFINE(PT_SIZE, sizeof(struct pt_regs));
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) 	OFFSET(PT_EPC, pt_regs, epc);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) 	OFFSET(PT_RA, pt_regs, ra);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) 	OFFSET(PT_FP, pt_regs, s0);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) 	OFFSET(PT_S0, pt_regs, s0);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) 	OFFSET(PT_S1, pt_regs, s1);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) 	OFFSET(PT_S2, pt_regs, s2);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) 	OFFSET(PT_S3, pt_regs, s3);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) 	OFFSET(PT_S4, pt_regs, s4);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) 	OFFSET(PT_S5, pt_regs, s5);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) 	OFFSET(PT_S6, pt_regs, s6);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) 	OFFSET(PT_S7, pt_regs, s7);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) 	OFFSET(PT_S8, pt_regs, s8);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) 	OFFSET(PT_S9, pt_regs, s9);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) 	OFFSET(PT_S10, pt_regs, s10);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) 	OFFSET(PT_S11, pt_regs, s11);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) 	OFFSET(PT_SP, pt_regs, sp);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) 	OFFSET(PT_TP, pt_regs, tp);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) 	OFFSET(PT_A0, pt_regs, a0);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) 	OFFSET(PT_A1, pt_regs, a1);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) 	OFFSET(PT_A2, pt_regs, a2);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) 	OFFSET(PT_A3, pt_regs, a3);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) 	OFFSET(PT_A4, pt_regs, a4);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) 	OFFSET(PT_A5, pt_regs, a5);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) 	OFFSET(PT_A6, pt_regs, a6);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) 	OFFSET(PT_A7, pt_regs, a7);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) 	OFFSET(PT_T0, pt_regs, t0);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) 	OFFSET(PT_T1, pt_regs, t1);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) 	OFFSET(PT_T2, pt_regs, t2);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) 	OFFSET(PT_T3, pt_regs, t3);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) 	OFFSET(PT_T4, pt_regs, t4);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) 	OFFSET(PT_T5, pt_regs, t5);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) 	OFFSET(PT_T6, pt_regs, t6);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) 	OFFSET(PT_GP, pt_regs, gp);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) 	OFFSET(PT_ORIG_A0, pt_regs, orig_a0);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) 	OFFSET(PT_STATUS, pt_regs, status);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) 	OFFSET(PT_BADADDR, pt_regs, badaddr);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) 	OFFSET(PT_CAUSE, pt_regs, cause);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) 	/*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) 	 * THREAD_{F,X}* might be larger than a S-type offset can handle, but
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) 	 * these are used in performance-sensitive assembly so we can't resort
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) 	 * to loading the long immediate every time.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) 	 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) 	DEFINE(TASK_THREAD_RA_RA,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) 		  offsetof(struct task_struct, thread.ra)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) 		- offsetof(struct task_struct, thread.ra)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) 	DEFINE(TASK_THREAD_SP_RA,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) 		  offsetof(struct task_struct, thread.sp)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) 		- offsetof(struct task_struct, thread.ra)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) 	DEFINE(TASK_THREAD_S0_RA,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) 		  offsetof(struct task_struct, thread.s[0])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) 		- offsetof(struct task_struct, thread.ra)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) 	DEFINE(TASK_THREAD_S1_RA,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) 		  offsetof(struct task_struct, thread.s[1])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) 		- offsetof(struct task_struct, thread.ra)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) 	DEFINE(TASK_THREAD_S2_RA,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) 		  offsetof(struct task_struct, thread.s[2])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) 		- offsetof(struct task_struct, thread.ra)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) 	DEFINE(TASK_THREAD_S3_RA,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) 		  offsetof(struct task_struct, thread.s[3])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) 		- offsetof(struct task_struct, thread.ra)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) 	DEFINE(TASK_THREAD_S4_RA,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) 		  offsetof(struct task_struct, thread.s[4])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) 		- offsetof(struct task_struct, thread.ra)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) 	DEFINE(TASK_THREAD_S5_RA,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) 		  offsetof(struct task_struct, thread.s[5])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) 		- offsetof(struct task_struct, thread.ra)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) 	DEFINE(TASK_THREAD_S6_RA,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) 		  offsetof(struct task_struct, thread.s[6])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) 		- offsetof(struct task_struct, thread.ra)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) 	DEFINE(TASK_THREAD_S7_RA,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) 		  offsetof(struct task_struct, thread.s[7])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) 		- offsetof(struct task_struct, thread.ra)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) 	DEFINE(TASK_THREAD_S8_RA,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) 		  offsetof(struct task_struct, thread.s[8])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) 		- offsetof(struct task_struct, thread.ra)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) 	DEFINE(TASK_THREAD_S9_RA,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) 		  offsetof(struct task_struct, thread.s[9])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) 		- offsetof(struct task_struct, thread.ra)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) 	DEFINE(TASK_THREAD_S10_RA,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) 		  offsetof(struct task_struct, thread.s[10])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) 		- offsetof(struct task_struct, thread.ra)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) 	DEFINE(TASK_THREAD_S11_RA,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) 		  offsetof(struct task_struct, thread.s[11])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) 		- offsetof(struct task_struct, thread.ra)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) 	DEFINE(TASK_THREAD_F0_F0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) 		  offsetof(struct task_struct, thread.fstate.f[0])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) 		- offsetof(struct task_struct, thread.fstate.f[0])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) 	DEFINE(TASK_THREAD_F1_F0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) 		  offsetof(struct task_struct, thread.fstate.f[1])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) 		- offsetof(struct task_struct, thread.fstate.f[0])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) 	DEFINE(TASK_THREAD_F2_F0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) 		  offsetof(struct task_struct, thread.fstate.f[2])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) 		- offsetof(struct task_struct, thread.fstate.f[0])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) 	DEFINE(TASK_THREAD_F3_F0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) 		  offsetof(struct task_struct, thread.fstate.f[3])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) 		- offsetof(struct task_struct, thread.fstate.f[0])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) 	DEFINE(TASK_THREAD_F4_F0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) 		  offsetof(struct task_struct, thread.fstate.f[4])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) 		- offsetof(struct task_struct, thread.fstate.f[0])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) 	DEFINE(TASK_THREAD_F5_F0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) 		  offsetof(struct task_struct, thread.fstate.f[5])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) 		- offsetof(struct task_struct, thread.fstate.f[0])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) 	DEFINE(TASK_THREAD_F6_F0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) 		  offsetof(struct task_struct, thread.fstate.f[6])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) 		- offsetof(struct task_struct, thread.fstate.f[0])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) 	DEFINE(TASK_THREAD_F7_F0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) 		  offsetof(struct task_struct, thread.fstate.f[7])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) 		- offsetof(struct task_struct, thread.fstate.f[0])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) 	DEFINE(TASK_THREAD_F8_F0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) 		  offsetof(struct task_struct, thread.fstate.f[8])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) 		- offsetof(struct task_struct, thread.fstate.f[0])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) 	DEFINE(TASK_THREAD_F9_F0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) 		  offsetof(struct task_struct, thread.fstate.f[9])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) 		- offsetof(struct task_struct, thread.fstate.f[0])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) 	DEFINE(TASK_THREAD_F10_F0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) 		  offsetof(struct task_struct, thread.fstate.f[10])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) 		- offsetof(struct task_struct, thread.fstate.f[0])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) 	DEFINE(TASK_THREAD_F11_F0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) 		  offsetof(struct task_struct, thread.fstate.f[11])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) 		- offsetof(struct task_struct, thread.fstate.f[0])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) 	DEFINE(TASK_THREAD_F12_F0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) 		  offsetof(struct task_struct, thread.fstate.f[12])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) 		- offsetof(struct task_struct, thread.fstate.f[0])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) 	DEFINE(TASK_THREAD_F13_F0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) 		  offsetof(struct task_struct, thread.fstate.f[13])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) 		- offsetof(struct task_struct, thread.fstate.f[0])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) 	DEFINE(TASK_THREAD_F14_F0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) 		  offsetof(struct task_struct, thread.fstate.f[14])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) 		- offsetof(struct task_struct, thread.fstate.f[0])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) 	DEFINE(TASK_THREAD_F15_F0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) 		  offsetof(struct task_struct, thread.fstate.f[15])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) 		- offsetof(struct task_struct, thread.fstate.f[0])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) 	DEFINE(TASK_THREAD_F16_F0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) 		  offsetof(struct task_struct, thread.fstate.f[16])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) 		- offsetof(struct task_struct, thread.fstate.f[0])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) 	DEFINE(TASK_THREAD_F17_F0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) 		  offsetof(struct task_struct, thread.fstate.f[17])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241) 		- offsetof(struct task_struct, thread.fstate.f[0])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) 	DEFINE(TASK_THREAD_F18_F0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) 		  offsetof(struct task_struct, thread.fstate.f[18])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) 		- offsetof(struct task_struct, thread.fstate.f[0])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) 	DEFINE(TASK_THREAD_F19_F0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) 		  offsetof(struct task_struct, thread.fstate.f[19])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) 		- offsetof(struct task_struct, thread.fstate.f[0])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) 	DEFINE(TASK_THREAD_F20_F0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) 		  offsetof(struct task_struct, thread.fstate.f[20])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) 		- offsetof(struct task_struct, thread.fstate.f[0])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) 	DEFINE(TASK_THREAD_F21_F0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) 		  offsetof(struct task_struct, thread.fstate.f[21])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) 		- offsetof(struct task_struct, thread.fstate.f[0])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) 	DEFINE(TASK_THREAD_F22_F0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) 		  offsetof(struct task_struct, thread.fstate.f[22])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) 		- offsetof(struct task_struct, thread.fstate.f[0])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) 	DEFINE(TASK_THREAD_F23_F0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) 		  offsetof(struct task_struct, thread.fstate.f[23])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) 		- offsetof(struct task_struct, thread.fstate.f[0])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) 	DEFINE(TASK_THREAD_F24_F0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) 		  offsetof(struct task_struct, thread.fstate.f[24])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269) 		- offsetof(struct task_struct, thread.fstate.f[0])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) 	DEFINE(TASK_THREAD_F25_F0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) 		  offsetof(struct task_struct, thread.fstate.f[25])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) 		- offsetof(struct task_struct, thread.fstate.f[0])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275) 	DEFINE(TASK_THREAD_F26_F0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) 		  offsetof(struct task_struct, thread.fstate.f[26])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) 		- offsetof(struct task_struct, thread.fstate.f[0])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279) 	DEFINE(TASK_THREAD_F27_F0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) 		  offsetof(struct task_struct, thread.fstate.f[27])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281) 		- offsetof(struct task_struct, thread.fstate.f[0])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283) 	DEFINE(TASK_THREAD_F28_F0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) 		  offsetof(struct task_struct, thread.fstate.f[28])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285) 		- offsetof(struct task_struct, thread.fstate.f[0])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287) 	DEFINE(TASK_THREAD_F29_F0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288) 		  offsetof(struct task_struct, thread.fstate.f[29])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289) 		- offsetof(struct task_struct, thread.fstate.f[0])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) 	DEFINE(TASK_THREAD_F30_F0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) 		  offsetof(struct task_struct, thread.fstate.f[30])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) 		- offsetof(struct task_struct, thread.fstate.f[0])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) 	DEFINE(TASK_THREAD_F31_F0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) 		  offsetof(struct task_struct, thread.fstate.f[31])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297) 		- offsetof(struct task_struct, thread.fstate.f[0])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299) 	DEFINE(TASK_THREAD_FCSR_F0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300) 		  offsetof(struct task_struct, thread.fstate.fcsr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301) 		- offsetof(struct task_struct, thread.fstate.f[0])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302) 	);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304) 	/*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305) 	 * We allocate a pt_regs on the stack when entering the kernel.  This
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306) 	 * ensures the alignment is sane.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307) 	 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 308) 	DEFINE(PT_SIZE_ON_STACK, ALIGN(sizeof(struct pt_regs), STACK_ALIGN));
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 309) }