summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvan Lojewski <github@meklort.com>2020-07-18 16:05:44 -0600
committerGitHub <noreply@github.com>2020-07-18 16:05:44 -0600
commit9fa97cc0e28e438f4f9fb10f311185dc6a18e674 (patch)
treeb6207419e52a3be3e83bfef149add9ef3da1c229
parentfb75521c041370e045eb1812aa257d5ebd2ffd32 (diff)
downloadbcm5719-ortega-9fa97cc0e28e438f4f9fb10f311185dc6a18e674.tar.gz
bcm5719-ortega-9fa97cc0e28e438f4f9fb10f311185dc6a18e674.zip
debug: Fix ape console initialization (#93)
-rw-r--r--ape/main.c5
-rw-r--r--libs/printf/ape_putchar.c14
2 files changed, 15 insertions, 4 deletions
diff --git a/ape/main.c b/ape/main.c
index 6fecba0..d67890b 100644
--- a/ape/main.c
+++ b/ape/main.c
@@ -337,7 +337,10 @@ bool handle_reset(void)
void __attribute__((noreturn)) __start()
{
bool full_init = handle_reset();
- full_init = full_init || reset_ape_console();
+ if (reset_ape_console())
+ {
+ full_init = true;
+ }
printf("APE v" STRINGIFY(VERSION_MAJOR) "." STRINGIFY(VERSION_MINOR) "." STRINGIFY(VERSION_PATCH) " NCSI Port " STRINGIFY(NETWORK_PORT) "\n");
gPort = Network_getPort(NETWORK_PORT);
diff --git a/libs/printf/ape_putchar.c b/libs/printf/ape_putchar.c
index 50fd5df..2879464 100644
--- a/libs/printf/ape_putchar.c
+++ b/libs/printf/ape_putchar.c
@@ -53,9 +53,9 @@ static bool reset_ape_console_internal(VOLATILE SHM_t *port)
port->RcpuReadPointer.r32 > sizeof(port->RcpuPrintfBuffer) ||
port->RcpuHostReadPointer.r32 > sizeof(port->RcpuPrintfBuffer))
{
- port->RcpuWritePointer.r32 = 0;
port->RcpuReadPointer.r32 = 0;
port->RcpuHostReadPointer.r32 = 0;
+ port->RcpuWritePointer.r32 = 0;
return true;
}
@@ -66,8 +66,16 @@ static bool reset_ape_console_internal(VOLATILE SHM_t *port)
bool reset_ape_console(void)
{
bool was_reset = false;
- was_reset = was_reset || reset_ape_console_internal(&SHM);
- was_reset = was_reset || reset_ape_console_internal(&SHM1);
+
+ if(reset_ape_console_internal(&SHM))
+ {
+ was_reset = true;
+ }
+
+ if (reset_ape_console_internal(&SHM1))
+ {
+ was_reset = true;
+ }
return was_reset;
}
OpenPOWER on IntegriCloud