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