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 15class RegisterContextMach_arm : public RegisterContextDarwin_arm { 16public: 17 RegisterContextMach_arm(lldb_private::Thread &thread, 18 uint32_t concrete_frame_idx); 19 20 virtual ~RegisterContextMach_arm(); 21 22protected: 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