1951a39d68df598db08dfced8b4707755864a0492Ying Wang/**************************************************************************** 2951a39d68df598db08dfced8b4707755864a0492Ying Wang **************************************************************************** 3951a39d68df598db08dfced8b4707755864a0492Ying Wang *** 4951a39d68df598db08dfced8b4707755864a0492Ying Wang *** This header was automatically generated from a Linux kernel header 5951a39d68df598db08dfced8b4707755864a0492Ying Wang *** of the same name, to make information necessary for userspace to 6951a39d68df598db08dfced8b4707755864a0492Ying Wang *** call into the kernel available to libc. It contains only constants, 7951a39d68df598db08dfced8b4707755864a0492Ying Wang *** structures, and macros generated from the original header, and thus, 8951a39d68df598db08dfced8b4707755864a0492Ying Wang *** contains no copyrightable information. 9951a39d68df598db08dfced8b4707755864a0492Ying Wang *** 10951a39d68df598db08dfced8b4707755864a0492Ying Wang **************************************************************************** 11951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************/ 12951a39d68df598db08dfced8b4707755864a0492Ying Wang#ifndef __ASMARM_ELF_H 13951a39d68df598db08dfced8b4707755864a0492Ying Wang#define __ASMARM_ELF_H 14951a39d68df598db08dfced8b4707755864a0492Ying Wang 15951a39d68df598db08dfced8b4707755864a0492Ying Wang#include <asm/ptrace.h> 16951a39d68df598db08dfced8b4707755864a0492Ying Wang#include <asm/user.h> 17951a39d68df598db08dfced8b4707755864a0492Ying Wang#ifdef __KERNEL 18951a39d68df598db08dfced8b4707755864a0492Ying Wang#include <asm/procinfo.h> 19951a39d68df598db08dfced8b4707755864a0492Ying Wang#endif 20951a39d68df598db08dfced8b4707755864a0492Ying Wang 21951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef unsigned long elf_greg_t; 22951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef unsigned long elf_freg_t[3]; 23951a39d68df598db08dfced8b4707755864a0492Ying Wang 24951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EM_ARM 40 25951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EF_ARM_APCS26 0x08 26951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EF_ARM_SOFT_FLOAT 0x200 27951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EF_ARM_EABI_MASK 0xFF000000 28951a39d68df598db08dfced8b4707755864a0492Ying Wang 29951a39d68df598db08dfced8b4707755864a0492Ying Wang#define R_ARM_NONE 0 30951a39d68df598db08dfced8b4707755864a0492Ying Wang#define R_ARM_PC24 1 31951a39d68df598db08dfced8b4707755864a0492Ying Wang#define R_ARM_ABS32 2 32951a39d68df598db08dfced8b4707755864a0492Ying Wang#define R_ARM_CALL 28 33951a39d68df598db08dfced8b4707755864a0492Ying Wang#define R_ARM_JUMP24 29 34951a39d68df598db08dfced8b4707755864a0492Ying Wang 35951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ELF_NGREG (sizeof (struct pt_regs) / sizeof(elf_greg_t)) 36951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef elf_greg_t elf_gregset_t[ELF_NGREG]; 37951a39d68df598db08dfced8b4707755864a0492Ying Wang 38951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef struct user_fp elf_fpregset_t; 39951a39d68df598db08dfced8b4707755864a0492Ying Wang 40951a39d68df598db08dfced8b4707755864a0492Ying Wang#define elf_check_arch(x) ( ((x)->e_machine == EM_ARM) && (ELF_PROC_OK((x))) ) 41951a39d68df598db08dfced8b4707755864a0492Ying Wang 42951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ELF_CLASS ELFCLASS32 43951a39d68df598db08dfced8b4707755864a0492Ying Wang#ifdef __ARMEB__ 44951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ELF_DATA ELFDATA2MSB 45951a39d68df598db08dfced8b4707755864a0492Ying Wang#else 46951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ELF_DATA ELFDATA2LSB 47951a39d68df598db08dfced8b4707755864a0492Ying Wang#endif 48951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ELF_ARCH EM_ARM 49951a39d68df598db08dfced8b4707755864a0492Ying Wang 50951a39d68df598db08dfced8b4707755864a0492Ying Wang#define USE_ELF_CORE_DUMP 51951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ELF_EXEC_PAGESIZE 4096 52951a39d68df598db08dfced8b4707755864a0492Ying Wang 53951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ELF_ET_DYN_BASE (2 * TASK_SIZE / 3) 54951a39d68df598db08dfced8b4707755864a0492Ying Wang 55951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ELF_PLAT_INIT(_r, load_addr) (_r)->ARM_r0 = 0 56951a39d68df598db08dfced8b4707755864a0492Ying Wang 57951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ELF_HWCAP (elf_hwcap) 58951a39d68df598db08dfced8b4707755864a0492Ying Wang 59951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ELF_PLATFORM_SIZE 8 60951a39d68df598db08dfced8b4707755864a0492Ying Wang 61951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ELF_PLATFORM (elf_platform) 62951a39d68df598db08dfced8b4707755864a0492Ying Wang 63951a39d68df598db08dfced8b4707755864a0492Ying Wang#endif 64