Arion 1.0.2-alpha
A high-performance C++ framework for emulating executable binaries.
 
Loading...
Searching...
No Matches
arion_lnx_arm Namespace Reference

Classes

class  ArchManagerLinuxARM
 Linux ARM architecture manager class for Arion. More...
 
struct  elf_prstatus
 Structure for a process status ELF note (NT_PRSTATUS) for ARM, containing general registers. More...
 
struct  fp_reg
 Structure representing a single ARM floating-point register (double-precision format). More...
 
struct  pt_regs
 Structure represents the ARM processor's register state as saved on the stack by the Linux kernel. More...
 
struct  user_fp
 Structure representing the ARM floating-point unit (FPU) context as saved in the user area. More...
 

Typedefs

typedef arion_lnx_type::elf_greg_t elf_gregset_t[ELF_NGREG]
 Definition of the general-purpose register set type for ELF notes.
 
typedef struct user_fp elf_fpregset_t
 Definition of the floating-point register set type for ELF notes (NT_FPREGSET).
 

Variables

std::vector< arion::REGuc_pt_regs
 A vector mapping the Linux pt_regs structure indices to ARION's universal register enumeration (arion::REG).
 
const size_t ELF_NGREG = (sizeof(struct pt_regs) / sizeof(arion_lnx_type::elf_greg_t))
 The number of 32-bit words (general registers) in the pt_regs structure, used for ELF notes.
 
std::vector< arion::REGuc_fp_regs
 A vector mapping the FPU registers to ARION's universal register enumeration (arion::REG).
 

Typedef Documentation

◆ elf_fpregset_t

Definition of the floating-point register set type for ELF notes (NT_FPREGSET).

◆ elf_gregset_t

typedef arion_lnx_type::elf_greg_t arion_lnx_arm::elf_gregset_t[ELF_NGREG]

Definition of the general-purpose register set type for ELF notes.

Variable Documentation

◆ ELF_NGREG

const size_t arion_lnx_arm::ELF_NGREG = (sizeof(struct pt_regs) / sizeof(arion_lnx_type::elf_greg_t))

The number of 32-bit words (general registers) in the pt_regs structure, used for ELF notes.

◆ uc_fp_regs

std::vector<arion::REG> arion_lnx_arm::uc_fp_regs
inline
Initial value:
= {UC_ARM_REG_D0, UC_ARM_REG_D1, UC_ARM_REG_D2, UC_ARM_REG_D3,
UC_ARM_REG_D4, UC_ARM_REG_D5, UC_ARM_REG_D6, UC_ARM_REG_D7}

A vector mapping the FPU registers to ARION's universal register enumeration (arion::REG).

◆ uc_pt_regs

std::vector<arion::REG> arion_lnx_arm::uc_pt_regs
inline
Initial value:
= {
UC_ARM_REG_R0, UC_ARM_REG_R1, UC_ARM_REG_R2, UC_ARM_REG_R3, UC_ARM_REG_R4, UC_ARM_REG_R5,
UC_ARM_REG_R6, UC_ARM_REG_R7, UC_ARM_REG_R8, UC_ARM_REG_R9, UC_ARM_REG_R10, UC_ARM_REG_FP,
UC_ARM_REG_IP, UC_ARM_REG_SP, UC_ARM_REG_LR, UC_ARM_REG_PC, UC_ARM_REG_CPSR, UC_ARM_REG_INVALID}

A vector mapping the Linux pt_regs structure indices to ARION's universal register enumeration (arion::REG).