1 1.1 jmcneill /* $NetBSD: setdbg.c,v 1.1.1.1 2018/08/16 18:17:47 jmcneill Exp $ */ 2 1.1 jmcneill 3 1.1 jmcneill #include <efi.h> 4 1.1 jmcneill #include <efilib.h> 5 1.1 jmcneill 6 1.1 jmcneill EFI_GUID GRUB_EFI_GRUB_VARIABLE_GUID = {0x91376aff,0xcba6,0x42be,{0x94,0x9d,0x06,0xfd,0xe8,0x11,0x28,0xe8}}; 7 1.1 jmcneill EFI_GUID SHIM_GUID = {0x605dab50,0xe046,0x4300,{0xab,0xb6,0x3d,0xd8,0x10,0xdd,0x8b,0x23}}; 8 1.1 jmcneill 9 1.1 jmcneill char grubenv[] = "# GRUB Environment Block\n\ 10 1.1 jmcneill debug=tcp,http,net\n\ 11 1.1 jmcneill ####################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################"; 12 1.1 jmcneill 13 1.1 jmcneill EFI_STATUS 14 1.1 jmcneill efi_main (EFI_HANDLE image, EFI_SYSTEM_TABLE *systab) 15 1.1 jmcneill { 16 1.1 jmcneill EFI_STATUS status; 17 1.1 jmcneill InitializeLib(image, systab); 18 1.1 jmcneill #if 0 19 1.1 jmcneill UINT8 data = 1; 20 1.1 jmcneill 21 1.1 jmcneill status = RT->SetVariable(L"SHIM_DEBUG", &SHIM_GUID, 22 1.1 jmcneill EFI_VARIABLE_NON_VOLATILE | 23 1.1 jmcneill EFI_VARIABLE_BOOTSERVICE_ACCESS | 24 1.1 jmcneill EFI_VARIABLE_RUNTIME_ACCESS, 25 1.1 jmcneill sizeof(data), &data); 26 1.1 jmcneill if (EFI_ERROR(status)) 27 1.1 jmcneill Print(L"SetVariable failed: %r\n", status); 28 1.1 jmcneill #endif 29 1.1 jmcneill 30 1.1 jmcneill status = RT->SetVariable(L"GRUB_ENV", &SHIM_GUID, 31 1.1 jmcneill EFI_VARIABLE_NON_VOLATILE | 32 1.1 jmcneill EFI_VARIABLE_BOOTSERVICE_ACCESS | 33 1.1 jmcneill EFI_VARIABLE_RUNTIME_ACCESS, 34 1.1 jmcneill sizeof(grubenv)-1, grubenv); 35 1.1 jmcneill if (EFI_ERROR(status)) 36 1.1 jmcneill Print(L"SetVariable(GRUB_ENV) failed: %r\n", status); 37 1.1 jmcneill 38 1.1 jmcneill return EFI_SUCCESS; 39 1.1 jmcneill } 40