Author: ion
Date: Mon Sep  7 23:31:08 2015
New Revision: 69103

URL: http://svn.reactos.org/svn/reactos?rev=69103&view=rev
Log:
[BOOTMGFW]
- EarlyPrint -> EfiPrintf, as it seems BL actually has this after all :) Change 
all callers to conform to it.
- Add common exit/failure path in BmMain. Now the fun begins.

Modified:
    trunk/reactos/boot/environ/lib/bootlib.c
    trunk/reactos/boot/environ/lib/firmware/efi/firmware.c
    trunk/reactos/boot/environ/lib/io/display/display.c
    trunk/reactos/boot/environ/lib/io/display/efi/gop.c
    trunk/reactos/boot/environ/lib/io/display/efi/guicons.c
    trunk/reactos/boot/environ/lib/io/display/efi/textcons.c
    trunk/reactos/boot/environ/lib/io/display/efi/uga.c
    trunk/reactos/boot/environ/lib/io/display/guicons.c
    trunk/reactos/boot/environ/lib/io/display/textcons.c
    trunk/reactos/boot/environ/lib/misc/util.c
    trunk/reactos/boot/environ/lib/mm/descriptor.c
    trunk/reactos/boot/environ/lib/mm/heapalloc.c
    trunk/reactos/boot/environ/lib/mm/i386/mmx86.c
    trunk/reactos/boot/environ/lib/mm/mm.c
    trunk/reactos/boot/environ/lib/mm/pagealloc.c
    trunk/reactos/boot/environ/lib/platform/time.c

Modified: trunk/reactos/boot/environ/lib/bootlib.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/bootlib.c?rev=69103&r1=69102&r2=69103&view=diff
==============================================================================
--- trunk/reactos/boot/environ/lib/bootlib.c    [iso-8859-1] (original)
+++ trunk/reactos/boot/environ/lib/bootlib.c    [iso-8859-1] Mon Sep  7 
23:31:08 2015
@@ -23,28 +23,6 @@
 LIST_ENTRY BlBadpListHead;
 
 /* FUNCTIONS *****************************************************************/
-
-/* HACKKKYYY */
-EFI_SYSTEM_TABLE* g_SystemTable;
-
-VOID
-EarlyPrint(_In_ PWCHAR Format, ...)
-{
-    WCHAR buffer[1024];
-    va_list args;
-
-    va_start(args, Format);
-
-    vswprintf(buffer, Format, args);
-
-    g_SystemTable->ConOut->OutputString(g_SystemTable->ConOut, L"\r");
-    g_SystemTable->ConOut->OutputString(g_SystemTable->ConOut, buffer);
-
-    g_SystemTable->BootServices->Stall(200000);
-
-    va_end(args);
-}
-/* END HACKKKYYY */
 
 /*++
  * @name InitializeLibrary
@@ -131,7 +109,7 @@
                              LibraryParameters);
     if (!NT_SUCCESS(Status))
     {
-        EarlyPrint(L"MM init failed!\n");
+        EfiPrintf(L"MM init failed!\r\n");
         goto Quickie;
     }
 
@@ -141,7 +119,7 @@
     {
         /* Destroy memory manager in phase 1 */
         //BlpMmDestroy(1);
-        EarlyPrint(L"Firmware2 init failed!\n");
+        EfiPrintf(L"Firmware2 init failed!\r\n");
         return Status;
     }
 
@@ -163,7 +141,7 @@
         if (!NT_SUCCESS(Status))
         {
             /* Destroy memory manager in phase 1 */
-            EarlyPrint(L"TSC calibration failed\n");
+            EfiPrintf(L"TSC calibration failed\r\n");
             //BlpMmDestroy(1);
             return Status;
         }
@@ -174,7 +152,7 @@
     if (!NT_SUCCESS(Status))
     {
         /* Destroy memory manager in phase 1 */
-        EarlyPrint(L"Arch2 init failed\n");
+        EfiPrintf(L"Arch2 init failed\r\n");
         //BlpMmDestroy(1);
         return Status;
     }
@@ -195,7 +173,7 @@
     if (!NT_SUCCESS(Status))
     {
         /* Destroy memory manager in phase 1 and the event manager */
-        EarlyPrint(L"IO init failed\n");
+        EfiPrintf(L"IO init failed\r\n");
 #ifdef BL_TPM_SUPPORT
         if (EnSubsystemInitialized)
         {
@@ -240,7 +218,7 @@
         }
 #endif
         //BlpMmDestroy(1);
-        EarlyPrint(L"Util init failed\n");
+        EfiPrintf(L"Util init failed\r\n");
         return Status;
     }
 
@@ -407,3 +385,11 @@
     return Status;
 }
 
+VOID
+BlDestroyLibrary (
+    VOID
+    )
+{
+    EfiPrintf(L"Destroy not yet implemented\r\n");
+    return;
+}

Modified: trunk/reactos/boot/environ/lib/firmware/efi/firmware.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/firmware/efi/firmware.c?rev=69103&r1=69102&r2=69103&view=diff
==============================================================================
--- trunk/reactos/boot/environ/lib/firmware/efi/firmware.c      [iso-8859-1] 
(original)
+++ trunk/reactos/boot/environ/lib/firmware/efi/firmware.c      [iso-8859-1] 
Mon Sep  7 23:31:08 2015
@@ -30,7 +30,37 @@
 EFI_GUID EfiDevicePathProtocol = EFI_DEVICE_PATH_PROTOCOL_GUID;
 EFI_GUID EfiSimpleTextInputExProtocol = EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID;
 
+WCHAR BlScratchBuffer[8192];
+
 /* FUNCTIONS *****************************************************************/
