Home | History | Annotate | Download | only in asm
      1 /****************************************************************************
      2  ****************************************************************************
      3  ***
      4  ***   This header was automatically generated from a Linux kernel header
      5  ***   of the same name, to make information necessary for userspace to
      6  ***   call into the kernel available to libc.  It contains only constants,
      7  ***   structures, and macros generated from the original header, and thus,
      8  ***   contains no copyrightable information.
      9  ***
     10  ***   To edit the content of this header, modify the corresponding
     11  ***   source file (e.g. under external/kernel-headers/original/) then
     12  ***   run bionic/libc/kernel/tools/update_all.py
     13  ***
     14  ***   Any manual change here will be lost the next time this script will
     15  ***   be run. You've been warned!
     16  ***
     17  ****************************************************************************
     18  ****************************************************************************/
     19 #ifndef _ASM_PROCESSOR_H
     20 #define _ASM_PROCESSOR_H
     21 #include <linux/cpumask.h>
     22 #include <linux/threads.h>
     23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     24 #include <asm/cachectl.h>
     25 #include <asm/cpu.h>
     26 #include <asm/cpu-info.h>
     27 #include <asm/mipsregs.h>
     28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     29 #include <asm/prefetch.h>
     30 #include <asm/system.h>
     31 #define current_text_addr() ({ __label__ _l; _l: &&_l;})
     32 #define NUM_FPU_REGS 32
     33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     34 typedef __u64 fpureg_t;
     35 struct mips_fpu_struct {
     36  fpureg_t fpr[NUM_FPU_REGS];
     37  unsigned int fcr31;
     38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     39 };
     40 #define NUM_DSP_REGS 6
     41 typedef __u32 dspreg_t;
     42 struct mips_dsp_state {
     43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     44  dspreg_t dspr[NUM_DSP_REGS];
     45  unsigned int dspcontrol;
     46 };
     47 #define INIT_CPUMASK {   {0,}  }
     48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     49 typedef struct {
     50  unsigned long seg;
     51 } mm_segment_t;
     52 #define ARCH_MIN_TASKALIGN 8
     53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     54 struct mips_abi;
     55 struct thread_struct {
     56  unsigned long reg16;
     57  unsigned long reg17, reg18, reg19, reg20, reg21, reg22, reg23;
     58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     59  unsigned long reg29, reg30, reg31;
     60  unsigned long cp0_status;
     61  struct mips_fpu_struct fpu;
     62  struct mips_dsp_state dsp;
     63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     64  unsigned long cp0_badvaddr;
     65  unsigned long cp0_baduaddr;
     66  unsigned long error_code;
     67  unsigned long trap_no;
     68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     69  unsigned long irix_trampoline;
     70  unsigned long irix_oldctx;
     71  struct mips_abi *abi;
     72 };
     73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     74 #define FPAFF_INIT
     75 #define INIT_THREAD {       .reg16 = 0,   .reg17 = 0,   .reg18 = 0,   .reg19 = 0,   .reg20 = 0,   .reg21 = 0,   .reg22 = 0,   .reg23 = 0,   .reg29 = 0,   .reg30 = 0,   .reg31 = 0,       .cp0_status = 0,       .fpu = {   .fpr = {0,},   .fcr31 = 0,   },       FPAFF_INIT       .dsp = {   .dspr = {0, },   .dspcontrol = 0,   },       .cp0_badvaddr = 0,   .cp0_baduaddr = 0,   .error_code = 0,   .trap_no = 0,   .irix_trampoline = 0,   .irix_oldctx = 0,  }
     76 struct task_struct;
     77 #define release_thread(thread) do { } while(0)
     78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     79 #define prepare_to_copy(tsk) do { } while (0)
     80 #define __KSTK_TOS(tsk) ((unsigned long)task_stack_page(tsk) + THREAD_SIZE - 32)
     81 #define task_pt_regs(tsk) ((struct pt_regs *)__KSTK_TOS(tsk) - 1)
     82 #define KSTK_EIP(tsk) (task_pt_regs(tsk)->cp0_epc)
     83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     84 #define KSTK_ESP(tsk) (task_pt_regs(tsk)->regs[29])
     85 #define KSTK_STATUS(tsk) (task_pt_regs(tsk)->cp0_status)
     86 #define cpu_relax() barrier()
     87 #define return_address() ({__asm__ __volatile__("":::"$31");__builtin_return_address(0);})
     88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     89 #endif
     90