blob: bca217851858de928741af0b0671e4adf04bc4fa (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
//===-- NativeRegisterContextLinux_arm64dbreg.h -----------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
// When debugging 32-bit processes, Arm64 lldb-server should use 64-bit ptrace
// interfaces. 32-bit ptrace interfaces should only be used by 32-bit server.
// These functions are split out to be reused in both 32-bit and 64-bit register
// context for 64-bit server.
#include "Plugins/Process/Linux/NativeProcessLinux.h"
#include "Plugins/Process/Utility/NativeRegisterContextDBReg.h"
#include "lldb/Utility/Status.h"
namespace lldb_private {
namespace process_linux {
namespace arm64 {
Status ReadHardwareDebugInfo(::pid_t tid, uint32_t &max_hwp_supported,
uint32_t &max_hbp_supported);
Status WriteHardwareDebugRegs(
int hwbType, ::pid_t tid, uint32_t max_supported,
const std::array<NativeRegisterContextDBReg::DREG, 16> ®s);
} // namespace arm64
} // namespace process_linux
} // namespace lldb_private
|