vmxnet_debug.h (5792B)
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 */