1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun #undef TRACE_SYSTEM 3*4882a593Smuzhiyun #define TRACE_SYSTEM page_isolation 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun #if !defined(_TRACE_PAGE_ISOLATION_H) || defined(TRACE_HEADER_MULTI_READ) 6*4882a593Smuzhiyun #define _TRACE_PAGE_ISOLATION_H 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun #include <linux/tracepoint.h> 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun TRACE_EVENT(test_pages_isolated, 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun TP_PROTO( 13*4882a593Smuzhiyun unsigned long start_pfn, 14*4882a593Smuzhiyun unsigned long end_pfn, 15*4882a593Smuzhiyun unsigned long fin_pfn), 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun TP_ARGS(start_pfn, end_pfn, fin_pfn), 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun TP_STRUCT__entry( 20*4882a593Smuzhiyun __field(unsigned long, start_pfn) 21*4882a593Smuzhiyun __field(unsigned long, end_pfn) 22*4882a593Smuzhiyun __field(unsigned long, fin_pfn) 23*4882a593Smuzhiyun ), 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun TP_fast_assign( 26*4882a593Smuzhiyun __entry->start_pfn = start_pfn; 27*4882a593Smuzhiyun __entry->end_pfn = end_pfn; 28*4882a593Smuzhiyun __entry->fin_pfn = fin_pfn; 29*4882a593Smuzhiyun ), 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun TP_printk("start_pfn=0x%lx end_pfn=0x%lx fin_pfn=0x%lx ret=%s", 32*4882a593Smuzhiyun __entry->start_pfn, __entry->end_pfn, __entry->fin_pfn, 33*4882a593Smuzhiyun __entry->end_pfn <= __entry->fin_pfn ? "success" : "fail") 34*4882a593Smuzhiyun ); 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun #endif /* _TRACE_PAGE_ISOLATION_H */ 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun /* This part must be outside protection */ 39*4882a593Smuzhiyun #include <trace/define_trace.h> 40