| /* SPDX-License-Identifier: GPL-2.0 */ | |
| #undef TRACE_SYSTEM | |
| #define TRACE_SYSTEM power | |
| #if !defined(_TRACE_POWER_CPU_MIGRATE_H) || defined(TRACE_HEADER_MULTI_READ) | |
| #define _TRACE_POWER_CPU_MIGRATE_H | |
| #include <linux/tracepoint.h> | |
| #define __cpu_migrate_proto \ | |
| TP_PROTO(u64 timestamp, \ | |
| u32 cpu_hwid) | |
| #define __cpu_migrate_args \ | |
| TP_ARGS(timestamp, \ | |
| cpu_hwid) | |
| DECLARE_EVENT_CLASS(cpu_migrate, | |
| __cpu_migrate_proto, | |
| __cpu_migrate_args, | |
| TP_STRUCT__entry( | |
| __field(u64, timestamp ) | |
| __field(u32, cpu_hwid ) | |
| ), | |
| TP_fast_assign( | |
| __entry->timestamp = timestamp; | |
| __entry->cpu_hwid = cpu_hwid; | |
| ), | |
| TP_printk("timestamp=%llu cpu_hwid=0x%08lX", | |
| (unsigned long long)__entry->timestamp, | |
| (unsigned long)__entry->cpu_hwid | |
| ) | |
| ); | |
| #define __define_cpu_migrate_event(name) \ | |
| DEFINE_EVENT(cpu_migrate, cpu_migrate_##name, \ | |
| __cpu_migrate_proto, \ | |
| __cpu_migrate_args \ | |
| ) | |
| __define_cpu_migrate_event(begin); | |
| __define_cpu_migrate_event(finish); | |
| __define_cpu_migrate_event(current); | |
| #undef __define_cpu_migrate | |
| #undef __cpu_migrate_proto | |
| #undef __cpu_migrate_args | |
| /* This file can get included multiple times, TRACE_HEADER_MULTI_READ at top */ | |
| #ifndef _PWR_CPU_MIGRATE_EVENT_AVOID_DOUBLE_DEFINING | |
| #define _PWR_CPU_MIGRATE_EVENT_AVOID_DOUBLE_DEFINING | |
| /* | |
| * Set from_phys_cpu and to_phys_cpu to CPU_MIGRATE_ALL_CPUS to indicate | |
| * a whole-cluster migration: | |
| */ | |
| #define CPU_MIGRATE_ALL_CPUS 0x80000000U | |
| #endif | |
| #endif /* _TRACE_POWER_CPU_MIGRATE_H */ | |
| /* This part must be outside protection */ | |
| #undef TRACE_INCLUDE_FILE | |
| #define TRACE_INCLUDE_FILE power_cpu_migrate | |
| #include <trace/define_trace.h> |