MCPcopy Create free account
hub / github.com/CloverHackyColor/CloverBootloader / UefiMain

Function UefiMain

ShellPkg/Application/Shell/Shell.c:332–763  ·  view source on GitHub ↗

The entry point for the application. @param[in] ImageHandle The firmware allocated handle for the EFI image. @param[in] SystemTable A pointer to the EFI System Table. @retval EFI_SUCCESS The entry point is executed successfully. @retval other Some error occurs when executing this entry point. **/

Source from the content-addressed store, hash-verified

330
331**/
332EFI_STATUS
333EFIAPI
334UefiMain (
335 IN EFI_HANDLE ImageHandle,
336 IN EFI_SYSTEM_TABLE *SystemTable
337 )
338{
339 EFI_STATUS Status;
340 CHAR16 *TempString;
341 UINTN Size;
342 EFI_HANDLE ConInHandle;
343 EFI_SIMPLE_TEXT_INPUT_PROTOCOL *OldConIn;
344 SPLIT_LIST *Split;
345/*
346 if (PcdGet8(PcdShellSupportLevel) > 3) {
347 return (EFI_UNSUPPORTED);
348 }
349*/
350 //
351 // Clear the screen
352 //
353
354 Status = gST->ConOut->ClearScreen(gST->ConOut);
355 if (EFI_ERROR(Status)) {
356 return (Status);
357 }
358
359// Print(L"Hello, World!\n");
360 //
361 // Populate the global structure from PCDs
362 //
363 ShellInfoObject.ImageDevPath = NULL;
364 ShellInfoObject.FileDevPath = NULL;
365 ShellInfoObject.PageBreakEnabled = PcdGetBool(PcdShellPageBreakDefault);
366 ShellInfoObject.ViewingSettings.InsertMode = PcdGetBool(PcdShellInsertModeDefault);
367 ShellInfoObject.LogScreenCount = PcdGet8 (PcdShellScreenLogCount );
368
369 //
370 // verify we dont allow for spec violation
371 //
372// ASSERT(ShellInfoObject.LogScreenCount >= 3);
373
374 //
375 // Initialize the LIST ENTRY objects...
376 //
377 InitializeListHead(&ShellInfoObject.BufferToFreeList.Link);
378 InitializeListHead(&ShellInfoObject.ViewingSettings.CommandHistory.Link);
379 InitializeListHead(&ShellInfoObject.SplitList.Link);
380
381 //
382 // Check PCDs for optional features that are not implemented yet.
383 //
384 /*
385 if ( PcdGetBool(PcdShellSupportOldProtocols)
386 || !FeaturePcdGet(PcdShellRequireHiiPlatform)
387 || FeaturePcdGet(PcdShellSupportFrameworkHii)
388 ) {
389 return (EFI_UNSUPPORTED);

Callers

nothing calls this directly

Calls 15

ConsoleLoggerInstallFunction · 0.85
HiiAddPackagesFunction · 0.85
ShellInitializeFunction · 0.85
CommandInitFunction · 0.85
ShellInitEnvVarListFunction · 0.85
ProcessCommandLineFunction · 0.85
InternalEfiShellSetEnvFunction · 0.85
ShellPrintHiiExFunction · 0.85

Tested by

no test coverage detected