| // Copyright 2019 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 GARNET_BIN_CPUPERF_PROVIDER_INTEL_EVENTS_H_ |
| #define GARNET_BIN_CPUPERF_PROVIDER_INTEL_EVENTS_H_ |
| |
| #include <lib/zircon-internal/device/cpu-trace/perf-mon.h> |
| |
| namespace cpuperf_provider { |
| |
| enum EventId { |
| |
| #define DEF_FIXED_EVENT(symbol, event_name, id, regnum, flags, \ |
| readable_name, description) \ |
| symbol = perfmon::MakeEventId(perfmon::kGroupFixed, id), |
| #define DEF_ARCH_EVENT(symbol, event_name, id, ebx_bit, event, \ |
| umask, flags, readable_name, description) \ |
| symbol = perfmon::MakeEventId(perfmon::kGroupArch, id), |
| #include <lib/zircon-internal/device/cpu-trace/intel-pm-events.inc> |
| |
| #define DEF_SKL_EVENT(symbol, event_name, id, event, umask, \ |
| flags, readable_name, description) \ |
| symbol = perfmon::MakeEventId(perfmon::kGroupModel, id), |
| #include <lib/zircon-internal/device/cpu-trace/skylake-pm-events.inc> |
| |
| #define DEF_MISC_SKL_EVENT(symbol, event_name, id, offset, size, \ |
| flags, readable_name, description) \ |
| symbol = perfmon::MakeEventId(perfmon::kGroupMisc, id), |
| #include <lib/zircon-internal/device/cpu-trace/skylake-misc-events.inc> |
| |
| }; |
| |
| } // namespace cpuperf_provider |
| |
| #endif // GARNET_BIN_CPUPERF_PROVIDER_INTEL_EVENTS_H_ |