/* * QEMU VMWARE VMXNET* paravirtual NICs - debugging facilities * * Copyright (c) 2012 Ravello Systems LTD (http://ravellosystems.com) * * Developed by Daynix Computing LTD (http://www.daynix.com) * * Authors: * Dmitry Fleytman * Tamir Shomer * Yan Vugenfirer * * This work is licensed under the terms of the GNU GPL, version 2 or later. * See the COPYING file in the top-level directory. * */ #ifndef QEMU_VMXNET_DEBUG_H #define QEMU_VMXNET_DEBUG_H #define VMXNET_DEVICE_NAME "vmxnet3" #define VMXNET_DEBUG_WARNINGS #define VMXNET_DEBUG_ERRORS #undef VMXNET_DEBUG_CB #undef VMXNET_DEBUG_INTERRUPTS #undef VMXNET_DEBUG_CONFIG #undef VMXNET_DEBUG_RINGS #undef VMXNET_DEBUG_PACKETS #undef VMXNET_DEBUG_SHMEM_ACCESS #ifdef VMXNET_DEBUG_CB # define VMXNET_DEBUG_CB_ENABLED 1 #else # define VMXNET_DEBUG_CB_ENABLED 0 #endif #ifdef VMXNET_DEBUG_WARNINGS # define VMXNET_DEBUG_WARNINGS_ENABLED 1 #else # define VMXNET_DEBUG_WARNINGS_ENABLED 0 #endif #ifdef VMXNET_DEBUG_ERRORS # define VMXNET_DEBUG_ERRORS_ENABLED 1 #else # define VMXNET_DEBUG_ERRORS_ENABLED 0 #endif #ifdef VMXNET_DEBUG_CONFIG # define VMXNET_DEBUG_CONFIG_ENABLED 1 #else # define VMXNET_DEBUG_CONFIG_ENABLED 0 #endif #ifdef VMXNET_DEBUG_RINGS # define VMXNET_DEBUG_RINGS_ENABLED 1 #else # define VMXNET_DEBUG_RINGS_ENABLED 0 #endif #ifdef VMXNET_DEBUG_PACKETS # define VMXNET_DEBUG_PACKETS_ENABLED 1 #else # define VMXNET_DEBUG_PACKETS_ENABLED 0 #endif #ifdef VMXNET_DEBUG_INTERRUPTS # define VMXNET_DEBUG_INTERRUPTS_ENABLED 1 #else # define VMXNET_DEBUG_INTERRUPTS_ENABLED 0 #endif #ifdef VMXNET_DEBUG_SHMEM_ACCESS # define VMXNET_DEBUG_SHMEM_ACCESS_ENABLED 1 #else # define VMXNET_DEBUG_SHMEM_ACCESS_ENABLED 0 #endif #define VMW_SHPRN(fmt, ...) \ do { \ if (VMXNET_DEBUG_SHMEM_ACCESS_ENABLED) { \ printf("[%s][SH][%s]: " fmt "\n", VMXNET_DEVICE_NAME, __func__, \ ## __VA_ARGS__); \ } \ } while (0) #define VMW_CBPRN(fmt, ...) \ do { \ if (VMXNET_DEBUG_CB_ENABLED) { \ printf("[%s][CB][%s]: " fmt "\n", VMXNET_DEVICE_NAME, __func__, \ ## __VA_ARGS__); \ } \ } while (0) #define VMW_PKPRN(fmt, ...) \ do { \ if (VMXNET_DEBUG_PACKETS_ENABLED) { \ printf("[%s][PK][%s]: " fmt "\n", VMXNET_DEVICE_NAME, __func__, \ ## __VA_ARGS__); \ } \ } while (0) #define VMW_WRPRN(fmt, ...) \ do { \ if (VMXNET_DEBUG_WARNINGS_ENABLED) { \ printf("[%s][WR][%s]: " fmt "\n", VMXNET_DEVICE_NAME, __func__, \ ## __VA_ARGS__); \ } \ } while (0) #define VMW_ERPRN(fmt, ...) \ do { \ if (VMXNET_DEBUG_ERRORS_ENABLED) { \ printf("[%s][ER][%s]: " fmt "\n", VMXNET_DEVICE_NAME, __func__, \ ## __VA_ARGS__); \ } \ } while (0) #define VMW_IRPRN(fmt, ...) \ do { \ if (VMXNET_DEBUG_INTERRUPTS_ENABLED) { \ printf("[%s][IR][%s]: " fmt "\n", VMXNET_DEVICE_NAME, __func__, \ ## __VA_ARGS__); \ } \ } while (0) #define VMW_CFPRN(fmt, ...) \ do { \ if (VMXNET_DEBUG_CONFIG_ENABLED) { \ printf("[%s][CF][%s]: " fmt "\n", VMXNET_DEVICE_NAME, __func__, \ ## __VA_ARGS__); \ } \ } while (0) #define VMW_RIPRN(fmt, ...) \ do { \ if (VMXNET_DEBUG_RINGS_ENABLED) { \ printf("[%s][RI][%s]: " fmt "\n", VMXNET_DEVICE_NAME, __func__, \ ## __VA_ARGS__); \ } \ } while (0) #endif /* QEMU_VMXNET_DEBUG_H */