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