From 5555bcff3148b37116297df5512513094983300a Mon Sep 17 00:00:00 2001 From: Allan Stephens Date: Tue, 14 Apr 2015 14:32:39 -0400 Subject: [PATCH] Relocate boot banner and kernel build timestamp handling Moves boot banner and kernel build timestamp code to the kernel's main initialization routine, since it doesn't really belong in a generic fiber-processing file. Signed-off-by: Allan Stephens --- kernel/common/bsp/init.c | 25 +++++++++++++++++++++++++ kernel/nanokernel/core/nanofiber.c | 16 ---------------- 2 files changed, 25 insertions(+), 16 deletions(-) diff --git a/kernel/common/bsp/init.c b/kernel/common/bsp/init.c index 2157101f752..cb202888872 100644 --- a/kernel/common/bsp/init.c +++ b/kernel/common/bsp/init.c @@ -62,6 +62,27 @@ extern char *__argv[], *__env[]; extern void _Ctors(void); +/* kernel build timestamp items */ + +#define BUILD_TIMESTAMP "BUILD: " __DATE__ " " __TIME__ + +#ifdef CONFIG_BUILD_TIMESTAMP +const char * const build_timestamp = BUILD_TIMESTAMP; +#endif + +/* boot banner items */ + +#define BOOT_BANNER "****** BOOTING VXMICRO ******" + +#if !defined(CONFIG_BOOT_BANNER) +#define PRINT_BOOT_BANNER() do { } while (0) +#elif !defined(CONFIG_BUILD_TIMESTAMP) +#define PRINT_BOOT_BANNER() printk(BOOT_BANNER "\n") +#else +#define PRINT_BOOT_BANNER() printk(BOOT_BANNER " %s\n", build_timestamp) +#endif + + #ifdef CONFIG_STACK_CANARIES /******************************************************************************* * @@ -143,6 +164,10 @@ FUNC_NORETURN void _Cstart(void) /* invoke C++ constructors */ _Ctors(); + /* display boot banner */ + + PRINT_BOOT_BANNER(); + /* context switch into the background context (entry function is main()) */ diff --git a/kernel/nanokernel/core/nanofiber.c b/kernel/nanokernel/core/nanofiber.c index 35509b8d05e..1647b2a54b5 100644 --- a/kernel/nanokernel/core/nanofiber.c +++ b/kernel/nanokernel/core/nanofiber.c @@ -44,21 +44,6 @@ either in the form of an actual function or an alias to a function. #include #include #include -#include - - -#define BUILD_TIMESTAMP "BUILD: " __DATE__ " " __TIME__ -#define BOOT_BANNER "****** BOOTING VXMICRO ******" - - -#ifdef CONFIG_BUILD_TIMESTAMP -/* Embed build timestamp into kernel image & boot banner */ -const char * const build_timestamp = BUILD_TIMESTAMP; -#define PRINT_BOOT_BANNER() printk(BOOT_BANNER " %s\n", build_timestamp) -#else -/* Omit build timestamp from kernel image & boot banner */ -#define PRINT_BOOT_BANNER() printk(BOOT_BANNER "\n") -#endif /******************************************************************************* * @@ -335,7 +320,6 @@ FUNC_NORETURN void fiber_abort(void) #ifdef CONFIG_BOOT_BANNER void _nano_start(void) { - PRINT_BOOT_BANNER(); _nano_fiber_swap(); }