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