|
ReXGlue SDK
|
#include <functional>#include <vector>#include <rex/assert.h>#include <rex/platform.h>#include <rex/types.h>#include <signal.h>Go to the source code of this file.
Classes | |
| struct | rex::platform::VectorRegister |
| class | rex::platform::HostThreadContext |
| class | rex::platform::Exception |
| class | rex::platform::ExceptionHandler |
Namespaces | |
| namespace | rex |
| namespace | rex::platform |
Enumerations | |
| enum class | rex::platform::ARM64Register : u8 { kX0 , kX1 , kX2 , kX3 , kX4 , kX5 , kX6 , kX7 , kX8 , kX9 , kX10 , kX11 , kX12 , kX13 , kX14 , kX15 , kX16 , kX17 , kX18 , kX19 , kX20 , kX21 , kX22 , kX23 , kX24 , kX25 , kX26 , kX27 , kX28 , rex::platform::kX29 , rex::platform::kX30 , kSP , kPC , kPstate , kFpsr , kFpcr , rex::platform::kV0 , kV1 , kV2 , kV3 , kV4 , kV5 , kV6 , kV7 , kV8 , kV9 , kV10 , kV11 , kV12 , kV13 , kV14 , kV15 , kV16 , kV17 , kV18 , kV19 , kV20 , kV21 , kV22 , kV23 , kV24 , kV25 , kV26 , kV27 , kV28 , kV29 , kV30 , kV31 } |
| enum class | rex::platform::HostRegister |
| enum class | rex::platform::ARM64LoadStoreOp : u32 { rex::platform::kSTRBW = UINT32_C(0x00000000) , rex::platform::kSTRHW = UINT32_C(0x40000000) , rex::platform::kSTRW = UINT32_C(0x80000000) , rex::platform::kSTRX = UINT32_C(0xC0000000) , rex::platform::kLDRBW = UINT32_C(0x00400000) , rex::platform::kLDRHW = UINT32_C(0x40400000) , rex::platform::kLDRW = UINT32_C(0x80400000) , rex::platform::kLDRX = UINT32_C(0xC0400000) , rex::platform::kLDRSBX = UINT32_C(0x00800000) , rex::platform::kLDRSHX = UINT32_C(0x40800000) , rex::platform::kLDRSWX = UINT32_C(0x80800000) , rex::platform::kLDRSBW = UINT32_C(0x00C00000) , rex::platform::kLDRSHW = UINT32_C(0x40C00000) , rex::platform::kSTRB = UINT32_C(0x04000000) , rex::platform::kSTRH = UINT32_C(0x44000000) , rex::platform::kSTRS = UINT32_C(0x84000000) , rex::platform::kSTRD = UINT32_C(0xC4000000) , rex::platform::kSTRQ = UINT32_C(0x04800000) , rex::platform::kLDRB = UINT32_C(0x04400000) , rex::platform::kLDRH = UINT32_C(0x44400000) , rex::platform::kLDRS = UINT32_C(0x84400000) , rex::platform::kLDRD = UINT32_C(0xC4400000) , rex::platform::kLDRQ = UINT32_C(0x04C00000) , rex::platform::kPRFM = UINT32_C(0xC0800000) } |
| enum class | rex::platform::ARM64LoadStoreOffsetFixed : u32 { rex::platform::kUnscaledOffset = UINT32_C(0x38000000) , rex::platform::kPostIndex = UINT32_C(0x38000400) , rex::platform::kPreIndex = UINT32_C(0x38000C00) , kRegisterOffset = UINT32_C(0x38200800) } |
Functions | |
| bool | rex::platform::IsARM64LoadPrefetchStore (u32 instruction, bool &is_store_out) |
| u64 | rex::platform::SignalPC (void *signal_context) |
| void | rex::platform::ReportFatalSignal (int signal_number, siginfo_t *info, void *signal_context) |
| void | rex::platform::ForwardSignal (struct sigaction &original, int signal_number, siginfo_t *info, void *signal_context) |
| void | rex::platform::DieWithDefaultDisposition (int signal_number) |
Variables | |
| constexpr u32 | rex::platform::kARM64LoadLiteralFMask = UINT32_C(0x3B000000) |
| constexpr u32 | rex::platform::kARM64LoadLiteralFixed = UINT32_C(0x18000000) |
| constexpr u32 | rex::platform::kARM64LoadStoreAnyFMask = UINT32_C(0x0A000000) |
| constexpr u32 | rex::platform::kARM64LoadStoreAnyFixed = UINT32_C(0x08000000) |
| constexpr u32 | rex::platform::kARM64LoadStorePairAnyFMask = UINT32_C(0x3A000000) |
| constexpr u32 | rex::platform::kARM64LoadStorePairAnyFixed = UINT32_C(0x28000000) |
| constexpr u32 | rex::platform::kARM64LoadStorePairLoadBit = UINT32_C(1) << 22 |
| constexpr u32 | rex::platform::kARM64LoadStoreMask = UINT32_C(0xC4C00000) |
| constexpr u32 | rex::platform::kARM64LoadStoreOffsetFMask = UINT32_C(0x3B200C00) |
| constexpr u32 | rex::platform::kARM64LoadStoreUnsignedOffsetFMask = UINT32_C(0x3B000000) |
| constexpr u32 | rex::platform::kARM64LoadStoreUnsignedOffsetFixed = UINT32_C(0x39000000) |