Add a moon_version function that returns the full version string

This commit is contained in:
apio 2022-09-20 16:34:24 +02:00
parent 6967fa9117
commit 1c1aa96293
3 changed files with 13 additions and 2 deletions

View File

@ -2,4 +2,6 @@
int __moon_version_major();
int __moon_version_minor();
const char* __moon_version_suffix();
const char* __moon_version_suffix();
const char* moon_version();

View File

@ -1,4 +1,5 @@
#include "config.h"
#include "std/stdio.h"
#define STRINGIZE(x) #x
#define STRINGIZE_VALUE_OF(x) STRINGIZE(x)
@ -28,4 +29,12 @@ const char* __moon_version_suffix()
#else
return STRINGIZE_VALUE_OF(_MOON_SUFFIX);
#endif
}
const char* moon_version()
{
static char version[64];
snprintf(version, sizeof(version), "%d.%d%s", __moon_version_major(), __moon_version_minor(),
__moon_version_suffix()); // FIXME: this string is constant each build and should only be calculated once
return version;
}

View File

@ -32,7 +32,7 @@ extern "C" void _start()
Init::disable_smp(); // Put all other cores except the bootstrap one in an infinite loop
Init::early_init();
kinfoln("Starting Moon %d.%d%s", __moon_version_major(), __moon_version_minor(), __moon_version_suffix());
kinfoln("Starting Moon %s", moon_version());
CPU::log_cpu_information();