Fix warnings generated by GCC.
[edk2.git] / DuetPkg / DxeIpl / Debug.c
blob26f7ce0037c2be3779da1ff1a072f38f76189a52
1 /** @file
3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12 Module Name:
13 Debug.c
15 Abstract:
17 Revision History:
19 **/
21 #include "DxeIpl.h"
22 #include "SerialStatusCode.h"
24 UINT8 *mCursor;
25 UINT8 mHeaderIndex = 10;
28 VOID
29 PrintHeader (
30 CHAR8 Char
33 *(UINT8 *)(UINTN)(0x000b8000 + mHeaderIndex) = Char;
34 mHeaderIndex += 2;
37 VOID
38 ClearScreen (
39 VOID
42 UINT32 Index;
44 mCursor = (UINT8 *)(UINTN)(0x000b8000 + 160);
45 for (Index = 0; Index < 80 * 49; Index++) {
46 *mCursor = ' ';
47 mCursor += 2;
49 mCursor = (UINT8 *)(UINTN)(0x000b8000 + 160);
52 VOID
53 PrintValue (
54 UINT32 Value
57 UINT32 Index;
58 UINT8 Char;
60 for (Index = 0; Index < 8; Index++) {
61 Char = (UINT8)(((Value >> ((7 - Index) * 4)) & 0x0f) + '0');
62 if (Char > '9') {
63 Char = (UINT8) (Char - '0' - 10 + 'A');
65 *mCursor = Char;
66 mCursor += 2;
70 VOID
71 PrintValue64 (
72 UINT64 Value
75 PrintValue ((UINT32) RShiftU64 (Value, 32));
76 PrintValue ((UINT32) Value);
81 VOID
82 PrintString (
83 UINT8 *String
86 UINT32 Index;
88 for (Index = 0; String[Index] != 0; Index++) {
89 if (String[Index] == '\n') {
90 mCursor = (UINT8 *)(UINTN)(0xb8000 + (((((UINTN)mCursor - 0xb8000) + 160) / 160) * 160));
91 } else {
92 *mCursor = String[Index];
93 mCursor += 2;
98 // All information also output to serial port.
100 DebugSerialPrint ((CHAR8*)String);