root/arch/openrisc/kernel/asm-offsets.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. main

   1 // SPDX-License-Identifier: GPL-2.0-or-later
   2 /*
   3  * OpenRISC asm-offsets.c
   4  *
   5  * Linux architectural port borrowing liberally from similar works of
   6  * others.  All original copyrights apply as per the original source
   7  * declaration.
   8  *
   9  * Modifications for the OpenRISC architecture:
  10  * Copyright (C) 2003 Matjaz Breskvar <phoenix@bsemi.com>
  11  * Copyright (C) 2010-2011 Jonas Bonn <jonas@southpole.se>
  12  *
  13  * This program is used to generate definitions needed by
  14  * assembly language modules.
  15  *
  16  * We use the technique used in the OSF Mach kernel code:
  17  * generate asm statements containing #defines,
  18  * compile this file to assembler, and then extract the
  19  * #defines from the assembly-language output.
  20  */
  21 
  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>
  28 #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>
  34 #include <asm/page.h>
  35 #include <asm/pgtable.h>
  36 #include <asm/processor.h>
  37 
  38 int main(void)
  39 {
  40         /* offsets into the task_struct */
  41         DEFINE(TASK_STATE, offsetof(struct task_struct, state));
  42         DEFINE(TASK_FLAGS, offsetof(struct task_struct, flags));
  43         DEFINE(TASK_PTRACE, offsetof(struct task_struct, ptrace));
  44         DEFINE(TASK_THREAD, offsetof(struct task_struct, thread));
  45         DEFINE(TASK_MM, offsetof(struct task_struct, mm));
  46         DEFINE(TASK_ACTIVE_MM, offsetof(struct task_struct, active_mm));
  47 
  48         /* offsets into thread_info */
  49         DEFINE(TI_TASK, offsetof(struct thread_info, task));
  50         DEFINE(TI_FLAGS, offsetof(struct thread_info, flags));
  51         DEFINE(TI_PREEMPT, offsetof(struct thread_info, preempt_count));
  52         DEFINE(TI_KSP, offsetof(struct thread_info, ksp));
  53 
  54         DEFINE(PT_SIZE, sizeof(struct pt_regs));
  55 
  56         /* Interrupt register frame */
  57         DEFINE(STACK_FRAME_OVERHEAD, STACK_FRAME_OVERHEAD);
  58         DEFINE(INT_FRAME_SIZE, STACK_FRAME_OVERHEAD + sizeof(struct pt_regs));
  59 
  60         DEFINE(NUM_USER_SEGMENTS, TASK_SIZE >> 28);
  61         return 0;
  62 }

/* [<][>][^][v][top][bottom][index][help] */