41 lines
		
	
	
		
			788 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			788 B
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * Copyright (c) 2018, Xilinx Inc. and Contributors. All rights reserved.
 | 
						|
 *
 | 
						|
 * SPDX-License-Identifier: BSD-3-Clause
 | 
						|
 */
 | 
						|
 | 
						|
/*
 | 
						|
 * @file	zephyr/log.c
 | 
						|
 * @brief	Zephyr libmetal log handler.
 | 
						|
 */
 | 
						|
 | 
						|
#include <stdarg.h>
 | 
						|
#include <metal/log.h>
 | 
						|
#include <zephyr.h>
 | 
						|
 | 
						|
static const char *level_strs[] = {
 | 
						|
	"metal: emergency: ",
 | 
						|
	"metal: alert:     ",
 | 
						|
	"metal: critical:  ",
 | 
						|
	"metal: error:     ",
 | 
						|
	"metal: warning:   ",
 | 
						|
	"metal: notice:    ",
 | 
						|
	"metal: info:      ",
 | 
						|
	"metal: debug:     ",
 | 
						|
};
 | 
						|
 | 
						|
void metal_zephyr_log_handler(enum metal_log_level level,
 | 
						|
			      const char *format, ...)
 | 
						|
{
 | 
						|
	va_list args;
 | 
						|
 | 
						|
	if (level <= METAL_LOG_EMERGENCY || level > METAL_LOG_DEBUG)
 | 
						|
		level = METAL_LOG_EMERGENCY;
 | 
						|
	printk("%s", level_strs[level]);
 | 
						|
 | 
						|
	va_start(args, format);
 | 
						|
	vprintk(format, args);
 | 
						|
	va_end(args);
 | 
						|
}
 | 
						|
 |