]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkModulePkg/Universal/BdsDxe/MemoryTest.c
clean console control protocol in bds module.
[mirror_edk2.git] / IntelFrameworkModulePkg / Universal / BdsDxe / MemoryTest.c
index 854f8952c44bf340a2088e94c3561913e38b425f..59759509e24e3dd2935b848660705cb72a4fa9a0 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Perform the platform memory test\r
 \r
-Copyright (c) 2004 - 2008, Intel Corporation. <BR>\r
+Copyright (c) 2004 - 2009, Intel Corporation. <BR>\r
 All rights reserved. This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
 which accompanies this distribution.  The full text of the license may be found at\r
@@ -222,7 +222,7 @@ BdsMemoryTest (
   BOOLEAN                           ErrorOut;\r
   BOOLEAN                           TestAbort;\r
   EFI_INPUT_KEY                     Key;\r
-  CHAR16                            StrPercent[16];\r
+  CHAR16                            StrPercent[80];\r
   CHAR16                            *StrTotalMemory;\r
   CHAR16                            *Pos;\r
   CHAR16                            *TmpStr;\r
@@ -255,10 +255,6 @@ BdsMemoryTest (
 \r
   RequireSoftECCInit = FALSE;\r
 \r
-  gST->ConOut->ClearScreen (gST->ConOut);\r
-  gST->ConOut->SetAttribute (gST->ConOut, EFI_YELLOW | EFI_BRIGHT);\r
-  gST->ConOut->EnableCursor (gST->ConOut, FALSE);\r
-\r
   Status = gBS->LocateProtocol (\r
                   &gEfiGenericMemTestProtocolGuid,\r
                   NULL,\r
@@ -286,11 +282,10 @@ BdsMemoryTest (
     return EFI_SUCCESS;\r
   }\r
 \r
-  gST->ConOut->SetCursorPosition (gST->ConOut, 0, 2);\r
   TmpStr = GetStringById (STRING_TOKEN (STR_ESC_TO_SKIP_MEM_TEST));\r
 \r
   if (TmpStr != NULL) {\r
-    gST->ConOut->OutputString (gST->ConOut, TmpStr);\r
+    PrintXY (10, 10, NULL, NULL, TmpStr);\r
     FreePool (TmpStr);\r
   }\r
 \r
@@ -306,8 +301,6 @@ BdsMemoryTest (
       TmpStr = GetStringById (STRING_TOKEN (STR_SYSTEM_MEM_ERROR));\r
       if (TmpStr != NULL) {\r
         PrintXY (10, 10, NULL, NULL, TmpStr);\r
-        gST->ConOut->SetCursorPosition (gST->ConOut, 0, 4);\r
-        gST->ConOut->OutputString (gST->ConOut, TmpStr);\r
         FreePool (TmpStr);\r
       }\r
 \r
@@ -321,10 +314,13 @@ BdsMemoryTest (
                             );\r
     if (TestPercent != PreviousValue) {\r
       UnicodeValueToString (StrPercent, 0, TestPercent, 0);\r
-      gST->ConOut->SetCursorPosition (gST->ConOut, 0, 0);\r
       TmpStr = GetStringById (STRING_TOKEN (STR_MEMORY_TEST_PERCENT));\r
       if (TmpStr != NULL) {\r
-        BdsLibOutputStrings (gST->ConOut, StrPercent, TmpStr, NULL);\r
+        //\r
+        // TmpStr size is 64, StrPercent is reserved to 16.\r
+        //\r
+        StrCat (StrPercent, TmpStr);\r
+        PrintXY (10, 10, NULL, NULL, StrPercent);\r
         FreePool (TmpStr);\r
       }\r
 \r
@@ -360,8 +356,7 @@ BdsMemoryTest (
           FreePool (TmpStr);\r
         }\r
 \r
-        gST->ConOut->SetCursorPosition (gST->ConOut, 0, 0);\r
-        gST->ConOut->OutputString (gST->ConOut, L"100");\r
+        PrintXY (10, 10, NULL, NULL, L"100");\r
         Status = GenMemoryTest->Finished (GenMemoryTest);\r
         goto Done;\r
       }\r
@@ -384,10 +379,7 @@ Done:
     FreePool (TmpStr);\r
   }\r
 \r
-  gST->ConOut->ClearScreen (gST->ConOut);\r
-  gST->ConOut->SetAttribute (gST->ConOut, EFI_YELLOW | EFI_BRIGHT);\r
-  gST->ConOut->EnableCursor (gST->ConOut, FALSE);\r
-  gST->ConOut->OutputString (gST->ConOut, StrTotalMemory);\r
+  PrintXY (10, 10, NULL, NULL, StrTotalMemory);\r
   PlatformBdsShowProgress (\r
     Foreground,\r
     Background,\r