Path: blob/main/contrib/llvm-project/lldb/source/Plugins/Process/FreeBSDKernel/RegisterContextFreeBSDKernel_arm64.h
96381 views
//===-- RegisterContextFreeBSDKernel_arm64.h --------------------*- C++ -*-===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//78#ifndef LLDB_SOURCE_PLUGINS_PROCESS_FREEBSDKERNEL_REGISTERCONTEXTFREEBSDKERNEL_ARM64_H9#define LLDB_SOURCE_PLUGINS_PROCESS_FREEBSDKERNEL_REGISTERCONTEXTFREEBSDKERNEL_ARM64_H1011#include "Plugins/Process/Utility/RegisterContextPOSIX_arm64.h"12#include "Plugins/Process/elf-core/RegisterUtilities.h"1314class RegisterContextFreeBSDKernel_arm64 : public RegisterContextPOSIX_arm64 {15public:16RegisterContextFreeBSDKernel_arm64(17lldb_private::Thread &thread,18std::unique_ptr<RegisterInfoPOSIX_arm64> register_info_up,19lldb::addr_t pcb_addr);2021bool ReadRegister(const lldb_private::RegisterInfo *reg_info,22lldb_private::RegisterValue &value) override;2324bool WriteRegister(const lldb_private::RegisterInfo *reg_info,25const lldb_private::RegisterValue &value) override;2627protected:28bool ReadGPR() override;2930bool ReadFPR() override;3132bool WriteGPR() override;3334bool WriteFPR() override;3536private:37lldb::addr_t m_pcb_addr;38};3940#endif // LLDB_SOURCE_PLUGINS_PROCESS_FREEBSDKERNEL_REGISTERCONTEXTFREEBSDKERNEL_ARM64_H414243