168 lines
4.2 KiB
C
Executable File
Vendored
168 lines
4.2 KiB
C
Executable File
Vendored
/*
|
|
* MsDebug.h- Sigmastar
|
|
*
|
|
* Copyright (C) 2018 Sigmastar Technology Corp.
|
|
*
|
|
* Author: karl.xiao <karl.xiao@sigmastar.com.tw>
|
|
*
|
|
* This software is licensed under the terms of the GNU General Public
|
|
* License version 2, as published by the Free Software Foundation, and
|
|
* may be copied, distributed, and modified under those terms.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
*/
|
|
|
|
#ifndef _MSTAR_DEBUG_H_
|
|
#define _MSTAR_DEBUG_H_
|
|
|
|
#include "command.h"
|
|
#include "MsTypes.h"
|
|
|
|
typedef enum
|
|
{
|
|
EN_DEBUG_LEVEL_DISABLE=0,
|
|
EN_DEBUG_LEVEL_ERROR=0x01,
|
|
EN_DEBUG_LEVEL_INFO=0x02,
|
|
EN_DEBUG_LEVEL_TRACE=0x04,
|
|
EN_DEBUG_LEVEL_DEBUG=0x08,
|
|
EN_DEBUG_LEVEL_BOOTTIME=0x10,
|
|
EN_DEBUG_LEVEL_INVALID=0x1000,
|
|
EN_DEBUG_LEVEL_MAX=EN_DEBUG_LEVEL_INVALID
|
|
}EN_DEBUG_LEVEL;
|
|
|
|
typedef enum
|
|
{
|
|
EN_DEBUG_MODULE_DISABLE=0,
|
|
EN_DEBUG_MODULE_UPGRADE=(0x01<<0),
|
|
EN_DEBUG_MODULE_FAT=(0x01<<1),
|
|
EN_DEBUG_MODULE_ALL=0xFFFFFFFF
|
|
}EN_DEBUG_MODULE;
|
|
|
|
extern EN_DEBUG_LEVEL dbgLevel;
|
|
extern EN_DEBUG_MODULE dbgModule;
|
|
|
|
#define DEFAULT_DEBUG_LEVEL (EN_DEBUG_LEVEL_INFO+EN_DEBUG_LEVEL_ERROR)
|
|
#define DEFAULT_DEBUG_MODULE (EN_DEBUG_MODULE_ALL)
|
|
|
|
#ifdef CONFIG_MINIUBOOT
|
|
#define UBOOT_ERRDUMP(msg...)
|
|
#define UBOOT_ERROR(msg...) \
|
|
do{\
|
|
printf("\033[0;31m[ERROR] %s:%d: \033[0m",__FUNCTION__,__LINE__);\
|
|
printf(msg);\
|
|
}while(0)
|
|
#define UBOOT_INFO(msg...) printf(msg)
|
|
#define UBOOT_TRACE(msg...)
|
|
#define UBOOT_DEBUG(msg...)
|
|
#define UBOOT_DUMP(addr, size)
|
|
#else
|
|
#define UBOOT_ERROR(msg...)\
|
|
do{\
|
|
if(dbgLevel&EN_DEBUG_LEVEL_ERROR) \
|
|
{ \
|
|
printf("\033[0;31m[ERROR] %s:%d: \033[0m",__FUNCTION__,__LINE__);\
|
|
printf(msg);\
|
|
} \
|
|
}while(0)
|
|
|
|
#define UBOOT_INFO(msg...)\
|
|
do{\
|
|
if(dbgLevel&EN_DEBUG_LEVEL_INFO) \
|
|
{ \
|
|
printf(msg);\
|
|
} \
|
|
}while(0)
|
|
|
|
#define UBOOT_BOOTTIME(msg...)\
|
|
do{\
|
|
if(dbgLevel&EN_DEBUG_LEVEL_BOOTTIME) \
|
|
{ \
|
|
printf(msg);\
|
|
} \
|
|
}while(0)
|
|
|
|
|
|
|
|
|
|
#if 1
|
|
#define UBOOT_TRACE(msg...)\
|
|
do{\
|
|
if(dbgLevel&EN_DEBUG_LEVEL_TRACE) \
|
|
{ \
|
|
printf("\033[0;32m[TRACE] %s \033[0m",__FUNCTION__);\
|
|
printf(msg);\
|
|
} \
|
|
}while(0)
|
|
|
|
#else
|
|
do{\
|
|
if(dbgLevel&EN_DEBUG_LEVEL_TRACE) \
|
|
{ \
|
|
if(dbgModule&module) \
|
|
{ \
|
|
printf("\033[0;32m[TRACE]%s\033[0m",__FUNCTION__);\
|
|
printf(msg);\
|
|
}\
|
|
} \
|
|
}while(0)
|
|
|
|
#define UBOOT_TRACE(msg...) _UBOOT_TRACE(EN_DEBUG_MODULE_ALL,msg)
|
|
|
|
#endif
|
|
|
|
#if 1
|
|
#define UBOOT_DEBUG(msg...)\
|
|
do{\
|
|
if(dbgLevel&EN_DEBUG_LEVEL_DEBUG) \
|
|
{ \
|
|
printf("\033[0;34m[DEBUG] %s:%d: \033[0m",__FUNCTION__,__LINE__);\
|
|
printf(msg);\
|
|
} \
|
|
}while(0)
|
|
|
|
#else
|
|
#define _UBOOT_DEBUG(module, msg...)\
|
|
do{\
|
|
if(dbgLevel&EN_DEBUG_LEVEL_DEBUG) \
|
|
{ \
|
|
if(dbgModule&module) \
|
|
{ \
|
|
printf("\033[0;34m[DEBUG]%s:%d:\033[0m",__FUNCTION__,__LINE__);\
|
|
printf(msg);\
|
|
} \
|
|
} \
|
|
}while(0)
|
|
|
|
#define UBOOT_DEBUG(msg...) _UBOOT_DEBUG(EN_DEBUG_MODULE_ALL,msg)
|
|
#endif
|
|
|
|
#define UBOOT_DUMP(addr, size)\
|
|
do{\
|
|
if(dbgLevel&EN_DEBUG_LEVEL_DEBUG) \
|
|
{ \
|
|
printf("\033[0;34m[DUMP] %s:%d:\033[0m\n",__FUNCTION__,__LINE__);\
|
|
_dump(addr,size);\
|
|
} \
|
|
}while(0)
|
|
|
|
#define UBOOT_ERRDUMP(addr, size)\
|
|
do{\
|
|
if(dbgLevel&EN_DEBUG_LEVEL_ERROR) \
|
|
{ \
|
|
printf("\033[0;31m[DUMP] %s:%d:\033[0m\n",__FUNCTION__,__LINE__);\
|
|
_dump(addr,size);\
|
|
} \
|
|
}while(0)
|
|
|
|
|
|
int do_set_debugging_message_level(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
|
|
int do_initDebugLevel(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
|
|
void _dump(unsigned int addr, unsigned int size);
|
|
|
|
#endif
|
|
#endif
|