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
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_H
44

source code of lldb/source/Plugins/Process/MacOSX-Kernel/RegisterContextKDP_arm64.h