Blame view

arch/mips/kernel/asm-offsets.c 11 KB
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
2
3
4
5
6
7
8
9
10
  /*
   * offset.c: Calculate pt_regs and task_struct offsets.
   *
   * Copyright (C) 1996 David S. Miller
   * Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003 Ralf Baechle
   * Copyright (C) 1999, 2000 Silicon Graphics, Inc.
   *
   * Kevin Kissell, kevink@mips.com and Carsten Langgaard, carstenl@mips.com
   * Copyright (C) 2000 MIPS Technologies, Inc.
   */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
11
12
13
14
15
  #include <linux/compat.h>
  #include <linux/types.h>
  #include <linux/sched.h>
  #include <linux/mm.h>
  #include <linux/interrupt.h>
fd04d2067   Christoph Lameter   mips: use kbuild....
16
  #include <linux/kbuild.h>
363c55cae   Wu Zhangjin   MIPS: Add hiberna...
17
  #include <linux/suspend.h>
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
18
19
  #include <asm/ptrace.h>
  #include <asm/processor.h>
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
20
21
  void output_ptreg_defines(void)
  {
fd04d2067   Christoph Lameter   mips: use kbuild....
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
  	COMMENT("MIPS pt_regs offsets.");
  	OFFSET(PT_R0, pt_regs, regs[0]);
  	OFFSET(PT_R1, pt_regs, regs[1]);
  	OFFSET(PT_R2, pt_regs, regs[2]);
  	OFFSET(PT_R3, pt_regs, regs[3]);
  	OFFSET(PT_R4, pt_regs, regs[4]);
  	OFFSET(PT_R5, pt_regs, regs[5]);
  	OFFSET(PT_R6, pt_regs, regs[6]);
  	OFFSET(PT_R7, pt_regs, regs[7]);
  	OFFSET(PT_R8, pt_regs, regs[8]);
  	OFFSET(PT_R9, pt_regs, regs[9]);
  	OFFSET(PT_R10, pt_regs, regs[10]);
  	OFFSET(PT_R11, pt_regs, regs[11]);
  	OFFSET(PT_R12, pt_regs, regs[12]);
  	OFFSET(PT_R13, pt_regs, regs[13]);
  	OFFSET(PT_R14, pt_regs, regs[14]);
  	OFFSET(PT_R15, pt_regs, regs[15]);
  	OFFSET(PT_R16, pt_regs, regs[16]);
  	OFFSET(PT_R17, pt_regs, regs[17]);
  	OFFSET(PT_R18, pt_regs, regs[18]);
  	OFFSET(PT_R19, pt_regs, regs[19]);
  	OFFSET(PT_R20, pt_regs, regs[20]);
  	OFFSET(PT_R21, pt_regs, regs[21]);
  	OFFSET(PT_R22, pt_regs, regs[22]);
  	OFFSET(PT_R23, pt_regs, regs[23]);
  	OFFSET(PT_R24, pt_regs, regs[24]);
  	OFFSET(PT_R25, pt_regs, regs[25]);
  	OFFSET(PT_R26, pt_regs, regs[26]);
  	OFFSET(PT_R27, pt_regs, regs[27]);
  	OFFSET(PT_R28, pt_regs, regs[28]);
  	OFFSET(PT_R29, pt_regs, regs[29]);
  	OFFSET(PT_R30, pt_regs, regs[30]);
  	OFFSET(PT_R31, pt_regs, regs[31]);
  	OFFSET(PT_LO, pt_regs, lo);
  	OFFSET(PT_HI, pt_regs, hi);
9693a8537   Franck Bui-Huu   [MIPS] Add basic ...
57
  #ifdef CONFIG_CPU_HAS_SMARTMIPS
fd04d2067   Christoph Lameter   mips: use kbuild....
58
  	OFFSET(PT_ACX, pt_regs, acx);
9693a8537   Franck Bui-Huu   [MIPS] Add basic ...
59
  #endif
fd04d2067   Christoph Lameter   mips: use kbuild....
60
61
62
63
  	OFFSET(PT_EPC, pt_regs, cp0_epc);
  	OFFSET(PT_BVADDR, pt_regs, cp0_badvaddr);
  	OFFSET(PT_STATUS, pt_regs, cp0_status);
  	OFFSET(PT_CAUSE, pt_regs, cp0_cause);
41c594ab6   Ralf Baechle   [MIPS] MT: Improv...
64
  #ifdef CONFIG_MIPS_MT_SMTC
fd04d2067   Christoph Lameter   mips: use kbuild....
65
  	OFFSET(PT_TCSTATUS, pt_regs, cp0_tcstatus);
41c594ab6   Ralf Baechle   [MIPS] MT: Improv...
66
  #endif /* CONFIG_MIPS_MT_SMTC */
babed5556   David Daney   MIPS: Add Cavium ...
67
68
69
70
  #ifdef CONFIG_CPU_CAVIUM_OCTEON
  	OFFSET(PT_MPL, pt_regs, mpl);
  	OFFSET(PT_MTP, pt_regs, mtp);
  #endif /* CONFIG_CPU_CAVIUM_OCTEON */
fd04d2067   Christoph Lameter   mips: use kbuild....
71
72
  	DEFINE(PT_SIZE, sizeof(struct pt_regs));
  	BLANK();
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
73
74
75
76
  }
  
  void output_task_defines(void)
  {
fd04d2067   Christoph Lameter   mips: use kbuild....
77
78
79
80
81
82
83
84
  	COMMENT("MIPS task_struct offsets.");
  	OFFSET(TASK_STATE, task_struct, state);
  	OFFSET(TASK_THREAD_INFO, task_struct, stack);
  	OFFSET(TASK_FLAGS, task_struct, flags);
  	OFFSET(TASK_MM, task_struct, mm);
  	OFFSET(TASK_PID, task_struct, pid);
  	DEFINE(TASK_STRUCT_SIZE, sizeof(struct task_struct));
  	BLANK();
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
85
86
87
88
  }
  
  void output_thread_info_defines(void)
  {
fd04d2067   Christoph Lameter   mips: use kbuild....
89
90
91
92
93
94
95
96
97
98
99
100
101
  	COMMENT("MIPS thread_info offsets.");
  	OFFSET(TI_TASK, thread_info, task);
  	OFFSET(TI_EXEC_DOMAIN, thread_info, exec_domain);
  	OFFSET(TI_FLAGS, thread_info, flags);
  	OFFSET(TI_TP_VALUE, thread_info, tp_value);
  	OFFSET(TI_CPU, thread_info, cpu);
  	OFFSET(TI_PRE_COUNT, thread_info, preempt_count);
  	OFFSET(TI_ADDR_LIMIT, thread_info, addr_limit);
  	OFFSET(TI_RESTART_BLOCK, thread_info, restart_block);
  	OFFSET(TI_REGS, thread_info, regs);
  	DEFINE(_THREAD_SIZE, THREAD_SIZE);
  	DEFINE(_THREAD_MASK, THREAD_MASK);
  	BLANK();
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
102
103
104
105
  }
  
  void output_thread_defines(void)
  {
fd04d2067   Christoph Lameter   mips: use kbuild....
106
107
108
109
110
111
112
113
114
115
116
117
118
  	COMMENT("MIPS specific thread_struct offsets.");
  	OFFSET(THREAD_REG16, task_struct, thread.reg16);
  	OFFSET(THREAD_REG17, task_struct, thread.reg17);
  	OFFSET(THREAD_REG18, task_struct, thread.reg18);
  	OFFSET(THREAD_REG19, task_struct, thread.reg19);
  	OFFSET(THREAD_REG20, task_struct, thread.reg20);
  	OFFSET(THREAD_REG21, task_struct, thread.reg21);
  	OFFSET(THREAD_REG22, task_struct, thread.reg22);
  	OFFSET(THREAD_REG23, task_struct, thread.reg23);
  	OFFSET(THREAD_REG29, task_struct, thread.reg29);
  	OFFSET(THREAD_REG30, task_struct, thread.reg30);
  	OFFSET(THREAD_REG31, task_struct, thread.reg31);
  	OFFSET(THREAD_STATUS, task_struct,
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
119
  	       thread.cp0_status);
fd04d2067   Christoph Lameter   mips: use kbuild....
120
  	OFFSET(THREAD_FPU, task_struct, thread.fpu);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
121

fd04d2067   Christoph Lameter   mips: use kbuild....
122
  	OFFSET(THREAD_BVADDR, task_struct, \
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
123
  	       thread.cp0_badvaddr);
fd04d2067   Christoph Lameter   mips: use kbuild....
124
  	OFFSET(THREAD_BUADDR, task_struct, \
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
125
  	       thread.cp0_baduaddr);
fd04d2067   Christoph Lameter   mips: use kbuild....
126
  	OFFSET(THREAD_ECODE, task_struct, \
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
127
  	       thread.error_code);
fd04d2067   Christoph Lameter   mips: use kbuild....
128
  	OFFSET(THREAD_TRAMP, task_struct, \
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
129
  	       thread.irix_trampoline);
fd04d2067   Christoph Lameter   mips: use kbuild....
130
  	OFFSET(THREAD_OLDCTX, task_struct, \
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
131
  	       thread.irix_oldctx);
fd04d2067   Christoph Lameter   mips: use kbuild....
132
  	BLANK();
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
133
134
135
136
  }
  
  void output_thread_fpu_defines(void)
  {
fd04d2067   Christoph Lameter   mips: use kbuild....
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
  	OFFSET(THREAD_FPR0, task_struct, thread.fpu.fpr[0]);
  	OFFSET(THREAD_FPR1, task_struct, thread.fpu.fpr[1]);
  	OFFSET(THREAD_FPR2, task_struct, thread.fpu.fpr[2]);
  	OFFSET(THREAD_FPR3, task_struct, thread.fpu.fpr[3]);
  	OFFSET(THREAD_FPR4, task_struct, thread.fpu.fpr[4]);
  	OFFSET(THREAD_FPR5, task_struct, thread.fpu.fpr[5]);
  	OFFSET(THREAD_FPR6, task_struct, thread.fpu.fpr[6]);
  	OFFSET(THREAD_FPR7, task_struct, thread.fpu.fpr[7]);
  	OFFSET(THREAD_FPR8, task_struct, thread.fpu.fpr[8]);
  	OFFSET(THREAD_FPR9, task_struct, thread.fpu.fpr[9]);
  	OFFSET(THREAD_FPR10, task_struct, thread.fpu.fpr[10]);
  	OFFSET(THREAD_FPR11, task_struct, thread.fpu.fpr[11]);
  	OFFSET(THREAD_FPR12, task_struct, thread.fpu.fpr[12]);
  	OFFSET(THREAD_FPR13, task_struct, thread.fpu.fpr[13]);
  	OFFSET(THREAD_FPR14, task_struct, thread.fpu.fpr[14]);
  	OFFSET(THREAD_FPR15, task_struct, thread.fpu.fpr[15]);
  	OFFSET(THREAD_FPR16, task_struct, thread.fpu.fpr[16]);
  	OFFSET(THREAD_FPR17, task_struct, thread.fpu.fpr[17]);
  	OFFSET(THREAD_FPR18, task_struct, thread.fpu.fpr[18]);
  	OFFSET(THREAD_FPR19, task_struct, thread.fpu.fpr[19]);
  	OFFSET(THREAD_FPR20, task_struct, thread.fpu.fpr[20]);
  	OFFSET(THREAD_FPR21, task_struct, thread.fpu.fpr[21]);
  	OFFSET(THREAD_FPR22, task_struct, thread.fpu.fpr[22]);
  	OFFSET(THREAD_FPR23, task_struct, thread.fpu.fpr[23]);
  	OFFSET(THREAD_FPR24, task_struct, thread.fpu.fpr[24]);
  	OFFSET(THREAD_FPR25, task_struct, thread.fpu.fpr[25]);
  	OFFSET(THREAD_FPR26, task_struct, thread.fpu.fpr[26]);
  	OFFSET(THREAD_FPR27, task_struct, thread.fpu.fpr[27]);
  	OFFSET(THREAD_FPR28, task_struct, thread.fpu.fpr[28]);
  	OFFSET(THREAD_FPR29, task_struct, thread.fpu.fpr[29]);
  	OFFSET(THREAD_FPR30, task_struct, thread.fpu.fpr[30]);
  	OFFSET(THREAD_FPR31, task_struct, thread.fpu.fpr[31]);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
169

fd04d2067   Christoph Lameter   mips: use kbuild....
170
171
  	OFFSET(THREAD_FCR31, task_struct, thread.fpu.fcr31);
  	BLANK();
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
172
173
174
175
  }
  
  void output_mm_defines(void)
  {
fd04d2067   Christoph Lameter   mips: use kbuild....
176
177
178
179
180
181
182
183
  	COMMENT("Size of struct page");
  	DEFINE(STRUCT_PAGE_SIZE, sizeof(struct page));
  	BLANK();
  	COMMENT("Linux mm_struct offsets.");
  	OFFSET(MM_USERS, mm_struct, mm_users);
  	OFFSET(MM_PGD, mm_struct, pgd);
  	OFFSET(MM_CONTEXT, mm_struct, context);
  	BLANK();
fd04d2067   Christoph Lameter   mips: use kbuild....
184
185
186
187
188
  	DEFINE(_PGD_T_SIZE, sizeof(pgd_t));
  	DEFINE(_PMD_T_SIZE, sizeof(pmd_t));
  	DEFINE(_PTE_T_SIZE, sizeof(pte_t));
  	BLANK();
  	DEFINE(_PGD_T_LOG2, PGD_T_LOG2);
325f8a0a3   David Daney   MIPS: Two-level p...
189
  #ifndef __PAGETABLE_PMD_FOLDED
fd04d2067   Christoph Lameter   mips: use kbuild....
190
  	DEFINE(_PMD_T_LOG2, PMD_T_LOG2);
325f8a0a3   David Daney   MIPS: Two-level p...
191
  #endif
fd04d2067   Christoph Lameter   mips: use kbuild....
192
193
194
  	DEFINE(_PTE_T_LOG2, PTE_T_LOG2);
  	BLANK();
  	DEFINE(_PGD_ORDER, PGD_ORDER);
325f8a0a3   David Daney   MIPS: Two-level p...
195
  #ifndef __PAGETABLE_PMD_FOLDED
fd04d2067   Christoph Lameter   mips: use kbuild....
196
  	DEFINE(_PMD_ORDER, PMD_ORDER);
325f8a0a3   David Daney   MIPS: Two-level p...
197
  #endif
fd04d2067   Christoph Lameter   mips: use kbuild....
198
199
200
201
202
203
204
205
206
  	DEFINE(_PTE_ORDER, PTE_ORDER);
  	BLANK();
  	DEFINE(_PMD_SHIFT, PMD_SHIFT);
  	DEFINE(_PGDIR_SHIFT, PGDIR_SHIFT);
  	BLANK();
  	DEFINE(_PTRS_PER_PGD, PTRS_PER_PGD);
  	DEFINE(_PTRS_PER_PMD, PTRS_PER_PMD);
  	DEFINE(_PTRS_PER_PTE, PTRS_PER_PTE);
  	BLANK();
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
207
  }
