1 /* $NetBSD: drm_trace_netbsd.h,v 1.2 2021/12/19 12:42:06 riastradh Exp $ */ 2 3 /*- 4 * Copyright (c) 2018 The NetBSD Foundation, Inc. 5 * All rights reserved. 6 * 7 * This code is derived from software contributed to The NetBSD Foundation 8 * by Taylor R. Campbell. 9 * 10 * Redistribution and use in source and binary forms, with or without 11 * modification, are permitted provided that the following conditions 12 * are met: 13 * 1. Redistributions of source code must retain the above copyright 14 * notice, this list of conditions and the following disclaimer. 15 * 2. Redistributions in binary form must reproduce the above copyright 16 * notice, this list of conditions and the following disclaimer in the 17 * documentation and/or other materials provided with the distribution. 18 * 19 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 20 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 21 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 22 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 23 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 * POSSIBILITY OF SUCH DAMAGE. 30 */ 31 32 #ifndef _DRM_DRM_TRACE_NETBSD_H_ 33 #define _DRM_DRM_TRACE_NETBSD_H_ 34 35 #include <sys/sdt.h> 36 37 #ifdef CREATE_TRACE_POINTS 38 #define DEFINE_TRACE0(m,p,n) SDT_PROBE_DEFINE0(sdt,m,p,n) 39 #define DEFINE_TRACE1(m,p,n,a) SDT_PROBE_DEFINE1(sdt,m,p,n,a) 40 #define DEFINE_TRACE2(m,p,n,a,b) SDT_PROBE_DEFINE2(sdt,m,p,n,a,b) 41 #define DEFINE_TRACE3(m,p,n,a,b,c) SDT_PROBE_DEFINE3(sdt,m,p,n,a,b,c) 42 #define DEFINE_TRACE4(m,p,n,a,b,c,d) SDT_PROBE_DEFINE4(sdt,m,p,n,a,b,c,d) 43 #define DEFINE_TRACE5(m,p,n,a,b,c,d,e) SDT_PROBE_DEFINE5(sdt,m,p,n,a,b,c,d,e) 44 #define DEFINE_TRACE6(m,p,n,a,b,c,d,e,f) \ 45 SDT_PROBE_DEFINE6(sdt,m,p,n,a,b,c,d,e,f) 46 #define DEFINE_TRACE7(m,p,n,a,b,c,d,e,f,g) \ 47 SDT_PROBE_DEFINE7(sdt,m,p,n,a,b,c,d,e,f,g) 48 #else 49 #define DEFINE_TRACE0(m,p,n) SDT_PROBE_DECLARE(sdt,m,p,n) 50 #define DEFINE_TRACE1(m,p,n,a) SDT_PROBE_DECLARE(sdt,m,p,n) 51 #define DEFINE_TRACE2(m,p,n,a,b) SDT_PROBE_DECLARE(sdt,m,p,n) 52 #define DEFINE_TRACE3(m,p,n,a,b,c) SDT_PROBE_DECLARE(sdt,m,p,n) 53 #define DEFINE_TRACE4(m,p,n,a,b,c,d) SDT_PROBE_DECLARE(sdt,m,p,n) 54 #define DEFINE_TRACE5(m,p,n,a,b,c,d,e) SDT_PROBE_DECLARE(sdt,m,p,n) 55 #define DEFINE_TRACE6(m,p,n,a,b,c,d,e,f) \ 56 SDT_PROBE_DECLARE(sdt,m,p,n) 57 #define DEFINE_TRACE7(m,p,n,a,b,c,d,e,f,g) \ 58 SDT_PROBE_DECLARE(sdt,m,p,n) 59 #endif 60 61 #define TRACE0(m,p,n) SDT_PROBE0(sdt,m,p,n) 62 #define TRACE1(m,p,n,a) SDT_PROBE1(sdt,m,p,n,a) 63 #define TRACE2(m,p,n,a,b) SDT_PROBE2(sdt,m,p,n,a,b) 64 #define TRACE3(m,p,n,a,b,c) SDT_PROBE3(sdt,m,p,n,a,b,c) 65 #define TRACE4(m,p,n,a,b,c,d) SDT_PROBE4(sdt,m,p,n,a,b,c,d) 66 #define TRACE5(m,p,n,a,b,c,d,e) SDT_PROBE5(sdt,m,p,n,a,b,c,d,e) 67 #define TRACE6(m,p,n,a,b,c,d,e,f) SDT_PROBE6(sdt,m,p,n,a,b,c,d,e,f) 68 #define TRACE7(m,p,n,a,b,c,d,e,f,g) SDT_PROBE7(sdt,m,p,n,a,b,c,d,e,f,g) 69 70 #ifdef KDTRACE_HOOKS 71 #define __trace_used /* empty */ 72 #else 73 #define __trace_used __unused 74 #endif 75 76 #endif /* _LINUX_TRACEPOINT_H_ */ 77