+
+VOID
+EfiPrintf (
+    _In_ PWCHAR Format,
+    ...
+    )
+{
+    va_list args;
+    va_start(args, Format);
+
+    /* Capture the buffer in our scratch pad, and NULL-terminate */
+    vsnwprintf(BlScratchBuffer, RTL_NUMBER_OF(BlScratchBuffer) - 1, Format, 
args);
+    BlScratchBuffer[RTL_NUMBER_OF(BlScratchBuffer) - 1] = UNICODE_NULL;
+
+    /* Check which mode we're in */
+    if (CurrentExecutionContext->Mode == BlRealMode)
+    {
+        /* Call EFI directly */
+        EfiConOut->OutputString(EfiConOut, BlScratchBuffer);
+    }
+    else
+    {
+        /* FIXME: @TODO: Not yet supported */
+    }
+
+    /* All done */
+    va_end(args);
+}
 
 NTSTATUS
 EfiOpenProtocol (
@@ -589,7 +619,7 @@
     if ((ModeChanged) && (NT_SUCCESS(Status)))
     {
         /* FIXME @TODO: Should be BlStatusPrint */
-        EarlyPrint(L"Console video mode  set to 0x%x\r\n", Mode);
+        EfiPrintf(L"Console video mode  set to 0x%x\r\r\n", Mode);
     }
 
     /* Convert the error to an NTSTATUS */
@@ -668,6 +698,25 @@
 
     /* Convert the error to an NTSTATUS */
     return EfiGetNtStatusCode(EfiStatus);
+}
+
+VOID
+EfiResetSystem (
+    _In_ EFI_RESET_TYPE ResetType
+    )
+{
+    BL_ARCH_MODE OldMode;
+
+    /* Are we in protected mode? */
+    OldMode = CurrentExecutionContext->Mode;
+    if (OldMode != BlRealMode)
+    {
+        /* FIXME: Not yet implemented */
+        return;
+    }
+
+    /* Call the EFI runtime */
+    EfiRT->ResetSystem(ResetType, EFI_SUCCESS, 0, NULL);
 }
 
 NTSTATUS
@@ -868,7 +917,7 @@
     if (Status != STATUS_BUFFER_TOO_SMALL)
     {
         /* This should've failed because our buffer was too small, nothing 
else */
-        EarlyPrint(L"Got strange EFI status for memory map: %lx\n", Status);
+        EfiPrintf(L"Got strange EFI status for memory map: %lx\r\n", Status);
         if (NT_SUCCESS(Status))
         {
             Status = STATUS_UNSUCCESSFUL;
@@ -879,7 +928,7 @@
     /* Add 4 more descriptors just in case things changed */
     EfiMemoryMapSize += (4 * DescriptorSize);
     Pages = BYTES_TO_PAGES(EfiMemoryMapSize);
-    EarlyPrint(L"Memory map size: %lx bytes, %d pages\n", EfiMemoryMapSize, 
Pages);
+    EfiPrintf(L"Memory map size: %lx bytes, %d pages\r\n", EfiMemoryMapSize, 
Pages);
 
     /* Should we use EFI to grab memory? */
     if (UseEfiBuffer)
@@ -893,7 +942,7 @@
                                   &EfiBuffer);
         if (!NT_SUCCESS(Status))
         {
-            EarlyPrint(L"EFI allocation failed: %lx\n", Status);
+            EfiPrintf(L"EFI allocation failed: %lx\r\n", Status);
             goto Quickie;
         }
 
@@ -953,7 +1002,7 @@
     /* So far so good? */
     if (!NT_SUCCESS(Status))
     {
-        EarlyPrint(L"Failed to get EFI memory map: %lx\n", Status);
+        EfiPrintf(L"Failed to get EFI memory map: %lx\r\n", Status);
         goto Quickie;
     }
 
@@ -961,7 +1010,7 @@
     if (((EfiMemoryMapSize % DescriptorSize)) ||
         (DescriptorSize < sizeof(EFI_MEMORY_DESCRIPTOR)))
     {
-        EarlyPrint(L"Incorrect descriptor size\n");
+        EfiPrintf(L"Incorrect descriptor size\r\n");
         Status = STATUS_UNSUCCESSFUL;
         goto Quickie;
     }
@@ -971,7 +1020,7 @@
         (BlpBootDevice->Local.Type == RamDiskDevice))
     {
         /* We don't handle this yet */
-        EarlyPrint(L"RAM boot not supported\n");
+        EfiPrintf(L"RAM boot not supported\r\n");
         Status = STATUS_NOT_IMPLEMENTED;
         goto Quickie;
     }
@@ -983,9 +1032,9 @@
 
     /* Loop the EFI memory map */
 #if 0
