44 lines · c
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-exception7//8//===----------------------------------------------------------------------===//9 10#ifndef LLDB_SOURCE_PLUGINS_PROCESS_MACOSX_KERNEL_REGISTERCONTEXTKDP_ARM64_H11#define LLDB_SOURCE_PLUGINS_PROCESS_MACOSX_KERNEL_REGISTERCONTEXTKDP_ARM64_H12 13#include "Plugins/Process/Utility/RegisterContextDarwin_arm64.h"14 15class ThreadKDP;16 17class RegisterContextKDP_arm64 : public RegisterContextDarwin_arm64 {18public:19 RegisterContextKDP_arm64(ThreadKDP &thread, uint32_t concrete_frame_idx);20 21 ~RegisterContextKDP_arm64() override;22 23protected: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_H44