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