-    EarlyPrint(L"UEFI MEMORY MAP\n\n");
-    EarlyPrint(L"TYPE        START              END                   
ATTRIBUTES\n");
-    
EarlyPrint(L"===============================================================\n");
+    EfiPrintf(L"UEFI MEMORY MAP\n\r\n");
+    EfiPrintf(L"TYPE        START              END                   
ATTRIBUTES\r\n");
+    
EfiPrintf(L"===============================================================\r\n");
 #endif
     while (EfiMemoryMapSize != 0)
     {
@@ -1026,7 +1075,7 @@
             goto LoopAgain;
         }
 #if 0
-        EarlyPrint(L"%08X    0x%016I64X-0x%016I64X    0x%I64X\n",
+        EfiPrintf(L"%08X    0x%016I64X-0x%016I64X    0x%I64X\r\n",
                    MemoryType,
                    StartPage << PAGE_SHIFT,
                    EndPage << PAGE_SHIFT,
@@ -1057,7 +1106,7 @@
                                                  
BL_MM_ADD_DESCRIPTOR_TRUNCATE_FLAG);
                 if (!NT_SUCCESS(Status))
                 {
-                    EarlyPrint(L"Failed to add zero page descriptor: %lx\n", 
Status);
+                    EfiPrintf(L"Failed to add zero page descriptor: %lx\r\n", 
Status);
                     break;
                 }
 
@@ -1098,7 +1147,7 @@
                                                  
BL_MM_ADD_DESCRIPTOR_TRUNCATE_FLAG);
                 if (!NT_SUCCESS(Status))
                 {
-                    EarlyPrint(L"Failed to add 1MB descriptor: %lx\n", Status);
+                    EfiPrintf(L"Failed to add 1MB descriptor: %lx\r\n", 
Status);
                     break;
                 }
 
@@ -1111,7 +1160,7 @@
         if (HaveRamDisk)
         {
             /* We don't handle this yet */
-            EarlyPrint(L"RAM boot not supported\n");
+            EfiPrintf(L"RAM boot not supported\r\n");
             Status = STATUS_NOT_IMPLEMENTED;
             goto Quickie;
         }
@@ -1144,7 +1193,7 @@
                                          BL_MM_ADD_DESCRIPTOR_COALESCE_FLAG : 
0);
         if (!NT_SUCCESS(Status))
         {
-            EarlyPrint(L"Failed to add full descriptor: %lx\n", Status);
+            EfiPrintf(L"Failed to add full descriptor: %lx\r\n", Status);
             break;
         }
 

Modified: trunk/reactos/boot/environ/lib/io/display/display.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/io/display/display.c?rev=69103&r1=69102&r2=69103&view=diff
==============================================================================
--- trunk/reactos/boot/environ/lib/io/display/display.c [iso-8859-1] (original)
+++ trunk/reactos/boot/environ/lib/io/display/display.c [iso-8859-1] Mon Sep  7 
23:31:08 2015
@@ -43,7 +43,7 @@
     VOID
     )
 {
-    //EarlyPrint(L"Disabling graphics\n");
+    //EarlyPrint(L"Disabling graphics\r\n");
     return FALSE;
 }
 
@@ -75,7 +75,7 @@
     /* Display re-initialization not yet handled */
     if (LibraryParameters.LibraryFlags & BL_LIBRARY_FLAG_REINITIALIZE_ALL)
     {
-        EarlyPrint(L"Display path not handled\n");
+        EfiPrintf(L"Display path not handled\r\n");
         return STATUS_NOT_SUPPORTED;
     }
 
@@ -111,7 +111,7 @@
         if (NT_SUCCESS(Status))
         {
             ConsoleGraphicalResolutionListFlags |= 
BL_DISPLAY_GRAPHICS_FORCED_VIDEO_MODE_FLAG;
-            EarlyPrint(L"Display selection not yet handled\n");
+            EfiPrintf(L"Display selection not yet handled\r\n");
             return STATUS_NOT_IMPLEMENTED;
         }
 
@@ -127,7 +127,7 @@
         if (NT_SUCCESS(Status))
         {
             ConsoleGraphicalResolutionListFlags |= 
BL_DISPLAY_GRAPHICS_FORCED_HIGH_RES_MODE_FLAG;
-            EarlyPrint(L"High res mode not yet handled\n");
+            EfiPrintf(L"High res mode not yet handled\r\n");
             return STATUS_NOT_IMPLEMENTED;
         }
 
@@ -142,7 +142,7 @@
                 Status = ConsoleGraphicalConstruct(GraphicsConsole);
                 if (!NT_SUCCESS(Status))
                 {
-                    EarlyPrint(L"GFX FAILED: %lx\n", Status);
+                    EfiPrintf(L"GFX FAILED: %lx\r\n", Status);
                     BlMmFreeHeap(GraphicsConsole);
                     GraphicsConsole = NULL;
                 }
@@ -157,7 +157,7 @@
         /* Are we using something else than the default mode? */
         if (DisplayMode != &ConsoleGraphicalResolutionList[0])
         {
-            EarlyPrint(L"Display path not handled\n");
+            EfiPrintf(L"Display path not handled\r\n");
             return STATUS_NOT_SUPPORTED;
         }
 
@@ -217,7 +217,7 @@
     }
 
     /* We have a remote console -- have to figure out how to use it*/
-    EarlyPrint(L"Display path not handled\n");
+    EfiPrintf(L"Display path not handled\r\n");
     return STATUS_NOT_SUPPORTED;
 }
 
@@ -273,7 +273,7 @@
         if (DspGraphicalConsole)
         {
             /* Yep -- query it */
-            EarlyPrint(L"Not supported\n");
+            EfiPrintf(L"Not supported\r\n");
             Status = STATUS_NOT_IMPLEMENTED;
         }
     }

Modified: trunk/reactos/boot/environ/lib/io/display/efi/gop.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/io/display/efi/gop.c?rev=69103&r1=69102&r2=69103&view=diff
==============================================================================
--- trunk/reactos/boot/environ/lib/io/display/efi/gop.c [iso-8859-1] (original)
+++ trunk/reactos/boot/environ/lib/io/display/efi/gop.c [iso-8859-1] Mon Sep  7 
23:31:08 2015
@@ -212,7 +212,7 @@
                              (PVOID*)&GopProtocol);
     if (!NT_SUCCESS(Status))
     {
-        EarlyPrint(L"GOP OPEN failed: %lx\n", Status);
+        EfiPrintf(L"GOP OPEN failed: %lx\r\n", Status);
         return STATUS_NOT_SUPPORTED;
     }
 
@@ -220,7 +220,7 @@
     Status = EfiGopGetCurrentMode(GopProtocol, &CurrentMode, &ModeInformation);
     if (!NT_SUCCESS(Status))
     {
-        EarlyPrint(L"GOP mode failed: %lx\n", Status);
+        EfiPrintf(L"GOP mode failed: %lx\r\n", Status);
         goto Quickie;
     }
 
@@ -273,7 +273,7 @@
 
 Quickie:
     /* We failed, close the protocol and return the failure code */