e50c0a8fa   Ralf Baechle   Support the MIPS3...
208
  #ifdef CONFIG_32BIT
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
209
210
  void output_sc_defines(void)
  {
fd04d2067   Christoph Lameter   mips: use kbuild....
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
  	COMMENT("Linux sigcontext offsets.");
  	OFFSET(SC_REGS, sigcontext, sc_regs);
  	OFFSET(SC_FPREGS, sigcontext, sc_fpregs);
  	OFFSET(SC_ACX, sigcontext, sc_acx);
  	OFFSET(SC_MDHI, sigcontext, sc_mdhi);
  	OFFSET(SC_MDLO, sigcontext, sc_mdlo);
  	OFFSET(SC_PC, sigcontext, sc_pc);
  	OFFSET(SC_FPC_CSR, sigcontext, sc_fpc_csr);
  	OFFSET(SC_FPC_EIR, sigcontext, sc_fpc_eir);
  	OFFSET(SC_HI1, sigcontext, sc_hi1);
  	OFFSET(SC_LO1, sigcontext, sc_lo1);
  	OFFSET(SC_HI2, sigcontext, sc_hi2);
  	OFFSET(SC_LO2, sigcontext, sc_lo2);
  	OFFSET(SC_HI3, sigcontext, sc_hi3);
  	OFFSET(SC_LO3, sigcontext, sc_lo3);
  	BLANK();
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
227
  }
