setdbg.c revision 1.1 1 1.1 jmcneill /* $NetBSD: setdbg.c,v 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