xref: /OK3568_Linux_fs/buildroot/boot/grub2/0032-efi-Add-secure-boot-detection.patch (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1From d7e54b2e5feee95d2f83058ed30d883c450d1473 Mon Sep 17 00:00:00 2001
2From: Daniel Kiper <daniel.kiper@oracle.com>
3Date: Thu, 3 Dec 2020 16:01:48 +0100
4Subject: [PATCH] efi: Add secure boot detection
5
6Introduce grub_efi_get_secureboot() function which returns whether
7UEFI Secure Boot is enabled or not on UEFI systems.
8
9Signed-off-by: Ignat Korchagin <ignat@cloudflare.com>
10Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
11Signed-off-by: Marco A Benatto <mbenatto@redhat.com>
12Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
13Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
14[Add changes to generated files]
15Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
16---
17 grub-core/Makefile.am       |   1 +
18 grub-core/Makefile.core.am  |  14 +++---
19 grub-core/Makefile.core.def |   1 +
20 grub-core/Makefile.in       | 102 ++++++++++++++++++++++++++---------------
21 grub-core/kern/efi/sb.c     | 109 ++++++++++++++++++++++++++++++++++++++++++++
22 include/grub/efi/sb.h       |  40 ++++++++++++++++
23 po/POTFILES.in              |   2 +
24 7 files changed, 225 insertions(+), 44 deletions(-)
25 create mode 100644 grub-core/kern/efi/sb.c
26 create mode 100644 include/grub/efi/sb.h
27
28diff --git a/grub-core/Makefile.am b/grub-core/Makefile.am
29index 3ea8e7f..c6ba5b2 100644
30--- a/grub-core/Makefile.am
31+++ b/grub-core/Makefile.am
32@@ -71,6 +71,7 @@ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/command.h
33 KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/device.h
34 KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/disk.h
35 KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/dl.h
36+KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/sb.h
37 KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/env.h
38 KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/env_private.h
39 KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/err.h
40diff --git a/grub-core/Makefile.core.am b/grub-core/Makefile.core.am
41index a217716..f28b753 100644
42--- a/grub-core/Makefile.core.am
43+++ b/grub-core/Makefile.core.am
44@@ -22421,7 +22421,7 @@ endif
45 if COND_i386_efi
46 platform_PROGRAMS += kernel.exec
47 kernel_exec_SOURCES  = kern/i386/efi/startup.S
48-kernel_exec_SOURCES += kern/i386/efi/tsc.c kern/i386/tsc_pmtimer.c kern/i386/efi/init.c bus/pci.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c
49+kernel_exec_SOURCES += kern/i386/efi/tsc.c kern/i386/tsc_pmtimer.c kern/i386/efi/init.c bus/pci.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c
50 nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
51 kernel_exec_LDADD  =
52 kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL)
53@@ -22531,7 +22531,7 @@ endif
54 if COND_x86_64_efi
55 platform_PROGRAMS += kernel.exec
56 kernel_exec_SOURCES  = kern/x86_64/efi/startup.S
57-kernel_exec_SOURCES += kern/i386/efi/tsc.c kern/i386/tsc_pmtimer.c kern/x86_64/efi/callwrap.S kern/i386/efi/init.c bus/pci.c kern/x86_64/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c
58+kernel_exec_SOURCES += kern/i386/efi/tsc.c kern/i386/tsc_pmtimer.c kern/x86_64/efi/callwrap.S kern/i386/efi/init.c bus/pci.c kern/x86_64/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c
59 nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
60 kernel_exec_LDADD  =
61 kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL)
62@@ -22707,7 +22707,7 @@ endif
63 if COND_ia64_efi
64 platform_PROGRAMS += kernel.exec
65 kernel_exec_SOURCES  =
66-kernel_exec_SOURCES += kern/ia64/efi/startup.S kern/ia64/efi/init.c kern/ia64/dl.c kern/ia64/dl_helper.c kern/ia64/cache.c lib/division.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c
67+kernel_exec_SOURCES += kern/ia64/efi/startup.S kern/ia64/efi/init.c kern/ia64/dl.c kern/ia64/dl_helper.c kern/ia64/cache.c lib/division.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c
68 nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
69 kernel_exec_LDADD  =
70 kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) -fno-builtin -fpic -minline-int-divide-max-throughput
71@@ -22773,7 +22773,7 @@ endif
72 if COND_arm_efi
73 platform_PROGRAMS += kernel.exec
74 kernel_exec_SOURCES  = kern/arm/efi/startup.S
75-kernel_exec_SOURCES += kern/arm/efi/init.c kern/efi/fdt.c kern/arm/dl.c kern/arm/dl_helper.c kern/arm/cache_armv6.S kern/arm/cache_armv7.S kern/arm/cache.c kern/arm/compiler-rt.S lib/division.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c
76+kernel_exec_SOURCES += kern/arm/efi/init.c kern/efi/fdt.c kern/arm/dl.c kern/arm/dl_helper.c kern/arm/cache_armv6.S kern/arm/cache_armv7.S kern/arm/cache.c kern/arm/compiler-rt.S lib/division.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c
77 nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
78 kernel_exec_LDADD  =
79 kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL)
80@@ -22795,7 +22795,7 @@ endif
81 if COND_arm64_efi
82 platform_PROGRAMS += kernel.exec
83 kernel_exec_SOURCES  = kern/arm64/efi/startup.S
84-kernel_exec_SOURCES += kern/arm64/efi/init.c kern/efi/fdt.c kern/arm64/cache.c kern/arm64/cache_flush.S kern/arm64/dl.c kern/arm64/dl_helper.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c
85+kernel_exec_SOURCES += kern/arm64/efi/init.c kern/efi/fdt.c kern/arm64/cache.c kern/arm64/cache_flush.S kern/arm64/dl.c kern/arm64/dl_helper.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c
86 nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
87 kernel_exec_LDADD  =
88 kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL)
89@@ -22839,7 +22839,7 @@ endif
90 if COND_riscv32_efi
91 platform_PROGRAMS += kernel.exec
92 kernel_exec_SOURCES  = kern/riscv/efi/startup.S
93-kernel_exec_SOURCES += kern/riscv/efi/init.c kern/efi/fdt.c kern/riscv/cache.c kern/riscv/cache_flush.S kern/riscv/dl.c lib/division.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c
94+kernel_exec_SOURCES += kern/riscv/efi/init.c kern/efi/fdt.c kern/riscv/cache.c kern/riscv/cache_flush.S kern/riscv/dl.c lib/division.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c
95 nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
96 kernel_exec_LDADD  =
97 kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL)
98@@ -22861,7 +22861,7 @@ endif
99 if COND_riscv64_efi
100 platform_PROGRAMS += kernel.exec
101 kernel_exec_SOURCES  = kern/riscv/efi/startup.S
102-kernel_exec_SOURCES += kern/riscv/efi/init.c kern/efi/fdt.c kern/riscv/cache.c kern/riscv/cache_flush.S kern/riscv/dl.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c
103+kernel_exec_SOURCES += kern/riscv/efi/init.c kern/efi/fdt.c kern/riscv/cache.c kern/riscv/cache_flush.S kern/riscv/dl.c disk/efi/efidisk.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/command.c kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c kern/parser.c kern/partition.c kern/rescue_parser.c kern/rescue_reader.c kern/term.c
104 nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
105 kernel_exec_LDADD  =
106 kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL)
107diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
108index 474a63e..abd26cf 100644
109--- a/grub-core/Makefile.core.def
110+++ b/grub-core/Makefile.core.def
111@@ -203,6 +203,7 @@ kernel = {
112   efi = term/efi/console.c;
113   efi = kern/acpi.c;
114   efi = kern/efi/acpi.c;
115+  efi = kern/efi/sb.c;
116   i386_coreboot = kern/i386/pc/acpi.c;
117   i386_multiboot = kern/i386/pc/acpi.c;
118   i386_coreboot = kern/acpi.c;
119diff --git a/grub-core/Makefile.in b/grub-core/Makefile.in
120index d287607..8fb81ee 100644
121--- a/grub-core/Makefile.in
122+++ b/grub-core/Makefile.in
123@@ -10468,32 +10468,33 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
124 	kern/arm64/cache_flush.S kern/arm64/dl.c \
125 	kern/arm64/dl_helper.c disk/efi/efidisk.c kern/efi/efi.c \
126 	kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c \
127-	kern/efi/acpi.c kern/compiler-rt.c kern/mm.c kern/time.c \
128-	kern/generic/millisleep.c kern/command.c kern/corecmd.c \
129-	kern/device.c kern/disk.c kern/dl.c kern/env.c kern/err.c \
130-	kern/file.c kern/fs.c kern/list.c kern/main.c kern/misc.c \
131-	kern/parser.c kern/partition.c kern/rescue_parser.c \
132-	kern/rescue_reader.c kern/term.c kern/arm/startup.S \
133-	kern/arm/coreboot/init.c kern/arm/coreboot/timer.c \
134-	kern/arm/coreboot/coreboot.S lib/fdt.c bus/fdt.c term/ps2.c \
135-	term/arm/pl050.c term/arm/cros.c term/arm/cros_ec.c \
136-	bus/spi/rk3288_spi.c commands/keylayouts.c \
137-	kern/arm/coreboot/dma.c kern/arm/coreboot/cbtable.c \
138-	video/coreboot/cbfb.c kern/coreboot/mmap.c \
139-	kern/coreboot/cbtable.c term/gfxterm.c font/font.c \
140-	font/font_cmd.c io/bufio.c video/fb/fbblit.c video/fb/fbfill.c \
141-	video/fb/fbutil.c video/fb/video_fb.c video/video.c \
142-	kern/arm/dl.c kern/arm/dl_helper.c kern/arm/cache_armv6.S \
143-	kern/arm/cache_armv7.S kern/arm/cache.c kern/arm/compiler-rt.S \
144-	lib/division.c kern/arm/efi/startup.S kern/arm/efi/init.c \
145-	kern/arm/uboot/init.c kern/arm/uboot/uboot.S \
146-	disk/uboot/ubootdisk.c kern/uboot/uboot.c kern/uboot/init.c \
147-	kern/uboot/hw.c term/uboot/console.c term/terminfo.c \
148-	term/tparm.c commands/extcmd.c lib/arg.c disk/host.c \
149-	kern/emu/cache_s.S kern/emu/hostdisk.c osdep/unix/hostdisk.c \
150-	osdep/exec.c osdep/devmapper/hostdisk.c osdep/hostdisk.c \
151-	kern/emu/hostfs.c kern/emu/main.c kern/emu/argp_common.c \
152-	kern/emu/misc.c kern/emu/mm.c kern/emu/time.c kern/emu/cache.c \
153+	kern/efi/acpi.c kern/efi/sb.c kern/compiler-rt.c kern/mm.c \
154+	kern/time.c kern/generic/millisleep.c kern/command.c \
155+	kern/corecmd.c kern/device.c kern/disk.c kern/dl.c kern/env.c \
156+	kern/err.c kern/file.c kern/fs.c kern/list.c kern/main.c \
157+	kern/misc.c kern/parser.c kern/partition.c \
158+	kern/rescue_parser.c kern/rescue_reader.c kern/term.c \
159+	kern/arm/startup.S kern/arm/coreboot/init.c \
160+	kern/arm/coreboot/timer.c kern/arm/coreboot/coreboot.S \
161+	lib/fdt.c bus/fdt.c term/ps2.c term/arm/pl050.c \
162+	term/arm/cros.c term/arm/cros_ec.c bus/spi/rk3288_spi.c \
163+	commands/keylayouts.c kern/arm/coreboot/dma.c \
164+	kern/arm/coreboot/cbtable.c video/coreboot/cbfb.c \
165+	kern/coreboot/mmap.c kern/coreboot/cbtable.c term/gfxterm.c \
166+	font/font.c font/font_cmd.c io/bufio.c video/fb/fbblit.c \
167+	video/fb/fbfill.c video/fb/fbutil.c video/fb/video_fb.c \
168+	video/video.c kern/arm/dl.c kern/arm/dl_helper.c \
169+	kern/arm/cache_armv6.S kern/arm/cache_armv7.S kern/arm/cache.c \
170+	kern/arm/compiler-rt.S lib/division.c kern/arm/efi/startup.S \
171+	kern/arm/efi/init.c kern/arm/uboot/init.c \
172+	kern/arm/uboot/uboot.S disk/uboot/ubootdisk.c \
173+	kern/uboot/uboot.c kern/uboot/init.c kern/uboot/hw.c \
174+	term/uboot/console.c term/terminfo.c term/tparm.c \
175+	commands/extcmd.c lib/arg.c disk/host.c kern/emu/cache_s.S \
176+	kern/emu/hostdisk.c osdep/unix/hostdisk.c osdep/exec.c \
177+	osdep/devmapper/hostdisk.c osdep/hostdisk.c kern/emu/hostfs.c \
178+	kern/emu/main.c kern/emu/argp_common.c kern/emu/misc.c \
179+	kern/emu/mm.c kern/emu/time.c kern/emu/cache.c \
180 	osdep/emuconsole.c osdep/dl.c osdep/sleep.c osdep/init.c \
181 	osdep/emunet.c osdep/cputime.c kern/i386/coreboot/startup.S \
182 	kern/i386/coreboot/init.c kern/i386/pc/acpi.c \
183@@ -10580,6 +10581,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
184 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@	term/efi/kernel_exec-console.$(OBJEXT) \
185 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@	kern/kernel_exec-acpi.$(OBJEXT) \
186 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@	kern/efi/kernel_exec-acpi.$(OBJEXT) \
187+@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@	kern/efi/kernel_exec-sb.$(OBJEXT) \
188 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@	kern/kernel_exec-compiler-rt.$(OBJEXT) \
189 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@	kern/kernel_exec-mm.$(OBJEXT) \
190 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_TRUE@	kern/kernel_exec-time.$(OBJEXT) \
191@@ -10651,6 +10653,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
192 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@	term/efi/kernel_exec-console.$(OBJEXT) \
193 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@	kern/kernel_exec-acpi.$(OBJEXT) \
194 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@	kern/efi/kernel_exec-acpi.$(OBJEXT) \
195+@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@	kern/efi/kernel_exec-sb.$(OBJEXT) \
196 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@	kern/kernel_exec-compiler-rt.$(OBJEXT) \
197 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@	kern/kernel_exec-mm.$(OBJEXT) \
198 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_TRUE@	kern/kernel_exec-time.$(OBJEXT) \
199@@ -10686,6 +10689,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
200 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@	term/efi/kernel_exec-console.$(OBJEXT) \
201 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@	kern/kernel_exec-acpi.$(OBJEXT) \
202 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@	kern/efi/kernel_exec-acpi.$(OBJEXT) \
203+@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@	kern/efi/kernel_exec-sb.$(OBJEXT) \
204 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@	kern/kernel_exec-compiler-rt.$(OBJEXT) \
205 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@	kern/kernel_exec-mm.$(OBJEXT) \
206 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_TRUE@	kern/kernel_exec-time.$(OBJEXT) \
207@@ -10881,6 +10885,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
208 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@	term/efi/kernel_exec-console.$(OBJEXT) \
209 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@	kern/kernel_exec-acpi.$(OBJEXT) \
210 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@	kern/efi/kernel_exec-acpi.$(OBJEXT) \
211+@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@	kern/efi/kernel_exec-sb.$(OBJEXT) \
212 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@	kern/kernel_exec-compiler-rt.$(OBJEXT) \
213 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@	kern/kernel_exec-mm.$(OBJEXT) \
214 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_ia64_efi_TRUE@	kern/kernel_exec-time.$(OBJEXT) \
215@@ -11109,6 +11114,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
216 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@	term/efi/kernel_exec-console.$(OBJEXT) \
217 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@	kern/kernel_exec-acpi.$(OBJEXT) \
218 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@	kern/efi/kernel_exec-acpi.$(OBJEXT) \
219+@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@	kern/efi/kernel_exec-sb.$(OBJEXT) \
220 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@	kern/kernel_exec-compiler-rt.$(OBJEXT) \
221 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@	kern/kernel_exec-mm.$(OBJEXT) \
222 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_TRUE@	kern/kernel_exec-time.$(OBJEXT) \
223@@ -11271,6 +11277,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
224 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@	term/efi/kernel_exec-console.$(OBJEXT) \
225 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@	kern/kernel_exec-acpi.$(OBJEXT) \
226 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@	kern/efi/kernel_exec-acpi.$(OBJEXT) \
227+@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@	kern/efi/kernel_exec-sb.$(OBJEXT) \
228 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@	kern/kernel_exec-compiler-rt.$(OBJEXT) \
229 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@	kern/kernel_exec-mm.$(OBJEXT) \
230 @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@	kern/kernel_exec-time.$(OBJEXT) \
231@@ -11360,6 +11367,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
232 @COND_arm64_efi_TRUE@	term/efi/kernel_exec-console.$(OBJEXT) \
233 @COND_arm64_efi_TRUE@	kern/kernel_exec-acpi.$(OBJEXT) \
234 @COND_arm64_efi_TRUE@	kern/efi/kernel_exec-acpi.$(OBJEXT) \
235+@COND_arm64_efi_TRUE@	kern/efi/kernel_exec-sb.$(OBJEXT) \
236 @COND_arm64_efi_TRUE@	kern/kernel_exec-compiler-rt.$(OBJEXT) \
237 @COND_arm64_efi_TRUE@	kern/kernel_exec-mm.$(OBJEXT) \
238 @COND_arm64_efi_TRUE@	kern/kernel_exec-time.$(OBJEXT) \
239@@ -16380,6 +16388,7 @@ KERNEL_HEADER_FILES = $(top_srcdir)/include/grub/cache.h \
240 	$(top_srcdir)/include/grub/device.h \
241 	$(top_srcdir)/include/grub/disk.h \
242 	$(top_srcdir)/include/grub/dl.h \
243+	$(top_srcdir)/include/grub/efi/sb.h \
244 	$(top_srcdir)/include/grub/env.h \
245 	$(top_srcdir)/include/grub/env_private.h \
246 	$(top_srcdir)/include/grub/err.h \
247@@ -25612,7 +25621,7 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
248 @COND_arm64_efi_TRUE@	kern/arm64/dl_helper.c disk/efi/efidisk.c \
249 @COND_arm64_efi_TRUE@	kern/efi/efi.c kern/efi/init.c \
250 @COND_arm64_efi_TRUE@	kern/efi/mm.c term/efi/console.c \
251-@COND_arm64_efi_TRUE@	kern/acpi.c kern/efi/acpi.c \
252+@COND_arm64_efi_TRUE@	kern/acpi.c kern/efi/acpi.c kern/efi/sb.c \
253 @COND_arm64_efi_TRUE@	kern/compiler-rt.c kern/mm.c kern/time.c \
254 @COND_arm64_efi_TRUE@	kern/generic/millisleep.c kern/command.c \
255 @COND_arm64_efi_TRUE@	kern/corecmd.c kern/device.c kern/disk.c \
256@@ -25661,8 +25670,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
257 @COND_arm_efi_TRUE@	disk/efi/efidisk.c kern/efi/efi.c \
258 @COND_arm_efi_TRUE@	kern/efi/init.c kern/efi/mm.c \
259 @COND_arm_efi_TRUE@	term/efi/console.c kern/acpi.c \
260-@COND_arm_efi_TRUE@	kern/efi/acpi.c kern/compiler-rt.c \
261-@COND_arm_efi_TRUE@	kern/mm.c kern/time.c \
262+@COND_arm_efi_TRUE@	kern/efi/acpi.c kern/efi/sb.c \
263+@COND_arm_efi_TRUE@	kern/compiler-rt.c kern/mm.c kern/time.c \
264 @COND_arm_efi_TRUE@	kern/generic/millisleep.c kern/command.c \
265 @COND_arm_efi_TRUE@	kern/corecmd.c kern/device.c kern/disk.c \
266 @COND_arm_efi_TRUE@	kern/dl.c kern/env.c kern/err.c kern/file.c \
267@@ -25739,7 +25748,7 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
268 @COND_i386_efi_TRUE@	kern/i386/tsc_pit.c disk/efi/efidisk.c \
269 @COND_i386_efi_TRUE@	kern/efi/efi.c kern/efi/init.c \
270 @COND_i386_efi_TRUE@	kern/efi/mm.c term/efi/console.c \
271-@COND_i386_efi_TRUE@	kern/acpi.c kern/efi/acpi.c \
272+@COND_i386_efi_TRUE@	kern/acpi.c kern/efi/acpi.c kern/efi/sb.c \
273 @COND_i386_efi_TRUE@	kern/compiler-rt.c kern/mm.c kern/time.c \
274 @COND_i386_efi_TRUE@	kern/generic/millisleep.c kern/command.c \
275 @COND_i386_efi_TRUE@	kern/corecmd.c kern/device.c kern/disk.c \
276@@ -25851,7 +25860,7 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
277 @COND_ia64_efi_TRUE@	lib/division.c disk/efi/efidisk.c \
278 @COND_ia64_efi_TRUE@	kern/efi/efi.c kern/efi/init.c \
279 @COND_ia64_efi_TRUE@	kern/efi/mm.c term/efi/console.c \
280-@COND_ia64_efi_TRUE@	kern/acpi.c kern/efi/acpi.c \
281+@COND_ia64_efi_TRUE@	kern/acpi.c kern/efi/acpi.c kern/efi/sb.c \
282 @COND_ia64_efi_TRUE@	kern/compiler-rt.c kern/mm.c kern/time.c \
283 @COND_ia64_efi_TRUE@	kern/generic/millisleep.c kern/command.c \
284 @COND_ia64_efi_TRUE@	kern/corecmd.c kern/device.c kern/disk.c \
285@@ -25959,9 +25968,9 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
286 @COND_riscv32_efi_TRUE@	disk/efi/efidisk.c kern/efi/efi.c \
287 @COND_riscv32_efi_TRUE@	kern/efi/init.c kern/efi/mm.c \
288 @COND_riscv32_efi_TRUE@	term/efi/console.c kern/acpi.c \
289-@COND_riscv32_efi_TRUE@	kern/efi/acpi.c kern/compiler-rt.c \
290-@COND_riscv32_efi_TRUE@	kern/mm.c kern/time.c \
291-@COND_riscv32_efi_TRUE@	kern/generic/millisleep.c \
292+@COND_riscv32_efi_TRUE@	kern/efi/acpi.c kern/efi/sb.c \
293+@COND_riscv32_efi_TRUE@	kern/compiler-rt.c kern/mm.c \
294+@COND_riscv32_efi_TRUE@	kern/time.c kern/generic/millisleep.c \
295 @COND_riscv32_efi_TRUE@	kern/command.c kern/corecmd.c \
296 @COND_riscv32_efi_TRUE@	kern/device.c kern/disk.c kern/dl.c \
297 @COND_riscv32_efi_TRUE@	kern/env.c kern/err.c kern/file.c \
298@@ -25977,8 +25986,9 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
299 @COND_riscv64_efi_TRUE@	kern/efi/efi.c kern/efi/init.c \
300 @COND_riscv64_efi_TRUE@	kern/efi/mm.c term/efi/console.c \
301 @COND_riscv64_efi_TRUE@	kern/acpi.c kern/efi/acpi.c \
302-@COND_riscv64_efi_TRUE@	kern/compiler-rt.c kern/mm.c \
303-@COND_riscv64_efi_TRUE@	kern/time.c kern/generic/millisleep.c \
304+@COND_riscv64_efi_TRUE@	kern/efi/sb.c kern/compiler-rt.c \
305+@COND_riscv64_efi_TRUE@	kern/mm.c kern/time.c \
306+@COND_riscv64_efi_TRUE@	kern/generic/millisleep.c \
307 @COND_riscv64_efi_TRUE@	kern/command.c kern/corecmd.c \
308 @COND_riscv64_efi_TRUE@	kern/device.c kern/disk.c kern/dl.c \
309 @COND_riscv64_efi_TRUE@	kern/env.c kern/err.c kern/file.c \
310@@ -26022,7 +26032,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
311 @COND_x86_64_efi_TRUE@	kern/efi/efi.c kern/efi/init.c \
312 @COND_x86_64_efi_TRUE@	kern/efi/mm.c term/efi/console.c \
313 @COND_x86_64_efi_TRUE@	kern/acpi.c kern/efi/acpi.c \
314-@COND_x86_64_efi_TRUE@	kern/compiler-rt.c kern/mm.c kern/time.c \
315+@COND_x86_64_efi_TRUE@	kern/efi/sb.c kern/compiler-rt.c \
316+@COND_x86_64_efi_TRUE@	kern/mm.c kern/time.c \
317 @COND_x86_64_efi_TRUE@	kern/generic/millisleep.c kern/command.c \
318 @COND_x86_64_efi_TRUE@	kern/corecmd.c kern/device.c kern/disk.c \
319 @COND_x86_64_efi_TRUE@	kern/dl.c kern/env.c kern/err.c \
320@@ -27989,6 +28000,8 @@ kern/kernel_exec-acpi.$(OBJEXT): kern/$(am__dirstamp) \
321 	kern/$(DEPDIR)/$(am__dirstamp)
322 kern/efi/kernel_exec-acpi.$(OBJEXT): kern/efi/$(am__dirstamp) \
323 	kern/efi/$(DEPDIR)/$(am__dirstamp)
324+kern/efi/kernel_exec-sb.$(OBJEXT): kern/efi/$(am__dirstamp) \
325+	kern/efi/$(DEPDIR)/$(am__dirstamp)
326 kern/kernel_exec-compiler-rt.$(OBJEXT): kern/$(am__dirstamp) \
327 	kern/$(DEPDIR)/$(am__dirstamp)
328 kern/kernel_exec-mm.$(OBJEXT): kern/$(am__dirstamp) \
329@@ -30994,6 +31007,7 @@ distclean-compile:
330 @AMDEP_TRUE@@am__include@ @am__quote@kern/efi/$(DEPDIR)/kernel_exec-fdt.Po@am__quote@
331 @AMDEP_TRUE@@am__include@ @am__quote@kern/efi/$(DEPDIR)/kernel_exec-init.Po@am__quote@
332 @AMDEP_TRUE@@am__include@ @am__quote@kern/efi/$(DEPDIR)/kernel_exec-mm.Po@am__quote@
333+@AMDEP_TRUE@@am__include@ @am__quote@kern/efi/$(DEPDIR)/kernel_exec-sb.Po@am__quote@
334 @AMDEP_TRUE@@am__include@ @am__quote@kern/emu/$(DEPDIR)/grub_emu-full.Po@am__quote@
335 @AMDEP_TRUE@@am__include@ @am__quote@kern/emu/$(DEPDIR)/grub_emu_lite-lite.Po@am__quote@
336 @AMDEP_TRUE@@am__include@ @am__quote@kern/emu/$(DEPDIR)/kernel_exec-argp_common.Po@am__quote@
337@@ -35285,6 +35299,20 @@ kern/efi/kernel_exec-acpi.obj: kern/efi/acpi.c
338 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
339 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -c -o kern/efi/kernel_exec-acpi.obj `if test -f 'kern/efi/acpi.c'; then $(CYGPATH_W) 'kern/efi/acpi.c'; else $(CYGPATH_W) '$(srcdir)/kern/efi/acpi.c'; fi`
340
341+kern/efi/kernel_exec-sb.o: kern/efi/sb.c
342+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -MT kern/efi/kernel_exec-sb.o -MD -MP -MF kern/efi/$(DEPDIR)/kernel_exec-sb.Tpo -c -o kern/efi/kernel_exec-sb.o `test -f 'kern/efi/sb.c' || echo '$(srcdir)/'`kern/efi/sb.c
343+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) kern/efi/$(DEPDIR)/kernel_exec-sb.Tpo kern/efi/$(DEPDIR)/kernel_exec-sb.Po
344+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='kern/efi/sb.c' object='kern/efi/kernel_exec-sb.o' libtool=no @AMDEPBACKSLASH@
345+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
346+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -c -o kern/efi/kernel_exec-sb.o `test -f 'kern/efi/sb.c' || echo '$(srcdir)/'`kern/efi/sb.c
347+
348+kern/efi/kernel_exec-sb.obj: kern/efi/sb.c
349+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -MT kern/efi/kernel_exec-sb.obj -MD -MP -MF kern/efi/$(DEPDIR)/kernel_exec-sb.Tpo -c -o kern/efi/kernel_exec-sb.obj `if test -f 'kern/efi/sb.c'; then $(CYGPATH_W) 'kern/efi/sb.c'; else $(CYGPATH_W) '$(srcdir)/kern/efi/sb.c'; fi`
350+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) kern/efi/$(DEPDIR)/kernel_exec-sb.Tpo kern/efi/$(DEPDIR)/kernel_exec-sb.Po
351+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='kern/efi/sb.c' object='kern/efi/kernel_exec-sb.obj' libtool=no @AMDEPBACKSLASH@
352+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
353+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -c -o kern/efi/kernel_exec-sb.obj `if test -f 'kern/efi/sb.c'; then $(CYGPATH_W) 'kern/efi/sb.c'; else $(CYGPATH_W) '$(srcdir)/kern/efi/sb.c'; fi`
354+
355 kern/kernel_exec-compiler-rt.o: kern/compiler-rt.c
356 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -MT kern/kernel_exec-compiler-rt.o -MD -MP -MF kern/$(DEPDIR)/kernel_exec-compiler-rt.Tpo -c -o kern/kernel_exec-compiler-rt.o `test -f 'kern/compiler-rt.c' || echo '$(srcdir)/'`kern/compiler-rt.c
357 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) kern/$(DEPDIR)/kernel_exec-compiler-rt.Tpo kern/$(DEPDIR)/kernel_exec-compiler-rt.Po
358diff --git a/grub-core/kern/efi/sb.c b/grub-core/kern/efi/sb.c
359new file mode 100644
360index 0000000..19658d9
361--- /dev/null
362+++ b/grub-core/kern/efi/sb.c
363@@ -0,0 +1,109 @@
364+/*
365+ *  GRUB  --  GRand Unified Bootloader
366+ *  Copyright (C) 2020  Free Software Foundation, Inc.
367+ *
368+ *  GRUB is free software: you can redistribute it and/or modify
369+ *  it under the terms of the GNU General Public License as published by
370+ *  the Free Software Foundation, either version 3 of the License, or
371+ *  (at your option) any later version.
372+ *
373+ *  GRUB is distributed in the hope that it will be useful,
374+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
375+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
376+ *  GNU General Public License for more details.
377+ *
378+ *  You should have received a copy of the GNU General Public License
379+ *  along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
380+ *
381+ *  UEFI Secure Boot related checkings.
382+ */
383+
384+#include <grub/efi/efi.h>
385+#include <grub/efi/pe32.h>
386+#include <grub/efi/sb.h>
387+#include <grub/err.h>
388+#include <grub/i386/linux.h>
389+#include <grub/mm.h>
390+#include <grub/types.h>
391+
392+/*
393+ * Determine whether we're in secure boot mode.
394+ *
395+ * Please keep the logic in sync with the Linux kernel,
396+ * drivers/firmware/efi/libstub/secureboot.c:efi_get_secureboot().
397+ */
398+grub_uint8_t
399+grub_efi_get_secureboot (void)
400+{
401+  static grub_efi_guid_t efi_variable_guid = GRUB_EFI_GLOBAL_VARIABLE_GUID;
402+  static grub_efi_guid_t efi_shim_lock_guid = GRUB_EFI_SHIM_LOCK_GUID;
403+  grub_efi_status_t status;
404+  grub_efi_uint32_t attr = 0;
405+  grub_size_t size = 0;
406+  grub_uint8_t *secboot = NULL;
407+  grub_uint8_t *setupmode = NULL;
408+  grub_uint8_t *moksbstate = NULL;
409+  grub_uint8_t secureboot = GRUB_EFI_SECUREBOOT_MODE_UNKNOWN;
410+  const char *secureboot_str = "UNKNOWN";
411+
412+  status = grub_efi_get_variable ("SecureBoot", &efi_variable_guid,
413+				  &size, (void **) &secboot);
414+
415+  if (status == GRUB_EFI_NOT_FOUND)
416+    {
417+      secureboot = GRUB_EFI_SECUREBOOT_MODE_DISABLED;
418+      goto out;
419+    }
420+
421+  if (status != GRUB_EFI_SUCCESS)
422+    goto out;
423+
424+  status = grub_efi_get_variable ("SetupMode", &efi_variable_guid,
425+				  &size, (void **) &setupmode);
426+
427+  if (status != GRUB_EFI_SUCCESS)
428+    goto out;
429+
430+  if ((*secboot == 0) || (*setupmode == 1))
431+    {
432+      secureboot = GRUB_EFI_SECUREBOOT_MODE_DISABLED;
433+      goto out;
434+    }
435+
436+  /*
437+   * See if a user has put the shim into insecure mode. If so, and if the
438+   * variable doesn't have the runtime attribute set, we might as well
439+   * honor that.
440+   */
441+  status = grub_efi_get_variable_with_attributes ("MokSBState", &efi_shim_lock_guid,
442+						  &size, (void **) &moksbstate, &attr);
443+
444+  /* If it fails, we don't care why. Default to secure. */
445+  if (status != GRUB_EFI_SUCCESS)
446+    {
447+      secureboot = GRUB_EFI_SECUREBOOT_MODE_ENABLED;
448+      goto out;
449+    }
450+
451+  if (!(attr & GRUB_EFI_VARIABLE_RUNTIME_ACCESS) && *moksbstate == 1)
452+    {
453+      secureboot = GRUB_EFI_SECUREBOOT_MODE_DISABLED;
454+      goto out;
455+    }
456+
457+  secureboot = GRUB_EFI_SECUREBOOT_MODE_ENABLED;
458+
459+ out:
460+  grub_free (moksbstate);
461+  grub_free (setupmode);
462+  grub_free (secboot);
463+
464+  if (secureboot == GRUB_EFI_SECUREBOOT_MODE_DISABLED)
465+    secureboot_str = "Disabled";
466+  else if (secureboot == GRUB_EFI_SECUREBOOT_MODE_ENABLED)
467+    secureboot_str = "Enabled";
468+
469+  grub_dprintf ("efi", "UEFI Secure Boot state: %s\n", secureboot_str);
470+
471+  return secureboot;
472+}
473diff --git a/include/grub/efi/sb.h b/include/grub/efi/sb.h
474new file mode 100644
475index 0000000..a33d985
476--- /dev/null
477+++ b/include/grub/efi/sb.h
478@@ -0,0 +1,40 @@
479+/*
480+ *  GRUB  --  GRand Unified Bootloader
481+ *  Copyright (C) 2020  Free Software Foundation, Inc.
482+ *
483+ *  GRUB is free software: you can redistribute it and/or modify
484+ *  it under the terms of the GNU General Public License as published by
485+ *  the Free Software Foundation, either version 3 of the License, or
486+ *  (at your option) any later version.
487+ *
488+ *  GRUB is distributed in the hope that it will be useful,
489+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
490+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
491+ *  GNU General Public License for more details.
492+ *
493+ *  You should have received a copy of the GNU General Public License
494+ *  along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
495+ */
496+
497+#ifndef GRUB_EFI_SB_H
498+#define GRUB_EFI_SB_H     1
499+
500+#include <grub/types.h>
501+#include <grub/dl.h>
502+
503+#define GRUB_EFI_SECUREBOOT_MODE_UNSET	0
504+#define GRUB_EFI_SECUREBOOT_MODE_UNKNOWN	1
505+#define GRUB_EFI_SECUREBOOT_MODE_DISABLED	2
506+#define GRUB_EFI_SECUREBOOT_MODE_ENABLED	3
507+
508+#ifdef GRUB_MACHINE_EFI
509+extern grub_uint8_t
510+EXPORT_FUNC (grub_efi_get_secureboot) (void);
511+#else
512+static inline grub_uint8_t
513+grub_efi_get_secureboot (void)
514+{
515+  return GRUB_EFI_SECUREBOOT_MODE_UNSET;
516+}
517+#endif
518+#endif /* GRUB_EFI_SB_H */
519diff --git a/po/POTFILES.in b/po/POTFILES.in
520index 5574cbe..22543be 100644
521--- a/po/POTFILES.in
522+++ b/po/POTFILES.in
523@@ -266,6 +266,7 @@
524 ./grub-core/kern/efi/fdt.c
525 ./grub-core/kern/efi/init.c
526 ./grub-core/kern/efi/mm.c
527+./grub-core/kern/efi/sb.c
528 ./grub-core/kern/elf.c
529 ./grub-core/kern/elfXX.c
530 ./grub-core/kern/emu/argp_common.c
531@@ -1053,6 +1054,7 @@
532 ./include/grub/efi/memory.h
533 ./include/grub/efi/pci.h
534 ./include/grub/efi/pe32.h
535+./include/grub/efi/sb.h
536 ./include/grub/efi/tpm.h
537 ./include/grub/efi/uga_draw.h
538 ./include/grub/efiemu/efiemu.h
539--
5402.14.2
541
542