10b57cec5SDimitry Andric //===-- RegisterContextMach_arm.h -------------------------------*- C++ -*-===//
20b57cec5SDimitry Andric //
30b57cec5SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
40b57cec5SDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
50b57cec5SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
60b57cec5SDimitry Andric //
70b57cec5SDimitry Andric //===----------------------------------------------------------------------===//
80b57cec5SDimitry Andric 
95ffd83dbSDimitry Andric #ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTMACH_ARM_H
105ffd83dbSDimitry Andric #define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTMACH_ARM_H
110b57cec5SDimitry Andric 
120b57cec5SDimitry Andric #include "RegisterContextDarwin_arm.h"
130b57cec5SDimitry Andric 
140b57cec5SDimitry Andric class RegisterContextMach_arm : public RegisterContextDarwin_arm {
150b57cec5SDimitry Andric public:
160b57cec5SDimitry Andric   RegisterContextMach_arm(lldb_private::Thread &thread,
170b57cec5SDimitry Andric                           uint32_t concrete_frame_idx);
180b57cec5SDimitry Andric 
1981ad6265SDimitry Andric   ~RegisterContextMach_arm() override;
200b57cec5SDimitry Andric 
210b57cec5SDimitry Andric protected:
22e8d8bef9SDimitry Andric   int DoReadGPR(lldb::tid_t tid, int flavor, GPR &gpr) override;
230b57cec5SDimitry Andric 
24e8d8bef9SDimitry Andric   int DoReadFPU(lldb::tid_t tid, int flavor, FPU &fpu) override;
250b57cec5SDimitry Andric 
26e8d8bef9SDimitry Andric   int DoReadEXC(lldb::tid_t tid, int flavor, EXC &exc) override;
270b57cec5SDimitry Andric 
28e8d8bef9SDimitry Andric   int DoReadDBG(lldb::tid_t tid, int flavor, DBG &dbg) override;
290b57cec5SDimitry Andric 
30e8d8bef9SDimitry Andric   int DoWriteGPR(lldb::tid_t tid, int flavor, const GPR &gpr) override;
310b57cec5SDimitry Andric 
32e8d8bef9SDimitry Andric   int DoWriteFPU(lldb::tid_t tid, int flavor, const FPU &fpu) override;
330b57cec5SDimitry Andric 
34e8d8bef9SDimitry Andric   int DoWriteEXC(lldb::tid_t tid, int flavor, const EXC &exc) override;
350b57cec5SDimitry Andric 
36e8d8bef9SDimitry Andric   int DoWriteDBG(lldb::tid_t tid, int flavor, const DBG &dbg) override;
370b57cec5SDimitry Andric };
380b57cec5SDimitry Andric 
395ffd83dbSDimitry Andric #endif // LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTMACH_ARM_H
40