~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/unicore32/kernel/asm-offsets.c

Version: ~ [ linux-5.1-rc5 ] ~ [ linux-5.0.7 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.34 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.111 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.168 ] ~ [ linux-4.8.17 ] ~ [ linux-4.7.10 ] ~ [ linux-4.6.7 ] ~ [ linux-4.5.7 ] ~ [ linux-4.4.178 ] ~ [ linux-4.3.6 ] ~ [ linux-4.2.8 ] ~ [ linux-4.1.52 ] ~ [ linux-4.0.9 ] ~ [ linux-3.19.8 ] ~ [ linux-3.18.138 ] ~ [ linux-3.17.8 ] ~ [ linux-3.16.65 ] ~ [ linux-3.15.10 ] ~ [ linux-3.14.79 ] ~ [ linux-3.13.11 ] ~ [ linux-3.12.74 ] ~ [ linux-3.11.10 ] ~ [ linux-3.10.108 ] ~ [ linux-3.9.11 ] ~ [ linux-3.8.13 ] ~ [ linux-3.7.10 ] ~ [ linux-3.6.11 ] ~ [ linux-3.5.7 ] ~ [ linux-3.4.113 ] ~ [ linux-3.3.8 ] ~ [ linux-3.2.102 ] ~ [ linux-3.1.10 ] ~ [ linux-3.0.101 ] ~ [ linux-2.6.39.4 ] ~ [ linux-2.6.38.8 ] ~ [ linux-2.6.37.6 ] ~ [ linux-2.6.36.4 ] ~ [ linux-2.6.35.14 ] ~ [ linux-2.6.34.15 ] ~ [ linux-2.6.33.20 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.5 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /*
  2  * linux/arch/unicore32/kernel/asm-offsets.c
  3  *
  4  * Code specific to PKUnity SoC and UniCore ISA
  5  *
  6  * Copyright (C) 2001-2010 GUAN Xue-tao
  7  *
  8  * Generate definitions needed by assembly language modules.
  9  * This code generates raw asm output which is post-processed to extract
 10  * and format the required data.
 11  *
 12  * This program is free software; you can redistribute it and/or modify
 13  * it under the terms of the GNU General Public License version 2 as
 14  * published by the Free Software Foundation.
 15  */
 16 #include <linux/sched.h>
 17 #include <linux/mm.h>
 18 #include <linux/dma-mapping.h>
 19 #include <linux/kbuild.h>
 20 #include <linux/suspend.h>
 21 #include <linux/thread_info.h>
 22 #include <asm/memory.h>
 23 #include <asm/suspend.h>
 24 
 25 /*
 26  * GCC 3.0, 3.1: general bad code generation.
 27  * GCC 3.2.0: incorrect function argument offset calculation.
 28  * GCC 3.2.x: miscompiles NEW_AUX_ENT in fs/binfmt_elf.c
 29  *      (http://gcc.gnu.org/PR8896) and incorrect structure
 30  *              initialisation in fs/jffs2/erase.c
 31  */
 32 #if (__GNUC__ < 4)
 33 #error Your compiler should upgrade to uc4
 34 #error  Known good compilers: 4.2.2
 35 #endif
 36 
 37 int main(void)
 38 {
 39         DEFINE(TSK_ACTIVE_MM,   offsetof(struct task_struct, active_mm));
 40         BLANK();
 41         DEFINE(TI_FLAGS,        offsetof(struct thread_info, flags));
 42         DEFINE(TI_PREEMPT,      offsetof(struct thread_info, preempt_count));
 43         DEFINE(TI_ADDR_LIMIT,   offsetof(struct thread_info, addr_limit));
 44         DEFINE(TI_TASK,         offsetof(struct thread_info, task));
 45         DEFINE(TI_CPU,          offsetof(struct thread_info, cpu));
 46         DEFINE(TI_CPU_SAVE,     offsetof(struct thread_info, cpu_context));
 47         DEFINE(TI_USED_CP,      offsetof(struct thread_info, used_cp));
 48 #ifdef CONFIG_UNICORE_FPU_F64
 49         DEFINE(TI_FPSTATE,      offsetof(struct thread_info, fpstate));
 50 #endif
 51         BLANK();
 52         DEFINE(S_R0,            offsetof(struct pt_regs, UCreg_00));
 53         DEFINE(S_R1,            offsetof(struct pt_regs, UCreg_01));
 54         DEFINE(S_R2,            offsetof(struct pt_regs, UCreg_02));
 55         DEFINE(S_R3,            offsetof(struct pt_regs, UCreg_03));
 56         DEFINE(S_R4,            offsetof(struct pt_regs, UCreg_04));
 57         DEFINE(S_R5,            offsetof(struct pt_regs, UCreg_05));
 58         DEFINE(S_R6,            offsetof(struct pt_regs, UCreg_06));
 59         DEFINE(S_R7,            offsetof(struct pt_regs, UCreg_07));
 60         DEFINE(S_R8,            offsetof(struct pt_regs, UCreg_08));
 61         DEFINE(S_R9,            offsetof(struct pt_regs, UCreg_09));
 62         DEFINE(S_R10,           offsetof(struct pt_regs, UCreg_10));
 63         DEFINE(S_R11,           offsetof(struct pt_regs, UCreg_11));
 64         DEFINE(S_R12,           offsetof(struct pt_regs, UCreg_12));
 65         DEFINE(S_R13,           offsetof(struct pt_regs, UCreg_13));
 66         DEFINE(S_R14,           offsetof(struct pt_regs, UCreg_14));
 67         DEFINE(S_R15,           offsetof(struct pt_regs, UCreg_15));
 68         DEFINE(S_R16,           offsetof(struct pt_regs, UCreg_16));
 69         DEFINE(S_R17,           offsetof(struct pt_regs, UCreg_17));
 70         DEFINE(S_R18,           offsetof(struct pt_regs, UCreg_18));
 71         DEFINE(S_R19,           offsetof(struct pt_regs, UCreg_19));
 72         DEFINE(S_R20,           offsetof(struct pt_regs, UCreg_20));
 73         DEFINE(S_R21,           offsetof(struct pt_regs, UCreg_21));
 74         DEFINE(S_R22,           offsetof(struct pt_regs, UCreg_22));
 75         DEFINE(S_R23,           offsetof(struct pt_regs, UCreg_23));
 76         DEFINE(S_R24,           offsetof(struct pt_regs, UCreg_24));
 77         DEFINE(S_R25,           offsetof(struct pt_regs, UCreg_25));
 78         DEFINE(S_R26,           offsetof(struct pt_regs, UCreg_26));
 79         DEFINE(S_FP,            offsetof(struct pt_regs, UCreg_fp));
 80         DEFINE(S_IP,            offsetof(struct pt_regs, UCreg_ip));
 81         DEFINE(S_SP,            offsetof(struct pt_regs, UCreg_sp));
 82         DEFINE(S_LR,            offsetof(struct pt_regs, UCreg_lr));
 83         DEFINE(S_PC,            offsetof(struct pt_regs, UCreg_pc));
 84         DEFINE(S_PSR,           offsetof(struct pt_regs, UCreg_asr));
 85         DEFINE(S_OLD_R0,        offsetof(struct pt_regs, UCreg_ORIG_00));
 86         DEFINE(S_FRAME_SIZE,    sizeof(struct pt_regs));
 87         BLANK();
 88         DEFINE(VMA_VM_MM,       offsetof(struct vm_area_struct, vm_mm));
 89         DEFINE(VMA_VM_FLAGS,    offsetof(struct vm_area_struct, vm_flags));
 90         BLANK();
 91         DEFINE(VM_EXEC,         VM_EXEC);
 92         BLANK();
 93         DEFINE(PAGE_SZ,         PAGE_SIZE);
 94         BLANK();
 95         DEFINE(SYS_ERROR0,      0x9f0000);
 96         BLANK();
 97         DEFINE(PBE_ADDRESS,             offsetof(struct pbe, address));
 98         DEFINE(PBE_ORIN_ADDRESS,        offsetof(struct pbe, orig_address));
 99         DEFINE(PBE_NEXT,                offsetof(struct pbe, next));
100         DEFINE(SWSUSP_CPU,              offsetof(struct swsusp_arch_regs, \
101                                                         cpu_context));
102 #ifdef  CONFIG_UNICORE_FPU_F64
103         DEFINE(SWSUSP_FPSTATE,          offsetof(struct swsusp_arch_regs, \
104                                                         fpstate));
105 #endif
106         BLANK();
107         DEFINE(DMA_BIDIRECTIONAL,       DMA_BIDIRECTIONAL);
108         DEFINE(DMA_TO_DEVICE,           DMA_TO_DEVICE);
109         DEFINE(DMA_FROM_DEVICE,         DMA_FROM_DEVICE);
110         return 0;
111 }
112 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | Wiki (Japanese) | Wiki (English) | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

osdn.jp