blob: c7c26edbf0be0268d1c0cba2ab88c0530e0b1e35 [file] [log] [blame]
// Copyright 2017 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef SRC_DEVICES_MISC_DRIVERS_CPU_TRACE_CPU_TRACE_PRIVATE_H_
#define SRC_DEVICES_MISC_DRIVERS_CPU_TRACE_CPU_TRACE_PRIVATE_H_
#include <zircon/types.h>
#include <ddk/device.h>
#ifdef __x86_64__
// Intel Processor Trace
zx_status_t insntrace_bind(void* ctx, zx_device_t* parent);
#endif // __x86_64__
// Performance Monitor
// This driver accesses the PMU of the chip as well as various other
// h/w and s/w provided counters.
zx_status_t perfmon_bind(void* ctx, zx_device_t* parent);
// The zx_mtrace_control syscall.
// A pointer to the syscall is provided during driver construction so that a fake version can
// be provided in the tests.
using mtrace_control_func_t = zx_status_t(zx_handle_t handle, uint32_t kind, uint32_t action,
uint32_t options, void* buf, size_t buf_size);
#endif // SRC_DEVICES_MISC_DRIVERS_CPU_TRACE_CPU_TRACE_PRIVATE_H_