-    EarlyPrint(L"Get format failed: %lx\n", Status);
+    EfiPrintf(L"Get format failed: %lx\r\n", Status);
     EfiCloseProtocol(GraphicsConsole->Handle, &EfiGraphicsOutputProtocol);
     return Status;
 }

Modified: trunk/reactos/boot/environ/lib/io/display/efi/guicons.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/io/display/efi/guicons.c?rev=69103&r1=69102&r2=69103&view=diff
==============================================================================
--- trunk/reactos/boot/environ/lib/io/display/efi/guicons.c     [iso-8859-1] 
(original)
+++ trunk/reactos/boot/environ/lib/io/display/efi/guicons.c     [iso-8859-1] 
Mon Sep  7 23:31:08 2015
@@ -54,7 +54,7 @@
     if (!NT_SUCCESS(Status))
     {
         /* Nothing supports this (no video card?) */
-        EarlyPrint(L"Status: %lx Count: %d\n", Status, HandleCount);
+        EfiPrintf(L"Status: %lx Count: %d\r\n", Status, HandleCount);
         return STATUS_UNSUCCESSFUL;
     }
 

Modified: trunk/reactos/boot/environ/lib/io/display/efi/textcons.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/io/display/efi/textcons.c?rev=69103&r1=69102&r2=69103&view=diff
==============================================================================
--- trunk/reactos/boot/environ/lib/io/display/efi/textcons.c    [iso-8859-1] 
(original)
+++ trunk/reactos/boot/environ/lib/io/display/efi/textcons.c    [iso-8859-1] 
Mon Sep  7 23:31:08 2015
@@ -348,7 +348,7 @@
     }
 
     /* Scan all the EFI modes */
