]> git.proxmox.com Git - mirror_qemu.git/blob - hw/net/vmxnet_debug.h
Merge remote-tracking branch 'remotes/maxreitz/tags/pull-block-2019-06-14' into staging
[mirror_qemu.git] / hw / net / vmxnet_debug.h
1 /*
2 * QEMU VMWARE VMXNET* paravirtual NICs - debugging facilities
3 *
4 * Copyright (c) 2012 Ravello Systems LTD (http://ravellosystems.com)
5 *
6 * Developed by Daynix Computing LTD (http://www.daynix.com)
7 *
8 * Authors:
9 * Dmitry Fleytman <dmitry@daynix.com>
10 * Tamir Shomer <tamirs@daynix.com>
11 * Yan Vugenfirer <yan@daynix.com>
12 *
13 * This work is licensed under the terms of the GNU GPL, version 2 or later.
14 * See the COPYING file in the top-level directory.
15 *
16 */
17
18 #ifndef QEMU_VMXNET_DEBUG_H
19 #define QEMU_VMXNET_DEBUG_H
20
21 #define VMXNET_DEVICE_NAME "vmxnet3"
22
23 #define VMXNET_DEBUG_WARNINGS
24 #define VMXNET_DEBUG_ERRORS
25
26 #undef VMXNET_DEBUG_CB
27 #undef VMXNET_DEBUG_INTERRUPTS
28 #undef VMXNET_DEBUG_CONFIG
29 #undef VMXNET_DEBUG_RINGS
30 #undef VMXNET_DEBUG_PACKETS
31 #undef VMXNET_DEBUG_SHMEM_ACCESS
32
33 #ifdef VMXNET_DEBUG_CB
34 # define VMXNET_DEBUG_CB_ENABLED 1
35 #else
36 # define VMXNET_DEBUG_CB_ENABLED 0
37 #endif
38
39 #ifdef VMXNET_DEBUG_WARNINGS
40 # define VMXNET_DEBUG_WARNINGS_ENABLED 1
41 #else
42 # define VMXNET_DEBUG_WARNINGS_ENABLED 0
43 #endif
44
45 #ifdef VMXNET_DEBUG_ERRORS
46 # define VMXNET_DEBUG_ERRORS_ENABLED 1
47 #else
48 # define VMXNET_DEBUG_ERRORS_ENABLED 0
49 #endif
50
51 #ifdef VMXNET_DEBUG_CONFIG
52 # define VMXNET_DEBUG_CONFIG_ENABLED 1
53 #else
54 # define VMXNET_DEBUG_CONFIG_ENABLED 0
55 #endif
56
57 #ifdef VMXNET_DEBUG_RINGS
58 # define VMXNET_DEBUG_RINGS_ENABLED 1
59 #else
60 # define VMXNET_DEBUG_RINGS_ENABLED 0
61 #endif
62
63 #ifdef VMXNET_DEBUG_PACKETS
64 # define VMXNET_DEBUG_PACKETS_ENABLED 1
65 #else
66 # define VMXNET_DEBUG_PACKETS_ENABLED 0
67 #endif
68
69 #ifdef VMXNET_DEBUG_INTERRUPTS
70 # define VMXNET_DEBUG_INTERRUPTS_ENABLED 1
71 #else
72 # define VMXNET_DEBUG_INTERRUPTS_ENABLED 0
73 #endif
74
75 #ifdef VMXNET_DEBUG_SHMEM_ACCESS
76 # define VMXNET_DEBUG_SHMEM_ACCESS_ENABLED 1
77 #else
78 # define VMXNET_DEBUG_SHMEM_ACCESS_ENABLED 0
79 #endif
80
81 #define VMW_SHPRN(fmt, ...) \
82 do { \
83 if (VMXNET_DEBUG_SHMEM_ACCESS_ENABLED) { \
84 printf("[%s][SH][%s]: " fmt "\n", VMXNET_DEVICE_NAME, __func__, \
85 ## __VA_ARGS__); \
86 } \
87 } while (0)
88
89 #define VMW_CBPRN(fmt, ...) \
90 do { \
91 if (VMXNET_DEBUG_CB_ENABLED) { \
92 printf("[%s][CB][%s]: " fmt "\n", VMXNET_DEVICE_NAME, __func__, \
93 ## __VA_ARGS__); \
94 } \
95 } while (0)
96
97 #define VMW_PKPRN(fmt, ...) \
98 do { \
99 if (VMXNET_DEBUG_PACKETS_ENABLED) { \
100 printf("[%s][PK][%s]: " fmt "\n", VMXNET_DEVICE_NAME, __func__, \
101 ## __VA_ARGS__); \
102 } \
103 } while (0)
104
105 #define VMW_WRPRN(fmt, ...) \
106 do { \
107 if (VMXNET_DEBUG_WARNINGS_ENABLED) { \
108 printf("[%s][WR][%s]: " fmt "\n", VMXNET_DEVICE_NAME, __func__, \
109 ## __VA_ARGS__); \
110 } \
111 } while (0)
112
113 #define VMW_ERPRN(fmt, ...) \
114 do { \
115 if (VMXNET_DEBUG_ERRORS_ENABLED) { \
116 printf("[%s][ER][%s]: " fmt "\n", VMXNET_DEVICE_NAME, __func__, \
117 ## __VA_ARGS__); \
118 } \
119 } while (0)
120
121 #define VMW_IRPRN(fmt, ...) \
122 do { \
123 if (VMXNET_DEBUG_INTERRUPTS_ENABLED) { \
124 printf("[%s][IR][%s]: " fmt "\n", VMXNET_DEVICE_NAME, __func__, \
125 ## __VA_ARGS__); \
126 } \
127 } while (0)
128
129 #define VMW_CFPRN(fmt, ...) \
130 do { \
131 if (VMXNET_DEBUG_CONFIG_ENABLED) { \
132 printf("[%s][CF][%s]: " fmt "\n", VMXNET_DEVICE_NAME, __func__, \
133 ## __VA_ARGS__); \
134 } \
135 } while (0)
136
137 #define VMW_RIPRN(fmt, ...) \
138 do { \
139 if (VMXNET_DEBUG_RINGS_ENABLED) { \
140 printf("[%s][RI][%s]: " fmt "\n", VMXNET_DEVICE_NAME, __func__, \
141 ## __VA_ARGS__); \
142 } \
143 } while (0)
144
145 #endif /* QEMU_VMXNET_DEBUG_H */