- TempData = (UINT32) DivU64x32 (TotalMemorySize, 16);\r
- TestPercent = (UINTN) DivU64x32 (\r
- DivU64x32 (MultU64x32 (TestedMemorySize, 100), 16),\r
- TempData\r
- );\r
- if (TestPercent != PreviousValue) {\r
- UnicodeValueToString (StrPercent, 0, TestPercent, 0);\r
- TmpStr = GetStringById (STRING_TOKEN (STR_MEMORY_TEST_PERCENT));\r
- if (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
- TmpStr = GetStringById (STRING_TOKEN (STR_PERFORM_MEM_TEST));\r
- if (TmpStr != NULL) {\r
- PlatformBdsShowProgress (\r
- Foreground,\r
- Background,\r
- TmpStr,\r
- Color,\r
- TestPercent,\r
- (UINTN) PreviousValue\r
- );\r
- FreePool (TmpStr);\r
- }\r
- }\r
-\r
- PreviousValue = TestPercent;\r
-\r
- KeyStatus = gST->ConIn->ReadKeyStroke (gST->ConIn, &Key);\r
- if (!EFI_ERROR (KeyStatus) && (Key.ScanCode == SCAN_ESC)) {\r
- if (!RequireSoftECCInit) {\r