-    EarlyPrint(L"Scanning through %d modes\n", MaxMode);
+    EfiPrintf(L"Scanning through %d modes\r\n", MaxMode);
     for (MaxQueriedMode = 0, Mode = 0; Mode < MaxMode; Mode++)
     {
         /* Query information on this mode */
@@ -359,7 +359,7 @@
                                           &VRes)))
         {
             /* This mode was succesfully queried. Save the data */
-            EarlyPrint(L"EFI Firmware Supported Mode %d is H: %d V: %d\n", 
Mode, HRes, VRes);
+            EfiPrintf(L"EFI Firmware Supported Mode %d is H: %d V: %d\r\n", 
Mode, HRes, VRes);
             ModeEntry->HRes = HRes;
             ModeEntry->VRes = VRes;
             ModeEntry->HRes2 = HRes;
@@ -376,7 +376,7 @@
         {
             /* Check if the UEFI mode is compatible with our supported mode */
             ModeEntry = &ModeList[MatchingMode];
-            EarlyPrint(L"H1: %d V1: %d - H2: %d - V2: %d\n", ModeEntry->HRes, 
ModeEntry->VRes, SupportedModeEntry->HRes, SupportedModeEntry->VRes);
+            EfiPrintf(L"H1: %d V1: %d - H2: %d - V2: %d\r\n", ModeEntry->HRes, 
ModeEntry->VRes, SupportedModeEntry->HRes, SupportedModeEntry->VRes);
             if ((ModeEntry->HRes == SupportedModeEntry->HRes) &&
                 (ModeEntry->VRes == SupportedModeEntry->VRes))
             {
@@ -446,19 +446,19 @@
     if (!ConsolepFindResolution(&DisplayMode, ConsoleTextResolutionList, 1))
     {
         /* It isn't -- find a matching EFI mode for what we need */
-        EarlyPrint(L"In incorrect mode, scanning for right one\n");
+        EfiPrintf(L"In incorrect mode, scanning for right one\r\n");
         Status = ConsoleEfiTextFindModeFromAllowed(EfiConOut,
                                                    ConsoleTextResolutionList,
                                                    1,
                                                    &Mode);
         if (!NT_SUCCESS(Status))
         {
-            EarlyPrint(L"Failed to find mode: %lx\n", Status);
+            EfiPrintf(L"Failed to find mode: %lx\r\n", Status);
             return Status;
         }
 
         /* Set the new EFI mode */
-        EarlyPrint(L"Setting new mode: %d\n", Mode);
+        EfiPrintf(L"Setting new mode: %d\r\n", Mode);
         Status = EfiConOutSetMode(EfiConOut, Mode);
         if (!NT_SUCCESS(Status))
         {

Modified: trunk/reactos/boot/environ/lib/io/display/efi/uga.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/io/display/efi/uga.c?rev=69103&r1=69102&r2=69103&view=diff
==============================================================================
--- trunk/reactos/boot/environ/lib/io/display/efi/uga.c [iso-8859-1] (original)
+++ trunk/reactos/boot/environ/lib/io/display/efi/uga.c [iso-8859-1] Mon Sep  7 
23:31:08 2015
@@ -19,7 +19,7 @@
     _In_ PBL_GRAPHICS_CONSOLE GraphicsConsole
     )
 {
-    EarlyPrint(L"UGA not implemented\n");
+    EfiPrintf(L"UGA not implemented\r\n");
     return STATUS_NOT_IMPLEMENTED;
 }
 

Modified: trunk/reactos/boot/environ/lib/io/display/guicons.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/io/display/guicons.c?rev=69103&r1=69102&r2=69103&view=diff
==============================================================================
--- trunk/reactos/boot/environ/lib/io/display/guicons.c [iso-8859-1] (original)
+++ trunk/reactos/boot/environ/lib/io/display/guicons.c [iso-8859-1] Mon Sep  7 
23:31:08 2015
@@ -30,7 +30,7 @@
     Status = ConsoleTextLocalConstruct(&GraphicsConsole->TextConsole, FALSE);
     if (!NT_SUCCESS(Status))
     {
-        EarlyPrint(L"Text failed: %lx\n", Status);
+        EfiPrintf(L"Text failed: %lx\r\n", Status);
         return Status;
     }
 
@@ -42,12 +42,12 @@
     if (!NT_SUCCESS(Status))
     {
         /* That failed, try an older EFI 1.02 UGA console */
-        EarlyPrint(L"GOP open failed!\n", Status);
+        EfiPrintf(L"GOP open failed!\r\n", Status);
         Status = ConsoleEfiGraphicalOpenProtocol(GraphicsConsole, 
BlUgaConsole);
         if (!NT_SUCCESS(Status))
         {
             /* That failed too, give up */
-            EarlyPrint(L"UGA failed!\n", Status);
+            EfiPrintf(L"UGA failed!\r\n", Status);
             ConsoleTextLocalDestruct(&GraphicsConsole->TextConsole);
             return STATUS_UNSUCCESSFUL;
         }
@@ -58,7 +58,7 @@
     if (!NT_SUCCESS(Status))
     {
         /* Failed to enable it, undo everything */
-        EarlyPrint(L"Enable failed\n");
+        EfiPrintf(L"Enable failed\r\n");
         ConsoleFirmwareGraphicalClose(GraphicsConsole);
         ConsoleTextLocalDestruct(&GraphicsConsole->TextConsole);
         return STATUS_UNSUCCESSFUL;

Modified: trunk/reactos/boot/environ/lib/io/display/textcons.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/io/display/textcons.c?rev=69103&r1=69102&r2=69103&view=diff
==============================================================================
--- trunk/reactos/boot/environ/lib/io/display/textcons.c        [iso-8859-1] 
(original)
+++ trunk/reactos/boot/environ/lib/io/display/textcons.c        [iso-8859-1] 
Mon Sep  7 23:31:08 2015
@@ -118,7 +118,7 @@
         Status = ConsoleFirmwareTextOpen(TextConsole);
         if (!NT_SUCCESS(Status))
         {
-            EarlyPrint(L"Failed to activate console: %lx\n", Status);
+            EfiPrintf(L"Failed to activate console: %lx\r\n", Status);
             return Status;
         }
     }
@@ -138,7 +138,7 @@
         if (!NT_SUCCESS(Status))
         {
             /* We failed, back down */
-            EarlyPrint(L"Failed to set console state: %lx\n", Status);
+            EfiPrintf(L"Failed to set console state: %lx\r\n", Status);
             ConsoleFirmwareTextClose(TextConsole);
             return Status;
         }

Modified: trunk/reactos/boot/environ/lib/misc/util.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/misc/util.c?rev=69103&r1=69102&r2=69103&view=diff
==============================================================================
--- trunk/reactos/boot/environ/lib/misc/util.c  [iso-8859-1] (original)
+++ trunk/reactos/boot/environ/lib/misc/util.c  [iso-8859-1] Mon Sep  7 
23:31:08 2015
@@ -186,4 +186,18 @@
     UtlProgressInfo = 0;
 
     return STATUS_SUCCESS;
-}
+}
+
+VOID
+BlFwReboot (
+    VOID
+    )
+{
+#ifdef BL_KD_SUPPORTED
+    /* Stop the boot debugger*/
+    BlBdStop();
+#endif
+
+    /* Reset the machine */
+    EfiResetSystem(EfiResetCold);
+}

Modified: trunk/reactos/boot/environ/lib/mm/descriptor.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/mm/descriptor.c?rev=69103&r1=69102&r2=69103&view=diff
==============================================================================
--- trunk/reactos/boot/environ/lib/mm/descriptor.c      [iso-8859-1] (original)
+++ trunk/reactos/boot/environ/lib/mm/descriptor.c      [iso-8859-1] Mon Sep  7 
23:31:08 2015
@@ -149,7 +149,7 @@
     _In_ ULONG Count
     )
 {
-    EarlyPrint(L"NOT SUPPORTED!!!\n");
+    EfiPrintf(L"NOT SUPPORTED!!!\r\n");
     while (1);
 }
 
@@ -173,7 +173,7 @@
     else
     {
         /* It's a dynamic descriptor, so free it */
-        EarlyPrint(L"Dynamic descriptors not yet supported\n");
+        EfiPrintf(L"Dynamic descriptors not yet supported\r\n");
         Status = STATUS_NOT_IMPLEMENTED;
     }
 
@@ -250,7 +250,7 @@
     /* If we're out of descriptors, bail out */
     if (MmGlobalMemoryDescriptorsUsed >= MmGlobalMemoryDescriptorCount)
     {
-        EarlyPrint(L"Out of descriptors!\n");
+        EfiPrintf(L"Out of descriptors!\r\n");
         return NULL;
     }
 
@@ -295,13 +295,13 @@
     /* Check for backward overlap */
     if ((PreviousEntry != MdList->First) && (MemoryDescriptor->BasePage < 
PreviousEndPage))
     {
-        EarlyPrint(L"Overlap detected -- this is unexpected on x86/x64 
platforms\n");
+        EfiPrintf(L"Overlap detected -- this is unexpected on x86/x64 
platforms\r\n");
     }
 
     /* Check for forward overlap */
     if ((NextEntry != MdList->First) && (NextDescriptor->BasePage < EndPage))
     {
-        EarlyPrint(L"Overlap detected -- this is unexpected on x86/x64 
platforms\n");
+        EfiPrintf(L"Overlap detected -- this is unexpected on x86/x64 
platforms\r\n");
     }
 
     /* Nothing to do */
@@ -343,7 +343,7 @@
           ((MemoryDescriptor->VirtualPage) && 
(PreviousDescriptor->VirtualPage) &&
            (PreviousMappedEndPage == MemoryDescriptor->VirtualPage))))
     {
-        EarlyPrint(L"Previous descriptor coalescible!\n");
+        EfiPrintf(L"Previous descriptor coalescible!\r\n");
     }
 
     /* CHeck if the current entry touches the next entry, and is compatible */
@@ -355,7 +355,7 @@
             ((MemoryDescriptor->VirtualPage) && 
(PreviousDescriptor->VirtualPage) &&
                 (MappedEndPage == NextDescriptor->VirtualPage))))
     {
-        EarlyPrint(L"Next descriptor coalescible!\n");
+        EfiPrintf(L"Next descriptor coalescible!\r\n");
     }
 
     /* Nothing to do */
@@ -547,7 +547,7 @@
         FoundPageCount = Descriptor->PageCount;
         FoundEndPage = FoundBasePage + FoundPageCount;
         EndPage = PageCount + BasePage;
-        //EarlyPrint(L"Looking for Region 0x%08I64X-0x%08I64X in 
0x%08I64X-0x%08I64X\n", BasePage, EndPage, FoundBasePage, FoundEndPage);
+        //EarlyPrint(L"Looking for Region 0x%08I64X-0x%08I64X in 
0x%08I64X-0x%08I64X\r\n", BasePage, EndPage, FoundBasePage, FoundEndPage);
 
         /* Make a copy of the original descriptor */
         RtlCopyMemory(&NewDescriptor, NextEntry, sizeof(NewDescriptor));
@@ -562,18 +562,18 @@
                 if ((FoundBasePage >= BasePage) || (EndPage >= FoundEndPage))
                 {
                     /* This descriptor doesn't cover any part of the range */
-                    //EarlyPrint(L"No part of this descriptor contains the 
region\n");
+                    //EarlyPrint(L"No part of this descriptor contains the 
region\r\n");
                 }
                 else
                 {
                     /* This descriptor covers the head of the allocation */
-                    //EarlyPrint(L"Descriptor covers the head of the 
region\n");
+                    //EarlyPrint(L"Descriptor covers the head of the 
region\r\n");
                 }
             }
             else
             {
                 /* This descriptor contains the entire allocation */
-                //EarlyPrint(L"Descriptor contains the entire region\n");
+                //EarlyPrint(L"Descriptor contains the entire region\r\n");
             }
 
             /* Keep going */
@@ -614,14 +614,14 @@
             if (!Descriptor->PageCount)
             {
                 /* Remove it */
-                //EarlyPrint(L"Entire descriptor consumed\n");
+                //EarlyPrint(L"Entire descriptor consumed\r\n");
                 MmMdRemoveDescriptorFromList(MdList, Descriptor);
                 MmMdFreeDescriptor(Descriptor);
 
                 /* Check if we're supposed to insert it into a new list */
                 if (HaveNewList)
                 {
-                    EarlyPrint(L"Not yet implemented\n");
+                    EfiPrintf(L"Not yet implemented\r\n");
                     Status = STATUS_NOT_IMPLEMENTED;
                     goto Quickie;
                 }
@@ -681,7 +681,7 @@
     /* Check for start overflow */
     if (BaseMin > BaseMax)
     {
-        EarlyPrint(L"Descriptor overflow\n");
+        EfiPrintf(L"Descriptor overflow\r\n");
         return FALSE;
     }
 
@@ -724,7 +724,7 @@
     /* Any mapped page already? */
     if (Descriptor->VirtualPage)
     {
-        EarlyPrint(L"Virtual memory not yet supported\n");
+        EfiPrintf(L"Virtual memory not yet supported\r\n");
         return FALSE;
     }
     else
@@ -737,21 +737,21 @@
     if ((((Flags & 0xFF) & (Descriptor->Flags & 0xFF)) != (Flags & 0xFF)) ||
         (((Flags & 0xFF00) & (Descriptor->Flags & 0xFF00)) != (Flags & 
0xFF00)))
     {
-        EarlyPrint(L"Incorrect memory attributes\n");
+        EfiPrintf(L"Incorrect memory attributes\r\n");
         return FALSE;
     }
 
     /* Bail out if the allocation flags don't match */
     if (((Flags ^ Descriptor->Flags) & 0x190000))
     {
-        EarlyPrint(L"Incorrect memory allocation flags\n");
+        EfiPrintf(L"Incorrect memory allocation flags\r\n");
         return FALSE;
     }
 
     /* Bail out if the type doesn't match */
     if (Descriptor->Type != MemoryType)
     {
-        //EarlyPrint(L"Incorrect descriptor type\n");
+        //EarlyPrint(L"Incorrect descriptor type\r\n");
         return FALSE;
     }
 
@@ -761,7 +761,7 @@
     NewDescriptor->Type = Descriptor->Type;
     NewDescriptor->VirtualPage = VirtualPage;
     NewDescriptor->Flags = Descriptor->Flags;
-    //EarlyPrint(L"Found a matching descriptor: %08I64X with %08I64X pages\n", 
BasePage, Pages);
+    //EarlyPrint(L"Found a matching descriptor: %08I64X with %08I64X 
pages\r\n", BasePage, Pages);
     return TRUE;
 }
 
