Implement log framework
authorSoby Mathew <soby.mathew@arm.com>
Mon, 4 Sep 2017 10:49:29 +0000 (11:49 +0100)
committerSoby Mathew <soby.mathew@arm.com>
Mon, 11 Sep 2017 14:37:24 +0000 (15:37 +0100)
commit7f56e9a31c91099cd0147883a0282ec89ae0b346
tree14bc3086e895ea2979ba7236cabfcc607339bf97
parent2d7e82823dc28ccfa776dc0ecdaeeda8c465bf62
Implement log framework

This patch gives users control over logging messages printed from the C
code using the LOG macros defined in debug.h Users now have the ability
to reduce the log_level at run time using the tf_log_set_max_level()
function. The default prefix string can be defined by platform by
overriding the `plat_log_get_prefix()` platform API which is also
introduced in this patch.

The new log framework results in saving of some RO data. For example,
when BL1 is built for FVP with LOG_LEVEL=LOG_LEVEL_VERBOSE, resulted
in saving 384 bytes of RO data and increase of 8 bytes of RW data. The
framework also adds about 108 bytes of code to the release build of FVP.

Fixes ARM-software/tf-issues#462

Change-Id: I476013d9c3deedfdd4c8b0b0f125665ba6250554
Co-authored-by: Eleanor Bonnici <Eleanor.bonnici@arm.com>
Signed-off-by: Soby Mathew <soby.mathew@arm.com>
Makefile
common/tf_log.c [new file with mode: 0644]
docs/porting-guide.rst
include/common/debug.h
include/plat/common/platform.h
plat/common/plat_log_common.c [new file with mode: 0644]