blob: fa28ecae636b2237a8bfddb49f05851ef7056f9c [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
2 * Generate definitions needed by assembly language modules.
3 * This code generates raw asm output which is post-processed to extract
4 * and format the required data.
5 */
6
Linus Torvalds1da177e2005-04-16 15:20:36 -07007#include <linux/sched.h>
Christoph Lameter7a88d7a2008-04-29 01:04:09 -07008#include <linux/kbuild.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -07009
Linus Torvalds1da177e2005-04-16 15:20:36 -070010int main(void)
11{
Christoph Lameter4ca4d7b2008-04-29 01:04:10 -070012 DEFINE(__THREAD_info, offsetof(struct task_struct, stack));
13 DEFINE(__THREAD_ksp, offsetof(struct task_struct, thread.ksp));
14 DEFINE(__THREAD_per, offsetof(struct task_struct, thread.per_info));
Linus Torvalds1da177e2005-04-16 15:20:36 -070015 DEFINE(__THREAD_mm_segment,
Christoph Lameter4ca4d7b2008-04-29 01:04:10 -070016 offsetof(struct task_struct, thread.mm_segment));
Linus Torvalds1da177e2005-04-16 15:20:36 -070017 BLANK();
Christoph Lameter4ca4d7b2008-04-29 01:04:10 -070018 DEFINE(__TASK_pid, offsetof(struct task_struct, pid));
Linus Torvalds1da177e2005-04-16 15:20:36 -070019 BLANK();
Christoph Lameter4ca4d7b2008-04-29 01:04:10 -070020 DEFINE(__PER_atmid, offsetof(per_struct, lowcore.words.perc_atmid));
21 DEFINE(__PER_address, offsetof(per_struct, lowcore.words.address));
22 DEFINE(__PER_access_id, offsetof(per_struct, lowcore.words.access_id));
Linus Torvalds1da177e2005-04-16 15:20:36 -070023 BLANK();
Christoph Lameter4ca4d7b2008-04-29 01:04:10 -070024 DEFINE(__TI_task, offsetof(struct thread_info, task));
25 DEFINE(__TI_domain, offsetof(struct thread_info, exec_domain));
26 DEFINE(__TI_flags, offsetof(struct thread_info, flags));
27 DEFINE(__TI_cpu, offsetof(struct thread_info, cpu));
28 DEFINE(__TI_precount, offsetof(struct thread_info, preempt_count));
Linus Torvalds1da177e2005-04-16 15:20:36 -070029 BLANK();
Christoph Lameter4ca4d7b2008-04-29 01:04:10 -070030 DEFINE(__PT_ARGS, offsetof(struct pt_regs, args));
31 DEFINE(__PT_PSW, offsetof(struct pt_regs, psw));
32 DEFINE(__PT_GPRS, offsetof(struct pt_regs, gprs));
33 DEFINE(__PT_ORIG_GPR2, offsetof(struct pt_regs, orig_gpr2));
34 DEFINE(__PT_ILC, offsetof(struct pt_regs, ilc));
35 DEFINE(__PT_TRAP, offsetof(struct pt_regs, trap));
36 DEFINE(__PT_SIZE, sizeof(struct pt_regs));
Linus Torvalds1da177e2005-04-16 15:20:36 -070037 BLANK();
Christoph Lameter4ca4d7b2008-04-29 01:04:10 -070038 DEFINE(__SF_BACKCHAIN, offsetof(struct stack_frame, back_chain));
39 DEFINE(__SF_GPRS, offsetof(struct stack_frame, gprs));
40 DEFINE(__SF_EMPTY, offsetof(struct stack_frame, empty1));
Linus Torvalds1da177e2005-04-16 15:20:36 -070041 return 0;
42}