/** Do the platform specific action after the console is ready Possible things that can be done in PlatformBootManagerAfterConsole: > Console post action: > Dynamically switch output mode from 100x31 to 80x25 for certain senarino > Signal console ready platform customized event > Run diagnostics like memory testing > Connect certain devices > Dispatch aditional option roms > Special boot: e.g.: USB boot, enter UI **/ VOID EFIAPI PlatformBootManagerAfterConsole ( VOID ) { EFI_STATUS Status; // // Show the splash screen. // Status = BootLogoEnableLogo (); if (EFI_ERROR (Status)) { Print (L"Press ESCAPE for boot options "); } // // Connect the rest of the devices. // EfiBootManagerConnectAll (); // // Enumerate all possible boot options. // EfiBootManagerRefreshAllBootOption (); // // Register UEFI Shell // PlatformRegisterFvBootOption ( &gUefiShellFileGuid, L"UEFI Shell", LOAD_OPTION_ACTIVE ); }
/** Perform the platform diagnostic, such like test memory. OEM/IBV also can customize this function to support specific platform diagnostic. @param MemoryTestLevel The memory test intensive level @param QuietBoot Indicate if need to enable the quiet boot **/ VOID PlatformBootManagerDiagnostics ( IN EXTENDMEM_COVERAGE_LEVEL MemoryTestLevel, IN BOOLEAN QuietBoot ) { EFI_STATUS Status; // // Here we can decide if we need to show // the diagnostics screen // Notes: this quiet boot code should be remove // from the graphic lib // if (QuietBoot) { BootLogoEnableLogo (); // // Perform system diagnostic // Status = PlatformBootManagerMemoryTest (MemoryTestLevel); if (EFI_ERROR (Status)) { BootLogoDisableLogo (); } return; } // // Perform system diagnostic // Status = PlatformBootManagerMemoryTest (MemoryTestLevel); }
/** Do the platform specific action after the console is ready Possible things that can be done in PlatformBootManagerAfterConsole: > Console post action: > Dynamically switch output mode from 100x31 to 80x25 for certain senarino > Signal console ready platform customized event > Run diagnostics like memory testing > Connect certain devices > Dispatch aditional option roms > Special boot: e.g.: USB boot, enter UI **/ VOID EFIAPI PlatformBootManagerAfterConsole ( VOID ) { // // Show the splash screen. // BootLogoEnableLogo ( ImageFormatBmp, // ImageFormat PcdGetPtr (PcdLogoFile), // Logo EdkiiPlatformLogoDisplayAttributeCenter, // Attribute 0, // OffsetX 0 // OffsetY ); // // Connect the rest of the devices. // EfiBootManagerConnectAll (); // // Process QEMU's -kernel command line option. Note that the kernel booted // this way should receive ACPI tables, which is why we connect all devices // first (see above) -- PCI enumeration blocks ACPI table installation, if // there is a PCI host. // TryRunningQemuKernel (); // // Enumerate all possible boot options, then filter and reorder them based on // the QEMU configuration. // EfiBootManagerRefreshAllBootOption (); SetBootOrderFromQemu (); }