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 TASK_SIZE 0x7fff8000UL 33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 34 #define STACK_TOP TASK_SIZE 35 #define TASK_UNMAPPED_BASE ((TASK_SIZE / 3) & ~(PAGE_SIZE)) 36 #define NUM_FPU_REGS 32 37 typedef __u64 fpureg_t; 38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 39 struct mips_fpu_struct { 40 fpureg_t fpr[NUM_FPU_REGS]; 41 unsigned int fcr31; 42 }; 43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 44 #define NUM_DSP_REGS 6 45 typedef __u32 dspreg_t; 46 struct mips_dsp_state { 47 dspreg_t dspr[NUM_DSP_REGS]; 48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 49 unsigned int dspcontrol; 50 }; 51 #define INIT_CPUMASK { {0,} } 52 typedef struct { 53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 54 unsigned long seg; 55 } mm_segment_t; 56 #define ARCH_MIN_TASKALIGN 8 57 struct mips_abi; 58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 59 struct thread_struct { 60 unsigned long reg16; 61 unsigned long reg17, reg18, reg19, reg20, reg21, reg22, reg23; 62 unsigned long reg29, reg30, reg31; 63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 64 unsigned long cp0_status; 65 struct mips_fpu_struct fpu; 66 struct mips_dsp_state dsp; 67 unsigned long cp0_badvaddr; 68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 69 unsigned long cp0_baduaddr; 70 unsigned long error_code; 71 unsigned long trap_no; 72 unsigned long irix_trampoline; 73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 74 unsigned long irix_oldctx; 75 struct mips_abi *abi; 76 }; 77 #define FPAFF_INIT 78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 79 #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, } 80 struct task_struct; 81 #define release_thread(thread) do { } while(0) 82 #define prepare_to_copy(tsk) do { } while (0) 83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 84 #define __KSTK_TOS(tsk) ((unsigned long)task_stack_page(tsk) + THREAD_SIZE - 32) 85 #define task_pt_regs(tsk) ((struct pt_regs *)__KSTK_TOS(tsk) - 1) 86 #define KSTK_EIP(tsk) (task_pt_regs(tsk)->cp0_epc) 87 #define KSTK_ESP(tsk) (task_pt_regs(tsk)->regs[29]) 88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 89 #define KSTK_STATUS(tsk) (task_pt_regs(tsk)->cp0_status) 90 #define cpu_relax() barrier() 91 #define return_address() ({__asm__ __volatile__("":::"$31");__builtin_return_address(0);}) 92 #endif 93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 94