1 //===-- RegisterContextKDP_arm64.h --------------------------------*- C++ 2 //-*-===// 3 // 4 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5 // See https://llvm.org/LICENSE.txt for license information. 6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 // 8 //===----------------------------------------------------------------------===// 9 10 #ifndef LLDB_SOURCE_PLUGINS_PROCESS_MACOSX_KERNEL_REGISTERCONTEXTKDP_ARM64_H 11 #define LLDB_SOURCE_PLUGINS_PROCESS_MACOSX_KERNEL_REGISTERCONTEXTKDP_ARM64_H 12 13 #include "Plugins/Process/Utility/RegisterContextDarwin_arm64.h" 14 15 class ThreadKDP; 16 17 class RegisterContextKDP_arm64 : public RegisterContextDarwin_arm64 { 18 public: 19 RegisterContextKDP_arm64(ThreadKDP &thread, uint32_t concrete_frame_idx); 20 21 ~RegisterContextKDP_arm64() override; 22 23 protected: 24 int DoReadGPR(lldb::tid_t tid, int flavor, GPR &gpr) override; 25 26 int DoReadFPU(lldb::tid_t tid, int flavor, FPU &fpu) override; 27 28 int DoReadEXC(lldb::tid_t tid, int flavor, EXC &exc) override; 29 30 int DoReadDBG(lldb::tid_t tid, int flavor, DBG &dbg) override; 31 32 int DoWriteGPR(lldb::tid_t tid, int flavor, const GPR &gpr) override; 33 34 int DoWriteFPU(lldb::tid_t tid, int flavor, const FPU &fpu) override; 35 36 int DoWriteEXC(lldb::tid_t tid, int flavor, const EXC &exc) override; 37 38 int DoWriteDBG(lldb::tid_t tid, int flavor, const DBG &dbg) override; 39 40 ThreadKDP &m_kdp_thread; 41 }; 42 43 #endif // LLDB_SOURCE_PLUGINS_PROCESS_MACOSX_KERNEL_REGISTERCONTEXTKDP_ARM64_H 44