aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPalmer Dabbelt <palmer@dabbelt.com>2017-07-27 13:30:08 -0700
committerPalmer Dabbelt <palmer@dabbelt.com>2017-08-02 12:32:45 -0700
commitbb19fef663a5ce32d7e2d3557362a51da8d99365 (patch)
tree600c3f1e117a1ba0c230f7c1f87e54ce356cc143
parent9037b1d9f2130770228be62c66b88b47fccd99b6 (diff)
downloadriscv-pk-bb19fef663a5ce32d7e2d3557362a51da8d99365.zip
riscv-pk-bb19fef663a5ce32d7e2d3557362a51da8d99365.tar.gz
riscv-pk-bb19fef663a5ce32d7e2d3557362a51da8d99365.tar.bz2
Move the logo behind the platform interface
SiFive has a different logo, so let platforms override said logo.
-rw-r--r--bbl/logo.c28
-rw-r--r--platform/platform_interface.h4
-rw-r--r--platform/spike.c31
3 files changed, 37 insertions, 26 deletions
diff --git a/bbl/logo.c b/bbl/logo.c
index 673899d..63ff1ce 100644
--- a/bbl/logo.c
+++ b/bbl/logo.c
@@ -1,32 +1,8 @@
#include <string.h>
#include "mtrap.h"
-
-static const char logo[] =
-" vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv\n"
-" vvvvvvvvvvvvvvvvvvvvvvvvvvvv\n"
-"rrrrrrrrrrrrr vvvvvvvvvvvvvvvvvvvvvvvvvv\n"
-"rrrrrrrrrrrrrrrr vvvvvvvvvvvvvvvvvvvvvvvv\n"
-"rrrrrrrrrrrrrrrrrr vvvvvvvvvvvvvvvvvvvvvvvv\n"
-"rrrrrrrrrrrrrrrrrr vvvvvvvvvvvvvvvvvvvvvvvv\n"
-"rrrrrrrrrrrrrrrrrr vvvvvvvvvvvvvvvvvvvvvvvv\n"
-"rrrrrrrrrrrrrrrr vvvvvvvvvvvvvvvvvvvvvv \n"
-"rrrrrrrrrrrrr vvvvvvvvvvvvvvvvvvvvvv \n"
-"rr vvvvvvvvvvvvvvvvvvvvvv \n"
-"rr vvvvvvvvvvvvvvvvvvvvvvvv rr\n"
-"rrrr vvvvvvvvvvvvvvvvvvvvvvvvvv rrrr\n"
-"rrrrrr vvvvvvvvvvvvvvvvvvvvvv rrrrrr\n"
-"rrrrrrrr vvvvvvvvvvvvvvvvvv rrrrrrrr\n"
-"rrrrrrrrrr vvvvvvvvvvvvvv rrrrrrrrrr\n"
-"rrrrrrrrrrrr vvvvvvvvvv rrrrrrrrrrrr\n"
-"rrrrrrrrrrrrrr vvvvvv rrrrrrrrrrrrrr\n"
-"rrrrrrrrrrrrrrrr vv rrrrrrrrrrrrrrrr\n"
-"rrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrr\n"
-"rrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrr\n"
-"rrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrrrr\n"
-"\n"
-" INSTRUCTION SETS WANT TO BE FREE\n";
+#include "platform_interface.h"
void print_logo()
{
- putstring(logo);
+ putstring(platform__get_logo());
}
diff --git a/platform/platform_interface.h b/platform/platform_interface.h
index 0f49056..9c52cde 100644
--- a/platform/platform_interface.h
+++ b/platform/platform_interface.h
@@ -11,4 +11,8 @@
* had before.
*/
+/* Returns a pointer to what's expected to be a staticly allocated logo string.
+ * This will be printed when BBL boots. */
+const char *platform__get_logo(void);
+
#endif
diff --git a/platform/spike.c b/platform/spike.c
index 9764057..06aa742 100644
--- a/platform/spike.c
+++ b/platform/spike.c
@@ -1 +1,32 @@
#include "platform_interface.h"
+
+static const char logo[] =
+" vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv\n"
+" vvvvvvvvvvvvvvvvvvvvvvvvvvvv\n"
+"rrrrrrrrrrrrr vvvvvvvvvvvvvvvvvvvvvvvvvv\n"
+"rrrrrrrrrrrrrrrr vvvvvvvvvvvvvvvvvvvvvvvv\n"
+"rrrrrrrrrrrrrrrrrr vvvvvvvvvvvvvvvvvvvvvvvv\n"
+"rrrrrrrrrrrrrrrrrr vvvvvvvvvvvvvvvvvvvvvvvv\n"
+"rrrrrrrrrrrrrrrrrr vvvvvvvvvvvvvvvvvvvvvvvv\n"
+"rrrrrrrrrrrrrrrr vvvvvvvvvvvvvvvvvvvvvv \n"
+"rrrrrrrrrrrrr vvvvvvvvvvvvvvvvvvvvvv \n"
+"rr vvvvvvvvvvvvvvvvvvvvvv \n"
+"rr vvvvvvvvvvvvvvvvvvvvvvvv rr\n"
+"rrrr vvvvvvvvvvvvvvvvvvvvvvvvvv rrrr\n"
+"rrrrrr vvvvvvvvvvvvvvvvvvvvvv rrrrrr\n"
+"rrrrrrrr vvvvvvvvvvvvvvvvvv rrrrrrrr\n"
+"rrrrrrrrrr vvvvvvvvvvvvvv rrrrrrrrrr\n"
+"rrrrrrrrrrrr vvvvvvvvvv rrrrrrrrrrrr\n"
+"rrrrrrrrrrrrrr vvvvvv rrrrrrrrrrrrrr\n"
+"rrrrrrrrrrrrrrrr vv rrrrrrrrrrrrrrrr\n"
+"rrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrr\n"
+"rrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrr\n"
+"rrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrrrr\n"
+"\n"
+" INSTRUCTION SETS WANT TO BE FREE\n";
+
+
+const char *platform__get_logo(void)
+{
+ return logo;
+}