@@ -775,14 +775,12 @@
     PLIST_ENTRY OldFlink, OldBlink;
 
     /* Make sure we're not int middle of a call using a descriptor */
-    EarlyPrint(L"Call depth is %d\n", MmDescriptorCallTreeCount);
     if (MmDescriptorCallTreeCount != 1)
     {
         return;
     }
 
     /* Loop every current global descriptor */
-    EarlyPrint(L"MmGlobalMemoryDescriptorsUsed: %d\n", 
MmGlobalMemoryDescriptorsUsed);
     while (Index < MmGlobalMemoryDescriptorsUsed)
     {
         /* Does it have any valid pageS? */

Modified: trunk/reactos/boot/environ/lib/mm/heapalloc.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/mm/heapalloc.c?rev=69103&r1=69102&r2=69103&view=diff
==============================================================================
--- trunk/reactos/boot/environ/lib/mm/heapalloc.c       [iso-8859-1] (original)
+++ trunk/reactos/boot/environ/lib/mm/heapalloc.c       [iso-8859-1] Mon Sep  7 
23:31:08 2015
@@ -140,7 +140,7 @@
         HeapLimit = Heap->HeapLimit + PAGE_SIZE;
         if (HeapLimit <= Heap->HeapEnd)
         {
-            EarlyPrint(L"Heap extension TODO\n");
+            EfiPrintf(L"Heap extension TODO\r\n");
             return STATUS_INSUFFICIENT_RESOURCES;
         }
     }
