1 // SPDX-License-Identifier: GPL-2.0-or-later !! 1 // SPDX-License-Identifier: GPL-2.0 2 /* 2 /* 3 * OpenRISC asm-offsets.c !! 3 * Generate definitions needed by assembly language modules. 4 * !! 4 * This code generates raw asm output which is post-processed to extract 5 * Linux architectural port borrowing liberall !! 5 * and format the required data. 6 * others. All original copyrights apply as p << 7 * declaration. << 8 * << 9 * Modifications for the OpenRISC architecture << 10 * Copyright (C) 2003 Matjaz Breskvar <phoenix << 11 * Copyright (C) 2010-2011 Jonas Bonn <jonas@s << 12 * << 13 * This program is used to generate definition << 14 * assembly language modules. << 15 * << 16 * We use the technique used in the OSF Mach k << 17 * generate asm statements containing #defines << 18 * compile this file to assembler, and then ex << 19 * #defines from the assembly-language output. << 20 */ 6 */ 21 7 22 #include <linux/signal.h> << 23 #include <linux/sched.h> << 24 #include <linux/kernel.h> << 25 #include <linux/errno.h> << 26 #include <linux/string.h> << 27 #include <linux/types.h> 8 #include <linux/types.h> >> 9 #include <linux/stddef.h> >> 10 #include <linux/sched.h> 28 #include <linux/ptrace.h> 11 #include <linux/ptrace.h> 29 #include <linux/mman.h> << 30 #include <linux/mm.h> << 31 #include <linux/io.h> << 32 #include <linux/thread_info.h> << 33 #include <linux/kbuild.h> 12 #include <linux/kbuild.h> 34 #include <asm/page.h> !! 13 #include <asm/machvec.h> 35 #include <asm/processor.h> << 36 14 37 int main(void) !! 15 static void __used foo(void) 38 { 16 { 39 /* offsets into the task_struct */ << 40 DEFINE(TASK_FLAGS, offsetof(struct tas << 41 DEFINE(TASK_PTRACE, offsetof(struct ta << 42 DEFINE(TASK_THREAD, offsetof(struct ta << 43 DEFINE(TASK_MM, offsetof(struct task_s << 44 DEFINE(TASK_ACTIVE_MM, offsetof(struct << 45 << 46 /* offsets into thread_info */ << 47 DEFINE(TI_TASK, offsetof(struct thread << 48 DEFINE(TI_FLAGS, offsetof(struct threa 17 DEFINE(TI_FLAGS, offsetof(struct thread_info, flags)); 49 DEFINE(TI_PREEMPT, offsetof(struct thr !! 18 DEFINE(TI_FP, offsetof(struct thread_info, fp)); 50 DEFINE(TI_KSP, offsetof(struct thread_ !! 19 DEFINE(TI_STATUS, offsetof(struct thread_info, status)); 51 !! 20 BLANK(); 52 DEFINE(PT_SIZE, sizeof(struct pt_regs) << 53 21 54 /* Interrupt register frame */ !! 22 DEFINE(SIZEOF_PT_REGS, sizeof(struct pt_regs)); 55 DEFINE(STACK_FRAME_OVERHEAD, STACK_FRA !! 23 BLANK(); 56 DEFINE(INT_FRAME_SIZE, STACK_FRAME_OVE << 57 24 58 DEFINE(NUM_USER_SEGMENTS, TASK_SIZE >> !! 25 DEFINE(HAE_CACHE, offsetof(struct alpha_machine_vector, hae_cache)); 59 return 0; !! 26 DEFINE(HAE_REG, offsetof(struct alpha_machine_vector, hae_register)); 60 } 27 } 61 28
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.