2017年8月24日 星期四

UEFI Application - reboot system

想要在 UEFI Application 重開機
其實是一件很簡單的事
只要呼叫 RuntimeServices 去 reset 即可

UEFI 總共支援 3種的 reset ( HW / BIOS 也需支援 )
1. Cold Reset
2. Warm Reset ( 有部份的 RAM 並未清空 )
3. SHUTDOWN


相關程式如下

 xx.inf
[LibraryClasses]
    UefiLib


xx.c

#include <library/efibootservicestablelib.h>
int main(void)
{
    gRT->ResetSystem(EfiResetCold, EFI_SUCCESS, 0, NULL);    
    return 0;
}

沒有留言:

張貼留言