summaryrefslogtreecommitdiffstats
path: root/private/ntos/fw/mips/fwprint.c
diff options
context:
space:
mode:
authorAdam <you@example.com>2020-05-17 05:51:50 +0200
committerAdam <you@example.com>2020-05-17 05:51:50 +0200
commite611b132f9b8abe35b362e5870b74bce94a1e58e (patch)
treea5781d2ec0e085eeca33cf350cf878f2efea6fe5 /private/ntos/fw/mips/fwprint.c
downloadNT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.gz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.bz2
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.lz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.xz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.zst
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.zip
Diffstat (limited to 'private/ntos/fw/mips/fwprint.c')
-rw-r--r--private/ntos/fw/mips/fwprint.c84
1 files changed, 84 insertions, 0 deletions
diff --git a/private/ntos/fw/mips/fwprint.c b/private/ntos/fw/mips/fwprint.c
new file mode 100644
index 000000000..2307152e5
--- /dev/null
+++ b/private/ntos/fw/mips/fwprint.c
@@ -0,0 +1,84 @@
+// TITLE("Debug Support Functions")
+//++
+//
+// Copyright (c) 1990 Microsoft Corporation
+//
+// Module Name:
+//
+// fwprint.c
+//
+// Abstract:
+//
+// This module implements functions to support debugging NT.
+//
+// Author:
+//
+// Steven R. Wood (stevewo) 3-Aug-1989
+//
+// Environment:
+//
+// Any mode.
+//
+// Revision History:
+//
+//--
+
+#include "fwp.h"
+#include <stdarg.h>
+#include "string.h"
+
+//
+// Define variable argument list parameters.
+//
+
+BOOLEAN DisplayOutput;
+BOOLEAN SerialOutput;
+BOOLEAN FwConsoleInitialized = FALSE;
+
+
+ULONG
+FwPrint (
+ PCHAR Format,
+ ...
+ )
+
+{
+
+ va_list arglist;
+ UCHAR Buffer[256];
+ ULONG Count;
+ ULONG Index;
+ ULONG Length;
+
+ //
+ // Format the output into a buffer and then print it.
+ //
+
+ va_start(arglist, Format);
+ Length = vsprintf(Buffer, Format, arglist);
+
+ if (FwConsoleInitialized) {
+
+ FwWrite( ARC_CONSOLE_OUTPUT, Buffer, Length, &Count);
+
+ } else {
+
+ if (SerialOutput) {
+ for ( Index = 0 ; Index < Length ; Index++ ) {
+ if (Buffer[Index] == ASCII_CSI) {
+ SerialBootWrite(ASCII_ESC, COMPORT2_VIRTUAL_BASE);
+ SerialBootWrite('[', COMPORT2_VIRTUAL_BASE);
+ } else {
+ SerialBootWrite(Buffer[Index],COMPORT2_VIRTUAL_BASE);
+ }
+ }
+ }
+
+ if (DisplayOutput) {
+ DisplayWrite( ARC_CONSOLE_OUTPUT, Buffer, Length, &Count);
+ }
+ }
+
+ va_end(arglist);
+ return 0;
+}