46 lines
1.5 KiB
C++
46 lines
1.5 KiB
C++
//===-- TraceIntelPTGDBRemotePackets.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
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef LLDB_UTILITY_TRACEINTELPTGDBREMOTEPACKETS_H
|
|
#define LLDB_UTILITY_TRACEINTELPTGDBREMOTEPACKETS_H
|
|
|
|
#include "lldb/Utility/TraceGDBRemotePackets.h"
|
|
|
|
/// See docs/lldb-gdb-remote.txt for more information.
|
|
namespace lldb_private {
|
|
|
|
/// jLLDBTraceStart gdb-remote packet
|
|
/// \{
|
|
struct TraceIntelPTStartRequest : TraceStartRequest {
|
|
/// Size in bytes to use for each thread's trace buffer.
|
|
int64_t threadBufferSize;
|
|
|
|
/// Whether to enable TSC
|
|
bool enableTsc;
|
|
|
|
/// PSB packet period
|
|
llvm::Optional<int64_t> psbPeriod;
|
|
|
|
/// Required when doing "process tracing".
|
|
///
|
|
/// Limit in bytes on all the thread traces started by this "process trace"
|
|
/// instance. When a thread is about to be traced and the limit would be hit,
|
|
/// then a "tracing" stop event is triggered.
|
|
llvm::Optional<int64_t> processBufferSizeLimit;
|
|
};
|
|
|
|
bool fromJSON(const llvm::json::Value &value, TraceIntelPTStartRequest &packet,
|
|
llvm::json::Path path);
|
|
|
|
llvm::json::Value toJSON(const TraceIntelPTStartRequest &packet);
|
|
/// \}
|
|
|
|
} // namespace lldb_private
|
|
|
|
#endif // LLDB_UTILITY_TRACEINTELPTGDBREMOTEPACKETS_H
|