aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile4
-rw-r--r--lib/sbi/sbi_init.c5
2 files changed, 9 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 78c28c0..9784598 100644
--- a/Makefile
+++ b/Makefile
@@ -65,6 +65,7 @@ export firmware_dir=$(CURDIR)/firmware
# Find library version
OPENSBI_VERSION_MAJOR=`grep "define OPENSBI_VERSION_MAJOR" $(include_dir)/sbi/sbi_version.h | sed 's/.*MAJOR.*\([0-9][0-9]*\)/\1/'`
OPENSBI_VERSION_MINOR=`grep "define OPENSBI_VERSION_MINOR" $(include_dir)/sbi/sbi_version.h | sed 's/.*MINOR.*\([0-9][0-9]*\)/\1/'`
+OPENSBI_VERSION_GIT=$(shell if [ -d $(src_dir)/.git ]; then git describe; fi)
# Setup compilation commands
ifdef CROSS_COMPILE
@@ -151,6 +152,9 @@ endif
# Setup compilation commands flags
GENFLAGS = -I$(platform_src_dir)/include
GENFLAGS += -I$(include_dir)
+ifneq ($(OPENSBI_VERSION_GIT),)
+GENFLAGS += -DOPENSBI_VERSION_GIT="\"$(OPENSBI_VERSION_GIT)\""
+endif
GENFLAGS += $(libsbiutils-genflags-y)
GENFLAGS += $(platform-genflags-y)
GENFLAGS += $(firmware-genflags-y)
diff --git a/lib/sbi/sbi_init.c b/lib/sbi/sbi_init.c
index 4f47a6c..4663a30 100644
--- a/lib/sbi/sbi_init.c
+++ b/lib/sbi/sbi_init.c
@@ -34,8 +34,13 @@ static void sbi_boot_prints(struct sbi_scratch *scratch, u32 hartid)
const struct sbi_platform *plat = sbi_platform_ptr(scratch);
misa_string(str, sizeof(str));
+#ifdef OPENSBI_VERSION_GIT
+ sbi_printf("\nOpenSBI %s (%s %s)\n", OPENSBI_VERSION_GIT,
+ __DATE__, __TIME__);
+#else
sbi_printf("\nOpenSBI v%d.%d (%s %s)\n", OPENSBI_VERSION_MAJOR,
OPENSBI_VERSION_MINOR, __DATE__, __TIME__);
+#endif
sbi_printf(BANNER);