1 #ifndef _ASM_MIPS_ELFCORE_COMPAT_H 2 #define _ASM_MIPS_ELFCORE_COMPAT_H 3 4 /* 5 * On mips we have two 32bit ABIs - o32 and n32. The latter 6 * has bigger registers, so we use it for compat_elf_regset_t. 7 * The former uses o32_elf_prstatus and PRSTATUS_SIZE/SET_PR_FPVALID 8 * are used to choose the size and location of ->pr_fpvalid of 9 * the layout actually used. 10 */ 11 typedef elf_gregset_t compat_elf_gregset_t; 12 13 struct o32_elf_prstatus 14 { 15 struct compat_elf_prstatus_common common; 16 unsigned int pr_reg[ELF_NGREG]; 17 compat_int_t pr_fpvalid; 18 }; 19 20 #define PRSTATUS_SIZE \ 21 (!test_thread_flag(TIF_32BIT_REGS) \ 22 ? sizeof(struct compat_elf_prstatus) \ 23 : sizeof(struct o32_elf_prstatus)) 24 #define SET_PR_FPVALID(S) \ 25 (*(!test_thread_flag(TIF_32BIT_REGS) \ 26 ? &(S)->pr_fpvalid \ 27 : &((struct o32_elf_prstatus *)(S))->pr_fpvalid) = 1) 28 29 #endif 30