xref: /aosp_15_r20/external/arm-trusted-firmware/plat/common/plat_log_common.c (revision 54fd6939e177f8ff529b10183254802c76df6d08)
1*54fd6939SJiyong Park /*
2*54fd6939SJiyong Park  * Copyright (c) 2017-2018, ARM Limited and Contributors. All rights reserved.
3*54fd6939SJiyong Park  *
4*54fd6939SJiyong Park  * SPDX-License-Identifier: BSD-3-Clause
5*54fd6939SJiyong Park  */
6*54fd6939SJiyong Park 
7*54fd6939SJiyong Park #include <common/debug.h>
8*54fd6939SJiyong Park #include <plat/common/platform.h>
9*54fd6939SJiyong Park 
10*54fd6939SJiyong Park /* Allow platforms to override the log prefix string */
11*54fd6939SJiyong Park #pragma weak plat_log_get_prefix
12*54fd6939SJiyong Park 
13*54fd6939SJiyong Park static const char *plat_prefix_str[] = {
14*54fd6939SJiyong Park 	"ERROR:   ", "NOTICE:  ", "WARNING: ", "INFO:    ", "VERBOSE: "};
15*54fd6939SJiyong Park 
plat_log_get_prefix(unsigned int log_level)16*54fd6939SJiyong Park const char *plat_log_get_prefix(unsigned int log_level)
17*54fd6939SJiyong Park {
18*54fd6939SJiyong Park 	unsigned int level;
19*54fd6939SJiyong Park 
20*54fd6939SJiyong Park 	if (log_level < LOG_LEVEL_ERROR) {
21*54fd6939SJiyong Park 		level = LOG_LEVEL_ERROR;
22*54fd6939SJiyong Park 	} else if (log_level > LOG_LEVEL_VERBOSE) {
23*54fd6939SJiyong Park 		level = LOG_LEVEL_VERBOSE;
24*54fd6939SJiyong Park 	} else {
25*54fd6939SJiyong Park 		level = log_level;
26*54fd6939SJiyong Park 	}
27*54fd6939SJiyong Park 
28*54fd6939SJiyong Park 	return plat_prefix_str[(level / 10U) - 1U];
29*54fd6939SJiyong Park }
30