diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2017-01-02 19:26:05 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2017-01-02 19:26:05 +0000 |
| commit | 14f1b3e8826ce43b978db93a62d1166055db5394 (patch) | |
| tree | 0a00ad8d3498783fe0193f3b656bca17c4c8697d /source/Plugins/Process/Linux/NativeRegisterContextLinux_mips64.h | |
| parent | 4ee8c119c71a06dcad1e0fecc8c675e480e59337 (diff) | |
Notes
Diffstat (limited to 'source/Plugins/Process/Linux/NativeRegisterContextLinux_mips64.h')
| -rw-r--r-- | source/Plugins/Process/Linux/NativeRegisterContextLinux_mips64.h | 166 |
1 files changed, 67 insertions, 99 deletions
diff --git a/source/Plugins/Process/Linux/NativeRegisterContextLinux_mips64.h b/source/Plugins/Process/Linux/NativeRegisterContextLinux_mips64.h index 20c32075379c..1b25609205df 100644 --- a/source/Plugins/Process/Linux/NativeRegisterContextLinux_mips64.h +++ b/source/Plugins/Process/Linux/NativeRegisterContextLinux_mips64.h @@ -7,7 +7,7 @@ // //===----------------------------------------------------------------------===// -#if defined (__mips__) +#if defined(__mips__) #ifndef lldb_NativeRegisterContextLinux_mips64_h #define lldb_NativeRegisterContextLinux_mips64_h @@ -21,147 +21,115 @@ namespace lldb_private { namespace process_linux { - class NativeProcessLinux; +class NativeProcessLinux; - class NativeRegisterContextLinux_mips64 : public NativeRegisterContextLinux - { - public: - NativeRegisterContextLinux_mips64 (const ArchSpec& target_arch, - NativeThreadProtocol &native_thread, - uint32_t concrete_frame_idx); +class NativeRegisterContextLinux_mips64 : public NativeRegisterContextLinux { +public: + NativeRegisterContextLinux_mips64(const ArchSpec &target_arch, + NativeThreadProtocol &native_thread, + uint32_t concrete_frame_idx); - uint32_t - GetRegisterSetCount () const override; + uint32_t GetRegisterSetCount() const override; - lldb::addr_t - GetPCfromBreakpointLocation (lldb::addr_t fail_value = LLDB_INVALID_ADDRESS) override; + lldb::addr_t GetPCfromBreakpointLocation( + lldb::addr_t fail_value = LLDB_INVALID_ADDRESS) override; - lldb::addr_t - GetWatchpointHitAddress (uint32_t wp_index) override; + lldb::addr_t GetWatchpointHitAddress(uint32_t wp_index) override; - const RegisterSet * - GetRegisterSet (uint32_t set_index) const override; + const RegisterSet *GetRegisterSet(uint32_t set_index) const override; - Error - ReadRegister (const RegisterInfo *reg_info, RegisterValue ®_value) override; + Error ReadRegister(const RegisterInfo *reg_info, + RegisterValue ®_value) override; - Error - WriteRegister (const RegisterInfo *reg_info, const RegisterValue ®_value) override; + Error WriteRegister(const RegisterInfo *reg_info, + const RegisterValue ®_value) override; - Error - ReadAllRegisterValues (lldb::DataBufferSP &data_sp) override; + Error ReadAllRegisterValues(lldb::DataBufferSP &data_sp) override; - Error - WriteAllRegisterValues (const lldb::DataBufferSP &data_sp) override; + Error WriteAllRegisterValues(const lldb::DataBufferSP &data_sp) override; - Error - ReadCP1(); + Error ReadCP1(); - Error - WriteCP1(); + Error WriteCP1(); - Error - IsWatchpointHit (uint32_t wp_index, bool &is_hit) override; + uint8_t *ReturnFPOffset(uint8_t reg_index, uint32_t byte_offset); - uint8_t *ReturnFPOffset(uint8_t reg_index, uint32_t byte_offset); + Error IsWatchpointHit(uint32_t wp_index, bool &is_hit) override; + Error GetWatchpointHitIndex(uint32_t &wp_index, + lldb::addr_t trap_addr) override; - Error - GetWatchpointHitIndex(uint32_t &wp_index, lldb::addr_t trap_addr) override; + Error IsWatchpointVacant(uint32_t wp_index, bool &is_vacant) override; - Error - IsWatchpointVacant (uint32_t wp_index, bool &is_vacant) override; + bool ClearHardwareWatchpoint(uint32_t wp_index) override; - bool - ClearHardwareWatchpoint (uint32_t wp_index) override; + Error ClearAllHardwareWatchpoints() override; - Error - ClearAllHardwareWatchpoints () override; + Error SetHardwareWatchpointWithIndex(lldb::addr_t addr, size_t size, + uint32_t watch_flags, uint32_t wp_index); - Error - SetHardwareWatchpointWithIndex (lldb::addr_t addr, size_t size, - uint32_t watch_flags, uint32_t wp_index); + uint32_t SetHardwareWatchpoint(lldb::addr_t addr, size_t size, + uint32_t watch_flags) override; - uint32_t - SetHardwareWatchpoint (lldb::addr_t addr, size_t size, - uint32_t watch_flags) override; + lldb::addr_t GetWatchpointAddress(uint32_t wp_index) override; - lldb::addr_t - GetWatchpointAddress (uint32_t wp_index) override; + uint32_t NumSupportedHardwareWatchpoints() override; - uint32_t - NumSupportedHardwareWatchpoints () override; + static bool IsMSAAvailable(); - static bool - IsMSAAvailable(); - - protected: - - Error - Read_SR_Config(uint32_t offset, const char *reg_name, uint32_t size, +protected: + Error Read_SR_Config(uint32_t offset, const char *reg_name, uint32_t size, RegisterValue &value); - Error - ReadRegisterRaw(uint32_t reg_index, RegisterValue &value) override; + Error ReadRegisterRaw(uint32_t reg_index, RegisterValue &value) override; - Error - DoReadWatchPointRegisterValue(lldb::tid_t tid, void* watch_readback); - - Error - WriteRegisterRaw(uint32_t reg_index, + Error WriteRegisterRaw(uint32_t reg_index, const RegisterValue &value) override; - Error - DoWriteWatchPointRegisterValue(lldb::tid_t tid, void* watch_readback); + Error DoReadWatchPointRegisterValue(lldb::tid_t tid, void *watch_readback); + + Error DoWriteWatchPointRegisterValue(lldb::tid_t tid, void *watch_readback); - bool - IsFR0(); + bool IsFR0(); - bool - IsFRE(); + bool IsFRE(); - bool - IsFPR(uint32_t reg_index) const; + bool IsFPR(uint32_t reg_index) const; - bool - IsMSA(uint32_t reg_index) const; + bool IsMSA(uint32_t reg_index) const; - void* - GetGPRBuffer() override { return &m_gpr; } + void *GetGPRBuffer() override { return &m_gpr; } - void* - GetFPRBuffer() override { return &m_fpr; } + void *GetFPRBuffer() override { return &m_fpr; } - size_t - GetFPRSize() override { return sizeof(FPR_linux_mips); } + size_t GetFPRSize() override { return sizeof(FPR_linux_mips); } - private: - // Info about register ranges. - struct RegInfo - { - uint32_t num_registers; - uint32_t num_gpr_registers; - uint32_t num_fpr_registers; +private: + // Info about register ranges. + struct RegInfo { + uint32_t num_registers; + uint32_t num_gpr_registers; + uint32_t num_fpr_registers; - uint32_t last_gpr; - uint32_t first_fpr; - uint32_t last_fpr; - uint32_t first_msa; - uint32_t last_msa; - }; + uint32_t last_gpr; + uint32_t first_fpr; + uint32_t last_fpr; + uint32_t first_msa; + uint32_t last_msa; + }; - RegInfo m_reg_info; + RegInfo m_reg_info; - GPR_linux_mips m_gpr; + GPR_linux_mips m_gpr; - FPR_linux_mips m_fpr; + FPR_linux_mips m_fpr; - MSA_linux_mips m_msa; + MSA_linux_mips m_msa; - lldb::addr_t hw_addr_map[MAX_NUM_WP]; + lldb::addr_t hw_addr_map[MAX_NUM_WP]; - IOVEC_mips m_iovec; - }; + IOVEC_mips m_iovec; +}; } // namespace process_linux } // namespace lldb_private |
