ReactOS  0.4.14-dev-614-gbfd8a84
rosload.h File Reference
#include <stdlib.h>
#include <stdio.h>
#include <wchar.h>
#include <initguid.h>
#include <ntifs.h>
#include <Uefi.h>
#include <bl.h>
#include <bcd.h>
#include <arc/arc.h>
Include dependency graph for rosload.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _OSL_BSD_ITEM_TABLE_ENTRY
 

Typedefs

typedef struct _OSL_BSD_ITEM_TABLE_ENTRY OSL_BSD_ITEM_TABLE_ENTRY
 

Functions

VOID NTAPI OslDrawLogo (VOID)
 

Typedef Documentation

◆ OSL_BSD_ITEM_TABLE_ENTRY

Function Documentation

◆ OslDrawLogo()

VOID NTAPI OslDrawLogo ( VOID  )

Definition at line 9767 of file roslogo.c.

9770 {
9772  UINTN GopBltSize, BmpHeight, BmpWidth, CoordinateY, CoordinateX;
9773  PHYSICAL_ADDRESS GopBltPhys;
9774  EFI_GRAPHICS_OUTPUT_PROTOCOL* GraphicsOutput;
9775  EFI_STATUS EfiStatus;
9776 
9777  /* Convert ReactOS Logo */
9779  sizeof(g_Logo),
9780  (PVOID*)&GopBlt,
9781  &GopBltSize,
9782  &BmpHeight,
9783  &BmpWidth);
9784 
9785  CoordinateX = (DspGraphicalConsole->DisplayMode.HRes / 2) - (BmpWidth / 2);
9786  CoordinateY = (DspGraphicalConsole->DisplayMode.VRes / 2) - (BmpHeight / 2);
9787  BlMmTranslateVirtualAddress(GopBlt, &GopBltPhys);
9788  GopBlt = PhysicalAddressToPtr(GopBltPhys);
9789 
9790  /* Make the screen black */
9793  0x00);
9794 
9795  /* Switch to real mode */
9797 
9798  /* Get the UEFI GOP Protocol */
9801  (PVOID*)&GraphicsOutput);
9802  if (EfiStatus== EFI_SUCCESS)
9803  {
9804  /* Draw the logo */
9805  GraphicsOutput->Blt(GraphicsOutput,
9806  GopBlt,
9808  0,
9809  0,
9810  CoordinateX,
9811  CoordinateY,
9812  BmpWidth,
9813  BmpHeight,
9814  BmpWidth * sizeof(EFI_GRAPHICS_OUTPUT_BLT_PIXEL));
9815  }
9816 
9817  /* Go back to protected mode */
9819 
9820  /* Display text below the logo */
9821  EfiPrintf(L"\n\n\n\n\nReactOS UEFI OS Loader Initializing... %lx\r\n",
9822  EfiStatus);
9823  EfiStall(1000000);
9824 
9825  /* Clear the screen and return */
9827 }
PBL_GRAPHICS_CONSOLE DspGraphicalConsole
Definition: display.c:37
ULONG FrameBufferSize
Definition: bl.h:1158
BL_DISPLAY_MODE DisplayMode
Definition: bl.h:1148
NTSTATUS EfiStall(_In_ ULONG StallTime)
Definition: firmware.c:1003
VOID BlpArchSwitchContext(_In_ BL_ARCH_MODE NewMode)
Definition: arch.c:166
PVOID FrameBuffer
Definition: bl.h:1157
NTSTATUS BlDisplayClearScreen(VOID)
Definition: display.c:943
UINT32 UINTN
EFI_SYSTEM_TABLE * EfiST
Definition: firmware.c:20
Definition: bl.h:240
EFI_HANDLE_PROTOCOL HandleProtocol
Definition: UefiSpec.h:1832
EFI_BOOT_SERVICES * EfiBS
Definition: firmware.c:21
ULONG HRes
Definition: bl.h:1080
static const WCHAR L[]
Definition: oid.c:1250
EFI_HANDLE ConsoleOutHandle
Definition: UefiSpec.h:1936
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:31
#define EFI_SUCCESS
Definition: UefiBaseType.h:120
EFI_GUID EfiGraphicsOutputProtocol
Definition: firmware.c:28
FORCEINLINE PVOID PhysicalAddressToPtr(_In_ PHYSICAL_ADDRESS PhysicalAddress)
Definition: bl.h:1390
ULONG VRes
Definition: bl.h:1081
VOID EfiPrintf(_In_ PWCHAR Format,...)
Definition: firmware.c:126
VOID ConvertBmpToGopBlt(IN VOID *BmpImage, IN UINTN BmpImageSize, IN OUT VOID **GopBlt, IN OUT UINTN *GopBltSize, OUT UINTN *PixelHeight, OUT UINTN *PixelWidth)
Definition: roslogo.c:9715
BOOLEAN BlMmTranslateVirtualAddress(_In_ PVOID VirtualAddress, _Out_ PPHYSICAL_ADDRESS PhysicalAddress)
Definition: mm.c:525
#define RtlFillMemory(Dest, Length, Fill)
Definition: winternl.h:593
UCHAR g_Logo[]
Definition: roslogo.c:18

Referenced by OslMain().