From 18b04bdde1a04b05b3ed338512e8ef7fdc00de0a Mon Sep 17 00:00:00 2001 From: Michael Lotz Date: Tue, 27 Nov 2012 22:38:13 +0100 Subject: [PATCH] Also hand debug output to the on-screen debug output. --- .../boot/platform/raspberrypi_arm/debug.cpp | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/system/boot/platform/raspberrypi_arm/debug.cpp b/src/system/boot/platform/raspberrypi_arm/debug.cpp index 7fa7ae0c5a..2b589ccb91 100644 --- a/src/system/boot/platform/raspberrypi_arm/debug.cpp +++ b/src/system/boot/platform/raspberrypi_arm/debug.cpp @@ -16,6 +16,8 @@ #include +extern "C" void platform_video_puts(const char* string); + extern addr_t gPeripheralBase; static bool sLedState = true; @@ -87,6 +89,14 @@ debug_assert(bool condition) } +extern "C" void +debug_puts(const char* string, int32 length) +{ + platform_video_puts(string); + serial_puts(string, length); +} + + extern "C" void panic(const char* format, ...) { @@ -95,7 +105,7 @@ panic(const char* format, ...) va_list list; int length; - serial_puts(hint, sizeof(hint)); + debug_puts(hint, sizeof(hint)); va_start(list, format); length = vsnprintf(buffer, sizeof(buffer), format, list); va_end(list); @@ -103,10 +113,10 @@ panic(const char* format, ...) if (length >= (int)sizeof(buffer)) length = sizeof(buffer) - 1; - serial_puts(buffer, length); + debug_puts(buffer, length); //fprintf(stderr, "%s", buffer); - serial_puts("\nPress key to reboot.", 21); + debug_puts("\nPress key to reboot.", 21); platform_exit(); } @@ -126,7 +136,7 @@ dprintf(const char* format, ...) if (length >= (int)sizeof(buffer)) length = sizeof(buffer) - 1; - serial_puts(buffer, length); + debug_puts(buffer, length); if (platform_boot_options() & BOOT_OPTION_DEBUG_OUTPUT) fprintf(stderr, "%s", buffer);