36 lines
1.1 KiB
C
36 lines
1.1 KiB
C
|
#include <efi.h>
|
||
|
#include <efilib.h>
|
||
|
|
||
|
// Application entrypoint (must be set to 'efi_main' for gnu-efi crt0 compatibility)
|
||
|
EFI_STATUS efi_main(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable)
|
||
|
{
|
||
|
UINTN Event;
|
||
|
|
||
|
#if defined(_GNU_EFI)
|
||
|
InitializeLib(ImageHandle, SystemTable);
|
||
|
#endif
|
||
|
|
||
|
/*
|
||
|
* In addition to the standard %-based flags, Print() supports the following:
|
||
|
* %N Set output attribute to normal
|
||
|
* %H Set output attribute to highlight
|
||
|
* %E Set output attribute to error
|
||
|
* %B Set output attribute to blue color
|
||
|
* %V Set output attribute to green color
|
||
|
* %r Human readable version of a status code
|
||
|
*/
|
||
|
Print(L"\n%H*** Sync Bootloading ***%N\n\n");
|
||
|
|
||
|
|
||
|
|
||
|
Print(L"%BPress any key to exit.%N\n");
|
||
|
SystemTable->ConIn->Reset(SystemTable->ConIn, FALSE);
|
||
|
SystemTable->BootServices->WaitForEvent(1, &SystemTable->ConIn->WaitForKey, &Event);
|
||
|
#if defined(_DEBUG)
|
||
|
// If running in debug mode, use the EFI shut down call to close QEMU
|
||
|
SystemTable->RuntimeServices->ResetSystem(EfiResetShutdown, EFI_SUCCESS, 0, NULL);
|
||
|
#endif
|
||
|
|
||
|
return EFI_SUCCESS;
|
||
|
}
|