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