xref: /openbmc/linux/arch/s390/include/asm/trace/diag.h (revision b2441318)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
2b5a6b71bSMartin Schwidefsky /*
3b5a6b71bSMartin Schwidefsky  * Tracepoint header for s390 diagnose calls
4b5a6b71bSMartin Schwidefsky  *
5b5a6b71bSMartin Schwidefsky  * Copyright IBM Corp. 2015
6b5a6b71bSMartin Schwidefsky  * Author(s): Martin Schwidefsky <schwidefsky@de.ibm.com>
7b5a6b71bSMartin Schwidefsky  */
8b5a6b71bSMartin Schwidefsky 
9b5a6b71bSMartin Schwidefsky #undef TRACE_SYSTEM
10b5a6b71bSMartin Schwidefsky #define TRACE_SYSTEM s390
11b5a6b71bSMartin Schwidefsky 
12b5a6b71bSMartin Schwidefsky #if !defined(_TRACE_S390_DIAG_H) || defined(TRACE_HEADER_MULTI_READ)
13b5a6b71bSMartin Schwidefsky #define _TRACE_S390_DIAG_H
14b5a6b71bSMartin Schwidefsky 
15b5a6b71bSMartin Schwidefsky #include <linux/tracepoint.h>
16b5a6b71bSMartin Schwidefsky 
17b5a6b71bSMartin Schwidefsky #undef TRACE_INCLUDE_PATH
18b5a6b71bSMartin Schwidefsky #undef TRACE_INCLUDE_FILE
19b5a6b71bSMartin Schwidefsky 
20b5a6b71bSMartin Schwidefsky #define TRACE_INCLUDE_PATH asm/trace
21b5a6b71bSMartin Schwidefsky #define TRACE_INCLUDE_FILE diag
22b5a6b71bSMartin Schwidefsky 
23230ccb37SMartin Schwidefsky TRACE_EVENT(s390_diagnose,
24b5a6b71bSMartin Schwidefsky 	TP_PROTO(unsigned short nr),
25b5a6b71bSMartin Schwidefsky 	TP_ARGS(nr),
26b5a6b71bSMartin Schwidefsky 	TP_STRUCT__entry(
27b5a6b71bSMartin Schwidefsky 		__field(unsigned short, nr)
28b5a6b71bSMartin Schwidefsky 	),
29b5a6b71bSMartin Schwidefsky 	TP_fast_assign(
30b5a6b71bSMartin Schwidefsky 		__entry->nr = nr;
31b5a6b71bSMartin Schwidefsky 	),
32b5a6b71bSMartin Schwidefsky 	TP_printk("nr=0x%x", __entry->nr)
33b5a6b71bSMartin Schwidefsky );
34b5a6b71bSMartin Schwidefsky 
35b5a6b71bSMartin Schwidefsky #ifdef CONFIG_TRACEPOINTS
36230ccb37SMartin Schwidefsky void trace_s390_diagnose_norecursion(int diag_nr);
37b5a6b71bSMartin Schwidefsky #else
trace_s390_diagnose_norecursion(int diag_nr)38230ccb37SMartin Schwidefsky static inline void trace_s390_diagnose_norecursion(int diag_nr) { }
39b5a6b71bSMartin Schwidefsky #endif
40b5a6b71bSMartin Schwidefsky 
41b5a6b71bSMartin Schwidefsky #endif /* _TRACE_S390_DIAG_H */
42b5a6b71bSMartin Schwidefsky 
43b5a6b71bSMartin Schwidefsky /* This part must be outside protection */
44b5a6b71bSMartin Schwidefsky #include <trace/define_trace.h>
45