e50c0a8fa   Ralf Baechle   Support the MIPS3...
228
229
230
231
232
  #endif
  
  #ifdef CONFIG_64BIT
  void output_sc_defines(void)
  {
fd04d2067   Christoph Lameter   mips: use kbuild....
233
234
235
236
237
238
239
240
  	COMMENT("Linux sigcontext offsets.");
  	OFFSET(SC_REGS, sigcontext, sc_regs);
  	OFFSET(SC_FPREGS, sigcontext, sc_fpregs);
  	OFFSET(SC_MDHI, sigcontext, sc_mdhi);
  	OFFSET(SC_MDLO, sigcontext, sc_mdlo);
  	OFFSET(SC_PC, sigcontext, sc_pc);
  	OFFSET(SC_FPC_CSR, sigcontext, sc_fpc_csr);
  	BLANK();
e50c0a8fa   Ralf Baechle   Support the MIPS3...
241
242
  }
  #endif
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
243
244
245
246
  
  #ifdef CONFIG_MIPS32_COMPAT
  void output_sc32_defines(void)
  {
fd04d2067   Christoph Lameter   mips: use kbuild....
247
248
249
250
251
  	COMMENT("Linux 32-bit sigcontext offsets.");
  	OFFSET(SC32_FPREGS, sigcontext32, sc_fpregs);
  	OFFSET(SC32_FPC_CSR, sigcontext32, sc_fpc_csr);
  	OFFSET(SC32_FPC_EIR, sigcontext32, sc_fpc_eir);
  	BLANK();
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
252
253
254
255
256
  }
  #endif
  
  void output_signal_defined(void)
  {
fd04d2067   Christoph Lameter   mips: use kbuild....
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
  	COMMENT("Linux signal numbers.");
  	DEFINE(_SIGHUP, SIGHUP);
  	DEFINE(_SIGINT, SIGINT);
  	DEFINE(_SIGQUIT, SIGQUIT);
  	DEFINE(_SIGILL, SIGILL);
  	DEFINE(_SIGTRAP, SIGTRAP);
  	DEFINE(_SIGIOT, SIGIOT);
  	DEFINE(_SIGABRT, SIGABRT);
  	DEFINE(_SIGEMT, SIGEMT);
  	DEFINE(_SIGFPE, SIGFPE);
  	DEFINE(_SIGKILL, SIGKILL);
  	DEFINE(_SIGBUS, SIGBUS);
  	DEFINE(_SIGSEGV, SIGSEGV);
  	DEFINE(_SIGSYS, SIGSYS);
  	DEFINE(_SIGPIPE, SIGPIPE);
  	DEFINE(_SIGALRM, SIGALRM);
  	DEFINE(_SIGTERM, SIGTERM);
  	DEFINE(_SIGUSR1, SIGUSR1);
  	DEFINE(_SIGUSR2, SIGUSR2);
  	DEFINE(_SIGCHLD, SIGCHLD);
  	DEFINE(_SIGPWR, SIGPWR);
  	DEFINE(_SIGWINCH, SIGWINCH);
  	DEFINE(_SIGURG, SIGURG);
  	DEFINE(_SIGIO, SIGIO);
  	DEFINE(_SIGSTOP, SIGSTOP);
  	DEFINE(_SIGTSTP, SIGTSTP);
  	DEFINE(_SIGCONT, SIGCONT);
  	DEFINE(_SIGTTIN, SIGTTIN);
  	DEFINE(_SIGTTOU, SIGTTOU);
  	DEFINE(_SIGVTALRM, SIGVTALRM);
  	DEFINE(_SIGPROF, SIGPROF);
  	DEFINE(_SIGXCPU, SIGXCPU);
  	DEFINE(_SIGXFSZ, SIGXFSZ);
  	BLANK();
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
291
292
293
294
  }
  
  void output_irq_cpustat_t_defines(void)
  {
fd04d2067   Christoph Lameter   mips: use kbuild....
295
296
297
298
299
  	COMMENT("Linux irq_cpustat_t offsets.");
  	DEFINE(IC_SOFTIRQ_PENDING,
  			offsetof(irq_cpustat_t, __softirq_pending));
  	DEFINE(IC_IRQ_CPUSTAT_T, sizeof(irq_cpustat_t));
  	BLANK();
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
300
  }
