1 /* SPDX-License-Identifier: GPL-2.0+ */
3 * VFIO PCI mmap/mmap_fault tracepoints
5 * Copyright (C) 2018 IBM Corp. All rights reserved.
6 * Author: Alexey Kardashevskiy <aik@ozlabs.ru>
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
14 #define TRACE_SYSTEM vfio_pci
16 #if !defined(_TRACE_VFIO_PCI_H) || defined(TRACE_HEADER_MULTI_READ)
17 #define _TRACE_VFIO_PCI_H
19 #include <linux/tracepoint.h>
21 TRACE_EVENT(vfio_pci_nvgpu_mmap_fault,
22 TP_PROTO(struct pci_dev *pdev, unsigned long hpa, unsigned long ua,
24 TP_ARGS(pdev, hpa, ua, ret),
27 __field(const char *, name)
28 __field(unsigned long, hpa)
29 __field(unsigned long, ua)
34 __entry->name = dev_name(&pdev->dev),
40 TP_printk("%s: %lx -> %lx ret=%d", __entry->name, __entry->hpa,
41 __entry->ua, __entry->ret)
44 TRACE_EVENT(vfio_pci_nvgpu_mmap,
45 TP_PROTO(struct pci_dev *pdev, unsigned long hpa, unsigned long ua,
46 unsigned long size, int ret),
47 TP_ARGS(pdev, hpa, ua, size, ret),
50 __field(const char *, name)
51 __field(unsigned long, hpa)
52 __field(unsigned long, ua)
53 __field(unsigned long, size)
58 __entry->name = dev_name(&pdev->dev),
65 TP_printk("%s: %lx -> %lx size=%lx ret=%d", __entry->name, __entry->hpa,
66 __entry->ua, __entry->size, __entry->ret)
69 TRACE_EVENT(vfio_pci_npu2_mmap,
70 TP_PROTO(struct pci_dev *pdev, unsigned long hpa, unsigned long ua,
71 unsigned long size, int ret),
72 TP_ARGS(pdev, hpa, ua, size, ret),
75 __field(const char *, name)
76 __field(unsigned long, hpa)
77 __field(unsigned long, ua)
78 __field(unsigned long, size)
83 __entry->name = dev_name(&pdev->dev),
90 TP_printk("%s: %lx -> %lx size=%lx ret=%d", __entry->name, __entry->hpa,
91 __entry->ua, __entry->size, __entry->ret)
94 #endif /* _TRACE_VFIO_PCI_H */
96 #undef TRACE_INCLUDE_PATH
97 #define TRACE_INCLUDE_PATH ../../drivers/vfio/pci
98 #undef TRACE_INCLUDE_FILE
99 #define TRACE_INCLUDE_FILE trace
101 /* This part must be outside protection */
102 #include <trace/define_trace.h>