diff options
Diffstat (limited to 'libunwindstack/include/unwindstack/RegsArm64.h')
| -rw-r--r-- | libunwindstack/include/unwindstack/RegsArm64.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/libunwindstack/include/unwindstack/RegsArm64.h b/libunwindstack/include/unwindstack/RegsArm64.h index 2b3ddeb77a..bf7ab15275 100644 --- a/libunwindstack/include/unwindstack/RegsArm64.h +++ b/libunwindstack/include/unwindstack/RegsArm64.h @@ -22,6 +22,7 @@ #include <functional> #include <unwindstack/Elf.h> +#include <unwindstack/MachineArm64.h> #include <unwindstack/Regs.h> namespace unwindstack { @@ -48,11 +49,25 @@ class RegsArm64 : public RegsImpl<uint64_t> { void set_pc(uint64_t pc) override; void set_sp(uint64_t sp) override; + void ResetPseudoRegisters() override; + + bool SetPseudoRegister(uint16_t id, uint64_t value) override; + + bool GetPseudoRegister(uint16_t id, uint64_t* value) override; + + bool IsRASigned(); + + void SetPACMask(uint64_t mask); + Regs* Clone() override final; static Regs* Read(void* data); static Regs* CreateFromUcontext(void* ucontext); + + protected: + uint64_t pseudo_regs_[Arm64Reg::ARM64_PREG_LAST - Arm64Reg::ARM64_PREG_FIRST]; + uint64_t pac_mask_; }; } // namespace unwindstack |
