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