Arion 1.0.2-alpha
A high-performance C++ framework for emulating executable binaries.
 
Loading...
Searching...
No Matches
arch_x86-64.hpp File Reference
#include <arion/common/arch_manager.hpp>
#include <arion/common/global_defs.hpp>
#include <cstdint>
#include <map>
#include <string>

Go to the source code of this file.

Classes

class  arion_x86_64::ArchManagerX8664
 A class responsible for performing architecture specific operations in case of an x86-64 chip emulation. More...
 

Namespaces

namespace  arion
 
namespace  arion_x86_64
 

Variables

std::map< uint64_t, std::string > arion_x86_64::NAME_BY_SYSCALL_NO
 A map identifying a x86-64 syscall name given its number.
 
std::map< std::string, arion::REGarion_x86_64::ARCH_REGS
 A map identifying a Unicorn x86-64 register given its name.
 
std::map< arion::REG, uint8_t > arion_x86_64::ARCH_REGS_SZ
 A map identifying a Unicorn x86-64 register size given the register.
 
std::vector< arion::REGarion_x86_64::CTXT_REGS
 The list of high-level x86-64 registers that make up the context to be saved and restored.
 
std::map< uint64_t, arion::CPU_INTRarion_x86_64::IDT
 The x86-64 Interrupt Descriptor Table.
 
arion::ABI_REGISTERS arion_x86_64::ABI_REGS = arion::ABI_REGISTERS(UC_X86_REG_RIP, UC_X86_REG_RSP)
 Unicorn x86-64 PC and SP registers for genericity.
 
arion::ABI_CALLING_CONVENTION arion_x86_64::ABI_CALLING_CONV
 Unicorn x86-64 registers involved in calling convention.
 
arion::ABI_SYSCALLING_CONVENTION arion_x86_64::ABI_SYSCALLING_CONV
 Unicorn x86-64 registers involved in syscalling convention.
 
arion::KERNEL_SEG_FLAGS arion_x86_64::SEG_FLAGS = ARION_VVAR_PRESENT | ARION_VDSO_PRESENT | ARION_VSYSCALL_PRESENT
 x86-64 flags telling the loader which kernel segments should be mapped in memory.
 
uint32_t arion_x86_64::HWCAP2 = 2
 Some well working x86-64 chip HWCAP2 value.
 
uint32_t arion_x86_64::HWCAP = 0xbfebfbff
 Some well working x86-64 chip HWCAP value.
 
const size_t arion_x86_64::PTR_SZ = 8
 Size in bytes of a pointer in a x86-64 chip.
 
const uint16_t arion_x86_64::ARCH_SZ = 64
 Size in bits of the x86-64 general-purpose registers.
 
arion::CPU_ARCH arion_x86_64::ARCH = arion::CPU_ARCH::X8664_ARCH
 Arion CPU_ARCH for x86-64.
 
arion::ARCH_ATTRIBUTES arion_x86_64::ARCH_ATTRS
 Multiple architecture specific attributes for x86-64, grouped in a structure for genericity purpose.