Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Functions
binfmt_elfo32.c File Reference
#include <asm/processor.h>
#include <linux/module.h>
#include <linux/elfcore.h>
#include <linux/compat.h>
#include <linux/math64.h>
#include "../../../fs/binfmt_elf.c"

Go to the source code of this file.

Data Structures

struct  elf_prstatus32
 
struct  elf_prpsinfo32
 

Macros

#define ELF_ARCH   EM_MIPS
 
#define ELF_CLASS   ELFCLASS32
 
#define ELF_DATA   ELFDATA2LSB;
 
#define ELF_NGREG   45
 
#define ELF_NFPREG   33
 
#define elf_check_arch(hdr)
 
#define TASK32_SIZE   0x7fff8000UL
 
#define ELF_ET_DYN_BASE   (TASK32_SIZE / 3 * 2)
 
#define WANT_COMPAT_REG_H
 
#define ELF_CORE_COPY_REGS(_dest, _regs)   elf32_core_copy_regs(_dest, _regs);
 
#define ELF_CORE_COPY_TASK_REGS(_tsk, _dest)
 
#define elf_prstatus   elf_prstatus32
 
#define elf_prpsinfo   elf_prpsinfo32
 
#define elf_caddr_t   u32
 
#define init_elf_binfmt   init_elf32_binfmt
 
#define jiffies_to_timeval   jiffies_to_compat_timeval
 
#define TASK_SIZE   TASK_SIZE32
 

Typedefs

typedef unsigned int elf_greg_t
 
typedef elf_greg_t elf_gregset_t [ELF_NGREG]
 
typedef double elf_fpreg_t
 
typedef elf_fpreg_t elf_fpregset_t [ELF_NFPREG]
 

Functions

void elf32_core_copy_regs (elf_gregset_t grp, struct pt_regs *regs)
 
 MODULE_DESCRIPTION ("Binary format loader for compatibility with o32 Linux/MIPS binaries")
 
 MODULE_AUTHOR ("Ralf Baechle ([email protected])")
 

Macro Definition Documentation

#define ELF_ARCH   EM_MIPS

Definition at line 12 of file binfmt_elfo32.c.

#define elf_caddr_t   u32

Definition at line 113 of file binfmt_elfo32.c.

#define elf_check_arch (   hdr)
Value:
({ \
int __res = 1; \
struct elfhdr *__h = (hdr); \
if (__h->e_machine != EM_MIPS) \
__res = 0; \
if (__h->e_ident[EI_CLASS] != ELFCLASS32) \
__res = 0; \
if ((__h->e_flags & EF_MIPS_ABI2) != 0) \
__res = 0; \
if (((__h->e_flags & EF_MIPS_ABI) != 0) && \
((__h->e_flags & EF_MIPS_ABI) != EF_MIPS_ABI_O32)) \
__res = 0; \
\
__res; \
})

Definition at line 33 of file binfmt_elfo32.c.

#define ELF_CLASS   ELFCLASS32

Definition at line 13 of file binfmt_elfo32.c.

#define ELF_CORE_COPY_REGS (   _dest,
  _regs 
)    elf32_core_copy_regs(_dest, _regs);

Definition at line 65 of file binfmt_elfo32.c.

#define ELF_CORE_COPY_TASK_REGS (   _tsk,
  _dest 
)
Value:
({ \
int __res = 1; \
elf32_core_copy_regs(*(_dest), task_pt_regs(_tsk)); \
__res; \
})

Definition at line 66 of file binfmt_elfo32.c.

#define ELF_DATA   ELFDATA2LSB;

Definition at line 17 of file binfmt_elfo32.c.

#define ELF_ET_DYN_BASE   (TASK32_SIZE / 3 * 2)

Definition at line 53 of file binfmt_elfo32.c.

#define ELF_NFPREG   33

Definition at line 22 of file binfmt_elfo32.c.

#define ELF_NGREG   45

Definition at line 21 of file binfmt_elfo32.c.

Definition at line 97 of file binfmt_elfo32.c.

Definition at line 78 of file binfmt_elfo32.c.

#define init_elf_binfmt   init_elf32_binfmt

Definition at line 114 of file binfmt_elfo32.c.

#define jiffies_to_timeval   jiffies_to_compat_timeval

Definition at line 116 of file binfmt_elfo32.c.

#define TASK32_SIZE   0x7fff8000UL

Definition at line 51 of file binfmt_elfo32.c.

#define TASK_SIZE   TASK_SIZE32

Definition at line 159 of file binfmt_elfo32.c.

#define WANT_COMPAT_REG_H

Definition at line 61 of file binfmt_elfo32.c.

Typedef Documentation

typedef double elf_fpreg_t

Definition at line 27 of file binfmt_elfo32.c.

Definition at line 28 of file binfmt_elfo32.c.

typedef unsigned int elf_greg_t

Definition at line 24 of file binfmt_elfo32.c.

Definition at line 25 of file binfmt_elfo32.c.

Function Documentation

void elf32_core_copy_regs ( elf_gregset_t  grp,
struct pt_regs regs 
)

Definition at line 130 of file binfmt_elfo32.c.

MODULE_AUTHOR ( "Ralf Baechle ([email protected])"  )
MODULE_DESCRIPTION ( "Binary format loader for compatibility with o32 Linux/MIPS binaries"  )