1061da546Spatrick //===-- RegisterContextKDP_arm64.h --------------------------------*- C++ 2061da546Spatrick //-*-===// 3061da546Spatrick // 4061da546Spatrick // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5061da546Spatrick // See https://llvm.org/LICENSE.txt for license information. 6061da546Spatrick // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7061da546Spatrick // 8061da546Spatrick //===----------------------------------------------------------------------===// 9061da546Spatrick 10dda28197Spatrick #ifndef LLDB_SOURCE_PLUGINS_PROCESS_MACOSX_KERNEL_REGISTERCONTEXTKDP_ARM64_H 11dda28197Spatrick #define LLDB_SOURCE_PLUGINS_PROCESS_MACOSX_KERNEL_REGISTERCONTEXTKDP_ARM64_H 12061da546Spatrick 13061da546Spatrick #include "Plugins/Process/Utility/RegisterContextDarwin_arm64.h" 14061da546Spatrick 15061da546Spatrick class ThreadKDP; 16061da546Spatrick 17061da546Spatrick class RegisterContextKDP_arm64 : public RegisterContextDarwin_arm64 { 18061da546Spatrick public: 19061da546Spatrick RegisterContextKDP_arm64(ThreadKDP &thread, uint32_t concrete_frame_idx); 20061da546Spatrick 21*f6aab3d8Srobert ~RegisterContextKDP_arm64() override; 22061da546Spatrick 23061da546Spatrick protected: 24be691f3bSpatrick int DoReadGPR(lldb::tid_t tid, int flavor, GPR &gpr) override; 25061da546Spatrick 26be691f3bSpatrick int DoReadFPU(lldb::tid_t tid, int flavor, FPU &fpu) override; 27061da546Spatrick 28be691f3bSpatrick int DoReadEXC(lldb::tid_t tid, int flavor, EXC &exc) override; 29061da546Spatrick 30be691f3bSpatrick int DoReadDBG(lldb::tid_t tid, int flavor, DBG &dbg) override; 31061da546Spatrick 32be691f3bSpatrick int DoWriteGPR(lldb::tid_t tid, int flavor, const GPR &gpr) override; 33061da546Spatrick 34be691f3bSpatrick int DoWriteFPU(lldb::tid_t tid, int flavor, const FPU &fpu) override; 35061da546Spatrick 36be691f3bSpatrick int DoWriteEXC(lldb::tid_t tid, int flavor, const EXC &exc) override; 37061da546Spatrick 38be691f3bSpatrick int DoWriteDBG(lldb::tid_t tid, int flavor, const DBG &dbg) override; 39061da546Spatrick 40061da546Spatrick ThreadKDP &m_kdp_thread; 41061da546Spatrick }; 42061da546Spatrick 43dda28197Spatrick #endif // LLDB_SOURCE_PLUGINS_PROCESS_MACOSX_KERNEL_REGISTERCONTEXTKDP_ARM64_H 44