@@ -224,16 +224,16 @@
 #if 0
     BOOLEAN DebuggerEnabled;
 
-    BlStatusPrint(L"Heap corruption in the links surrounding %p!\n", 
BufferEntry);
+    BlStatusPrint(L"Heap corruption in the links surrounding %p!\r\n", 
BufferEntry);
 
     DebuggerEnabled = BlBdDebuggerEnabled();
     if (DebuggerEnabled)
     {
-        BlStatusPrint(L"\n*** Fatal Error 0x%08x :\n                (0x%p, 
0x%p, 0x%p, 0x%p)\n\n", 2, BufferEntry, NULL, NULL, NULL);
+        BlStatusPrint(L"\n*** Fatal Error 0x%08x :\n                (0x%p, 
0x%p, 0x%p, 0x%p)\n\r\n", 2, BufferEntry, NULL, NULL, NULL);
         __debugbreak();
     }
 #else
-    EarlyPrint(L"Heap corruption in the links surrounding %p!\n", BufferEntry);
+    EfiPrintf(L"Heap corruption in the links surrounding %p!\r\n", 
BufferEntry);
 #endif
 }
 
@@ -642,18 +642,18 @@
         /* We have no heaps or space on any heap -- extend the heap and retry 
*/
         if (!NT_SUCCESS(MmHapHeapAllocatorExtend(BufferSize)))
         {
-            EarlyPrint(L"Heap extension failed!\n");
+            EfiPrintf(L"Heap extension failed!\r\n");
             return NULL;
         }
 
-        EarlyPrint(L"Heap extended -- trying again\n");
+        EfiPrintf(L"Heap extended -- trying again\r\n");
     }
 
     /* Clear all the bits, marking this entry as allocated */
     BusyEntry->BufferNext.P = MmHapDecodeLink(BusyEntry->BufferNext);
 
     /* Return the entry's data buffer */
-    EarlyPrint(L"Returning buffer at 0x%p\n", &BusyEntry->Buffer);
+    EfiPrintf(L"Returning buffer at 0x%p\r\n", &BusyEntry->Buffer);
     return &BusyEntry->Buffer;
 }
 

Modified: trunk/reactos/boot/environ/lib/mm/i386/mmx86.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/mm/i386/mmx86.c?rev=69103&r1=69102&r2=69103&view=diff
==============================================================================
--- trunk/reactos/boot/environ/lib/mm/i386/mmx86.c      [iso-8859-1] (original)
+++ trunk/reactos/boot/environ/lib/mm/i386/mmx86.c      [iso-8859-1] Mon Sep  7 
23:31:08 2015
@@ -71,10 +71,10 @@
 
     if (DoDeferred)
     {
-        EarlyPrint(L"Deferred todo\n");
+        EfiPrintf(L"Deferred todo\r\n");
     }
 
-    EarlyPrint(L"Phase 1 TODO\n");
+    EfiPrintf(L"Phase 1 TODO\r\n");
     return STATUS_NOT_IMPLEMENTED;
 }
 

Modified: trunk/reactos/boot/environ/lib/mm/mm.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/mm/mm.c?rev=69103&r1=69102&r2=69103&view=diff
==============================================================================
--- trunk/reactos/boot/environ/lib/mm/mm.c      [iso-8859-1] (original)
+++ trunk/reactos/boot/environ/lib/mm/mm.c      [iso-8859-1] Mon Sep  7 
23:31:08 2015
@@ -29,7 +29,7 @@
     }
 
     /* TODO */
-    EarlyPrint(L"Required for protected mode\n");
+    EfiPrintf(L"Required for protected mode\r\n");
     return STATUS_NOT_IMPLEMENTED;
 }
 
@@ -60,7 +60,7 @@
     }
 
     /* Have to allocate physical pages */
-    EarlyPrint(L"VM Todo\n");
+    EfiPrintf(L"VM Todo\r\n");
     return STATUS_NOT_IMPLEMENTED;
 }
 
@@ -99,7 +99,7 @@
         return STATUS_UNSUCCESSFUL;
     }
 
-    EarlyPrint(L"VM todo\n");
+    EfiPrintf(L"VM todo\r\n");
     return STATUS_NOT_IMPLEMENTED;
 }
 
@@ -188,7 +188,7 @@
     if (MmTranslationType != BlNone)
     {
         /* For virtual memory, there's more to do */
-        EarlyPrint(L"VM not supported for mapping\n");
+        EfiPrintf(L"VM not supported for mapping\r\n");
         Status = STATUS_NOT_IMPLEMENTED;
         goto Quickie;
     }
@@ -220,7 +220,7 @@
     if ((TranslationType > BlPae) || (LibraryParameters->TranslationType > 
BlPae))
     {
         /* Bail out */
-        EarlyPrint(L"Invalid translation types present\n");
+        EfiPrintf(L"Invalid translation types present\r\n");
         Status = STATUS_INVALID_PARAMETER;
         goto Quickie;
     }
