diff --git a/src/system/boot/platform/openfirmware/console.cpp b/src/system/boot/platform/openfirmware/console.cpp index 8ec53a96ad..45fed8a8c8 100644 --- a/src/system/boot/platform/openfirmware/console.cpp +++ b/src/system/boot/platform/openfirmware/console.cpp @@ -1,5 +1,6 @@ /* * Copyright 2003-2005, Axel Dörfler, axeld@pinc-software.de. + * Copyright 2010 Andreas Färber * All rights reserved. Distributed under the terms of the MIT License. */ @@ -10,6 +11,7 @@ #include +#include #include #include @@ -72,6 +74,11 @@ ConsoleHandle::WriteAt(void */*cookie*/, off_t /*pos*/, const void *buffer, { const char *string = (const char *)buffer; + // If the frame buffer is enabled, don't write to the chosen stdout. + // On Apple's OpenFirmware this would overwrite parts of the frame buffer. + if (gKernelArgs.frame_buffer.enabled) + return bufferSize; + // be nice to our audience and replace single "\n" with "\r\n" while (bufferSize > 0) {