babed5556   David Daney   MIPS: Add Cavium ...
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
  
  #ifdef CONFIG_CPU_CAVIUM_OCTEON
  void output_octeon_cop2_state_defines(void)
  {
  	COMMENT("Octeon specific octeon_cop2_state offsets.");
  	OFFSET(OCTEON_CP2_CRC_IV,	octeon_cop2_state, cop2_crc_iv);
  	OFFSET(OCTEON_CP2_CRC_LENGTH,	octeon_cop2_state, cop2_crc_length);
  	OFFSET(OCTEON_CP2_CRC_POLY,	octeon_cop2_state, cop2_crc_poly);
  	OFFSET(OCTEON_CP2_LLM_DAT,	octeon_cop2_state, cop2_llm_dat);
  	OFFSET(OCTEON_CP2_3DES_IV,	octeon_cop2_state, cop2_3des_iv);
  	OFFSET(OCTEON_CP2_3DES_KEY,	octeon_cop2_state, cop2_3des_key);
  	OFFSET(OCTEON_CP2_3DES_RESULT,	octeon_cop2_state, cop2_3des_result);
  	OFFSET(OCTEON_CP2_AES_INP0,	octeon_cop2_state, cop2_aes_inp0);
  	OFFSET(OCTEON_CP2_AES_IV,	octeon_cop2_state, cop2_aes_iv);
  	OFFSET(OCTEON_CP2_AES_KEY,	octeon_cop2_state, cop2_aes_key);
  	OFFSET(OCTEON_CP2_AES_KEYLEN,	octeon_cop2_state, cop2_aes_keylen);
  	OFFSET(OCTEON_CP2_AES_RESULT,	octeon_cop2_state, cop2_aes_result);
  	OFFSET(OCTEON_CP2_GFM_MULT,	octeon_cop2_state, cop2_gfm_mult);
  	OFFSET(OCTEON_CP2_GFM_POLY,	octeon_cop2_state, cop2_gfm_poly);
  	OFFSET(OCTEON_CP2_GFM_RESULT,	octeon_cop2_state, cop2_gfm_result);
  	OFFSET(OCTEON_CP2_HSH_DATW,	octeon_cop2_state, cop2_hsh_datw);
  	OFFSET(OCTEON_CP2_HSH_IVW,	octeon_cop2_state, cop2_hsh_ivw);
  	OFFSET(THREAD_CP2,	task_struct, thread.cp2);
  	OFFSET(THREAD_CVMSEG,	task_struct, thread.cvmseg.cvmseg);
  	BLANK();
  }
  #endif
363c55cae   Wu Zhangjin   MIPS: Add hiberna...
328
329
330
331
332
333
334
335
336
337
338
339
  
  #ifdef CONFIG_HIBERNATION
  void output_pbe_defines(void)
  {
  	COMMENT(" Linux struct pbe offsets. ");
  	OFFSET(PBE_ADDRESS, pbe, address);
  	OFFSET(PBE_ORIG_ADDRESS, pbe, orig_address);
  	OFFSET(PBE_NEXT, pbe, next);
  	DEFINE(PBE_SIZE, sizeof(struct pbe));
  	BLANK();
  }
  #endif