@@ -278,7 +278,7 @@
     if (LibraryParameters->DescriptorCount > 512)
     {
         /* Switch to using a dynamic buffer instead */
-        EarlyPrint(L"Warning: too many descriptors\n");
+        EfiPrintf(L"Warning: too many descriptors\r\n");
         Status = STATUS_NOT_IMPLEMENTED;
         goto Quickie;
         //MmMdpSwitchToDynamicDescriptors(LibraryParameters->DescriptorCount);

Modified: trunk/reactos/boot/environ/lib/mm/pagealloc.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/mm/pagealloc.c?rev=69103&r1=69102&r2=69103&view=diff
==============================================================================
--- trunk/reactos/boot/environ/lib/mm/pagealloc.c       [iso-8859-1] (original)
+++ trunk/reactos/boot/environ/lib/mm/pagealloc.c       [iso-8859-1] Mon Sep  7 
23:31:08 2015
@@ -131,7 +131,7 @@
     /* Check if we exhausted the list */
     if (NextEntry == ListHead)
     {
-        EarlyPrint(L"No matching memory found\n");
+        EfiPrintf(L"No matching memory found\r\n");
         return Status;
     }
 
@@ -151,7 +151,7 @@
                                   &EfiAddress);
         if (!NT_SUCCESS(Status))
         {
-            EarlyPrint(L"EFI memory allocation failure\n");
+            EfiPrintf(L"EFI memory allocation failure\r\n");
             return Status;
         }
 
@@ -165,14 +165,14 @@
     /* Are we allocating from the virtual memory list? */
     if (CurrentList == &MmMdlMappedUnallocated)
     {
-        EarlyPrint(L"Virtual memory not yet supported\n");
+        EfiPrintf(L"Virtual memory not yet supported\r\n");
         return STATUS_NOT_IMPLEMENTED;
     }
 
     /* Does the memory we received not exactly fall onto the beginning of its 
descriptor? */
     if (LocalDescriptor.BasePage != FoundDescriptor->BasePage)
     {
-        EarlyPrint(L"Local Page: %08I64X Found Page: %08I64X\n", 
LocalDescriptor.BasePage, FoundDescriptor->BasePage);
+        EfiPrintf(L"Local Page: %08I64X Found Page: %08I64X\r\n", 
LocalDescriptor.BasePage, FoundDescriptor->BasePage);
         TempDescriptor = MmMdInitByteGranularDescriptor(FoundDescriptor->Flags,
                                                         FoundDescriptor->Type,
                                                         
FoundDescriptor->BasePage,
@@ -193,7 +193,7 @@
                           LocalDescriptor.VirtualPage + 
LocalDescriptor.PageCount : 0;
     if (LocalEndPage != FoundEndPage)
     {
-        EarlyPrint(L"Local Page: %08I64X Found Page: %08I64X\n", LocalEndPage, 
FoundEndPage);
+        EfiPrintf(L"Local Page: %08I64X Found Page: %08I64X\r\n", 
LocalEndPage, FoundEndPage);
         TempDescriptor = MmMdInitByteGranularDescriptor(FoundDescriptor->Flags,
                                                         FoundDescriptor->Type,
                                                         LocalEndPage,
@@ -266,7 +266,7 @@
     if (Status == STATUS_NOT_FOUND)
     {
         /* Need to re-synchronize the memory map and check other lists */
-        EarlyPrint(L"No RAM found -- backup plan not yet implemented\n");
+        EfiPrintf(L"No RAM found -- backup plan not yet implemented\r\n");
     }
 
     /* Did we get the region we wanted? */
@@ -277,7 +277,7 @@
     }
 
     /* Nope, we have to hunt for it elsewhere */
-    EarlyPrint(L"TODO\n");
+    EfiPrintf(L"TODO\r\n");
     return Status;
 }
 
@@ -488,14 +488,14 @@
         PLIST_ENTRY listHead, nextEntry;
 
         /* Loop the NT firmware memory list */
-        EarlyPrint(L"NT MEMORY MAP\n\n");
+        EfiPrintf(L"NT MEMORY MAP\n\r\n");
         listHead = &MmMdlUnmappedUnallocated.ListHead;
         nextEntry = listHead->Flink;
         while (listHead != nextEntry)
         {
             Descriptor = CONTAINING_RECORD(nextEntry, BL_MEMORY_DESCRIPTOR, 
ListEntry);
 
-            EarlyPrint(L"Type: %08lX Flags: %08lX Base: 0x%016I64X End: 
0x%016I64X\n",
+            EfiPrintf(L"Type: %08lX Flags: %08lX Base: 0x%016I64X End: 
0x%016I64X\r\n",
                        Descriptor->Type,
                        Descriptor->Flags,
                        Descriptor->BasePage << PAGE_SHIFT,

Modified: trunk/reactos/boot/environ/lib/platform/time.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/platform/time.c?rev=69103&r1=69102&r2=69103&view=diff
==============================================================================
--- trunk/reactos/boot/environ/lib/platform/time.c      [iso-8859-1] (original)
+++ trunk/reactos/boot/environ/lib/platform/time.c      [iso-8859-1] Mon Sep  7 
23:31:08 2015
@@ -50,7 +50,6 @@
 
     /* Set the frequency based on the two measurements we took */
     BlpTimePerformanceFrequency = 125 * (Delta - (TimeStamp2 - TimeStamp1)) & 
0x1FFFFFFFFFFFFFF;
-    EarlyPrint(L"Computed frequency as: %I64d\n", BlpTimePerformanceFrequency);
     return STATUS_SUCCESS;
 }
 
@@ -79,7 +78,7 @@
             {
                 /* Read the TSC frequency from the MSR */
                 BlpTimePerformanceFrequency = __readmsr(0x40000022);
-                EarlyPrint(L"Using frequency as: %I64d\n", 
BlpTimePerformanceFrequency);
+                EfiPrintf(L"Using Hyper-V frequency as: %I64d\r\n", 
BlpTimePerformanceFrequency);
                 return STATUS_SUCCESS;
             }
         }


Reply via email to