32 lines · c
1//===-- NativeRegisterContextLinux_arm64dbreg.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-exception6//7//===----------------------------------------------------------------------===//8 9// When debugging 32-bit processes, Arm64 lldb-server should use 64-bit ptrace10// interfaces. 32-bit ptrace interfaces should only be used by 32-bit server.11// These functions are split out to be reused in both 32-bit and 64-bit register12// context for 64-bit server.13 14#include "Plugins/Process/Linux/NativeProcessLinux.h"15#include "Plugins/Process/Utility/NativeRegisterContextDBReg.h"16#include "lldb/Utility/Status.h"17 18namespace lldb_private {19namespace process_linux {20namespace arm64 {21 22Status ReadHardwareDebugInfo(::pid_t tid, uint32_t &max_hwp_supported,23 uint32_t &max_hbp_supported);24 25Status WriteHardwareDebugRegs(26 int hwbType, ::pid_t tid, uint32_t max_supported,27 const std::array<NativeRegisterContextDBReg::DREG, 16> ®s);28 29} // namespace arm6430} // namespace process_linux31} // namespace lldb_private32