boot/grub2: Backport 2021/03/02 securify fixes
authorStefan Sørensen <stefan.sorensen@spectralink.com>
Thu, 11 Mar 2021 09:53:06 +0000 (10:53 +0100)
committerYann E. MORIN <yann.morin.1998@free.fr>
Sun, 14 Mar 2021 07:24:24 +0000 (08:24 +0100)
Details: https://lists.gnu.org/archive/html/grub-devel/2021-03/msg00007.html

As detailed in commit 7e64a050fbd9add07ed84d48054ffee1b659d079, it is
difficult to utilize the upstream patches directly, so a number of
patches include changes to generated files so that we don't need invoke
the gentpl.py script.

In addition to the security fixes, these required patches has been
backported:

  f76a27996 efi: Make shim_lock GUID and protocol type public
  04ae030d0 efi: Return grub_efi_status_t from grub_efi_get_variable()
  ac5c93675 efi: Add a function to read EFI variables with attributes
  d7e54b2e5 efi: Add secure boot detection

The following security issues are fixed:

CVE-2020-14372 grub2: The acpi command allows privileged user to load crafted
               ACPI tables when Secure Boot is enabled
CWE-184
7.5/CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:H/I:H/A:H

GRUB2 enables the use of the command acpi even when Secure Boot is signaled by
the firmware. An attacker with local root privileges to can drop a small SSDT
in /boot/efi and modify grub.cfg to instruct grub to load said SSDT. The SSDT
then gets run by the kernel and it overwrites the kernel lock down configuration
enabling the attacker to load unsigned kernel modules and kexec unsigned code.

Reported-by: Máté Kukri
*******************************************************************************

CVE-2020-25632 grub2: Use-after-free in rmmod command
CWE-416
7.5/CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:H/I:H/A:H

The rmmod implementation for GRUB2 is flawed, allowing an attacker to unload
a module used as dependency without checking if any other dependent module is
still loaded. This leads to an use-after-free scenario possibly allowing an
attacker to execute arbitrary code and by-pass Secure Boot protections.

Reported-by: Chris Coulson (Canonical)
*******************************************************************************

CVE-2020-25647 grub2: Out-of-bound write in grub_usb_device_initialize()
CWE-787
6.9/CVSS:3.1/AV:P/AC:H/PR:H/UI:N/S:C/C:H/I:H/A:H

grub_usb_device_initialize() is called to handle USB device initialization. It
reads out the descriptors it needs from the USB device and uses that data to
fill in some USB data structures. grub_usb_device_initialize() performs very
little bounds checking and simply assumes the USB device provides sane values.
This behavior can trigger memory corruption. If properly exploited, this would
lead to arbitrary code execution allowing the attacker to by-pass Secure Boot
mechanism.

Reported-by: Joseph Tartaro (IOActive) and Ilja van Sprundel (IOActive)
*******************************************************************************

CVE-2020-27749 grub2: Stack buffer overflow in grub_parser_split_cmdline
CWE-121
7.5/CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:H/I:H/A:H

grub_parser_split_cmdline() expands variable names present in the supplied
command line in to their corresponding variable contents and uses a 1kB stack
buffer for temporary storage without sufficient bounds checking. If the
function is called with a command line that references a variable with a
sufficiently large payload, it is possible to overflow the stack buffer,
corrupt the stack frame and control execution. An attacker may use this to
circumvent Secure Boot protections.

Reported-by: Chris Coulson (Canonical)
*******************************************************************************

CVE-2020-27779 grub2: The cutmem command allows privileged user to remove
               memory regions when Secure Boot is enabled
CWE-285
7.5/CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:H/I:H/A:H

The GRUB2's cutmem command does not honor Secure Boot locking. This allows an
privileged attacker to remove address ranges from memory creating an
opportunity to circumvent Secure Boot protections after proper triage about
grub's memory layout.

Reported-by: Teddy Reed
*******************************************************************************

CVE-2021-3418 - grub2: GRUB 2.05 reintroduced CVE-2020-15705
CWE-281
6.4/CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H

The GRUB2 upstream reintroduced the CVE-2020-15705. This refers to a distro
specific flaw which made upstream in the mentioned version.

If certificates that signed GRUB2 are installed into db, GRUB2 can be booted
directly. It will then boot any kernel without signature validation. The booted
kernel will think it was booted in Secure Boot mode and will implement lock
down, yet it could have been tampered.

This flaw only affects upstream and distributions using the shim_lock verifier.

Reported-by: Dimitri John Ledkov (Canonical)
*******************************************************************************

CVE-2021-20225 grub2: Heap out-of-bounds write in short form option parser
CWE-787
7.5/CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:H/I:H/A:H

The option parser in GRUB2 allows an attacker to write past the end of
a heap-allocated buffer by calling certain commands with a large number
of specific short forms of options.

Reported-by: Daniel Axtens (IBM)
*******************************************************************************

CVE-2021-20233 grub2: Heap out-of-bound write due to mis-calculation of
               space required for quoting
CWE-787
7.5/CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:H/I:H/A:H

There's a flaw on GRUB2 menu rendering code setparam_prefix() in the menu
rendering code performs a length calculation on the assumption that expressing
a quoted single quote will require 3 characters, while it actually requires
4 characters. This allow an attacker to corrupt memory by one byte for each
quote in the input.

Reported-by: Daniel Axtens (IBM)
*******************************************************************************

Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
121 files changed:
boot/grub2/0029-efi-Make-shim_lock-GUID-and-protocol-type-public.patch [new file with mode: 0644]
boot/grub2/0030-efi-Return-grub_efi_status_t-from-grub_efi_get_varia.patch [new file with mode: 0644]
boot/grub2/0031-efi-Add-a-function-to-read-EFI-variables-with-attrib.patch [new file with mode: 0644]
boot/grub2/0032-efi-Add-secure-boot-detection.patch [new file with mode: 0644]
boot/grub2/0033-verifiers-Move-verifiers-API-to-kernel-image.patch [new file with mode: 0644]
boot/grub2/0034-efi-Move-the-shim_lock-verifier-to-the-GRUB-core.patch [new file with mode: 0644]
boot/grub2/0035-kern-Add-lockdown-support.patch [new file with mode: 0644]
boot/grub2/0036-kern-lockdown-Set-a-variable-if-the-GRUB-is-locked-d.patch [new file with mode: 0644]
boot/grub2/0037-efi-Lockdown-the-GRUB-when-the-UEFI-Secure-Boot-is-e.patch [new file with mode: 0644]
boot/grub2/0038-efi-Use-grub_is_lockdown-instead-of-hardcoding-a-dis.patch [new file with mode: 0644]
boot/grub2/0039-acpi-Don-t-register-the-acpi-command-when-locked-dow.patch [new file with mode: 0644]
boot/grub2/0040-mmap-Don-t-register-cutmem-and-badram-commands-when-.patch [new file with mode: 0644]
boot/grub2/0041-commands-Restrict-commands-that-can-load-BIOS-or-DT-.patch [new file with mode: 0644]
boot/grub2/0042-commands-setpci-Restrict-setpci-command-when-locked-.patch [new file with mode: 0644]
boot/grub2/0043-commands-hdparm-Restrict-hdparm-command-when-locked-.patch [new file with mode: 0644]
boot/grub2/0044-gdb-Restrict-GDB-access-when-locked-down.patch [new file with mode: 0644]
boot/grub2/0045-loader-xnu-Don-t-allow-loading-extension-and-package.patch [new file with mode: 0644]
boot/grub2/0046-docs-Document-the-cutmem-command.patch [new file with mode: 0644]
boot/grub2/0047-dl-Only-allow-unloading-modules-that-are-not-depende.patch [new file with mode: 0644]
boot/grub2/0048-usb-Avoid-possible-out-of-bound-accesses-caused-by-m.patch [new file with mode: 0644]
boot/grub2/0049-mmap-Fix-memory-leak-when-iterating-over-mapped-memo.patch [new file with mode: 0644]
boot/grub2/0050-net-net-Fix-possible-dereference-to-of-a-NULL-pointe.patch [new file with mode: 0644]
boot/grub2/0051-net-tftp-Fix-dangling-memory-pointer.patch [new file with mode: 0644]
boot/grub2/0052-kern-parser-Fix-resource-leak-if-argc-0.patch [new file with mode: 0644]
boot/grub2/0053-kern-efi-Fix-memory-leak-on-failure.patch [new file with mode: 0644]
boot/grub2/0054-kern-efi-mm-Fix-possible-NULL-pointer-dereference.patch [new file with mode: 0644]
boot/grub2/0055-gnulib-regexec-Resolve-unused-variable.patch [new file with mode: 0644]
boot/grub2/0056-gnulib-regcomp-Fix-uninitialized-token-structure.patch [new file with mode: 0644]
boot/grub2/0057-gnulib-argp-help-Fix-dereference-of-a-possibly-NULL-.patch [new file with mode: 0644]
boot/grub2/0058-gnulib-regexec-Fix-possible-null-dereference.patch [new file with mode: 0644]
boot/grub2/0059-gnulib-regcomp-Fix-uninitialized-re_token.patch [new file with mode: 0644]
boot/grub2/0060-io-lzopio-Resolve-unnecessary-self-assignment-errors.patch [new file with mode: 0644]
boot/grub2/0061-zstd-Initialize-seq_t-structure-fully.patch [new file with mode: 0644]
boot/grub2/0062-kern-partition-Check-for-NULL-before-dereferencing-i.patch [new file with mode: 0644]
boot/grub2/0063-disk-ldm-Make-sure-comp-data-is-freed-before-exiting.patch [new file with mode: 0644]
boot/grub2/0064-disk-ldm-If-failed-then-free-vg-variable-too.patch [new file with mode: 0644]
boot/grub2/0065-disk-ldm-Fix-memory-leak-on-uninserted-lv-references.patch [new file with mode: 0644]
boot/grub2/0066-disk-cryptodisk-Fix-potential-integer-overflow.patch [new file with mode: 0644]
boot/grub2/0067-hfsplus-Check-that-the-volume-name-length-is-valid.patch [new file with mode: 0644]
boot/grub2/0068-zfs-Fix-possible-negative-shift-operation.patch [new file with mode: 0644]
boot/grub2/0069-zfs-Fix-resource-leaks-while-constructing-path.patch [new file with mode: 0644]
boot/grub2/0070-zfs-Fix-possible-integer-overflows.patch [new file with mode: 0644]
boot/grub2/0071-zfsinfo-Correct-a-check-for-error-allocating-memory.patch [new file with mode: 0644]
boot/grub2/0072-affs-Fix-memory-leaks.patch [new file with mode: 0644]
boot/grub2/0073-libgcrypt-mpi-Fix-possible-unintended-sign-extension.patch [new file with mode: 0644]
boot/grub2/0074-libgcrypt-mpi-Fix-possible-NULL-dereference.patch [new file with mode: 0644]
boot/grub2/0075-syslinux-Fix-memory-leak-while-parsing.patch [new file with mode: 0644]
boot/grub2/0076-normal-completion-Fix-leaking-of-memory-when-process.patch [new file with mode: 0644]
boot/grub2/0077-commands-hashsum-Fix-a-memory-leak.patch [new file with mode: 0644]
boot/grub2/0079-video-efi_gop-Remove-unnecessary-return-value-of-gru.patch [new file with mode: 0644]
boot/grub2/0080-video-fb-fbfill-Fix-potential-integer-overflow.patch [new file with mode: 0644]
boot/grub2/0081-video-fb-video_fb-Fix-multiple-integer-overflows.patch [new file with mode: 0644]
boot/grub2/0082-video-fb-video_fb-Fix-possible-integer-overflow.patch [new file with mode: 0644]
boot/grub2/0083-video-readers-jpeg-Test-for-an-invalid-next-marker-r.patch [new file with mode: 0644]
boot/grub2/0084-gfxmenu-gui_list-Remove-code-that-coverity-is-flaggi.patch [new file with mode: 0644]
boot/grub2/0085-loader-bsd-Check-for-NULL-arg-up-front.patch [new file with mode: 0644]
boot/grub2/0086-loader-xnu-Fix-memory-leak.patch [new file with mode: 0644]
boot/grub2/0087-loader-xnu-Free-driverkey-data-when-an-error-is-dete.patch [new file with mode: 0644]
boot/grub2/0088-loader-xnu-Check-if-pointer-is-NULL-before-using-it.patch [new file with mode: 0644]
boot/grub2/0089-util-grub-install-Fix-NULL-pointer-dereferences.patch [new file with mode: 0644]
boot/grub2/0090-util-grub-editenv-Fix-incorrect-casting-of-a-signed-.patch [new file with mode: 0644]
boot/grub2/0091-util-glue-efi-Fix-incorrect-use-of-a-possibly-negati.patch [new file with mode: 0644]
boot/grub2/0092-script-execute-Fix-NULL-dereference-in-grub_script_e.patch [new file with mode: 0644]
boot/grub2/0093-commands-ls-Require-device_name-is-not-NULL-before-p.patch [new file with mode: 0644]
boot/grub2/0094-script-execute-Avoid-crash-when-using-outside-a-func.patch [new file with mode: 0644]
boot/grub2/0095-lib-arg-Block-repeated-short-options-that-require-an.patch [new file with mode: 0644]
boot/grub2/0096-script-execute-Don-t-crash-on-a-for-loop-with-no-ite.patch [new file with mode: 0644]
boot/grub2/0097-commands-menuentry-Fix-quoting-in-setparams_prefix.patch [new file with mode: 0644]
boot/grub2/0098-kern-misc-Always-set-end-in-grub_strtoull.patch [new file with mode: 0644]
boot/grub2/0099-video-readers-jpeg-Catch-files-with-unsupported-quan.patch [new file with mode: 0644]
boot/grub2/0100-video-readers-jpeg-Catch-OOB-reads-writes-in-grub_jp.patch [new file with mode: 0644]
boot/grub2/0101-video-readers-jpeg-Don-t-decode-data-before-start-of.patch [new file with mode: 0644]
boot/grub2/0102-term-gfxterm-Don-t-set-up-a-font-with-glyphs-that-ar.patch [new file with mode: 0644]
boot/grub2/0103-fs-fshelp-Catch-impermissibly-large-block-sizes-in-r.patch [new file with mode: 0644]
boot/grub2/0104-fs-hfsplus-Don-t-fetch-a-key-beyond-the-end-of-the-n.patch [new file with mode: 0644]
boot/grub2/0105-fs-hfsplus-Don-t-use-uninitialized-data-on-corrupt-f.patch [new file with mode: 0644]
boot/grub2/0106-fs-hfs-Disable-under-lockdown.patch [new file with mode: 0644]
boot/grub2/0107-fs-sfs-Fix-over-read-of-root-object-name.patch [new file with mode: 0644]
boot/grub2/0108-fs-jfs-Do-not-move-to-leaf-level-if-name-length-is-n.patch [new file with mode: 0644]
boot/grub2/0109-fs-jfs-Limit-the-extents-that-getblk-can-consider.patch [new file with mode: 0644]
boot/grub2/0110-fs-jfs-Catch-infinite-recursion.patch [new file with mode: 0644]
boot/grub2/0111-fs-nilfs2-Reject-too-large-keys.patch [new file with mode: 0644]
boot/grub2/0112-fs-nilfs2-Don-t-search-children-if-provided-number-i.patch [new file with mode: 0644]
boot/grub2/0113-fs-nilfs2-Properly-bail-on-errors-in-grub_nilfs2_btr.patch [new file with mode: 0644]
boot/grub2/0114-io-gzio-Bail-if-gzio-tl-td-is-NULL.patch [new file with mode: 0644]
boot/grub2/0115-io-gzio-Add-init_dynamic_block-clean-up-if-unpacking.patch [new file with mode: 0644]
boot/grub2/0116-io-gzio-Catch-missing-values-in-huft_build-and-bail.patch [new file with mode: 0644]
boot/grub2/0117-io-gzio-Zero-gzio-tl-td-in-init_dynamic_block-if-huf.patch [new file with mode: 0644]
boot/grub2/0118-disk-lvm-Don-t-go-beyond-the-end-of-the-data-we-read.patch [new file with mode: 0644]
boot/grub2/0119-disk-lvm-Don-t-blast-past-the-end-of-the-circular-me.patch [new file with mode: 0644]
boot/grub2/0120-disk-lvm-Bail-on-missing-PV-list.patch [new file with mode: 0644]
boot/grub2/0121-disk-lvm-Do-not-crash-if-an-expected-string-is-not-f.patch [new file with mode: 0644]
boot/grub2/0122-disk-lvm-Do-not-overread-metadata.patch [new file with mode: 0644]
boot/grub2/0123-disk-lvm-Sanitize-rlocn-offset-to-prevent-wild-read.patch [new file with mode: 0644]
boot/grub2/0124-disk-lvm-Do-not-allow-a-LV-to-be-it-s-own-segment-s-.patch [new file with mode: 0644]
boot/grub2/0125-fs-btrfs-Validate-the-number-of-stripes-parities-in-.patch [new file with mode: 0644]
boot/grub2/0126-fs-btrfs-Squash-some-uninitialized-reads.patch [new file with mode: 0644]
boot/grub2/0127-kern-parser-Fix-a-memory-leak.patch [new file with mode: 0644]
boot/grub2/0128-kern-parser-Introduce-process_char-helper.patch [new file with mode: 0644]
boot/grub2/0129-kern-parser-Introduce-terminate_arg-helper.patch [new file with mode: 0644]
boot/grub2/0130-kern-parser-Refactor-grub_parser_split_cmdline-clean.patch [new file with mode: 0644]
boot/grub2/0131-kern-buffer-Add-variable-sized-heap-buffer.patch [new file with mode: 0644]
boot/grub2/0132-kern-parser-Fix-a-stack-buffer-overflow.patch [new file with mode: 0644]
boot/grub2/0133-kern-efi-Add-initial-stack-protector-implementation.patch [new file with mode: 0644]
boot/grub2/0134-util-mkimage-Remove-unused-code-to-add-BSS-section.patch [new file with mode: 0644]
boot/grub2/0135-util-mkimage-Use-grub_host_to_target32-instead-of-gr.patch [new file with mode: 0644]
boot/grub2/0136-util-mkimage-Always-use-grub_host_to_target32-to-ini.patch [new file with mode: 0644]
boot/grub2/0137-util-mkimage-Unify-more-of-the-PE32-and-PE32-header-.patch [new file with mode: 0644]
boot/grub2/0138-util-mkimage-Reorder-PE-optional-header-fields-set-u.patch [new file with mode: 0644]
boot/grub2/0139-util-mkimage-Improve-data_size-value-calculation.patch [new file with mode: 0644]
boot/grub2/0140-util-mkimage-Refactor-section-setup-to-use-a-helper.patch [new file with mode: 0644]
boot/grub2/0141-util-mkimage-Add-an-option-to-import-SBAT-metadata-i.patch [new file with mode: 0644]
boot/grub2/0142-grub-install-common-Add-sbat-option.patch [new file with mode: 0644]
boot/grub2/0143-shim_lock-Only-skip-loading-shim_lock-verifier-with-.patch [new file with mode: 0644]
boot/grub2/0144-kern-misc-Split-parse_printf_args-into-format-parsin.patch [new file with mode: 0644]
boot/grub2/0145-kern-misc-Add-STRING-type-for-internal-printf-format.patch [new file with mode: 0644]
boot/grub2/0146-kern-misc-Add-function-to-check-printf-format-agains.patch [new file with mode: 0644]
boot/grub2/0147-gfxmenu-gui-Check-printf-format-in-the-gui_progress_.patch [new file with mode: 0644]
boot/grub2/0148-templates-Disable-the-os-prober-by-default.patch [new file with mode: 0644]
boot/grub2/0149-kern-mm-Fix-grub_debug_calloc-compilation-error.patch [new file with mode: 0644]
boot/grub2/grub2.mk

diff --git a/boot/grub2/0029-efi-Make-shim_lock-GUID-and-protocol-type-public.patch b/boot/grub2/0029-efi-Make-shim_lock-GUID-and-protocol-type-public.patch
new file mode 100644 (file)
index 0000000..ec1f623
--- /dev/null
@@ -0,0 +1,97 @@
+From f76a27996c34900f2c369a8a0d6ac72ae2faa988 Mon Sep 17 00:00:00 2001
+From: Daniel Kiper <daniel.kiper@oracle.com>
+Date: Thu, 3 Dec 2020 16:01:45 +0100
+Subject: [PATCH] efi: Make shim_lock GUID and protocol type public
+
+The GUID will be used to properly detect and report UEFI Secure Boot
+status to the x86 Linux kernel. The functionality will be added by
+subsequent patches. The shim_lock protocol type is made public for
+completeness.
+
+Additionally, fix formatting of four preceding GUIDs.
+
+Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Marco A Benatto <mbenatto@redhat.com>
+Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/commands/efi/shim_lock.c | 12 ------------
+ include/grub/efi/api.h             | 19 +++++++++++++++----
+ 2 files changed, 15 insertions(+), 16 deletions(-)
+
+diff --git a/grub-core/commands/efi/shim_lock.c b/grub-core/commands/efi/shim_lock.c
+index 764098c..d8f52d7 100644
+--- a/grub-core/commands/efi/shim_lock.c
++++ b/grub-core/commands/efi/shim_lock.c
+@@ -27,18 +27,6 @@
+ GRUB_MOD_LICENSE ("GPLv3+");
+-#define GRUB_EFI_SHIM_LOCK_GUID \
+-  { 0x605dab50, 0xe046, 0x4300, \
+-    { 0xab, 0xb6, 0x3d, 0xd8, 0x10, 0xdd, 0x8b, 0x23 } \
+-  }
+-
+-struct grub_efi_shim_lock_protocol
+-{
+-  grub_efi_status_t
+-  (*verify) (void *buffer, grub_uint32_t size);
+-};
+-typedef struct grub_efi_shim_lock_protocol grub_efi_shim_lock_protocol_t;
+-
+ static grub_efi_guid_t shim_lock_guid = GRUB_EFI_SHIM_LOCK_GUID;
+ static grub_efi_shim_lock_protocol_t *sl;
+diff --git a/include/grub/efi/api.h b/include/grub/efi/api.h
+index cf1355a..13e5715 100644
+--- a/include/grub/efi/api.h
++++ b/include/grub/efi/api.h
+@@ -316,22 +316,27 @@
+ #define GRUB_EFI_SAL_TABLE_GUID \
+   { 0xeb9d2d32, 0x2d88, 0x11d3, \
+-      { 0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \
++    { 0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \
+   }
+ #define GRUB_EFI_HCDP_TABLE_GUID \
+   { 0xf951938d, 0x620b, 0x42ef, \
+-      { 0x82, 0x79, 0xa8, 0x4b, 0x79, 0x61, 0x78, 0x98 } \
++    { 0x82, 0x79, 0xa8, 0x4b, 0x79, 0x61, 0x78, 0x98 } \
+   }
+ #define GRUB_EFI_DEVICE_TREE_GUID \
+   { 0xb1b621d5, 0xf19c, 0x41a5, \
+-      { 0x83, 0x0b, 0xd9, 0x15, 0x2c, 0x69, 0xaa, 0xe0 } \
++    { 0x83, 0x0b, 0xd9, 0x15, 0x2c, 0x69, 0xaa, 0xe0 } \
+   }
+ #define GRUB_EFI_VENDOR_APPLE_GUID \
+   { 0x2B0585EB, 0xD8B8, 0x49A9,       \
+-      { 0x8B, 0x8C, 0xE2, 0x1B, 0x01, 0xAE, 0xF2, 0xB7 } \
++    { 0x8B, 0x8C, 0xE2, 0x1B, 0x01, 0xAE, 0xF2, 0xB7 } \
++  }
++
++#define GRUB_EFI_SHIM_LOCK_GUID \
++  { 0x605dab50, 0xe046, 0x4300, \
++    { 0xab, 0xb6, 0x3d, 0xd8, 0x10, 0xdd, 0x8b, 0x23 } \
+   }
+ struct grub_efi_sal_system_table
+@@ -1689,6 +1694,12 @@ struct grub_efi_block_io
+ };
+ typedef struct grub_efi_block_io grub_efi_block_io_t;
++struct grub_efi_shim_lock_protocol
++{
++  grub_efi_status_t (*verify) (void *buffer, grub_uint32_t size);
++};
++typedef struct grub_efi_shim_lock_protocol grub_efi_shim_lock_protocol_t;
++
+ #if (GRUB_TARGET_SIZEOF_VOID_P == 4) || defined (__ia64__) \
+   || defined (__aarch64__) || defined (__MINGW64__) || defined (__CYGWIN__) \
+   || defined(__riscv)
+-- 
+2.14.2
+
diff --git a/boot/grub2/0030-efi-Return-grub_efi_status_t-from-grub_efi_get_varia.patch b/boot/grub2/0030-efi-Return-grub_efi_status_t-from-grub_efi_get_varia.patch
new file mode 100644 (file)
index 0000000..39386a1
--- /dev/null
@@ -0,0 +1,149 @@
+From 04ae030d0eea8668d4417702d88bf2cf04713d80 Mon Sep 17 00:00:00 2001
+From: Daniel Kiper <daniel.kiper@oracle.com>
+Date: Thu, 3 Dec 2020 16:01:46 +0100
+Subject: [PATCH] efi: Return grub_efi_status_t from grub_efi_get_variable()
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This is needed to properly detect and report UEFI Secure Boot status
+to the x86 Linux kernel. The functionality will be added by subsequent
+patches.
+
+Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Marco A Benatto <mbenatto@redhat.com>
+Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/commands/efi/efifwsetup.c |  8 ++++----
+ grub-core/kern/efi/efi.c            | 16 +++++++++-------
+ grub-core/video/efi_gop.c           |  2 +-
+ include/grub/efi/efi.h              |  7 ++++---
+ 4 files changed, 18 insertions(+), 15 deletions(-)
+
+diff --git a/grub-core/commands/efi/efifwsetup.c b/grub-core/commands/efi/efifwsetup.c
+index 7a137a72a..eaca03283 100644
+--- a/grub-core/commands/efi/efifwsetup.c
++++ b/grub-core/commands/efi/efifwsetup.c
+@@ -38,8 +38,8 @@ grub_cmd_fwsetup (grub_command_t cmd __attribute__ ((unused)),
+   grub_size_t oi_size;
+   grub_efi_guid_t global = GRUB_EFI_GLOBAL_VARIABLE_GUID;
+-  old_os_indications = grub_efi_get_variable ("OsIndications", &global,
+-                                            &oi_size);
++  grub_efi_get_variable ("OsIndications", &global, &oi_size,
++                       (void **) &old_os_indications);
+   if (old_os_indications != NULL && oi_size == sizeof (os_indications))
+     os_indications |= *old_os_indications;
+@@ -63,8 +63,8 @@ efifwsetup_is_supported (void)
+   grub_size_t oi_size = 0;
+   grub_efi_guid_t global = GRUB_EFI_GLOBAL_VARIABLE_GUID;
+-  os_indications_supported = grub_efi_get_variable ("OsIndicationsSupported",
+-                                                  &global, &oi_size);
++  grub_efi_get_variable ("OsIndicationsSupported", &global, &oi_size,
++                       (void **) &os_indications_supported);
+   if (!os_indications_supported)
+     return 0;
+diff --git a/grub-core/kern/efi/efi.c b/grub-core/kern/efi/efi.c
+index e0165e74c..9403b12cd 100644
+--- a/grub-core/kern/efi/efi.c
++++ b/grub-core/kern/efi/efi.c
+@@ -223,9 +223,9 @@ grub_efi_set_variable(const char *var, const grub_efi_guid_t *guid,
+   return grub_error (GRUB_ERR_IO, "could not set EFI variable `%s'", var);
+ }
+-void *
++grub_efi_status_t
+ grub_efi_get_variable (const char *var, const grub_efi_guid_t *guid,
+-                     grub_size_t *datasize_out)
++                     grub_size_t *datasize_out, void **data_out)
+ {
+   grub_efi_status_t status;
+   grub_efi_uintn_t datasize = 0;
+@@ -234,13 +234,14 @@ grub_efi_get_variable (const char *var, const grub_efi_guid_t *guid,
+   void *data;
+   grub_size_t len, len16;
++  *data_out = NULL;
+   *datasize_out = 0;
+   len = grub_strlen (var);
+   len16 = len * GRUB_MAX_UTF16_PER_UTF8;
+   var16 = grub_calloc (len16 + 1, sizeof (var16[0]));
+   if (!var16)
+-    return NULL;
++    return GRUB_EFI_OUT_OF_RESOURCES;
+   len16 = grub_utf8_to_utf16 (var16, len16, (grub_uint8_t *) var, len, NULL);
+   var16[len16] = 0;
+@@ -251,14 +252,14 @@ grub_efi_get_variable (const char *var, const grub_efi_guid_t *guid,
+   if (status != GRUB_EFI_BUFFER_TOO_SMALL || !datasize)
+     {
+       grub_free (var16);
+-      return NULL;
++      return status;
+     }
+   data = grub_malloc (datasize);
+   if (!data)
+     {
+       grub_free (var16);
+-      return NULL;
++      return GRUB_EFI_OUT_OF_RESOURCES;
+     }
+   status = efi_call_5 (r->get_variable, var16, guid, NULL, &datasize, data);
+@@ -266,12 +267,13 @@ grub_efi_get_variable (const char *var, const grub_efi_guid_t *guid,
+   if (status == GRUB_EFI_SUCCESS)
+     {
++      *data_out = data;
+       *datasize_out = datasize;
+-      return data;
++      return status;
+     }
+   grub_free (data);
+-  return NULL;
++  return status;
+ }
+ #pragma GCC diagnostic ignored "-Wcast-align"
+diff --git a/grub-core/video/efi_gop.c b/grub-core/video/efi_gop.c
+index be446f8d2..7fe0cdabf 100644
+--- a/grub-core/video/efi_gop.c
++++ b/grub-core/video/efi_gop.c
+@@ -316,7 +316,7 @@ grub_video_gop_get_edid (struct grub_video_edid_info *edid_info)
+       char edidname[] = "agp-internal-edid";
+       grub_size_t datasize;
+       grub_uint8_t *data;
+-      data = grub_efi_get_variable (edidname, &efi_var_guid, &datasize);
++      grub_efi_get_variable (edidname, &efi_var_guid, &datasize, (void **) &data);
+       if (data && datasize > 16)
+       {
+         copy_size = datasize - 16;
+diff --git a/include/grub/efi/efi.h b/include/grub/efi/efi.h
+index e90e00dc4..8b2a0f1f5 100644
+--- a/include/grub/efi/efi.h
++++ b/include/grub/efi/efi.h
+@@ -74,9 +74,10 @@ grub_err_t EXPORT_FUNC (grub_efi_set_virtual_address_map) (grub_efi_uintn_t memo
+                                                          grub_efi_uintn_t descriptor_size,
+                                                          grub_efi_uint32_t descriptor_version,
+                                                          grub_efi_memory_descriptor_t *virtual_map);
+-void *EXPORT_FUNC (grub_efi_get_variable) (const char *variable,
+-                                         const grub_efi_guid_t *guid,
+-                                         grub_size_t *datasize_out);
++grub_efi_status_t EXPORT_FUNC (grub_efi_get_variable) (const char *variable,
++                                                     const grub_efi_guid_t *guid,
++                                                     grub_size_t *datasize_out,
++                                                     void **data_out);
+ grub_err_t
+ EXPORT_FUNC (grub_efi_set_variable) (const char *var,
+                                    const grub_efi_guid_t *guid,
+-- 
+2.29.2
+
diff --git a/boot/grub2/0031-efi-Add-a-function-to-read-EFI-variables-with-attrib.patch b/boot/grub2/0031-efi-Add-a-function-to-read-EFI-variables-with-attrib.patch
new file mode 100644 (file)
index 0000000..d9fb615
--- /dev/null
@@ -0,0 +1,78 @@
+From ac5c9367548750e75ed1e7fc4354a3d20186d733 Mon Sep 17 00:00:00 2001
+From: Daniel Kiper <daniel.kiper@oracle.com>
+Date: Thu, 3 Dec 2020 16:01:47 +0100
+Subject: [PATCH] efi: Add a function to read EFI variables with attributes
+
+It will be used to properly detect and report UEFI Secure Boot status to
+the x86 Linux kernel. The functionality will be added by subsequent patches.
+
+Signed-off-by: Ignat Korchagin <ignat@cloudflare.com>
+Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Marco A Benatto <mbenatto@redhat.com>
+Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/kern/efi/efi.c | 16 +++++++++++++---
+ include/grub/efi/efi.h   |  5 +++++
+ 2 files changed, 18 insertions(+), 3 deletions(-)
+
+diff --git a/grub-core/kern/efi/efi.c b/grub-core/kern/efi/efi.c
+index 9403b12cd..2942b8e35 100644
+--- a/grub-core/kern/efi/efi.c
++++ b/grub-core/kern/efi/efi.c
+@@ -224,8 +224,11 @@ grub_efi_set_variable(const char *var, const grub_efi_guid_t *guid,
+ }
+ grub_efi_status_t
+-grub_efi_get_variable (const char *var, const grub_efi_guid_t *guid,
+-                     grub_size_t *datasize_out, void **data_out)
++grub_efi_get_variable_with_attributes (const char *var,
++                                     const grub_efi_guid_t *guid,
++                                     grub_size_t *datasize_out,
++                                     void **data_out,
++                                     grub_efi_uint32_t *attributes)
+ {
+   grub_efi_status_t status;
+   grub_efi_uintn_t datasize = 0;
+@@ -262,7 +265,7 @@ grub_efi_get_variable (const char *var, const grub_efi_guid_t *guid,
+       return GRUB_EFI_OUT_OF_RESOURCES;
+     }
+-  status = efi_call_5 (r->get_variable, var16, guid, NULL, &datasize, data);
++  status = efi_call_5 (r->get_variable, var16, guid, attributes, &datasize, data);
+   grub_free (var16);
+   if (status == GRUB_EFI_SUCCESS)
+@@ -276,6 +279,13 @@ grub_efi_get_variable (const char *var, const grub_efi_guid_t *guid,
+   return status;
+ }
++grub_efi_status_t
++grub_efi_get_variable (const char *var, const grub_efi_guid_t *guid,
++                     grub_size_t *datasize_out, void **data_out)
++{
++  return grub_efi_get_variable_with_attributes (var, guid, datasize_out, data_out, NULL);
++}
++
+ #pragma GCC diagnostic ignored "-Wcast-align"
+ /* Search the mods section from the PE32/PE32+ image. This code uses
+diff --git a/include/grub/efi/efi.h b/include/grub/efi/efi.h
+index 8b2a0f1f5..83d958f99 100644
+--- a/include/grub/efi/efi.h
++++ b/include/grub/efi/efi.h
+@@ -74,6 +74,11 @@ grub_err_t EXPORT_FUNC (grub_efi_set_virtual_address_map) (grub_efi_uintn_t memo
+                                                          grub_efi_uintn_t descriptor_size,
+                                                          grub_efi_uint32_t descriptor_version,
+                                                          grub_efi_memory_descriptor_t *virtual_map);
++grub_efi_status_t EXPORT_FUNC (grub_efi_get_variable_with_attributes) (const char *variable,
++                                                                     const grub_efi_guid_t *guid,
++                                                                     grub_size_t *datasize_out,
++                                                                     void **data_out,
++                                                                     grub_efi_uint32_t *attributes);
+ grub_efi_status_t EXPORT_FUNC (grub_efi_get_variable) (const char *variable,
+                                                      const grub_efi_guid_t *guid,
+                                                      grub_size_t *datasize_out,
+-- 
+2.29.2
+
diff --git a/boot/grub2/0032-efi-Add-secure-boot-detection.patch b/boot/grub2/0032-efi-Add-secure-boot-detection.patch
new file mode 100644 (file)
index 0000000..f09a42b
--- /dev/null
@@ -0,0 +1,541 @@
+From d7e54b2e5feee95d2f83058ed30d883c450d1473 Mon Sep 17 00:00:00 2001
+From: Daniel Kiper <daniel.kiper@oracle.com>
+Date: Thu, 3 Dec 2020 16:01:48 +0100
+Subject: [PATCH] efi: Add secure boot detection
+
+Introduce grub_efi_get_secureboot() function which returns whether
+UEFI Secure Boot is enabled or not on UEFI systems.
+
+Signed-off-by: Ignat Korchagin <ignat@cloudflare.com>
+Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Marco A Benatto <mbenatto@redhat.com>
+Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+[Add changes to generated files]
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/Makefile.am       |   1 +
+ grub-core/Makefile.core.am  |  14 +++---
+ grub-core/Makefile.core.def |   1 +
+ grub-core/Makefile.in       | 102 ++++++++++++++++++++++++++---------------
+ grub-core/kern/efi/sb.c     | 109 ++++++++++++++++++++++++++++++++++++++++++++
+ include/grub/efi/sb.h       |  40 ++++++++++++++++
+ po/POTFILES.in              |   2 +
+ 7 files changed, 225 insertions(+), 44 deletions(-)
+ create mode 100644 grub-core/kern/efi/sb.c
+ create mode 100644 include/grub/efi/sb.h
+
+diff --git a/grub-core/Makefile.am b/grub-core/Makefile.am
+index 3ea8e7f..c6ba5b2 100644
+--- a/grub-core/Makefile.am
++++ b/grub-core/Makefile.am
+@@ -71,6 +71,7 @@ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/command.h
+ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/device.h
+ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/disk.h
+ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/dl.h
++KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/sb.h
+ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/env.h
+ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/env_private.h
+ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/err.h
+diff --git a/grub-core/Makefile.core.am b/grub-core/Makefile.core.am
+index a217716..f28b753 100644
+--- a/grub-core/Makefile.core.am
++++ b/grub-core/Makefile.core.am
+@@ -22421,7 +22421,7 @@ endif
+ if COND_i386_efi
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/i386/efi/startup.S 
+-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 
++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 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22531,7 +22531,7 @@ endif
+ if COND_x86_64_efi
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/x86_64/efi/startup.S 
+-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 
++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 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22707,7 +22707,7 @@ endif
+ if COND_ia64_efi
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = 
+-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 
++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 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) -fno-builtin -fpic -minline-int-divide-max-throughput 
+@@ -22773,7 +22773,7 @@ endif
+ if COND_arm_efi
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/arm/efi/startup.S 
+-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 
++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 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22795,7 +22795,7 @@ endif
+ if COND_arm64_efi
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/arm64/efi/startup.S 
+-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 
++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 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22839,7 +22839,7 @@ endif
+ if COND_riscv32_efi
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/riscv/efi/startup.S 
+-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 
++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 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22861,7 +22861,7 @@ endif
+ if COND_riscv64_efi
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/riscv/efi/startup.S 
+-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 
++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 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
+index 474a63e..abd26cf 100644
+--- a/grub-core/Makefile.core.def
++++ b/grub-core/Makefile.core.def
+@@ -203,6 +203,7 @@ kernel = {
+   efi = term/efi/console.c;
+   efi = kern/acpi.c;
+   efi = kern/efi/acpi.c;
++  efi = kern/efi/sb.c;
+   i386_coreboot = kern/i386/pc/acpi.c;
+   i386_multiboot = kern/i386/pc/acpi.c;
+   i386_coreboot = kern/acpi.c;
+diff --git a/grub-core/Makefile.in b/grub-core/Makefile.in
+index d287607..8fb81ee 100644
+--- a/grub-core/Makefile.in
++++ b/grub-core/Makefile.in
+@@ -10468,32 +10468,33 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+       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 kern/arm/startup.S \
+-      kern/arm/coreboot/init.c kern/arm/coreboot/timer.c \
+-      kern/arm/coreboot/coreboot.S lib/fdt.c bus/fdt.c term/ps2.c \
+-      term/arm/pl050.c term/arm/cros.c term/arm/cros_ec.c \
+-      bus/spi/rk3288_spi.c commands/keylayouts.c \
+-      kern/arm/coreboot/dma.c kern/arm/coreboot/cbtable.c \
+-      video/coreboot/cbfb.c kern/coreboot/mmap.c \
+-      kern/coreboot/cbtable.c term/gfxterm.c font/font.c \
+-      font/font_cmd.c io/bufio.c video/fb/fbblit.c video/fb/fbfill.c \
+-      video/fb/fbutil.c video/fb/video_fb.c video/video.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 kern/arm/efi/startup.S kern/arm/efi/init.c \
+-      kern/arm/uboot/init.c kern/arm/uboot/uboot.S \
+-      disk/uboot/ubootdisk.c kern/uboot/uboot.c kern/uboot/init.c \
+-      kern/uboot/hw.c term/uboot/console.c term/terminfo.c \
+-      term/tparm.c commands/extcmd.c lib/arg.c disk/host.c \
+-      kern/emu/cache_s.S kern/emu/hostdisk.c osdep/unix/hostdisk.c \
+-      osdep/exec.c osdep/devmapper/hostdisk.c osdep/hostdisk.c \
+-      kern/emu/hostfs.c kern/emu/main.c kern/emu/argp_common.c \
+-      kern/emu/misc.c kern/emu/mm.c kern/emu/time.c kern/emu/cache.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 \
++      kern/arm/startup.S kern/arm/coreboot/init.c \
++      kern/arm/coreboot/timer.c kern/arm/coreboot/coreboot.S \
++      lib/fdt.c bus/fdt.c term/ps2.c term/arm/pl050.c \
++      term/arm/cros.c term/arm/cros_ec.c bus/spi/rk3288_spi.c \
++      commands/keylayouts.c kern/arm/coreboot/dma.c \
++      kern/arm/coreboot/cbtable.c video/coreboot/cbfb.c \
++      kern/coreboot/mmap.c kern/coreboot/cbtable.c term/gfxterm.c \
++      font/font.c font/font_cmd.c io/bufio.c video/fb/fbblit.c \
++      video/fb/fbfill.c video/fb/fbutil.c video/fb/video_fb.c \
++      video/video.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 kern/arm/efi/startup.S \
++      kern/arm/efi/init.c kern/arm/uboot/init.c \
++      kern/arm/uboot/uboot.S disk/uboot/ubootdisk.c \
++      kern/uboot/uboot.c kern/uboot/init.c kern/uboot/hw.c \
++      term/uboot/console.c term/terminfo.c term/tparm.c \
++      commands/extcmd.c lib/arg.c disk/host.c kern/emu/cache_s.S \
++      kern/emu/hostdisk.c osdep/unix/hostdisk.c osdep/exec.c \
++      osdep/devmapper/hostdisk.c osdep/hostdisk.c kern/emu/hostfs.c \
++      kern/emu/main.c kern/emu/argp_common.c kern/emu/misc.c \
++      kern/emu/mm.c kern/emu/time.c kern/emu/cache.c \
+       osdep/emuconsole.c osdep/dl.c osdep/sleep.c osdep/init.c \
+       osdep/emunet.c osdep/cputime.c kern/i386/coreboot/startup.S \
+       kern/i386/coreboot/init.c kern/i386/pc/acpi.c \
+@@ -10580,6 +10581,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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) \
+ @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) \
+ @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) \
++@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) \
+ @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) \
+ @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) \
+ @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) \
+@@ -10651,6 +10653,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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) \
+ @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) \
+ @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) \
++@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) \
+ @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) \
+ @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) \
+ @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) \
+@@ -10686,6 +10689,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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) \
+ @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) \
+ @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) \
++@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) \
+ @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) \
+ @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) \
+ @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) \
+@@ -10881,6 +10885,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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) \
+ @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) \
+ @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) \
++@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) \
+ @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) \
+ @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) \
+ @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) \
+@@ -11109,6 +11114,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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) \
+ @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) \
+ @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) \
++@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) \
+ @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) \
+ @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) \
+ @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) \
+@@ -11271,6 +11277,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@    term/efi/kernel_exec-console.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@    kern/kernel_exec-acpi.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@    kern/efi/kernel_exec-acpi.$(OBJEXT) \
++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@    kern/efi/kernel_exec-sb.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@    kern/kernel_exec-compiler-rt.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@    kern/kernel_exec-mm.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@    kern/kernel_exec-time.$(OBJEXT) \
+@@ -11360,6 +11367,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @COND_arm64_efi_TRUE@ term/efi/kernel_exec-console.$(OBJEXT) \
+ @COND_arm64_efi_TRUE@ kern/kernel_exec-acpi.$(OBJEXT) \
+ @COND_arm64_efi_TRUE@ kern/efi/kernel_exec-acpi.$(OBJEXT) \
++@COND_arm64_efi_TRUE@ kern/efi/kernel_exec-sb.$(OBJEXT) \
+ @COND_arm64_efi_TRUE@ kern/kernel_exec-compiler-rt.$(OBJEXT) \
+ @COND_arm64_efi_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \
+ @COND_arm64_efi_TRUE@ kern/kernel_exec-time.$(OBJEXT) \
+@@ -16380,6 +16388,7 @@ KERNEL_HEADER_FILES = $(top_srcdir)/include/grub/cache.h \
+       $(top_srcdir)/include/grub/device.h \
+       $(top_srcdir)/include/grub/disk.h \
+       $(top_srcdir)/include/grub/dl.h \
++      $(top_srcdir)/include/grub/efi/sb.h \
+       $(top_srcdir)/include/grub/env.h \
+       $(top_srcdir)/include/grub/env_private.h \
+       $(top_srcdir)/include/grub/err.h \
+@@ -25612,7 +25621,7 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_arm64_efi_TRUE@ kern/arm64/dl_helper.c disk/efi/efidisk.c \
+ @COND_arm64_efi_TRUE@ kern/efi/efi.c kern/efi/init.c \
+ @COND_arm64_efi_TRUE@ kern/efi/mm.c term/efi/console.c \
+-@COND_arm64_efi_TRUE@ kern/acpi.c kern/efi/acpi.c \
++@COND_arm64_efi_TRUE@ kern/acpi.c kern/efi/acpi.c kern/efi/sb.c \
+ @COND_arm64_efi_TRUE@ kern/compiler-rt.c kern/mm.c kern/time.c \
+ @COND_arm64_efi_TRUE@ kern/generic/millisleep.c kern/command.c \
+ @COND_arm64_efi_TRUE@ kern/corecmd.c kern/device.c kern/disk.c \
+@@ -25661,8 +25670,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_arm_efi_TRUE@   disk/efi/efidisk.c kern/efi/efi.c \
+ @COND_arm_efi_TRUE@   kern/efi/init.c kern/efi/mm.c \
+ @COND_arm_efi_TRUE@   term/efi/console.c kern/acpi.c \
+-@COND_arm_efi_TRUE@   kern/efi/acpi.c kern/compiler-rt.c \
+-@COND_arm_efi_TRUE@   kern/mm.c kern/time.c \
++@COND_arm_efi_TRUE@   kern/efi/acpi.c kern/efi/sb.c \
++@COND_arm_efi_TRUE@   kern/compiler-rt.c kern/mm.c kern/time.c \
+ @COND_arm_efi_TRUE@   kern/generic/millisleep.c kern/command.c \
+ @COND_arm_efi_TRUE@   kern/corecmd.c kern/device.c kern/disk.c \
+ @COND_arm_efi_TRUE@   kern/dl.c kern/env.c kern/err.c kern/file.c \
+@@ -25739,7 +25748,7 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_i386_efi_TRUE@  kern/i386/tsc_pit.c disk/efi/efidisk.c \
+ @COND_i386_efi_TRUE@  kern/efi/efi.c kern/efi/init.c \
+ @COND_i386_efi_TRUE@  kern/efi/mm.c term/efi/console.c \
+-@COND_i386_efi_TRUE@  kern/acpi.c kern/efi/acpi.c \
++@COND_i386_efi_TRUE@  kern/acpi.c kern/efi/acpi.c kern/efi/sb.c \
+ @COND_i386_efi_TRUE@  kern/compiler-rt.c kern/mm.c kern/time.c \
+ @COND_i386_efi_TRUE@  kern/generic/millisleep.c kern/command.c \
+ @COND_i386_efi_TRUE@  kern/corecmd.c kern/device.c kern/disk.c \
+@@ -25851,7 +25860,7 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_ia64_efi_TRUE@  lib/division.c disk/efi/efidisk.c \
+ @COND_ia64_efi_TRUE@  kern/efi/efi.c kern/efi/init.c \
+ @COND_ia64_efi_TRUE@  kern/efi/mm.c term/efi/console.c \
+-@COND_ia64_efi_TRUE@  kern/acpi.c kern/efi/acpi.c \
++@COND_ia64_efi_TRUE@  kern/acpi.c kern/efi/acpi.c kern/efi/sb.c \
+ @COND_ia64_efi_TRUE@  kern/compiler-rt.c kern/mm.c kern/time.c \
+ @COND_ia64_efi_TRUE@  kern/generic/millisleep.c kern/command.c \
+ @COND_ia64_efi_TRUE@  kern/corecmd.c kern/device.c kern/disk.c \
+@@ -25959,9 +25968,9 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_riscv32_efi_TRUE@       disk/efi/efidisk.c kern/efi/efi.c \
+ @COND_riscv32_efi_TRUE@       kern/efi/init.c kern/efi/mm.c \
+ @COND_riscv32_efi_TRUE@       term/efi/console.c kern/acpi.c \
+-@COND_riscv32_efi_TRUE@       kern/efi/acpi.c kern/compiler-rt.c \
+-@COND_riscv32_efi_TRUE@       kern/mm.c kern/time.c \
+-@COND_riscv32_efi_TRUE@       kern/generic/millisleep.c \
++@COND_riscv32_efi_TRUE@       kern/efi/acpi.c kern/efi/sb.c \
++@COND_riscv32_efi_TRUE@       kern/compiler-rt.c kern/mm.c \
++@COND_riscv32_efi_TRUE@       kern/time.c kern/generic/millisleep.c \
+ @COND_riscv32_efi_TRUE@       kern/command.c kern/corecmd.c \
+ @COND_riscv32_efi_TRUE@       kern/device.c kern/disk.c kern/dl.c \
+ @COND_riscv32_efi_TRUE@       kern/env.c kern/err.c kern/file.c \
+@@ -25977,8 +25986,9 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_riscv64_efi_TRUE@       kern/efi/efi.c kern/efi/init.c \
+ @COND_riscv64_efi_TRUE@       kern/efi/mm.c term/efi/console.c \
+ @COND_riscv64_efi_TRUE@       kern/acpi.c kern/efi/acpi.c \
+-@COND_riscv64_efi_TRUE@       kern/compiler-rt.c kern/mm.c \
+-@COND_riscv64_efi_TRUE@       kern/time.c kern/generic/millisleep.c \
++@COND_riscv64_efi_TRUE@       kern/efi/sb.c kern/compiler-rt.c \
++@COND_riscv64_efi_TRUE@       kern/mm.c kern/time.c \
++@COND_riscv64_efi_TRUE@       kern/generic/millisleep.c \
+ @COND_riscv64_efi_TRUE@       kern/command.c kern/corecmd.c \
+ @COND_riscv64_efi_TRUE@       kern/device.c kern/disk.c kern/dl.c \
+ @COND_riscv64_efi_TRUE@       kern/env.c kern/err.c kern/file.c \
+@@ -26022,7 +26032,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_x86_64_efi_TRUE@        kern/efi/efi.c kern/efi/init.c \
+ @COND_x86_64_efi_TRUE@        kern/efi/mm.c term/efi/console.c \
+ @COND_x86_64_efi_TRUE@        kern/acpi.c kern/efi/acpi.c \
+-@COND_x86_64_efi_TRUE@        kern/compiler-rt.c kern/mm.c kern/time.c \
++@COND_x86_64_efi_TRUE@        kern/efi/sb.c kern/compiler-rt.c \
++@COND_x86_64_efi_TRUE@        kern/mm.c kern/time.c \
+ @COND_x86_64_efi_TRUE@        kern/generic/millisleep.c kern/command.c \
+ @COND_x86_64_efi_TRUE@        kern/corecmd.c kern/device.c kern/disk.c \
+ @COND_x86_64_efi_TRUE@        kern/dl.c kern/env.c kern/err.c \
+@@ -27989,6 +28000,8 @@ kern/kernel_exec-acpi.$(OBJEXT): kern/$(am__dirstamp) \
+       kern/$(DEPDIR)/$(am__dirstamp)
+ kern/efi/kernel_exec-acpi.$(OBJEXT): kern/efi/$(am__dirstamp) \
+       kern/efi/$(DEPDIR)/$(am__dirstamp)
++kern/efi/kernel_exec-sb.$(OBJEXT): kern/efi/$(am__dirstamp) \
++      kern/efi/$(DEPDIR)/$(am__dirstamp)
+ kern/kernel_exec-compiler-rt.$(OBJEXT): kern/$(am__dirstamp) \
+       kern/$(DEPDIR)/$(am__dirstamp)
+ kern/kernel_exec-mm.$(OBJEXT): kern/$(am__dirstamp) \
+@@ -30994,6 +31007,7 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@kern/efi/$(DEPDIR)/kernel_exec-fdt.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@kern/efi/$(DEPDIR)/kernel_exec-init.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@kern/efi/$(DEPDIR)/kernel_exec-mm.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@kern/efi/$(DEPDIR)/kernel_exec-sb.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@kern/emu/$(DEPDIR)/grub_emu-full.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@kern/emu/$(DEPDIR)/grub_emu_lite-lite.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@kern/emu/$(DEPDIR)/kernel_exec-argp_common.Po@am__quote@
+@@ -35285,6 +35299,20 @@ kern/efi/kernel_exec-acpi.obj: kern/efi/acpi.c
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @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`
++kern/efi/kernel_exec-sb.o: kern/efi/sb.c
++@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
++@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) kern/efi/$(DEPDIR)/kernel_exec-sb.Tpo kern/efi/$(DEPDIR)/kernel_exec-sb.Po
++@AMDEP_TRUE@@am__fastdepCC_FALSE@     $(AM_V_CC)source='kern/efi/sb.c' object='kern/efi/kernel_exec-sb.o' libtool=no @AMDEPBACKSLASH@
++@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++@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
++
++kern/efi/kernel_exec-sb.obj: kern/efi/sb.c
++@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`
++@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) kern/efi/$(DEPDIR)/kernel_exec-sb.Tpo kern/efi/$(DEPDIR)/kernel_exec-sb.Po
++@AMDEP_TRUE@@am__fastdepCC_FALSE@     $(AM_V_CC)source='kern/efi/sb.c' object='kern/efi/kernel_exec-sb.obj' libtool=no @AMDEPBACKSLASH@
++@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++@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`
++
+ kern/kernel_exec-compiler-rt.o: kern/compiler-rt.c
+ @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
+ @am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) kern/$(DEPDIR)/kernel_exec-compiler-rt.Tpo kern/$(DEPDIR)/kernel_exec-compiler-rt.Po
+diff --git a/grub-core/kern/efi/sb.c b/grub-core/kern/efi/sb.c
+new file mode 100644
+index 0000000..19658d9
+--- /dev/null
++++ b/grub-core/kern/efi/sb.c
+@@ -0,0 +1,109 @@
++/*
++ *  GRUB  --  GRand Unified Bootloader
++ *  Copyright (C) 2020  Free Software Foundation, Inc.
++ *
++ *  GRUB is free software: you can redistribute it and/or modify
++ *  it under the terms of the GNU General Public License as published by
++ *  the Free Software Foundation, either version 3 of the License, or
++ *  (at your option) any later version.
++ *
++ *  GRUB is distributed in the hope that it will be useful,
++ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *  GNU General Public License for more details.
++ *
++ *  You should have received a copy of the GNU General Public License
++ *  along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
++ *
++ *  UEFI Secure Boot related checkings.
++ */
++
++#include <grub/efi/efi.h>
++#include <grub/efi/pe32.h>
++#include <grub/efi/sb.h>
++#include <grub/err.h>
++#include <grub/i386/linux.h>
++#include <grub/mm.h>
++#include <grub/types.h>
++
++/*
++ * Determine whether we're in secure boot mode.
++ *
++ * Please keep the logic in sync with the Linux kernel,
++ * drivers/firmware/efi/libstub/secureboot.c:efi_get_secureboot().
++ */
++grub_uint8_t
++grub_efi_get_secureboot (void)
++{
++  static grub_efi_guid_t efi_variable_guid = GRUB_EFI_GLOBAL_VARIABLE_GUID;
++  static grub_efi_guid_t efi_shim_lock_guid = GRUB_EFI_SHIM_LOCK_GUID;
++  grub_efi_status_t status;
++  grub_efi_uint32_t attr = 0;
++  grub_size_t size = 0;
++  grub_uint8_t *secboot = NULL;
++  grub_uint8_t *setupmode = NULL;
++  grub_uint8_t *moksbstate = NULL;
++  grub_uint8_t secureboot = GRUB_EFI_SECUREBOOT_MODE_UNKNOWN;
++  const char *secureboot_str = "UNKNOWN";
++
++  status = grub_efi_get_variable ("SecureBoot", &efi_variable_guid,
++                                &size, (void **) &secboot);
++
++  if (status == GRUB_EFI_NOT_FOUND)
++    {
++      secureboot = GRUB_EFI_SECUREBOOT_MODE_DISABLED;
++      goto out;
++    }
++
++  if (status != GRUB_EFI_SUCCESS)
++    goto out;
++
++  status = grub_efi_get_variable ("SetupMode", &efi_variable_guid,
++                                &size, (void **) &setupmode);
++
++  if (status != GRUB_EFI_SUCCESS)
++    goto out;
++
++  if ((*secboot == 0) || (*setupmode == 1))
++    {
++      secureboot = GRUB_EFI_SECUREBOOT_MODE_DISABLED;
++      goto out;
++    }
++
++  /*
++   * See if a user has put the shim into insecure mode. If so, and if the
++   * variable doesn't have the runtime attribute set, we might as well
++   * honor that.
++   */
++  status = grub_efi_get_variable_with_attributes ("MokSBState", &efi_shim_lock_guid,
++                                                &size, (void **) &moksbstate, &attr);
++
++  /* If it fails, we don't care why. Default to secure. */
++  if (status != GRUB_EFI_SUCCESS)
++    {
++      secureboot = GRUB_EFI_SECUREBOOT_MODE_ENABLED;
++      goto out;
++    }
++
++  if (!(attr & GRUB_EFI_VARIABLE_RUNTIME_ACCESS) && *moksbstate == 1)
++    {
++      secureboot = GRUB_EFI_SECUREBOOT_MODE_DISABLED;
++      goto out;
++    }
++
++  secureboot = GRUB_EFI_SECUREBOOT_MODE_ENABLED;
++
++ out:
++  grub_free (moksbstate);
++  grub_free (setupmode);
++  grub_free (secboot);
++
++  if (secureboot == GRUB_EFI_SECUREBOOT_MODE_DISABLED)
++    secureboot_str = "Disabled";
++  else if (secureboot == GRUB_EFI_SECUREBOOT_MODE_ENABLED)
++    secureboot_str = "Enabled";
++
++  grub_dprintf ("efi", "UEFI Secure Boot state: %s\n", secureboot_str);
++
++  return secureboot;
++}
+diff --git a/include/grub/efi/sb.h b/include/grub/efi/sb.h
+new file mode 100644
+index 0000000..a33d985
+--- /dev/null
++++ b/include/grub/efi/sb.h
+@@ -0,0 +1,40 @@
++/*
++ *  GRUB  --  GRand Unified Bootloader
++ *  Copyright (C) 2020  Free Software Foundation, Inc.
++ *
++ *  GRUB is free software: you can redistribute it and/or modify
++ *  it under the terms of the GNU General Public License as published by
++ *  the Free Software Foundation, either version 3 of the License, or
++ *  (at your option) any later version.
++ *
++ *  GRUB is distributed in the hope that it will be useful,
++ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *  GNU General Public License for more details.
++ *
++ *  You should have received a copy of the GNU General Public License
++ *  along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#ifndef GRUB_EFI_SB_H
++#define GRUB_EFI_SB_H     1
++
++#include <grub/types.h>
++#include <grub/dl.h>
++
++#define GRUB_EFI_SECUREBOOT_MODE_UNSET        0
++#define GRUB_EFI_SECUREBOOT_MODE_UNKNOWN      1
++#define GRUB_EFI_SECUREBOOT_MODE_DISABLED     2
++#define GRUB_EFI_SECUREBOOT_MODE_ENABLED      3
++
++#ifdef GRUB_MACHINE_EFI
++extern grub_uint8_t
++EXPORT_FUNC (grub_efi_get_secureboot) (void);
++#else
++static inline grub_uint8_t
++grub_efi_get_secureboot (void)
++{
++  return GRUB_EFI_SECUREBOOT_MODE_UNSET;
++}
++#endif
++#endif /* GRUB_EFI_SB_H */
+diff --git a/po/POTFILES.in b/po/POTFILES.in
+index 5574cbe..22543be 100644
+--- a/po/POTFILES.in
++++ b/po/POTFILES.in
+@@ -266,6 +266,7 @@
+ ./grub-core/kern/efi/fdt.c
+ ./grub-core/kern/efi/init.c
+ ./grub-core/kern/efi/mm.c
++./grub-core/kern/efi/sb.c
+ ./grub-core/kern/elf.c
+ ./grub-core/kern/elfXX.c
+ ./grub-core/kern/emu/argp_common.c
+@@ -1053,6 +1054,7 @@
+ ./include/grub/efi/memory.h
+ ./include/grub/efi/pci.h
+ ./include/grub/efi/pe32.h
++./include/grub/efi/sb.h
+ ./include/grub/efi/tpm.h
+ ./include/grub/efi/uga_draw.h
+ ./include/grub/efiemu/efiemu.h
+-- 
+2.14.2
+
diff --git a/boot/grub2/0033-verifiers-Move-verifiers-API-to-kernel-image.patch b/boot/grub2/0033-verifiers-Move-verifiers-API-to-kernel-image.patch
new file mode 100644 (file)
index 0000000..9ce969c
--- /dev/null
@@ -0,0 +1,1650 @@
+From 9e95f45ceeef36fcf93cbfffcf004276883dbc99 Mon Sep 17 00:00:00 2001
+From: Marco A Benatto <mbenatto@redhat.com>
+Date: Wed, 23 Sep 2020 11:33:33 -0400
+Subject: [PATCH] verifiers: Move verifiers API to kernel image
+
+Move verifiers API from a module to the kernel image, so it can be
+used there as well. There are no functional changes in this patch.
+
+Signed-off-by: Marco A Benatto <mbenatto@redhat.com>
+Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+[Add changes to generated files]
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/Makefile.am          |   1 +
+ grub-core/Makefile.core.am     |  66 +++-----
+ grub-core/Makefile.core.def    |   6 +-
+ grub-core/Makefile.in          | 355 +++++++++++++++++++++--------------------
+ grub-core/commands/verifiers.c | 228 --------------------------
+ grub-core/kern/main.c          |   4 +
+ grub-core/kern/verifiers.c     | 224 ++++++++++++++++++++++++++
+ include/grub/verify.h          |   9 +-
+ po/POTFILES.in                 |   2 +-
+ 9 files changed, 446 insertions(+), 449 deletions(-)
+ delete mode 100644 grub-core/commands/verifiers.c
+ create mode 100644 grub-core/kern/verifiers.c
+
+diff --git a/grub-core/Makefile.am b/grub-core/Makefile.am
+index c6ba5b2..cc6fc7d 100644
+--- a/grub-core/Makefile.am
++++ b/grub-core/Makefile.am
+@@ -91,6 +91,7 @@ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/parser.h
+ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/partition.h
+ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/term.h
+ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/time.h
++KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/verify.h
+ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/mm_private.h
+ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/net.h
+ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/memory.h
+diff --git a/grub-core/Makefile.core.am b/grub-core/Makefile.core.am
+index f28b753..c4d67d4 100644
+--- a/grub-core/Makefile.core.am
++++ b/grub-core/Makefile.core.am
+@@ -6953,26 +6953,6 @@ CLEANFILES += pgp.marker
+ pgp.marker: $(pgp_module_SOURCES) $(nodist_pgp_module_SOURCES)
+       $(TARGET_CPP) -DGRUB_LST_GENERATOR $(CPPFLAGS_MARKER) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pgp_module_CPPFLAGS) $(CPPFLAGS) $^ > $@.new || (rm -f $@; exit 1)
+       grep 'MARKER' $@.new > $@; rm -f $@.new
+-platform_PROGRAMS += verifiers.module
+-MODULE_FILES += verifiers.module$(EXEEXT)
+-verifiers_module_SOURCES  = commands/verifiers.c  ## platform sources
+-nodist_verifiers_module_SOURCES  =  ## platform nodist sources
+-verifiers_module_LDADD  = 
+-verifiers_module_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_MODULE) 
+-verifiers_module_LDFLAGS  = $(AM_LDFLAGS) $(LDFLAGS_MODULE) 
+-verifiers_module_CPPFLAGS  = $(AM_CPPFLAGS) $(CPPFLAGS_MODULE) 
+-verifiers_module_CCASFLAGS  = $(AM_CCASFLAGS) $(CCASFLAGS_MODULE) 
+-verifiers_module_DEPENDENCIES  = $(TARGET_OBJ2ELF) 
+-dist_noinst_DATA += 
+-BUILT_SOURCES += $(nodist_verifiers_module_SOURCES)
+-CLEANFILES += $(nodist_verifiers_module_SOURCES)
+-MOD_FILES += verifiers.mod
+-MARKER_FILES += verifiers.marker
+-CLEANFILES += verifiers.marker
+-
+-verifiers.marker: $(verifiers_module_SOURCES) $(nodist_verifiers_module_SOURCES)
+-      $(TARGET_CPP) -DGRUB_LST_GENERATOR $(CPPFLAGS_MARKER) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(verifiers_module_CPPFLAGS) $(CPPFLAGS) $^ > $@.new || (rm -f $@; exit 1)
+-      grep 'MARKER' $@.new > $@; rm -f $@.new
+ if COND_x86_64_efi
+ platform_PROGRAMS += shim_lock.module
+@@ -22377,7 +22357,7 @@ gcry_whirlpool.marker: $(gcry_whirlpool_module_SOURCES) $(nodist_gcry_whirlpool_
+ if COND_emu
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = 
+-kernel_exec_SOURCES += disk/host.c kern/emu/cache_s.S kern/emu/hostdisk.c osdep/unix/hostdisk.c osdep/exec.c osdep/devmapper/hostdisk.c osdep/hostdisk.c kern/emu/hostfs.c kern/emu/main.c kern/emu/argp_common.c kern/emu/misc.c kern/emu/mm.c kern/emu/time.c kern/emu/cache.c osdep/emuconsole.c osdep/dl.c osdep/sleep.c osdep/init.c osdep/emunet.c osdep/cputime.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.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 
++kernel_exec_SOURCES += disk/host.c kern/emu/cache_s.S kern/emu/hostdisk.c osdep/unix/hostdisk.c osdep/exec.c osdep/devmapper/hostdisk.c osdep/hostdisk.c kern/emu/hostfs.c kern/emu/main.c kern/emu/argp_common.c kern/emu/misc.c kern/emu/mm.c kern/emu/time.c kern/emu/cache.c osdep/emuconsole.c osdep/dl.c osdep/sleep.c osdep/init.c osdep/emunet.c osdep/cputime.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  =  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) $(CFLAGS_GNULIB) 
+@@ -22399,7 +22379,7 @@ endif
+ if COND_i386_pc
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/i386/pc/startup.S 
+-kernel_exec_SOURCES += kern/i386/pc/init.c kern/i386/pc/mmap.c term/i386/pc/console.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.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 
++kernel_exec_SOURCES += kern/i386/pc/init.c kern/i386/pc/mmap.c term/i386/pc/console.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22421,7 +22401,7 @@ endif
+ if COND_i386_efi
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/i386/efi/startup.S 
+-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 
++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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22443,7 +22423,7 @@ endif
+ if COND_i386_qemu
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/i386/qemu/startup.S 
+-kernel_exec_SOURCES += kern/i386/qemu/init.c bus/pci.c kern/vga_init.c kern/i386/qemu/mmap.c term/i386/pc/vga_text.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.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 
++kernel_exec_SOURCES += kern/i386/qemu/init.c bus/pci.c kern/vga_init.c kern/i386/qemu/mmap.c term/i386/pc/vga_text.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22465,7 +22445,7 @@ endif
+ if COND_i386_coreboot
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/i386/coreboot/startup.S 
+-kernel_exec_SOURCES += kern/i386/coreboot/init.c kern/i386/pc/acpi.c kern/acpi.c kern/i386/tsc_pmtimer.c kern/i386/coreboot/cbtable.c video/coreboot/cbfb.c kern/coreboot/mmap.c kern/coreboot/cbtable.c term/gfxterm.c font/font.c font/font_cmd.c io/bufio.c video/fb/fbblit.c video/fb/fbfill.c video/fb/fbutil.c video/fb/video_fb.c video/video.c term/i386/pc/vga_text.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.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 
++kernel_exec_SOURCES += kern/i386/coreboot/init.c kern/i386/pc/acpi.c kern/acpi.c kern/i386/tsc_pmtimer.c kern/i386/coreboot/cbtable.c video/coreboot/cbfb.c kern/coreboot/mmap.c kern/coreboot/cbtable.c term/gfxterm.c font/font.c font/font_cmd.c io/bufio.c video/fb/fbblit.c video/fb/fbfill.c video/fb/fbutil.c video/fb/video_fb.c video/video.c term/i386/pc/vga_text.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22487,7 +22467,7 @@ endif
+ if COND_i386_multiboot
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/i386/coreboot/startup.S 
+-kernel_exec_SOURCES += kern/i386/coreboot/init.c kern/i386/pc/acpi.c kern/acpi.c kern/i386/multiboot_mmap.c term/i386/pc/vga_text.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.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 
++kernel_exec_SOURCES += kern/i386/coreboot/init.c kern/i386/pc/acpi.c kern/acpi.c kern/i386/multiboot_mmap.c term/i386/pc/vga_text.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22509,7 +22489,7 @@ endif
+ if COND_i386_ieee1275
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/i386/ieee1275/startup.S 
+-kernel_exec_SOURCES += disk/ieee1275/ofdisk.c kern/ieee1275/cmain.c kern/ieee1275/ieee1275.c kern/ieee1275/mmap.c kern/ieee1275/openfw.c term/ieee1275/console.c kern/ieee1275/init.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.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 
++kernel_exec_SOURCES += disk/ieee1275/ofdisk.c kern/ieee1275/cmain.c kern/ieee1275/ieee1275.c kern/ieee1275/mmap.c kern/ieee1275/openfw.c term/ieee1275/console.c kern/ieee1275/init.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22531,7 +22511,7 @@ endif
+ if COND_x86_64_efi
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/x86_64/efi/startup.S 
+-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 
++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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22553,7 +22533,7 @@ endif
+ if COND_i386_xen
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/i386/xen/startup.S 
+-kernel_exec_SOURCES += kern/i386/dl.c kern/i386/xen/hypercall.S kern/i386/tsc.c kern/i386/xen/tsc.c kern/xen/init.c term/xen/console.c disk/xen/xendisk.c commands/boot.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.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 
++kernel_exec_SOURCES += kern/i386/dl.c kern/i386/xen/hypercall.S kern/i386/tsc.c kern/i386/xen/tsc.c kern/xen/init.c term/xen/console.c disk/xen/xendisk.c commands/boot.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22575,7 +22555,7 @@ endif
+ if COND_x86_64_xen
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/x86_64/xen/startup.S 
+-kernel_exec_SOURCES += kern/x86_64/dl.c kern/x86_64/xen/hypercall.S kern/i386/tsc.c kern/i386/xen/tsc.c kern/xen/init.c term/xen/console.c disk/xen/xendisk.c commands/boot.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.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 
++kernel_exec_SOURCES += kern/x86_64/dl.c kern/x86_64/xen/hypercall.S kern/i386/tsc.c kern/i386/xen/tsc.c kern/xen/init.c term/xen/console.c disk/xen/xendisk.c commands/boot.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22597,7 +22577,7 @@ endif
+ if COND_i386_xen_pvh
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/i386/xen/startup_pvh.S 
+-kernel_exec_SOURCES += kern/i386/dl.c commands/boot.c disk/xen/xendisk.c kern/i386/tsc.c kern/i386/xen/tsc.c kern/i386/xen/pvh.c kern/xen/init.c term/xen/console.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.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 
++kernel_exec_SOURCES += kern/i386/dl.c commands/boot.c disk/xen/xendisk.c kern/i386/tsc.c kern/i386/xen/tsc.c kern/i386/xen/pvh.c kern/xen/init.c term/xen/console.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22619,7 +22599,7 @@ endif
+ if COND_mips_loongson
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/mips/startup.S 
+-kernel_exec_SOURCES += term/ns8250.c bus/bonito.c bus/cs5536.c bus/pci.c kern/mips/loongson/init.c term/at_keyboard.c term/ps2.c commands/boot.c term/serial.c video/sm712.c video/sis315pro.c video/radeon_fuloong2e.c video/radeon_yeeloong3a.c commands/keylayouts.c term/gfxterm.c font/font.c font/font_cmd.c io/bufio.c video/fb/fbblit.c video/fb/fbfill.c video/fb/fbutil.c video/fb/video_fb.c video/video.c kern/generic/rtc_get_time_ms.c kern/mips/cache.S kern/mips/dl.c kern/mips/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.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 
++kernel_exec_SOURCES += term/ns8250.c bus/bonito.c bus/cs5536.c bus/pci.c kern/mips/loongson/init.c term/at_keyboard.c term/ps2.c commands/boot.c term/serial.c video/sm712.c video/sis315pro.c video/radeon_fuloong2e.c video/radeon_yeeloong3a.c commands/keylayouts.c term/gfxterm.c font/font.c font/font_cmd.c io/bufio.c video/fb/fbblit.c video/fb/fbfill.c video/fb/fbutil.c video/fb/video_fb.c video/video.c kern/generic/rtc_get_time_ms.c kern/mips/cache.S kern/mips/dl.c kern/mips/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22641,7 +22621,7 @@ endif
+ if COND_sparc64_ieee1275
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/sparc64/ieee1275/crt0.S 
+-kernel_exec_SOURCES += kern/sparc64/cache.S kern/sparc64/dl.c kern/sparc64/ieee1275/ieee1275.c disk/ieee1275/obdisk.c disk/ieee1275/ofdisk.c kern/ieee1275/cmain.c kern/ieee1275/ieee1275.c kern/ieee1275/mmap.c kern/ieee1275/openfw.c term/ieee1275/console.c kern/ieee1275/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.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 
++kernel_exec_SOURCES += kern/sparc64/cache.S kern/sparc64/dl.c kern/sparc64/ieee1275/ieee1275.c disk/ieee1275/obdisk.c disk/ieee1275/ofdisk.c kern/ieee1275/cmain.c kern/ieee1275/ieee1275.c kern/ieee1275/mmap.c kern/ieee1275/openfw.c term/ieee1275/console.c kern/ieee1275/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22663,7 +22643,7 @@ endif
+ if COND_powerpc_ieee1275
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/powerpc/ieee1275/startup.S 
+-kernel_exec_SOURCES += kern/powerpc/cache.S kern/powerpc/dl.c kern/powerpc/compiler-rt.S disk/ieee1275/ofdisk.c kern/ieee1275/cmain.c kern/ieee1275/ieee1275.c kern/ieee1275/mmap.c kern/ieee1275/openfw.c term/ieee1275/console.c kern/ieee1275/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.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 
++kernel_exec_SOURCES += kern/powerpc/cache.S kern/powerpc/dl.c kern/powerpc/compiler-rt.S disk/ieee1275/ofdisk.c kern/ieee1275/cmain.c kern/ieee1275/ieee1275.c kern/ieee1275/mmap.c kern/ieee1275/openfw.c term/ieee1275/console.c kern/ieee1275/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22685,7 +22665,7 @@ endif
+ if COND_mips_arc
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/mips/startup.S 
+-kernel_exec_SOURCES += kern/mips/arc/init.c term/arc/console.c disk/arc/arcdisk.c kern/generic/rtc_get_time_ms.c kern/mips/cache.S kern/mips/dl.c kern/mips/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.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 
++kernel_exec_SOURCES += kern/mips/arc/init.c term/arc/console.c disk/arc/arcdisk.c kern/generic/rtc_get_time_ms.c kern/mips/cache.S kern/mips/dl.c kern/mips/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22707,7 +22687,7 @@ endif
+ if COND_ia64_efi
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = 
+-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 
++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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) -fno-builtin -fpic -minline-int-divide-max-throughput 
+@@ -22729,7 +22709,7 @@ endif
+ if COND_mips_qemu_mips
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/mips/startup.S 
+-kernel_exec_SOURCES += kern/mips/qemu_mips/init.c term/ns8250.c term/serial.c term/at_keyboard.c term/ps2.c commands/boot.c commands/keylayouts.c term/i386/pc/vga_text.c kern/vga_init.c kern/generic/rtc_get_time_ms.c kern/mips/cache.S kern/mips/dl.c kern/mips/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.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 
++kernel_exec_SOURCES += kern/mips/qemu_mips/init.c term/ns8250.c term/serial.c term/at_keyboard.c term/ps2.c commands/boot.c commands/keylayouts.c term/i386/pc/vga_text.c kern/vga_init.c kern/generic/rtc_get_time_ms.c kern/mips/cache.S kern/mips/dl.c kern/mips/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22751,7 +22731,7 @@ endif
+ if COND_arm_uboot
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/arm/startup.S 
+-kernel_exec_SOURCES += kern/arm/uboot/init.c kern/arm/uboot/uboot.S disk/uboot/ubootdisk.c kern/uboot/uboot.c kern/uboot/init.c kern/uboot/hw.c term/uboot/console.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 term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.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 
++kernel_exec_SOURCES += kern/arm/uboot/init.c kern/arm/uboot/uboot.S disk/uboot/ubootdisk.c kern/uboot/uboot.c kern/uboot/init.c kern/uboot/hw.c term/uboot/console.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 term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22773,7 +22753,7 @@ endif
+ if COND_arm_efi
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/arm/efi/startup.S 
+-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 
++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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22795,7 +22775,7 @@ endif
+ if COND_arm64_efi
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/arm64/efi/startup.S 
+-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 
++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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22817,7 +22797,7 @@ endif
+ if COND_arm_coreboot
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/arm/startup.S 
+-kernel_exec_SOURCES += kern/arm/coreboot/init.c kern/arm/coreboot/timer.c kern/arm/coreboot/coreboot.S lib/fdt.c bus/fdt.c term/ps2.c term/arm/pl050.c term/arm/cros.c term/arm/cros_ec.c bus/spi/rk3288_spi.c commands/keylayouts.c kern/arm/coreboot/dma.c kern/arm/coreboot/cbtable.c video/coreboot/cbfb.c kern/coreboot/mmap.c kern/coreboot/cbtable.c term/gfxterm.c font/font.c font/font_cmd.c io/bufio.c video/fb/fbblit.c video/fb/fbfill.c video/fb/fbutil.c video/fb/video_fb.c video/video.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 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 
++kernel_exec_SOURCES += kern/arm/coreboot/init.c kern/arm/coreboot/timer.c kern/arm/coreboot/coreboot.S lib/fdt.c bus/fdt.c term/ps2.c term/arm/pl050.c term/arm/cros.c term/arm/cros_ec.c bus/spi/rk3288_spi.c commands/keylayouts.c kern/arm/coreboot/dma.c kern/arm/coreboot/cbtable.c video/coreboot/cbfb.c kern/coreboot/mmap.c kern/coreboot/cbtable.c term/gfxterm.c font/font.c font/font_cmd.c io/bufio.c video/fb/fbblit.c video/fb/fbfill.c video/fb/fbutil.c video/fb/video_fb.c video/video.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 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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22839,7 +22819,7 @@ endif
+ if COND_riscv32_efi
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/riscv/efi/startup.S 
+-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 
++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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22861,7 +22841,7 @@ endif
+ if COND_riscv64_efi
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/riscv/efi/startup.S 
+-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 
++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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
+index abd26cf..f6c0348 100644
+--- a/grub-core/Makefile.core.def
++++ b/grub-core/Makefile.core.def
+@@ -140,6 +140,7 @@ kernel = {
+   common = kern/rescue_parser.c;
+   common = kern/rescue_reader.c;
+   common = kern/term.c;
++  common = kern/verifiers.c;
+   noemu = kern/compiler-rt.c;
+   noemu = kern/mm.c;
+@@ -943,11 +944,6 @@ module = {
+   cppflags = '-I$(srcdir)/lib/posix_wrap';
+ };
+-module = {
+-  name = verifiers;
+-  common = commands/verifiers.c;
+-};
+-
+ module = {
+   name = shim_lock;
+   common = commands/efi/shim_lock.c;
+diff --git a/grub-core/Makefile.in b/grub-core/Makefile.in
+index 8fb81ee..8930714 100644
+--- a/grub-core/Makefile.in
++++ b/grub-core/Makefile.in
+@@ -202,39 +202,39 @@ platform_PROGRAMS = disk.module$(EXEEXT) trig.module$(EXEEXT) \
+       $(am__EXEEXT_286) $(am__EXEEXT_287) $(am__EXEEXT_288) \
+       $(am__EXEEXT_289) $(am__EXEEXT_290) $(am__EXEEXT_291) \
+       $(am__EXEEXT_292) hashsum.module$(EXEEXT) pgp.module$(EXEEXT) \
+-      verifiers.module$(EXEEXT) $(am__EXEEXT_293) $(am__EXEEXT_294) \
+-      $(am__EXEEXT_295) $(am__EXEEXT_296) $(am__EXEEXT_297) \
+-      $(am__EXEEXT_298) $(am__EXEEXT_299) $(am__EXEEXT_300) \
+-      $(am__EXEEXT_301) $(am__EXEEXT_302) help.module$(EXEEXT) \
+-      hexdump.module$(EXEEXT) keystatus.module$(EXEEXT) \
+-      $(am__EXEEXT_303) $(am__EXEEXT_304) loadenv.module$(EXEEXT) \
+-      ls.module$(EXEEXT) lsmmap.module$(EXEEXT) $(am__EXEEXT_305) \
+-      $(am__EXEEXT_306) $(am__EXEEXT_307) $(am__EXEEXT_308) \
+-      $(am__EXEEXT_309) $(am__EXEEXT_310) $(am__EXEEXT_311) \
+-      $(am__EXEEXT_312) memrw.module$(EXEEXT) \
+-      minicmd.module$(EXEEXT) parttool.module$(EXEEXT) \
+-      password.module$(EXEEXT) password_pbkdf2.module$(EXEEXT) \
+-      $(am__EXEEXT_313) $(am__EXEEXT_314) $(am__EXEEXT_315) \
+-      $(am__EXEEXT_316) $(am__EXEEXT_317) $(am__EXEEXT_318) \
+-      $(am__EXEEXT_319) $(am__EXEEXT_320) $(am__EXEEXT_321) \
+-      $(am__EXEEXT_322) $(am__EXEEXT_323) $(am__EXEEXT_324) \
+-      $(am__EXEEXT_325) $(am__EXEEXT_326) $(am__EXEEXT_327) \
+-      $(am__EXEEXT_328) $(am__EXEEXT_329) $(am__EXEEXT_330) \
+-      $(am__EXEEXT_331) $(am__EXEEXT_332) $(am__EXEEXT_333) \
+-      probe.module$(EXEEXT) read.module$(EXEEXT) \
+-      search.module$(EXEEXT) search_fs_file.module$(EXEEXT) \
+-      search_fs_uuid.module$(EXEEXT) search_label.module$(EXEEXT) \
+-      $(am__EXEEXT_334) $(am__EXEEXT_335) $(am__EXEEXT_336) \
+-      $(am__EXEEXT_337) $(am__EXEEXT_338) $(am__EXEEXT_339) \
+-      $(am__EXEEXT_340) $(am__EXEEXT_341) $(am__EXEEXT_342) \
+-      $(am__EXEEXT_343) $(am__EXEEXT_344) $(am__EXEEXT_345) \
+-      $(am__EXEEXT_346) $(am__EXEEXT_347) $(am__EXEEXT_348) \
+-      $(am__EXEEXT_349) sleep.module$(EXEEXT) $(am__EXEEXT_350) \
+-      $(am__EXEEXT_351) terminal.module$(EXEEXT) \
+-      test.module$(EXEEXT) true.module$(EXEEXT) $(am__EXEEXT_352) \
+-      $(am__EXEEXT_353) $(am__EXEEXT_354) $(am__EXEEXT_355) \
+-      $(am__EXEEXT_356) $(am__EXEEXT_357) $(am__EXEEXT_358) \
+-      $(am__EXEEXT_359) $(am__EXEEXT_360) videoinfo.module$(EXEEXT) \
++      $(am__EXEEXT_293) $(am__EXEEXT_294) $(am__EXEEXT_295) \
++      $(am__EXEEXT_296) $(am__EXEEXT_297) $(am__EXEEXT_298) \
++      $(am__EXEEXT_299) $(am__EXEEXT_300) $(am__EXEEXT_301) \
++      $(am__EXEEXT_302) help.module$(EXEEXT) hexdump.module$(EXEEXT) \
++      keystatus.module$(EXEEXT) $(am__EXEEXT_303) $(am__EXEEXT_304) \
++      loadenv.module$(EXEEXT) ls.module$(EXEEXT) \
++      lsmmap.module$(EXEEXT) $(am__EXEEXT_305) $(am__EXEEXT_306) \
++      $(am__EXEEXT_307) $(am__EXEEXT_308) $(am__EXEEXT_309) \
++      $(am__EXEEXT_310) $(am__EXEEXT_311) $(am__EXEEXT_312) \
++      memrw.module$(EXEEXT) minicmd.module$(EXEEXT) \
++      parttool.module$(EXEEXT) password.module$(EXEEXT) \
++      password_pbkdf2.module$(EXEEXT) $(am__EXEEXT_313) \
++      $(am__EXEEXT_314) $(am__EXEEXT_315) $(am__EXEEXT_316) \
++      $(am__EXEEXT_317) $(am__EXEEXT_318) $(am__EXEEXT_319) \
++      $(am__EXEEXT_320) $(am__EXEEXT_321) $(am__EXEEXT_322) \
++      $(am__EXEEXT_323) $(am__EXEEXT_324) $(am__EXEEXT_325) \
++      $(am__EXEEXT_326) $(am__EXEEXT_327) $(am__EXEEXT_328) \
++      $(am__EXEEXT_329) $(am__EXEEXT_330) $(am__EXEEXT_331) \
++      $(am__EXEEXT_332) $(am__EXEEXT_333) probe.module$(EXEEXT) \
++      read.module$(EXEEXT) search.module$(EXEEXT) \
++      search_fs_file.module$(EXEEXT) search_fs_uuid.module$(EXEEXT) \
++      search_label.module$(EXEEXT) $(am__EXEEXT_334) \
++      $(am__EXEEXT_335) $(am__EXEEXT_336) $(am__EXEEXT_337) \
++      $(am__EXEEXT_338) $(am__EXEEXT_339) $(am__EXEEXT_340) \
++      $(am__EXEEXT_341) $(am__EXEEXT_342) $(am__EXEEXT_343) \
++      $(am__EXEEXT_344) $(am__EXEEXT_345) $(am__EXEEXT_346) \
++      $(am__EXEEXT_347) $(am__EXEEXT_348) $(am__EXEEXT_349) \
++      sleep.module$(EXEEXT) $(am__EXEEXT_350) $(am__EXEEXT_351) \
++      terminal.module$(EXEEXT) test.module$(EXEEXT) \
++      true.module$(EXEEXT) $(am__EXEEXT_352) $(am__EXEEXT_353) \
++      $(am__EXEEXT_354) $(am__EXEEXT_355) $(am__EXEEXT_356) \
++      $(am__EXEEXT_357) $(am__EXEEXT_358) $(am__EXEEXT_359) \
++      $(am__EXEEXT_360) videoinfo.module$(EXEEXT) \
+       videotest.module$(EXEEXT) xnu_uuid.module$(EXEEXT) \
+       dm_nv.module$(EXEEXT) loopback.module$(EXEEXT) \
+       cryptodisk.module$(EXEEXT) luks.module$(EXEEXT) \
+@@ -10474,7 +10474,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+       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 \
+-      kern/arm/startup.S kern/arm/coreboot/init.c \
++      kern/verifiers.c kern/arm/startup.S kern/arm/coreboot/init.c \
+       kern/arm/coreboot/timer.c kern/arm/coreboot/coreboot.S \
+       lib/fdt.c bus/fdt.c term/ps2.c term/arm/pl050.c \
+       term/arm/cros.c term/arm/cros_ec.c bus/spi/rk3288_spi.c \
+@@ -10564,7 +10564,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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_FALSE@@COND_x86_64_xen_TRUE@   kern/kernel_exec-partition.$(OBJEXT) \
+ @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_FALSE@@COND_x86_64_xen_TRUE@   kern/kernel_exec-rescue_parser.$(OBJEXT) \
+ @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_FALSE@@COND_x86_64_xen_TRUE@   kern/kernel_exec-rescue_reader.$(OBJEXT) \
+-@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_FALSE@@COND_x86_64_xen_TRUE@   kern/kernel_exec-term.$(OBJEXT)
++@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_FALSE@@COND_x86_64_xen_TRUE@   kern/kernel_exec-term.$(OBJEXT) \
++@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_FALSE@@COND_x86_64_xen_TRUE@   kern/kernel_exec-verifiers.$(OBJEXT)
+ @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@am_kernel_exec_OBJECTS = kern/x86_64/efi/kernel_exec-startup.$(OBJEXT) \
+ @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/i386/efi/kernel_exec-tsc.$(OBJEXT) \
+ @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/i386/kernel_exec-tsc_pmtimer.$(OBJEXT) \
+@@ -10602,7 +10603,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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-partition.$(OBJEXT) \
+ @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-rescue_parser.$(OBJEXT) \
+ @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-rescue_reader.$(OBJEXT) \
+-@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-term.$(OBJEXT)
++@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-term.$(OBJEXT) \
++@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-verifiers.$(OBJEXT)
+ @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_TRUE@am_kernel_exec_OBJECTS = kern/sparc64/ieee1275/kernel_exec-crt0.$(OBJEXT) \
+ @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_TRUE@ kern/sparc64/kernel_exec-cache.$(OBJEXT) \
+ @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_TRUE@ kern/sparc64/kernel_exec-dl.$(OBJEXT) \
+@@ -10639,7 +10641,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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_TRUE@ kern/kernel_exec-partition.$(OBJEXT) \
+ @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_TRUE@ kern/kernel_exec-rescue_parser.$(OBJEXT) \
+ @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_TRUE@ kern/kernel_exec-rescue_reader.$(OBJEXT) \
+-@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_TRUE@ kern/kernel_exec-term.$(OBJEXT)
++@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_TRUE@ kern/kernel_exec-term.$(OBJEXT) \
++@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_TRUE@ kern/kernel_exec-verifiers.$(OBJEXT)
+ @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@am_kernel_exec_OBJECTS = kern/riscv/efi/kernel_exec-startup.$(OBJEXT) \
+ @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/riscv/efi/kernel_exec-init.$(OBJEXT) \
+ @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-fdt.$(OBJEXT) \
+@@ -10674,7 +10677,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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-partition.$(OBJEXT) \
+ @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-rescue_parser.$(OBJEXT) \
+ @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-rescue_reader.$(OBJEXT) \
+-@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-term.$(OBJEXT)
++@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-term.$(OBJEXT) \
++@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-verifiers.$(OBJEXT)
+ @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@am_kernel_exec_OBJECTS = kern/riscv/efi/kernel_exec-startup.$(OBJEXT) \
+ @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/riscv/efi/kernel_exec-init.$(OBJEXT) \
+ @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-fdt.$(OBJEXT) \
+@@ -10710,7 +10714,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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-partition.$(OBJEXT) \
+ @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-rescue_parser.$(OBJEXT) \
+ @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-rescue_reader.$(OBJEXT) \
+-@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-term.$(OBJEXT)
++@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-term.$(OBJEXT) \
++@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-verifiers.$(OBJEXT)
+ @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_TRUE@am_kernel_exec_OBJECTS = kern/powerpc/ieee1275/kernel_exec-startup.$(OBJEXT) \
+ @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_TRUE@      kern/powerpc/kernel_exec-cache.$(OBJEXT) \
+ @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_TRUE@      kern/powerpc/kernel_exec-dl.$(OBJEXT) \
+@@ -10746,7 +10751,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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_TRUE@      kern/kernel_exec-partition.$(OBJEXT) \
+ @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_TRUE@      kern/kernel_exec-rescue_parser.$(OBJEXT) \
+ @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_TRUE@      kern/kernel_exec-rescue_reader.$(OBJEXT) \
+-@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_TRUE@      kern/kernel_exec-term.$(OBJEXT)
++@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_TRUE@      kern/kernel_exec-term.$(OBJEXT) \
++@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_TRUE@      kern/kernel_exec-verifiers.$(OBJEXT)
+ @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_TRUE@am_kernel_exec_OBJECTS = kern/mips/kernel_exec-startup.$(OBJEXT) \
+ @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_TRUE@   kern/mips/qemu_mips/kernel_exec-init.$(OBJEXT) \
+ @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_TRUE@   term/kernel_exec-ns8250.$(OBJEXT) \
+@@ -10785,7 +10791,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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_TRUE@   kern/kernel_exec-partition.$(OBJEXT) \
+ @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_TRUE@   kern/kernel_exec-rescue_parser.$(OBJEXT) \
+ @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_TRUE@   kern/kernel_exec-rescue_reader.$(OBJEXT) \
+-@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_TRUE@   kern/kernel_exec-term.$(OBJEXT)
++@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_TRUE@   kern/kernel_exec-term.$(OBJEXT) \
++@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_TRUE@   kern/kernel_exec-verifiers.$(OBJEXT)
+ @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_TRUE@am_kernel_exec_OBJECTS = kern/mips/kernel_exec-startup.$(OBJEXT) \
+ @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_TRUE@      term/kernel_exec-ns8250.$(OBJEXT) \
+ @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_TRUE@      bus/kernel_exec-bonito.$(OBJEXT) \
+@@ -10838,7 +10845,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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_TRUE@      kern/kernel_exec-partition.$(OBJEXT) \
+ @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_TRUE@      kern/kernel_exec-rescue_parser.$(OBJEXT) \
+ @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_TRUE@      kern/kernel_exec-rescue_reader.$(OBJEXT) \
+-@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_TRUE@      kern/kernel_exec-term.$(OBJEXT)
++@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_TRUE@      kern/kernel_exec-term.$(OBJEXT) \
++@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_TRUE@      kern/kernel_exec-verifiers.$(OBJEXT)
+ @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_TRUE@am_kernel_exec_OBJECTS = kern/mips/kernel_exec-startup.$(OBJEXT) \
+ @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_TRUE@        kern/mips/arc/kernel_exec-init.$(OBJEXT) \
+ @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_TRUE@        term/arc/kernel_exec-console.$(OBJEXT) \
+@@ -10871,7 +10879,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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_TRUE@        kern/kernel_exec-partition.$(OBJEXT) \
+ @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_TRUE@        kern/kernel_exec-rescue_parser.$(OBJEXT) \
+ @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_TRUE@        kern/kernel_exec-rescue_reader.$(OBJEXT) \
+-@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_TRUE@        kern/kernel_exec-term.$(OBJEXT)
++@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_TRUE@        kern/kernel_exec-term.$(OBJEXT) \
++@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_TRUE@        kern/kernel_exec-verifiers.$(OBJEXT)
+ @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@am_kernel_exec_OBJECTS = kern/ia64/efi/kernel_exec-startup.$(OBJEXT) \
+ @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/ia64/efi/kernel_exec-init.$(OBJEXT) \
+ @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/ia64/kernel_exec-dl.$(OBJEXT) \
+@@ -10906,7 +10915,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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-partition.$(OBJEXT) \
+ @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-rescue_parser.$(OBJEXT) \
+ @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-rescue_reader.$(OBJEXT) \
+-@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-term.$(OBJEXT)
++@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-term.$(OBJEXT) \
++@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-verifiers.$(OBJEXT)
+ @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_TRUE@am_kernel_exec_OBJECTS = kern/i386/xen/kernel_exec-startup_pvh.$(OBJEXT) \
+ @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_TRUE@  kern/i386/kernel_exec-dl.$(OBJEXT) \
+ @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_TRUE@  commands/kernel_exec-boot.$(OBJEXT) \
+@@ -10940,7 +10950,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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_TRUE@  kern/kernel_exec-partition.$(OBJEXT) \
+ @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_TRUE@  kern/kernel_exec-rescue_parser.$(OBJEXT) \
+ @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_TRUE@  kern/kernel_exec-rescue_reader.$(OBJEXT) \
+-@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_TRUE@  kern/kernel_exec-term.$(OBJEXT)
++@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_TRUE@  kern/kernel_exec-term.$(OBJEXT) \
++@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_TRUE@  kern/kernel_exec-verifiers.$(OBJEXT)
+ @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_TRUE@am_kernel_exec_OBJECTS = kern/i386/xen/kernel_exec-startup.$(OBJEXT) \
+ @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_TRUE@   kern/i386/kernel_exec-dl.$(OBJEXT) \
+ @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_TRUE@   kern/i386/xen/kernel_exec-hypercall.$(OBJEXT) \
+@@ -10974,7 +10985,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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_TRUE@   kern/kernel_exec-partition.$(OBJEXT) \
+ @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_TRUE@   kern/kernel_exec-rescue_parser.$(OBJEXT) \
+ @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_TRUE@   kern/kernel_exec-rescue_reader.$(OBJEXT) \
+-@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_TRUE@   kern/kernel_exec-term.$(OBJEXT)
++@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_TRUE@   kern/kernel_exec-term.$(OBJEXT) \
++@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_TRUE@   kern/kernel_exec-verifiers.$(OBJEXT)
+ @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_TRUE@am_kernel_exec_OBJECTS = kern/i386/qemu/kernel_exec-startup.$(OBJEXT) \
+ @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_TRUE@        kern/i386/qemu/kernel_exec-init.$(OBJEXT) \
+ @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_TRUE@        bus/kernel_exec-pci.$(OBJEXT) \
+@@ -11004,7 +11016,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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_TRUE@        kern/kernel_exec-partition.$(OBJEXT) \
+ @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_TRUE@        kern/kernel_exec-rescue_parser.$(OBJEXT) \
+ @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_TRUE@        kern/kernel_exec-rescue_reader.$(OBJEXT) \
+-@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_TRUE@        kern/kernel_exec-term.$(OBJEXT)
++@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_TRUE@        kern/kernel_exec-term.$(OBJEXT) \
++@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_TRUE@        kern/kernel_exec-verifiers.$(OBJEXT)
+ @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_TRUE@am_kernel_exec_OBJECTS = kern/i386/pc/kernel_exec-startup.$(OBJEXT) \
+ @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_TRUE@      kern/i386/pc/kernel_exec-init.$(OBJEXT) \
+ @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_TRUE@      kern/i386/pc/kernel_exec-mmap.$(OBJEXT) \
+@@ -11032,7 +11045,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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_TRUE@      kern/kernel_exec-partition.$(OBJEXT) \
+ @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_TRUE@      kern/kernel_exec-rescue_parser.$(OBJEXT) \
+ @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_TRUE@      kern/kernel_exec-rescue_reader.$(OBJEXT) \
+-@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_TRUE@      kern/kernel_exec-term.$(OBJEXT)
++@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_TRUE@      kern/kernel_exec-term.$(OBJEXT) \
++@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_TRUE@      kern/kernel_exec-verifiers.$(OBJEXT)
+ @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_TRUE@am_kernel_exec_OBJECTS = kern/i386/coreboot/kernel_exec-startup.$(OBJEXT) \
+ @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_TRUE@  kern/i386/coreboot/kernel_exec-init.$(OBJEXT) \
+ @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_TRUE@  kern/i386/pc/kernel_exec-acpi.$(OBJEXT) \
+@@ -11062,7 +11076,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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_TRUE@  kern/kernel_exec-partition.$(OBJEXT) \
+ @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_TRUE@  kern/kernel_exec-rescue_parser.$(OBJEXT) \
+ @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_TRUE@  kern/kernel_exec-rescue_reader.$(OBJEXT) \
+-@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_TRUE@  kern/kernel_exec-term.$(OBJEXT)
++@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_TRUE@  kern/kernel_exec-term.$(OBJEXT) \
++@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_TRUE@  kern/kernel_exec-verifiers.$(OBJEXT)
+ @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_TRUE@am_kernel_exec_OBJECTS = kern/i386/ieee1275/kernel_exec-startup.$(OBJEXT) \
+ @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_TRUE@     disk/ieee1275/kernel_exec-ofdisk.$(OBJEXT) \
+ @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_TRUE@     kern/ieee1275/kernel_exec-cmain.$(OBJEXT) \
+@@ -11098,7 +11113,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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_TRUE@     kern/kernel_exec-partition.$(OBJEXT) \
+ @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_TRUE@     kern/kernel_exec-rescue_parser.$(OBJEXT) \
+ @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_TRUE@     kern/kernel_exec-rescue_reader.$(OBJEXT) \
+-@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_TRUE@     kern/kernel_exec-term.$(OBJEXT)
++@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_TRUE@     kern/kernel_exec-term.$(OBJEXT) \
++@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_TRUE@     kern/kernel_exec-verifiers.$(OBJEXT)
+ @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@am_kernel_exec_OBJECTS = kern/i386/efi/kernel_exec-startup.$(OBJEXT) \
+ @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/i386/efi/kernel_exec-tsc.$(OBJEXT) \
+ @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/i386/kernel_exec-tsc_pmtimer.$(OBJEXT) \
+@@ -11135,7 +11151,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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-partition.$(OBJEXT) \
+ @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-rescue_parser.$(OBJEXT) \
+ @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-rescue_reader.$(OBJEXT) \
+-@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-term.$(OBJEXT)
++@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-term.$(OBJEXT) \
++@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-verifiers.$(OBJEXT)
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_TRUE@am_kernel_exec_OBJECTS = kern/i386/coreboot/kernel_exec-startup.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_TRUE@    kern/i386/coreboot/kernel_exec-init.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_TRUE@    kern/i386/pc/kernel_exec-acpi.$(OBJEXT) \
+@@ -11178,7 +11195,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_TRUE@    kern/kernel_exec-partition.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_TRUE@    kern/kernel_exec-rescue_parser.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_TRUE@    kern/kernel_exec-rescue_reader.$(OBJEXT) \
+-@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_TRUE@    kern/kernel_exec-term.$(OBJEXT)
++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_TRUE@    kern/kernel_exec-term.$(OBJEXT) \
++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_TRUE@    kern/kernel_exec-verifiers.$(OBJEXT)
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_TRUE@am_kernel_exec_OBJECTS = disk/kernel_exec-host.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_TRUE@      kern/emu/kernel_exec-cache_s.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_TRUE@      kern/emu/kernel_exec-hostdisk.$(OBJEXT) \
+@@ -11219,7 +11237,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_TRUE@      kern/kernel_exec-partition.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_TRUE@      kern/kernel_exec-rescue_parser.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_TRUE@      kern/kernel_exec-rescue_reader.$(OBJEXT) \
+-@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_TRUE@      kern/kernel_exec-term.$(OBJEXT)
++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_TRUE@      kern/kernel_exec-term.$(OBJEXT) \
++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_TRUE@      kern/kernel_exec-verifiers.$(OBJEXT)
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_TRUE@am_kernel_exec_OBJECTS = kern/arm/kernel_exec-startup.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_TRUE@      kern/arm/uboot/kernel_exec-init.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_TRUE@      kern/arm/uboot/kernel_exec-uboot.$(OBJEXT) \
+@@ -11259,7 +11278,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_TRUE@      kern/kernel_exec-partition.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_TRUE@      kern/kernel_exec-rescue_parser.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_TRUE@      kern/kernel_exec-rescue_reader.$(OBJEXT) \
+-@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_TRUE@      kern/kernel_exec-term.$(OBJEXT)
++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_TRUE@      kern/kernel_exec-term.$(OBJEXT) \
++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_TRUE@      kern/kernel_exec-verifiers.$(OBJEXT)
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@am_kernel_exec_OBJECTS = kern/arm/efi/kernel_exec-startup.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@    kern/arm/efi/kernel_exec-init.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@    kern/efi/kernel_exec-fdt.$(OBJEXT) \
+@@ -11298,7 +11318,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@    kern/kernel_exec-partition.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@    kern/kernel_exec-rescue_parser.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@    kern/kernel_exec-rescue_reader.$(OBJEXT) \
+-@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@    kern/kernel_exec-term.$(OBJEXT)
++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@    kern/kernel_exec-term.$(OBJEXT) \
++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@    kern/kernel_exec-verifiers.$(OBJEXT)
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_TRUE@am_kernel_exec_OBJECTS = kern/arm/kernel_exec-startup.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_TRUE@        kern/arm/coreboot/kernel_exec-init.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_TRUE@        kern/arm/coreboot/kernel_exec-timer.$(OBJEXT) \
+@@ -11352,7 +11373,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_TRUE@        kern/kernel_exec-partition.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_TRUE@        kern/kernel_exec-rescue_parser.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_TRUE@        kern/kernel_exec-rescue_reader.$(OBJEXT) \
+-@COND_arm64_efi_FALSE@@COND_arm_coreboot_TRUE@        kern/kernel_exec-term.$(OBJEXT)
++@COND_arm64_efi_FALSE@@COND_arm_coreboot_TRUE@        kern/kernel_exec-term.$(OBJEXT) \
++@COND_arm64_efi_FALSE@@COND_arm_coreboot_TRUE@        kern/kernel_exec-verifiers.$(OBJEXT)
+ @COND_arm64_efi_TRUE@am_kernel_exec_OBJECTS = kern/arm64/efi/kernel_exec-startup.$(OBJEXT) \
+ @COND_arm64_efi_TRUE@ kern/arm64/efi/kernel_exec-init.$(OBJEXT) \
+ @COND_arm64_efi_TRUE@ kern/efi/kernel_exec-fdt.$(OBJEXT) \
+@@ -11388,7 +11410,8 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @COND_arm64_efi_TRUE@ kern/kernel_exec-partition.$(OBJEXT) \
+ @COND_arm64_efi_TRUE@ kern/kernel_exec-rescue_parser.$(OBJEXT) \
+ @COND_arm64_efi_TRUE@ kern/kernel_exec-rescue_reader.$(OBJEXT) \
+-@COND_arm64_efi_TRUE@ kern/kernel_exec-term.$(OBJEXT)
++@COND_arm64_efi_TRUE@ kern/kernel_exec-term.$(OBJEXT) \
++@COND_arm64_efi_TRUE@ kern/kernel_exec-verifiers.$(OBJEXT)
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_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_FALSE@@COND_x86_64_xen_TRUE@nodist_kernel_exec_OBJECTS = kernel_exec-symlist.$(OBJEXT)
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_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@nodist_kernel_exec_OBJECTS = kernel_exec-symlist.$(OBJEXT)
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_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_TRUE@nodist_kernel_exec_OBJECTS = kernel_exec-symlist.$(OBJEXT)
+@@ -13146,13 +13169,6 @@ vbe_module_OBJECTS = $(am_vbe_module_OBJECTS) \
+       $(nodist_vbe_module_OBJECTS)
+ vbe_module_LINK = $(CCLD) $(vbe_module_CFLAGS) $(CFLAGS) \
+       $(vbe_module_LDFLAGS) $(LDFLAGS) -o $@
+-am_verifiers_module_OBJECTS =  \
+-      commands/verifiers_module-verifiers.$(OBJEXT)
+-nodist_verifiers_module_OBJECTS =
+-verifiers_module_OBJECTS = $(am_verifiers_module_OBJECTS) \
+-      $(nodist_verifiers_module_OBJECTS)
+-verifiers_module_LINK = $(CCLD) $(verifiers_module_CFLAGS) $(CFLAGS) \
+-      $(verifiers_module_LDFLAGS) $(LDFLAGS) -o $@
+ am__vga_module_SOURCES_DIST = video/i386/pc/vga.c
+ @COND_i386_pc_TRUE@am_vga_module_OBJECTS =  \
+ @COND_i386_pc_TRUE@   video/i386/pc/vga_module-vga.$(OBJEXT)
+@@ -13879,7 +13895,6 @@ SOURCES = $(acpi_module_SOURCES) $(nodist_acpi_module_SOURCES) \
+       $(nodist_usbserial_usbdebug_module_SOURCES) \
+       $(usbtest_module_SOURCES) $(nodist_usbtest_module_SOURCES) \
+       $(vbe_module_SOURCES) $(nodist_vbe_module_SOURCES) \
+-      $(verifiers_module_SOURCES) $(nodist_verifiers_module_SOURCES) \
+       $(vga_module_SOURCES) $(nodist_vga_module_SOURCES) \
+       $(vga_text_module_SOURCES) $(nodist_vga_text_module_SOURCES) \
+       $(video_module_SOURCES) $(nodist_video_module_SOURCES) \
+@@ -14089,8 +14104,7 @@ DIST_SOURCES = $(am__acpi_module_SOURCES_DIST) \
+       $(am__usbserial_pl2303_module_SOURCES_DIST) \
+       $(am__usbserial_usbdebug_module_SOURCES_DIST) \
+       $(am__usbtest_module_SOURCES_DIST) \
+-      $(am__vbe_module_SOURCES_DIST) $(verifiers_module_SOURCES) \
+-      $(am__vga_module_SOURCES_DIST) \
++      $(am__vbe_module_SOURCES_DIST) $(am__vga_module_SOURCES_DIST) \
+       $(am__vga_text_module_SOURCES_DIST) \
+       $(am__video_module_SOURCES_DIST) \
+       $(am__video_bochs_module_SOURCES_DIST) \
+@@ -15497,38 +15511,38 @@ MOD_FILES = disk.mod trig.mod $(am__append_8) $(am__append_15) \
+       $(am__append_1989) $(am__append_1996) $(am__append_2003) \
+       $(am__append_2010) $(am__append_2017) $(am__append_2024) \
+       $(am__append_2031) $(am__append_2038) hashsum.mod pgp.mod \
+-      verifiers.mod $(am__append_2045) $(am__append_2052) \
+-      $(am__append_2059) $(am__append_2066) $(am__append_2073) \
+-      $(am__append_2080) $(am__append_2087) $(am__append_2094) \
+-      $(am__append_2101) $(am__append_2108) help.mod hexdump.mod \
+-      keystatus.mod $(am__append_2115) $(am__append_2122) \
+-      loadenv.mod ls.mod lsmmap.mod $(am__append_2129) \
+-      $(am__append_2136) $(am__append_2143) $(am__append_2150) \
+-      $(am__append_2157) $(am__append_2164) $(am__append_2171) \
+-      $(am__append_2178) memrw.mod minicmd.mod parttool.mod \
+-      password.mod password_pbkdf2.mod $(am__append_2185) \
+-      $(am__append_2192) $(am__append_2199) $(am__append_2206) \
+-      $(am__append_2213) $(am__append_2220) $(am__append_2227) \
+-      $(am__append_2234) $(am__append_2241) $(am__append_2248) \
+-      $(am__append_2255) $(am__append_2262) $(am__append_2269) \
+-      $(am__append_2276) $(am__append_2283) $(am__append_2290) \
+-      $(am__append_2297) $(am__append_2304) $(am__append_2311) \
+-      $(am__append_2318) $(am__append_2325) probe.mod read.mod \
+-      search.mod search_fs_file.mod search_fs_uuid.mod \
+-      search_label.mod $(am__append_2332) $(am__append_2339) \
+-      $(am__append_2346) $(am__append_2353) $(am__append_2360) \
+-      $(am__append_2367) $(am__append_2374) $(am__append_2381) \
+-      $(am__append_2388) $(am__append_2395) $(am__append_2402) \
+-      $(am__append_2409) $(am__append_2416) $(am__append_2423) \
+-      $(am__append_2430) $(am__append_2437) sleep.mod \
+-      $(am__append_2444) $(am__append_2451) terminal.mod test.mod \
+-      true.mod $(am__append_2458) $(am__append_2465) \
+-      $(am__append_2472) $(am__append_2479) $(am__append_2486) \
+-      $(am__append_2493) $(am__append_2500) $(am__append_2507) \
+-      $(am__append_2514) videoinfo.mod videotest.mod xnu_uuid.mod \
+-      dm_nv.mod loopback.mod cryptodisk.mod luks.mod geli.mod \
+-      lvm.mod ldm.mod mdraid09.mod mdraid09_be.mod mdraid1x.mod \
+-      diskfilter.mod raid5rec.mod raid6rec.mod scsi.mod memdisk.mod \
++      $(am__append_2045) $(am__append_2052) $(am__append_2059) \
++      $(am__append_2066) $(am__append_2073) $(am__append_2080) \
++      $(am__append_2087) $(am__append_2094) $(am__append_2101) \
++      $(am__append_2108) help.mod hexdump.mod keystatus.mod \
++      $(am__append_2115) $(am__append_2122) loadenv.mod ls.mod \
++      lsmmap.mod $(am__append_2129) $(am__append_2136) \
++      $(am__append_2143) $(am__append_2150) $(am__append_2157) \
++      $(am__append_2164) $(am__append_2171) $(am__append_2178) \
++      memrw.mod minicmd.mod parttool.mod password.mod \
++      password_pbkdf2.mod $(am__append_2185) $(am__append_2192) \
++      $(am__append_2199) $(am__append_2206) $(am__append_2213) \
++      $(am__append_2220) $(am__append_2227) $(am__append_2234) \
++      $(am__append_2241) $(am__append_2248) $(am__append_2255) \
++      $(am__append_2262) $(am__append_2269) $(am__append_2276) \
++      $(am__append_2283) $(am__append_2290) $(am__append_2297) \
++      $(am__append_2304) $(am__append_2311) $(am__append_2318) \
++      $(am__append_2325) probe.mod read.mod search.mod \
++      search_fs_file.mod search_fs_uuid.mod search_label.mod \
++      $(am__append_2332) $(am__append_2339) $(am__append_2346) \
++      $(am__append_2353) $(am__append_2360) $(am__append_2367) \
++      $(am__append_2374) $(am__append_2381) $(am__append_2388) \
++      $(am__append_2395) $(am__append_2402) $(am__append_2409) \
++      $(am__append_2416) $(am__append_2423) $(am__append_2430) \
++      $(am__append_2437) sleep.mod $(am__append_2444) \
++      $(am__append_2451) terminal.mod test.mod true.mod \
++      $(am__append_2458) $(am__append_2465) $(am__append_2472) \
++      $(am__append_2479) $(am__append_2486) $(am__append_2493) \
++      $(am__append_2500) $(am__append_2507) $(am__append_2514) \
++      videoinfo.mod videotest.mod xnu_uuid.mod dm_nv.mod \
++      loopback.mod cryptodisk.mod luks.mod geli.mod lvm.mod ldm.mod \
++      mdraid09.mod mdraid09_be.mod mdraid1x.mod diskfilter.mod \
++      raid5rec.mod raid6rec.mod scsi.mod memdisk.mod \
+       $(am__append_2521) $(am__append_2528) $(am__append_2535) \
+       $(am__append_2542) $(am__append_2549) $(am__append_2556) \
+       $(am__append_2563) $(am__append_2570) $(am__append_2577) \
+@@ -15809,8 +15823,7 @@ MODULE_FILES = disk.module$(EXEEXT) trig.module$(EXEEXT) \
+       $(am__append_1978) $(am__append_1985) $(am__append_1992) \
+       $(am__append_1999) $(am__append_2006) $(am__append_2013) \
+       $(am__append_2020) $(am__append_2027) $(am__append_2034) \
+-      hashsum.module$(EXEEXT) pgp.module$(EXEEXT) \
+-      verifiers.module$(EXEEXT) $(am__append_2041) \
++      hashsum.module$(EXEEXT) pgp.module$(EXEEXT) $(am__append_2041) \
+       $(am__append_2048) $(am__append_2055) $(am__append_2062) \
+       $(am__append_2069) $(am__append_2076) $(am__append_2083) \
+       $(am__append_2090) $(am__append_2097) $(am__append_2104) \
+@@ -16164,7 +16177,7 @@ MARKER_FILES = disk.marker trig.marker $(am__append_9) \
+       $(am__append_1983) $(am__append_1990) $(am__append_1997) \
+       $(am__append_2004) $(am__append_2011) $(am__append_2018) \
+       $(am__append_2025) $(am__append_2032) $(am__append_2039) \
+-      hashsum.marker pgp.marker verifiers.marker $(am__append_2046) \
++      hashsum.marker pgp.marker $(am__append_2046) \
+       $(am__append_2053) $(am__append_2060) $(am__append_2067) \
+       $(am__append_2074) $(am__append_2081) $(am__append_2088) \
+       $(am__append_2095) $(am__append_2102) $(am__append_2109) \
+@@ -16403,6 +16416,7 @@ KERNEL_HEADER_FILES = $(top_srcdir)/include/grub/cache.h \
+       $(top_srcdir)/include/grub/partition.h \
+       $(top_srcdir)/include/grub/term.h \
+       $(top_srcdir)/include/grub/time.h \
++      $(top_srcdir)/include/grub/verify.h \
+       $(top_srcdir)/include/grub/mm_private.h \
+       $(top_srcdir)/include/grub/net.h \
+       $(top_srcdir)/include/grub/memory.h $(am__append_5803) \
+@@ -16845,12 +16859,11 @@ CLEANFILES = build-grub-pep2elf$(BUILD_EXEEXT) \
+       $(am__append_2009) $(am__append_2016) $(am__append_2023) \
+       $(am__append_2030) $(am__append_2037) \
+       $(nodist_hashsum_module_SOURCES) hashsum.marker \
+-      $(nodist_pgp_module_SOURCES) pgp.marker \
+-      $(nodist_verifiers_module_SOURCES) verifiers.marker \
+-      $(am__append_2044) $(am__append_2051) $(am__append_2058) \
+-      $(am__append_2065) $(am__append_2072) $(am__append_2079) \
+-      $(am__append_2086) $(am__append_2093) $(am__append_2100) \
+-      $(am__append_2107) $(nodist_help_module_SOURCES) help.marker \
++      $(nodist_pgp_module_SOURCES) pgp.marker $(am__append_2044) \
++      $(am__append_2051) $(am__append_2058) $(am__append_2065) \
++      $(am__append_2072) $(am__append_2079) $(am__append_2086) \
++      $(am__append_2093) $(am__append_2100) $(am__append_2107) \
++      $(nodist_help_module_SOURCES) help.marker \
+       $(nodist_hexdump_module_SOURCES) hexdump.marker \
+       $(nodist_keystatus_module_SOURCES) keystatus.marker \
+       $(am__append_2114) $(am__append_2121) \
+@@ -17313,11 +17326,11 @@ BUILT_SOURCES = $(nodist_disk_module_SOURCES) \
+       $(am__append_2001) $(am__append_2008) $(am__append_2015) \
+       $(am__append_2022) $(am__append_2029) $(am__append_2036) \
+       $(nodist_hashsum_module_SOURCES) $(nodist_pgp_module_SOURCES) \
+-      $(nodist_verifiers_module_SOURCES) $(am__append_2043) \
+-      $(am__append_2050) $(am__append_2057) $(am__append_2064) \
+-      $(am__append_2071) $(am__append_2078) $(am__append_2085) \
+-      $(am__append_2092) $(am__append_2099) $(am__append_2106) \
+-      $(nodist_help_module_SOURCES) $(nodist_hexdump_module_SOURCES) \
++      $(am__append_2043) $(am__append_2050) $(am__append_2057) \
++      $(am__append_2064) $(am__append_2071) $(am__append_2078) \
++      $(am__append_2085) $(am__append_2092) $(am__append_2099) \
++      $(am__append_2106) $(nodist_help_module_SOURCES) \
++      $(nodist_hexdump_module_SOURCES) \
+       $(nodist_keystatus_module_SOURCES) $(am__append_2113) \
+       $(am__append_2120) $(nodist_loadenv_module_SOURCES) \
+       $(nodist_ls_module_SOURCES) $(nodist_lsmmap_module_SOURCES) \
+@@ -20070,14 +20083,6 @@ pgp_module_LDFLAGS = $(AM_LDFLAGS) $(LDFLAGS_MODULE)
+ pgp_module_CPPFLAGS = $(AM_CPPFLAGS) $(CPPFLAGS_MODULE) -I$(srcdir)/lib/posix_wrap 
+ pgp_module_CCASFLAGS = $(AM_CCASFLAGS) $(CCASFLAGS_MODULE) 
+ pgp_module_DEPENDENCIES = $(TARGET_OBJ2ELF) 
+-verifiers_module_SOURCES = commands/verifiers.c  ## platform sources
+-nodist_verifiers_module_SOURCES = ## platform nodist sources
+-verifiers_module_LDADD = 
+-verifiers_module_CFLAGS = $(AM_CFLAGS) $(CFLAGS_MODULE) 
+-verifiers_module_LDFLAGS = $(AM_LDFLAGS) $(LDFLAGS_MODULE) 
+-verifiers_module_CPPFLAGS = $(AM_CPPFLAGS) $(CPPFLAGS_MODULE) 
+-verifiers_module_CCASFLAGS = $(AM_CCASFLAGS) $(CCASFLAGS_MODULE) 
+-verifiers_module_DEPENDENCIES = $(TARGET_OBJ2ELF) 
+ @COND_x86_64_efi_TRUE@shim_lock_module_SOURCES = commands/efi/shim_lock.c  ## platform sources
+ @COND_x86_64_efi_TRUE@nodist_shim_lock_module_SOURCES = ## platform nodist sources
+ @COND_x86_64_efi_TRUE@shim_lock_module_LDADD = 
+@@ -25629,7 +25634,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_arm64_efi_TRUE@ kern/file.c kern/fs.c kern/list.c \
+ @COND_arm64_efi_TRUE@ kern/main.c kern/misc.c kern/parser.c \
+ @COND_arm64_efi_TRUE@ kern/partition.c kern/rescue_parser.c \
+-@COND_arm64_efi_TRUE@ kern/rescue_reader.c kern/term.c
++@COND_arm64_efi_TRUE@ kern/rescue_reader.c kern/term.c \
++@COND_arm64_efi_TRUE@ kern/verifiers.c
+ @COND_arm_coreboot_TRUE@kernel_exec_SOURCES = kern/arm/startup.S \
+ @COND_arm_coreboot_TRUE@      kern/arm/coreboot/init.c \
+ @COND_arm_coreboot_TRUE@      kern/arm/coreboot/timer.c \
+@@ -25660,7 +25666,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_arm_coreboot_TRUE@      kern/fs.c kern/list.c kern/main.c \
+ @COND_arm_coreboot_TRUE@      kern/misc.c kern/parser.c \
+ @COND_arm_coreboot_TRUE@      kern/partition.c kern/rescue_parser.c \
+-@COND_arm_coreboot_TRUE@      kern/rescue_reader.c kern/term.c
++@COND_arm_coreboot_TRUE@      kern/rescue_reader.c kern/term.c \
++@COND_arm_coreboot_TRUE@      kern/verifiers.c
+ @COND_arm_efi_TRUE@kernel_exec_SOURCES = kern/arm/efi/startup.S \
+ @COND_arm_efi_TRUE@   kern/arm/efi/init.c kern/efi/fdt.c \
+ @COND_arm_efi_TRUE@   kern/arm/dl.c kern/arm/dl_helper.c \
+@@ -25678,7 +25685,7 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_arm_efi_TRUE@   kern/fs.c kern/list.c kern/main.c \
+ @COND_arm_efi_TRUE@   kern/misc.c kern/parser.c kern/partition.c \
+ @COND_arm_efi_TRUE@   kern/rescue_parser.c kern/rescue_reader.c \
+-@COND_arm_efi_TRUE@   kern/term.c
++@COND_arm_efi_TRUE@   kern/term.c kern/verifiers.c
+ @COND_arm_uboot_TRUE@kernel_exec_SOURCES = kern/arm/startup.S \
+ @COND_arm_uboot_TRUE@ kern/arm/uboot/init.c \
+ @COND_arm_uboot_TRUE@ kern/arm/uboot/uboot.S \
+@@ -25698,7 +25705,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_arm_uboot_TRUE@ kern/file.c kern/fs.c kern/list.c \
+ @COND_arm_uboot_TRUE@ kern/main.c kern/misc.c kern/parser.c \
+ @COND_arm_uboot_TRUE@ kern/partition.c kern/rescue_parser.c \
+-@COND_arm_uboot_TRUE@ kern/rescue_reader.c kern/term.c
++@COND_arm_uboot_TRUE@ kern/rescue_reader.c kern/term.c \
++@COND_arm_uboot_TRUE@ kern/verifiers.c
+ @COND_emu_TRUE@kernel_exec_SOURCES = disk/host.c kern/emu/cache_s.S \
+ @COND_emu_TRUE@       kern/emu/hostdisk.c osdep/unix/hostdisk.c \
+ @COND_emu_TRUE@       osdep/exec.c osdep/devmapper/hostdisk.c \
+@@ -25714,7 +25722,7 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_emu_TRUE@       kern/fs.c kern/list.c kern/main.c kern/misc.c \
+ @COND_emu_TRUE@       kern/parser.c kern/partition.c \
+ @COND_emu_TRUE@       kern/rescue_parser.c kern/rescue_reader.c \
+-@COND_emu_TRUE@       kern/term.c
++@COND_emu_TRUE@       kern/term.c kern/verifiers.c
+ @COND_i386_coreboot_TRUE@kernel_exec_SOURCES =  \
+ @COND_i386_coreboot_TRUE@     kern/i386/coreboot/startup.S \
+ @COND_i386_coreboot_TRUE@     kern/i386/coreboot/init.c \
+@@ -25739,7 +25747,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_i386_coreboot_TRUE@     kern/fs.c kern/list.c kern/main.c \
+ @COND_i386_coreboot_TRUE@     kern/misc.c kern/parser.c \
+ @COND_i386_coreboot_TRUE@     kern/partition.c kern/rescue_parser.c \
+-@COND_i386_coreboot_TRUE@     kern/rescue_reader.c kern/term.c
++@COND_i386_coreboot_TRUE@     kern/rescue_reader.c kern/term.c \
++@COND_i386_coreboot_TRUE@     kern/verifiers.c
+ @COND_i386_efi_TRUE@kernel_exec_SOURCES = kern/i386/efi/startup.S \
+ @COND_i386_efi_TRUE@  kern/i386/efi/tsc.c \
+ @COND_i386_efi_TRUE@  kern/i386/tsc_pmtimer.c \
+@@ -25756,7 +25765,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_i386_efi_TRUE@  kern/file.c kern/fs.c kern/list.c \
+ @COND_i386_efi_TRUE@  kern/main.c kern/misc.c kern/parser.c \
+ @COND_i386_efi_TRUE@  kern/partition.c kern/rescue_parser.c \
+-@COND_i386_efi_TRUE@  kern/rescue_reader.c kern/term.c
++@COND_i386_efi_TRUE@  kern/rescue_reader.c kern/term.c \
++@COND_i386_efi_TRUE@  kern/verifiers.c
+ @COND_i386_ieee1275_TRUE@kernel_exec_SOURCES =  \
+ @COND_i386_ieee1275_TRUE@     kern/i386/ieee1275/startup.S \
+ @COND_i386_ieee1275_TRUE@     disk/ieee1275/ofdisk.c \
+@@ -25777,7 +25787,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_i386_ieee1275_TRUE@     kern/fs.c kern/list.c kern/main.c \
+ @COND_i386_ieee1275_TRUE@     kern/misc.c kern/parser.c \
+ @COND_i386_ieee1275_TRUE@     kern/partition.c kern/rescue_parser.c \
+-@COND_i386_ieee1275_TRUE@     kern/rescue_reader.c kern/term.c
++@COND_i386_ieee1275_TRUE@     kern/rescue_reader.c kern/term.c \
++@COND_i386_ieee1275_TRUE@     kern/verifiers.c
+ @COND_i386_multiboot_TRUE@kernel_exec_SOURCES =  \
+ @COND_i386_multiboot_TRUE@    kern/i386/coreboot/startup.S \
+ @COND_i386_multiboot_TRUE@    kern/i386/coreboot/init.c \
+@@ -25796,7 +25807,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_i386_multiboot_TRUE@    kern/misc.c kern/parser.c \
+ @COND_i386_multiboot_TRUE@    kern/partition.c \
+ @COND_i386_multiboot_TRUE@    kern/rescue_parser.c \
+-@COND_i386_multiboot_TRUE@    kern/rescue_reader.c kern/term.c
++@COND_i386_multiboot_TRUE@    kern/rescue_reader.c kern/term.c \
++@COND_i386_multiboot_TRUE@    kern/verifiers.c
+ @COND_i386_pc_TRUE@kernel_exec_SOURCES = kern/i386/pc/startup.S \
+ @COND_i386_pc_TRUE@   kern/i386/pc/init.c kern/i386/pc/mmap.c \
+ @COND_i386_pc_TRUE@   term/i386/pc/console.c kern/i386/dl.c \
+@@ -25808,7 +25820,7 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_i386_pc_TRUE@   kern/fs.c kern/list.c kern/main.c \
+ @COND_i386_pc_TRUE@   kern/misc.c kern/parser.c kern/partition.c \
+ @COND_i386_pc_TRUE@   kern/rescue_parser.c kern/rescue_reader.c \
+-@COND_i386_pc_TRUE@   kern/term.c
++@COND_i386_pc_TRUE@   kern/term.c kern/verifiers.c
+ @COND_i386_qemu_TRUE@kernel_exec_SOURCES = kern/i386/qemu/startup.S \
+ @COND_i386_qemu_TRUE@ kern/i386/qemu/init.c bus/pci.c \
+ @COND_i386_qemu_TRUE@ kern/vga_init.c kern/i386/qemu/mmap.c \
+@@ -25821,7 +25833,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_i386_qemu_TRUE@ kern/file.c kern/fs.c kern/list.c \
+ @COND_i386_qemu_TRUE@ kern/main.c kern/misc.c kern/parser.c \
+ @COND_i386_qemu_TRUE@ kern/partition.c kern/rescue_parser.c \
+-@COND_i386_qemu_TRUE@ kern/rescue_reader.c kern/term.c
++@COND_i386_qemu_TRUE@ kern/rescue_reader.c kern/term.c \
++@COND_i386_qemu_TRUE@ kern/verifiers.c
+ @COND_i386_xen_TRUE@kernel_exec_SOURCES = kern/i386/xen/startup.S \
+ @COND_i386_xen_TRUE@  kern/i386/dl.c kern/i386/xen/hypercall.S \
+ @COND_i386_xen_TRUE@  kern/i386/tsc.c kern/i386/xen/tsc.c \
+@@ -25836,7 +25849,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_i386_xen_TRUE@  kern/file.c kern/fs.c kern/list.c \
+ @COND_i386_xen_TRUE@  kern/main.c kern/misc.c kern/parser.c \
+ @COND_i386_xen_TRUE@  kern/partition.c kern/rescue_parser.c \
+-@COND_i386_xen_TRUE@  kern/rescue_reader.c kern/term.c
++@COND_i386_xen_TRUE@  kern/rescue_reader.c kern/term.c \
++@COND_i386_xen_TRUE@  kern/verifiers.c
+ @COND_i386_xen_pvh_TRUE@kernel_exec_SOURCES =  \
+ @COND_i386_xen_pvh_TRUE@      kern/i386/xen/startup_pvh.S \
+ @COND_i386_xen_pvh_TRUE@      kern/i386/dl.c commands/boot.c \
+@@ -25853,7 +25867,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_i386_xen_pvh_TRUE@      kern/fs.c kern/list.c kern/main.c \
+ @COND_i386_xen_pvh_TRUE@      kern/misc.c kern/parser.c \
+ @COND_i386_xen_pvh_TRUE@      kern/partition.c kern/rescue_parser.c \
+-@COND_i386_xen_pvh_TRUE@      kern/rescue_reader.c kern/term.c
++@COND_i386_xen_pvh_TRUE@      kern/rescue_reader.c kern/term.c \
++@COND_i386_xen_pvh_TRUE@      kern/verifiers.c
+ @COND_ia64_efi_TRUE@kernel_exec_SOURCES = kern/ia64/efi/startup.S \
+ @COND_ia64_efi_TRUE@  kern/ia64/efi/init.c kern/ia64/dl.c \
+ @COND_ia64_efi_TRUE@  kern/ia64/dl_helper.c kern/ia64/cache.c \
+@@ -25868,7 +25883,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_ia64_efi_TRUE@  kern/file.c kern/fs.c kern/list.c \
+ @COND_ia64_efi_TRUE@  kern/main.c kern/misc.c kern/parser.c \
+ @COND_ia64_efi_TRUE@  kern/partition.c kern/rescue_parser.c \
+-@COND_ia64_efi_TRUE@  kern/rescue_reader.c kern/term.c
++@COND_ia64_efi_TRUE@  kern/rescue_reader.c kern/term.c \
++@COND_ia64_efi_TRUE@  kern/verifiers.c
+ @COND_mips_arc_TRUE@kernel_exec_SOURCES = kern/mips/startup.S \
+ @COND_mips_arc_TRUE@  kern/mips/arc/init.c term/arc/console.c \
+ @COND_mips_arc_TRUE@  disk/arc/arcdisk.c \
+@@ -25883,7 +25899,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_mips_arc_TRUE@  kern/file.c kern/fs.c kern/list.c \
+ @COND_mips_arc_TRUE@  kern/main.c kern/misc.c kern/parser.c \
+ @COND_mips_arc_TRUE@  kern/partition.c kern/rescue_parser.c \
+-@COND_mips_arc_TRUE@  kern/rescue_reader.c kern/term.c
++@COND_mips_arc_TRUE@  kern/rescue_reader.c kern/term.c \
++@COND_mips_arc_TRUE@  kern/verifiers.c
+ @COND_mips_loongson_TRUE@kernel_exec_SOURCES = kern/mips/startup.S \
+ @COND_mips_loongson_TRUE@     term/ns8250.c bus/bonito.c \
+ @COND_mips_loongson_TRUE@     bus/cs5536.c bus/pci.c \
+@@ -25911,7 +25928,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_mips_loongson_TRUE@     kern/fs.c kern/list.c kern/main.c \
+ @COND_mips_loongson_TRUE@     kern/misc.c kern/parser.c \
+ @COND_mips_loongson_TRUE@     kern/partition.c kern/rescue_parser.c \
+-@COND_mips_loongson_TRUE@     kern/rescue_reader.c kern/term.c
++@COND_mips_loongson_TRUE@     kern/rescue_reader.c kern/term.c \
++@COND_mips_loongson_TRUE@     kern/verifiers.c
+ @COND_mips_qemu_mips_TRUE@kernel_exec_SOURCES = kern/mips/startup.S \
+ @COND_mips_qemu_mips_TRUE@    kern/mips/qemu_mips/init.c \
+ @COND_mips_qemu_mips_TRUE@    term/ns8250.c term/serial.c \
+@@ -25934,7 +25952,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_mips_qemu_mips_TRUE@    kern/misc.c kern/parser.c \
+ @COND_mips_qemu_mips_TRUE@    kern/partition.c \
+ @COND_mips_qemu_mips_TRUE@    kern/rescue_parser.c \
+-@COND_mips_qemu_mips_TRUE@    kern/rescue_reader.c kern/term.c
++@COND_mips_qemu_mips_TRUE@    kern/rescue_reader.c kern/term.c \
++@COND_mips_qemu_mips_TRUE@    kern/verifiers.c
+ @COND_powerpc_ieee1275_TRUE@kernel_exec_SOURCES =  \
+ @COND_powerpc_ieee1275_TRUE@  kern/powerpc/ieee1275/startup.S \
+ @COND_powerpc_ieee1275_TRUE@  kern/powerpc/cache.S \
+@@ -25959,7 +25978,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_powerpc_ieee1275_TRUE@  kern/main.c kern/misc.c \
+ @COND_powerpc_ieee1275_TRUE@  kern/parser.c kern/partition.c \
+ @COND_powerpc_ieee1275_TRUE@  kern/rescue_parser.c \
+-@COND_powerpc_ieee1275_TRUE@  kern/rescue_reader.c kern/term.c
++@COND_powerpc_ieee1275_TRUE@  kern/rescue_reader.c kern/term.c \
++@COND_powerpc_ieee1275_TRUE@  kern/verifiers.c
+ @COND_riscv32_efi_TRUE@kernel_exec_SOURCES = kern/riscv/efi/startup.S \
+ @COND_riscv32_efi_TRUE@       kern/riscv/efi/init.c kern/efi/fdt.c \
+ @COND_riscv32_efi_TRUE@       kern/riscv/cache.c \
+@@ -25977,7 +25997,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_riscv32_efi_TRUE@       kern/fs.c kern/list.c kern/main.c \
+ @COND_riscv32_efi_TRUE@       kern/misc.c kern/parser.c \
+ @COND_riscv32_efi_TRUE@       kern/partition.c kern/rescue_parser.c \
+-@COND_riscv32_efi_TRUE@       kern/rescue_reader.c kern/term.c
++@COND_riscv32_efi_TRUE@       kern/rescue_reader.c kern/term.c \
++@COND_riscv32_efi_TRUE@       kern/verifiers.c
+ @COND_riscv64_efi_TRUE@kernel_exec_SOURCES = kern/riscv/efi/startup.S \
+ @COND_riscv64_efi_TRUE@       kern/riscv/efi/init.c kern/efi/fdt.c \
+ @COND_riscv64_efi_TRUE@       kern/riscv/cache.c \
+@@ -25995,7 +26016,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_riscv64_efi_TRUE@       kern/fs.c kern/list.c kern/main.c \
+ @COND_riscv64_efi_TRUE@       kern/misc.c kern/parser.c \
+ @COND_riscv64_efi_TRUE@       kern/partition.c kern/rescue_parser.c \
+-@COND_riscv64_efi_TRUE@       kern/rescue_reader.c kern/term.c
++@COND_riscv64_efi_TRUE@       kern/rescue_reader.c kern/term.c \
++@COND_riscv64_efi_TRUE@       kern/verifiers.c
+ @COND_sparc64_ieee1275_TRUE@kernel_exec_SOURCES =  \
+ @COND_sparc64_ieee1275_TRUE@  kern/sparc64/ieee1275/crt0.S \
+ @COND_sparc64_ieee1275_TRUE@  kern/sparc64/cache.S \
+@@ -26021,7 +26043,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_sparc64_ieee1275_TRUE@  kern/main.c kern/misc.c \
+ @COND_sparc64_ieee1275_TRUE@  kern/parser.c kern/partition.c \
+ @COND_sparc64_ieee1275_TRUE@  kern/rescue_parser.c \
+-@COND_sparc64_ieee1275_TRUE@  kern/rescue_reader.c kern/term.c
++@COND_sparc64_ieee1275_TRUE@  kern/rescue_reader.c kern/term.c \
++@COND_sparc64_ieee1275_TRUE@  kern/verifiers.c
+ @COND_x86_64_efi_TRUE@kernel_exec_SOURCES = kern/x86_64/efi/startup.S \
+ @COND_x86_64_efi_TRUE@        kern/i386/efi/tsc.c \
+ @COND_x86_64_efi_TRUE@        kern/i386/tsc_pmtimer.c \
+@@ -26040,7 +26063,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_x86_64_efi_TRUE@        kern/file.c kern/fs.c kern/list.c \
+ @COND_x86_64_efi_TRUE@        kern/main.c kern/misc.c kern/parser.c \
+ @COND_x86_64_efi_TRUE@        kern/partition.c kern/rescue_parser.c \
+-@COND_x86_64_efi_TRUE@        kern/rescue_reader.c kern/term.c
++@COND_x86_64_efi_TRUE@        kern/rescue_reader.c kern/term.c \
++@COND_x86_64_efi_TRUE@        kern/verifiers.c
+ @COND_x86_64_xen_TRUE@kernel_exec_SOURCES = kern/x86_64/xen/startup.S \
+ @COND_x86_64_xen_TRUE@        kern/x86_64/dl.c \
+ @COND_x86_64_xen_TRUE@        kern/x86_64/xen/hypercall.S \
+@@ -26056,7 +26080,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_x86_64_xen_TRUE@        kern/file.c kern/fs.c kern/list.c \
+ @COND_x86_64_xen_TRUE@        kern/main.c kern/misc.c kern/parser.c \
+ @COND_x86_64_xen_TRUE@        kern/partition.c kern/rescue_parser.c \
+-@COND_x86_64_xen_TRUE@        kern/rescue_reader.c kern/term.c
++@COND_x86_64_xen_TRUE@        kern/rescue_reader.c kern/term.c \
++@COND_x86_64_xen_TRUE@        kern/verifiers.c
+ @COND_arm64_efi_TRUE@nodist_kernel_exec_SOURCES = symlist.c  ## platform nodist sources
+ @COND_arm_coreboot_TRUE@nodist_kernel_exec_SOURCES = symlist.c  ## platform nodist sources
+ @COND_arm_efi_TRUE@nodist_kernel_exec_SOURCES = symlist.c  ## platform nodist sources
+@@ -28051,6 +28076,8 @@ kern/kernel_exec-rescue_reader.$(OBJEXT): kern/$(am__dirstamp) \
+       kern/$(DEPDIR)/$(am__dirstamp)
+ kern/kernel_exec-term.$(OBJEXT): kern/$(am__dirstamp) \
+       kern/$(DEPDIR)/$(am__dirstamp)
++kern/kernel_exec-verifiers.$(OBJEXT): kern/$(am__dirstamp) \
++      kern/$(DEPDIR)/$(am__dirstamp)
+ kern/arm/$(am__dirstamp):
+       @$(MKDIR_P) kern/arm
+       @: > kern/arm/$(am__dirstamp)
+@@ -30171,12 +30198,6 @@ video/i386/pc/vbe_module-vbe.$(OBJEXT): video/i386/pc/$(am__dirstamp) \
+ vbe.module$(EXEEXT): $(vbe_module_OBJECTS) $(vbe_module_DEPENDENCIES) $(EXTRA_vbe_module_DEPENDENCIES) 
+       @rm -f vbe.module$(EXEEXT)
+       $(AM_V_CCLD)$(vbe_module_LINK) $(vbe_module_OBJECTS) $(vbe_module_LDADD) $(LIBS)
+-commands/verifiers_module-verifiers.$(OBJEXT):  \
+-      commands/$(am__dirstamp) commands/$(DEPDIR)/$(am__dirstamp)
+-
+-verifiers.module$(EXEEXT): $(verifiers_module_OBJECTS) $(verifiers_module_DEPENDENCIES) $(EXTRA_verifiers_module_DEPENDENCIES) 
+-      @rm -f verifiers.module$(EXEEXT)
+-      $(AM_V_CCLD)$(verifiers_module_LINK) $(verifiers_module_OBJECTS) $(verifiers_module_LDADD) $(LIBS)
+ video/i386/pc/vga_module-vga.$(OBJEXT): video/i386/pc/$(am__dirstamp) \
+       video/i386/pc/$(DEPDIR)/$(am__dirstamp)
+@@ -30799,7 +30820,6 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@commands/$(DEPDIR)/tr_module-tr.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@commands/$(DEPDIR)/true_module-true.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@commands/$(DEPDIR)/usbtest_module-usbtest.Po@am__quote@
+-@AMDEP_TRUE@@am__include@ @am__quote@commands/$(DEPDIR)/verifiers_module-verifiers.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@commands/$(DEPDIR)/videoinfo_module-videoinfo.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@commands/$(DEPDIR)/videotest_module-videotest.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@commands/$(DEPDIR)/xnu_uuid_module-xnu_uuid.Po@am__quote@
+@@ -30975,6 +30995,7 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-rescue_reader.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-term.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-time.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-verifiers.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-vga_init.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/xz_decompress_image-compiler-rt.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@kern/arm/$(DEPDIR)/kernel_exec-cache.Po@am__quote@
+@@ -35607,6 +35628,20 @@ kern/kernel_exec-term.obj: kern/term.c
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -c -o kern/kernel_exec-term.obj `if test -f 'kern/term.c'; then $(CYGPATH_W) 'kern/term.c'; else $(CYGPATH_W) '$(srcdir)/kern/term.c'; fi`
++kern/kernel_exec-verifiers.o: kern/verifiers.c
++@am__fastdepCC_TRUE@  $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -MT kern/kernel_exec-verifiers.o -MD -MP -MF kern/$(DEPDIR)/kernel_exec-verifiers.Tpo -c -o kern/kernel_exec-verifiers.o `test -f 'kern/verifiers.c' || echo '$(srcdir)/'`kern/verifiers.c
++@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) kern/$(DEPDIR)/kernel_exec-verifiers.Tpo kern/$(DEPDIR)/kernel_exec-verifiers.Po
++@AMDEP_TRUE@@am__fastdepCC_FALSE@     $(AM_V_CC)source='kern/verifiers.c' object='kern/kernel_exec-verifiers.o' libtool=no @AMDEPBACKSLASH@
++@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -c -o kern/kernel_exec-verifiers.o `test -f 'kern/verifiers.c' || echo '$(srcdir)/'`kern/verifiers.c
++
++kern/kernel_exec-verifiers.obj: kern/verifiers.c
++@am__fastdepCC_TRUE@  $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -MT kern/kernel_exec-verifiers.obj -MD -MP -MF kern/$(DEPDIR)/kernel_exec-verifiers.Tpo -c -o kern/kernel_exec-verifiers.obj `if test -f 'kern/verifiers.c'; then $(CYGPATH_W) 'kern/verifiers.c'; else $(CYGPATH_W) '$(srcdir)/kern/verifiers.c'; fi`
++@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) kern/$(DEPDIR)/kernel_exec-verifiers.Tpo kern/$(DEPDIR)/kernel_exec-verifiers.Po
++@AMDEP_TRUE@@am__fastdepCC_FALSE@     $(AM_V_CC)source='kern/verifiers.c' object='kern/kernel_exec-verifiers.obj' libtool=no @AMDEPBACKSLASH@
++@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -c -o kern/kernel_exec-verifiers.obj `if test -f 'kern/verifiers.c'; then $(CYGPATH_W) 'kern/verifiers.c'; else $(CYGPATH_W) '$(srcdir)/kern/verifiers.c'; fi`
++
+ kern/arm/coreboot/kernel_exec-init.o: kern/arm/coreboot/init.c
+ @am__fastdepCC_TRUE@  $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -MT kern/arm/coreboot/kernel_exec-init.o -MD -MP -MF kern/arm/coreboot/$(DEPDIR)/kernel_exec-init.Tpo -c -o kern/arm/coreboot/kernel_exec-init.o `test -f 'kern/arm/coreboot/init.c' || echo '$(srcdir)/'`kern/arm/coreboot/init.c
+ @am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) kern/arm/coreboot/$(DEPDIR)/kernel_exec-init.Tpo kern/arm/coreboot/$(DEPDIR)/kernel_exec-init.Po
+@@ -40983,20 +41018,6 @@ video/i386/pc/vbe_module-vbe.obj: video/i386/pc/vbe.c
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(vbe_module_CPPFLAGS) $(CPPFLAGS) $(vbe_module_CFLAGS) $(CFLAGS) -c -o video/i386/pc/vbe_module-vbe.obj `if test -f 'video/i386/pc/vbe.c'; then $(CYGPATH_W) 'video/i386/pc/vbe.c'; else $(CYGPATH_W) '$(srcdir)/video/i386/pc/vbe.c'; fi`
+-commands/verifiers_module-verifiers.o: commands/verifiers.c
+-@am__fastdepCC_TRUE@  $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(verifiers_module_CPPFLAGS) $(CPPFLAGS) $(verifiers_module_CFLAGS) $(CFLAGS) -MT commands/verifiers_module-verifiers.o -MD -MP -MF commands/$(DEPDIR)/verifiers_module-verifiers.Tpo -c -o commands/verifiers_module-verifiers.o `test -f 'commands/verifiers.c' || echo '$(srcdir)/'`commands/verifiers.c
+-@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) commands/$(DEPDIR)/verifiers_module-verifiers.Tpo commands/$(DEPDIR)/verifiers_module-verifiers.Po
+-@AMDEP_TRUE@@am__fastdepCC_FALSE@     $(AM_V_CC)source='commands/verifiers.c' object='commands/verifiers_module-verifiers.o' libtool=no @AMDEPBACKSLASH@
+-@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(verifiers_module_CPPFLAGS) $(CPPFLAGS) $(verifiers_module_CFLAGS) $(CFLAGS) -c -o commands/verifiers_module-verifiers.o `test -f 'commands/verifiers.c' || echo '$(srcdir)/'`commands/verifiers.c
+-
+-commands/verifiers_module-verifiers.obj: commands/verifiers.c
+-@am__fastdepCC_TRUE@  $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(verifiers_module_CPPFLAGS) $(CPPFLAGS) $(verifiers_module_CFLAGS) $(CFLAGS) -MT commands/verifiers_module-verifiers.obj -MD -MP -MF commands/$(DEPDIR)/verifiers_module-verifiers.Tpo -c -o commands/verifiers_module-verifiers.obj `if test -f 'commands/verifiers.c'; then $(CYGPATH_W) 'commands/verifiers.c'; else $(CYGPATH_W) '$(srcdir)/commands/verifiers.c'; fi`
+-@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) commands/$(DEPDIR)/verifiers_module-verifiers.Tpo commands/$(DEPDIR)/verifiers_module-verifiers.Po
+-@AMDEP_TRUE@@am__fastdepCC_FALSE@     $(AM_V_CC)source='commands/verifiers.c' object='commands/verifiers_module-verifiers.obj' libtool=no @AMDEPBACKSLASH@
+-@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(verifiers_module_CPPFLAGS) $(CPPFLAGS) $(verifiers_module_CFLAGS) $(CFLAGS) -c -o commands/verifiers_module-verifiers.obj `if test -f 'commands/verifiers.c'; then $(CYGPATH_W) 'commands/verifiers.c'; else $(CYGPATH_W) '$(srcdir)/commands/verifiers.c'; fi`
+-
+ video/i386/pc/vga_module-vga.o: video/i386/pc/vga.c
+ @am__fastdepCC_TRUE@  $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(vga_module_CPPFLAGS) $(CPPFLAGS) $(vga_module_CFLAGS) $(CFLAGS) -MT video/i386/pc/vga_module-vga.o -MD -MP -MF video/i386/pc/$(DEPDIR)/vga_module-vga.Tpo -c -o video/i386/pc/vga_module-vga.o `test -f 'video/i386/pc/vga.c' || echo '$(srcdir)/'`video/i386/pc/vga.c
+ @am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) video/i386/pc/$(DEPDIR)/vga_module-vga.Tpo video/i386/pc/$(DEPDIR)/vga_module-vga.Po
+@@ -43717,10 +43738,6 @@ pgp.marker: $(pgp_module_SOURCES) $(nodist_pgp_module_SOURCES)
+       $(TARGET_CPP) -DGRUB_LST_GENERATOR $(CPPFLAGS_MARKER) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pgp_module_CPPFLAGS) $(CPPFLAGS) $^ > $@.new || (rm -f $@; exit 1)
+       grep 'MARKER' $@.new > $@; rm -f $@.new
+-verifiers.marker: $(verifiers_module_SOURCES) $(nodist_verifiers_module_SOURCES)
+-      $(TARGET_CPP) -DGRUB_LST_GENERATOR $(CPPFLAGS_MARKER) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(verifiers_module_CPPFLAGS) $(CPPFLAGS) $^ > $@.new || (rm -f $@; exit 1)
+-      grep 'MARKER' $@.new > $@; rm -f $@.new
+-
+ @COND_x86_64_efi_TRUE@shim_lock.marker: $(shim_lock_module_SOURCES) $(nodist_shim_lock_module_SOURCES)
+ @COND_x86_64_efi_TRUE@        $(TARGET_CPP) -DGRUB_LST_GENERATOR $(CPPFLAGS_MARKER) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shim_lock_module_CPPFLAGS) $(CPPFLAGS) $^ > $@.new || (rm -f $@; exit 1)
+ @COND_x86_64_efi_TRUE@        grep 'MARKER' $@.new > $@; rm -f $@.new
+diff --git a/grub-core/commands/verifiers.c b/grub-core/commands/verifiers.c
+deleted file mode 100644
+index 0dde481..0000000
+--- a/grub-core/commands/verifiers.c
++++ /dev/null
+@@ -1,228 +0,0 @@
+-/*
+- *  GRUB  --  GRand Unified Bootloader
+- *  Copyright (C) 2017  Free Software Foundation, Inc.
+- *
+- *  GRUB is free software: you can redistribute it and/or modify
+- *  it under the terms of the GNU General Public License as published by
+- *  the Free Software Foundation, either version 3 of the License, or
+- *  (at your option) any later version.
+- *
+- *  GRUB is distributed in the hope that it will be useful,
+- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- *  GNU General Public License for more details.
+- *
+- *  You should have received a copy of the GNU General Public License
+- *  along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
+- *
+- *  Verifiers helper.
+- */
+-
+-#include <grub/file.h>
+-#include <grub/verify.h>
+-#include <grub/dl.h>
+-
+-GRUB_MOD_LICENSE ("GPLv3+");
+-
+-struct grub_file_verifier *grub_file_verifiers;
+-
+-struct grub_verified
+-{
+-  grub_file_t file;
+-  void *buf;
+-};
+-typedef struct grub_verified *grub_verified_t;
+-
+-static void
+-verified_free (grub_verified_t verified)
+-{
+-  if (verified)
+-    {
+-      grub_free (verified->buf);
+-      grub_free (verified);
+-    }
+-}
+-
+-static grub_ssize_t
+-verified_read (struct grub_file *file, char *buf, grub_size_t len)
+-{
+-  grub_verified_t verified = file->data;
+-
+-  grub_memcpy (buf, (char *) verified->buf + file->offset, len);
+-  return len;
+-}
+-
+-static grub_err_t
+-verified_close (struct grub_file *file)
+-{
+-  grub_verified_t verified = file->data;
+-
+-  grub_file_close (verified->file);
+-  verified_free (verified);
+-  file->data = 0;
+-
+-  /* Device and name are freed by parent. */
+-  file->device = 0;
+-  file->name = 0;
+-
+-  return grub_errno;
+-}
+-
+-struct grub_fs verified_fs =
+-{
+-  .name = "verified_read",
+-  .fs_read = verified_read,
+-  .fs_close = verified_close
+-};
+-
+-static grub_file_t
+-grub_verifiers_open (grub_file_t io, enum grub_file_type type)
+-{
+-  grub_verified_t verified = NULL;
+-  struct grub_file_verifier *ver;
+-  void *context;
+-  grub_file_t ret = 0;
+-  grub_err_t err;
+-  int defer = 0;
+-
+-  grub_dprintf ("verify", "file: %s type: %d\n", io->name, type);
+-
+-  if ((type & GRUB_FILE_TYPE_MASK) == GRUB_FILE_TYPE_SIGNATURE
+-      || (type & GRUB_FILE_TYPE_MASK) == GRUB_FILE_TYPE_VERIFY_SIGNATURE
+-      || (type & GRUB_FILE_TYPE_SKIP_SIGNATURE))
+-    return io;
+-
+-  if (io->device->disk &&
+-      (io->device->disk->dev->id == GRUB_DISK_DEVICE_MEMDISK_ID
+-       || io->device->disk->dev->id == GRUB_DISK_DEVICE_PROCFS_ID))
+-    return io;
+-
+-  FOR_LIST_ELEMENTS(ver, grub_file_verifiers)
+-    {
+-      enum grub_verify_flags flags = 0;
+-      err = ver->init (io, type, &context, &flags);
+-      if (err)
+-      goto fail_noclose;
+-      if (flags & GRUB_VERIFY_FLAGS_DEFER_AUTH)
+-      {
+-        defer = 1;
+-        continue;
+-      }
+-      if (!(flags & GRUB_VERIFY_FLAGS_SKIP_VERIFICATION))
+-      break;
+-    }
+-
+-  if (!ver)
+-    {
+-      if (defer)
+-      {
+-        grub_error (GRUB_ERR_ACCESS_DENIED,
+-                    N_("verification requested but nobody cares: %s"), io->name);
+-        goto fail_noclose;
+-      }
+-
+-      /* No verifiers wanted to verify. Just return underlying file. */
+-      return io;
+-    }
+-
+-  ret = grub_malloc (sizeof (*ret));
+-  if (!ret)
+-    {
+-      goto fail;
+-    }
+-  *ret = *io;
+-
+-  ret->fs = &verified_fs;
+-  ret->not_easily_seekable = 0;
+-  if (ret->size >> (sizeof (grub_size_t) * GRUB_CHAR_BIT - 1))
+-    {
+-      grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
+-                N_("big file signature isn't implemented yet"));
+-      goto fail;
+-    }
+-  verified = grub_malloc (sizeof (*verified));
+-  if (!verified)
+-    {
+-      goto fail;
+-    }
+-  verified->buf = grub_malloc (ret->size);
+-  if (!verified->buf)
+-    {
+-      goto fail;
+-    }
+-  if (grub_file_read (io, verified->buf, ret->size) != (grub_ssize_t) ret->size)
+-    {
+-      if (!grub_errno)
+-      grub_error (GRUB_ERR_FILE_READ_ERROR, N_("premature end of file %s"),
+-                  io->name);
+-      goto fail;
+-    }
+-
+-  err = ver->write (context, verified->buf, ret->size);
+-  if (err)
+-    goto fail;
+-
+-  err = ver->fini ? ver->fini (context) : GRUB_ERR_NONE;
+-  if (err)
+-    goto fail;
+-
+-  if (ver->close)
+-    ver->close (context);
+-
+-  FOR_LIST_ELEMENTS_NEXT(ver, grub_file_verifiers)
+-    {
+-      enum grub_verify_flags flags = 0;
+-      err = ver->init (io, type, &context, &flags);
+-      if (err)
+-      goto fail_noclose;
+-      if (flags & GRUB_VERIFY_FLAGS_SKIP_VERIFICATION ||
+-        /* Verification done earlier. So, we are happy here. */
+-        flags & GRUB_VERIFY_FLAGS_DEFER_AUTH)
+-      continue;
+-      err = ver->write (context, verified->buf, ret->size);
+-      if (err)
+-      goto fail;
+-
+-      err = ver->fini ? ver->fini (context) : GRUB_ERR_NONE;
+-      if (err)
+-      goto fail;
+-
+-      if (ver->close)
+-      ver->close (context);
+-    }
+-
+-  verified->file = io;
+-  ret->data = verified;
+-  return ret;
+-
+- fail:
+-  ver->close (context);
+- fail_noclose:
+-  verified_free (verified);
+-  grub_free (ret);
+-  return NULL;
+-}
+-
+-grub_err_t
+-grub_verify_string (char *str, enum grub_verify_string_type type)
+-{
+-  struct grub_file_verifier *ver;
+-  FOR_LIST_ELEMENTS(ver, grub_file_verifiers)
+-    {
+-      grub_err_t err;
+-      err = ver->verify_string ? ver->verify_string (str, type) : GRUB_ERR_NONE;
+-      if (err)
+-      return err;
+-    }
+-  return GRUB_ERR_NONE;
+-}
+-
+-GRUB_MOD_INIT(verifiers)
+-{
+-  grub_file_filter_register (GRUB_FILE_FILTER_VERIFY, grub_verifiers_open);
+-}
+-
+-GRUB_MOD_FINI(verifiers)
+-{
+-  grub_file_filter_unregister (GRUB_FILE_FILTER_VERIFY);
+-}
+diff --git a/grub-core/kern/main.c b/grub-core/kern/main.c
+index 9cad0c4..73967e2 100644
+--- a/grub-core/kern/main.c
++++ b/grub-core/kern/main.c
+@@ -29,6 +29,7 @@
+ #include <grub/command.h>
+ #include <grub/reader.h>
+ #include <grub/parser.h>
++#include <grub/verify.h>
+ #ifdef GRUB_MACHINE_PCBIOS
+ #include <grub/machine/memory.h>
+@@ -274,6 +275,9 @@ grub_main (void)
+   grub_printf ("Welcome to GRUB!\n\n");
+   grub_setcolorstate (GRUB_TERM_COLOR_STANDARD);
++  /* Init verifiers API. */
++  grub_verifiers_init ();
++
+   grub_load_config ();
+   grub_boot_time ("Before loading embedded modules.");
+diff --git a/grub-core/kern/verifiers.c b/grub-core/kern/verifiers.c
+new file mode 100644
+index 0000000..aa3dc7c
+--- /dev/null
++++ b/grub-core/kern/verifiers.c
+@@ -0,0 +1,224 @@
++/*
++ *  GRUB  --  GRand Unified Bootloader
++ *  Copyright (C) 2017  Free Software Foundation, Inc.
++ *
++ *  GRUB is free software: you can redistribute it and/or modify
++ *  it under the terms of the GNU General Public License as published by
++ *  the Free Software Foundation, either version 3 of the License, or
++ *  (at your option) any later version.
++ *
++ *  GRUB is distributed in the hope that it will be useful,
++ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *  GNU General Public License for more details.
++ *
++ *  You should have received a copy of the GNU General Public License
++ *  along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
++ *
++ *  Verifiers helper.
++ */
++
++#include <grub/file.h>
++#include <grub/verify.h>
++#include <grub/dl.h>
++
++GRUB_MOD_LICENSE ("GPLv3+");
++
++struct grub_file_verifier *grub_file_verifiers;
++
++struct grub_verified
++{
++  grub_file_t file;
++  void *buf;
++};
++typedef struct grub_verified *grub_verified_t;
++
++static void
++verified_free (grub_verified_t verified)
++{
++  if (verified)
++    {
++      grub_free (verified->buf);
++      grub_free (verified);
++    }
++}
++
++static grub_ssize_t
++verified_read (struct grub_file *file, char *buf, grub_size_t len)
++{
++  grub_verified_t verified = file->data;
++
++  grub_memcpy (buf, (char *) verified->buf + file->offset, len);
++  return len;
++}
++
++static grub_err_t
++verified_close (struct grub_file *file)
++{
++  grub_verified_t verified = file->data;
++
++  grub_file_close (verified->file);
++  verified_free (verified);
++  file->data = 0;
++
++  /* Device and name are freed by parent. */
++  file->device = 0;
++  file->name = 0;
++
++  return grub_errno;
++}
++
++struct grub_fs verified_fs =
++{
++  .name = "verified_read",
++  .fs_read = verified_read,
++  .fs_close = verified_close
++};
++
++static grub_file_t
++grub_verifiers_open (grub_file_t io, enum grub_file_type type)
++{
++  grub_verified_t verified = NULL;
++  struct grub_file_verifier *ver;
++  void *context;
++  grub_file_t ret = 0;
++  grub_err_t err;
++  int defer = 0;
++
++  grub_dprintf ("verify", "file: %s type: %d\n", io->name, type);
++
++  if ((type & GRUB_FILE_TYPE_MASK) == GRUB_FILE_TYPE_SIGNATURE
++      || (type & GRUB_FILE_TYPE_MASK) == GRUB_FILE_TYPE_VERIFY_SIGNATURE
++      || (type & GRUB_FILE_TYPE_SKIP_SIGNATURE))
++    return io;
++
++  if (io->device->disk &&
++      (io->device->disk->dev->id == GRUB_DISK_DEVICE_MEMDISK_ID
++       || io->device->disk->dev->id == GRUB_DISK_DEVICE_PROCFS_ID))
++    return io;
++
++  FOR_LIST_ELEMENTS(ver, grub_file_verifiers)
++    {
++      enum grub_verify_flags flags = 0;
++      err = ver->init (io, type, &context, &flags);
++      if (err)
++      goto fail_noclose;
++      if (flags & GRUB_VERIFY_FLAGS_DEFER_AUTH)
++      {
++        defer = 1;
++        continue;
++      }
++      if (!(flags & GRUB_VERIFY_FLAGS_SKIP_VERIFICATION))
++      break;
++    }
++
++  if (!ver)
++    {
++      if (defer)
++      {
++        grub_error (GRUB_ERR_ACCESS_DENIED,
++                    N_("verification requested but nobody cares: %s"), io->name);
++        goto fail_noclose;
++      }
++
++      /* No verifiers wanted to verify. Just return underlying file. */
++      return io;
++    }
++
++  ret = grub_malloc (sizeof (*ret));
++  if (!ret)
++    {
++      goto fail;
++    }
++  *ret = *io;
++
++  ret->fs = &verified_fs;
++  ret->not_easily_seekable = 0;
++  if (ret->size >> (sizeof (grub_size_t) * GRUB_CHAR_BIT - 1))
++    {
++      grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
++                N_("big file signature isn't implemented yet"));
++      goto fail;
++    }
++  verified = grub_malloc (sizeof (*verified));
++  if (!verified)
++    {
++      goto fail;
++    }
++  verified->buf = grub_malloc (ret->size);
++  if (!verified->buf)
++    {
++      goto fail;
++    }
++  if (grub_file_read (io, verified->buf, ret->size) != (grub_ssize_t) ret->size)
++    {
++      if (!grub_errno)
++      grub_error (GRUB_ERR_FILE_READ_ERROR, N_("premature end of file %s"),
++                  io->name);
++      goto fail;
++    }
++
++  err = ver->write (context, verified->buf, ret->size);
++  if (err)
++    goto fail;
++
++  err = ver->fini ? ver->fini (context) : GRUB_ERR_NONE;
++  if (err)
++    goto fail;
++
++  if (ver->close)
++    ver->close (context);
++
++  FOR_LIST_ELEMENTS_NEXT(ver, grub_file_verifiers)
++    {
++      enum grub_verify_flags flags = 0;
++      err = ver->init (io, type, &context, &flags);
++      if (err)
++      goto fail_noclose;
++      if (flags & GRUB_VERIFY_FLAGS_SKIP_VERIFICATION ||
++        /* Verification done earlier. So, we are happy here. */
++        flags & GRUB_VERIFY_FLAGS_DEFER_AUTH)
++      continue;
++      err = ver->write (context, verified->buf, ret->size);
++      if (err)
++      goto fail;
++
++      err = ver->fini ? ver->fini (context) : GRUB_ERR_NONE;
++      if (err)
++      goto fail;
++
++      if (ver->close)
++      ver->close (context);
++    }
++
++  verified->file = io;
++  ret->data = verified;
++  return ret;
++
++ fail:
++  ver->close (context);
++ fail_noclose:
++  verified_free (verified);
++  grub_free (ret);
++  return NULL;
++}
++
++grub_err_t
++grub_verify_string (char *str, enum grub_verify_string_type type)
++{
++  struct grub_file_verifier *ver;
++  FOR_LIST_ELEMENTS(ver, grub_file_verifiers)
++    {
++      grub_err_t err;
++      err = ver->verify_string ? ver->verify_string (str, type) : GRUB_ERR_NONE;
++      if (err)
++      return err;
++    }
++  return GRUB_ERR_NONE;
++}
++
++void
++grub_verifiers_init (void)
++{
++  grub_file_filter_register (GRUB_FILE_FILTER_VERIFY, grub_verifiers_open);
++}
+diff --git a/include/grub/verify.h b/include/grub/verify.h
+index ea04914..cd129c3 100644
+--- a/include/grub/verify.h
++++ b/include/grub/verify.h
+@@ -64,7 +64,10 @@ struct grub_file_verifier
+   grub_err_t (*verify_string) (char *str, enum grub_verify_string_type type);
+ };
+-extern struct grub_file_verifier *grub_file_verifiers;
++extern struct grub_file_verifier *EXPORT_VAR (grub_file_verifiers);
++
++extern void
++grub_verifiers_init (void);
+ static inline void
+ grub_verifier_register (struct grub_file_verifier *ver)
+@@ -78,7 +81,7 @@ grub_verifier_unregister (struct grub_file_verifier *ver)
+   grub_list_remove (GRUB_AS_LIST (ver));
+ }
+-grub_err_t
+-grub_verify_string (char *str, enum grub_verify_string_type type);
++extern grub_err_t
++EXPORT_FUNC (grub_verify_string) (char *str, enum grub_verify_string_type type);
+ #endif /* ! GRUB_VERIFY_HEADER */
+diff --git a/po/POTFILES.in b/po/POTFILES.in
+index 22543be..11c799f 100644
+--- a/po/POTFILES.in
++++ b/po/POTFILES.in
+@@ -107,7 +107,6 @@
+ ./grub-core/commands/tr.c
+ ./grub-core/commands/true.c
+ ./grub-core/commands/usbtest.c
+-./grub-core/commands/verifiers.c
+ ./grub-core/commands/videoinfo.c
+ ./grub-core/commands/videotest.c
+ ./grub-core/commands/wildcard.c
+@@ -334,6 +333,7 @@
+ ./grub-core/kern/uboot/hw.c
+ ./grub-core/kern/uboot/init.c
+ ./grub-core/kern/uboot/uboot.c
++./grub-core/kern/verifiers.c
+ ./grub-core/kern/vga_init.c
+ ./grub-core/kern/x86_64/dl.c
+ ./grub-core/kern/xen/init.c
+-- 
+2.14.2
+
diff --git a/boot/grub2/0034-efi-Move-the-shim_lock-verifier-to-the-GRUB-core.patch b/boot/grub2/0034-efi-Move-the-shim_lock-verifier-to-the-GRUB-core.patch
new file mode 100644 (file)
index 0000000..1b606f4
--- /dev/null
@@ -0,0 +1,13225 @@
+From 5e280caa6530ed160dcf2920c94f1605fb1f1f7c Mon Sep 17 00:00:00 2001
+From: Marco A Benatto <mbenatto@redhat.com>
+Date: Wed, 23 Sep 2020 14:21:14 -0400
+Subject: [PATCH] efi: Move the shim_lock verifier to the GRUB core
+
+Move the shim_lock verifier from its own module into the core image. The
+Secure Boot lockdown mechanism has the intent to prevent the load of any
+unsigned code or binary when Secure Boot is enabled.
+
+The reason is that GRUB must be able to prevent executing untrusted code
+if UEFI Secure Boot is enabled, without depending on external modules.
+
+Signed-off-by: Marco A Benatto <mbenatto@redhat.com>
+Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+[Add changes to generated files]
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ docs/grub.texi                     |     9 +-
+ grub-core/Makefile.core.am         |    23 -
+ grub-core/Makefile.core.def        |     6 -
+ grub-core/Makefile.in              | 11139 +++++++++++++++++------------------
+ grub-core/commands/efi/shim_lock.c |   130 -
+ grub-core/kern/efi/init.c          |     4 +
+ grub-core/kern/efi/sb.c            |   105 +
+ include/grub/efi/sb.h              |     3 +
+ po/POTFILES.in                     |     1 -
+ 9 files changed, 5657 insertions(+), 5763 deletions(-)
+ delete mode 100644 grub-core/commands/efi/shim_lock.c
+
+diff --git a/docs/grub.texi b/docs/grub.texi
+index 8779507..aefe032 100644
+--- a/docs/grub.texi
++++ b/docs/grub.texi
+@@ -5747,15 +5747,16 @@ secure boot chain.
+ @section UEFI secure boot and shim support
+ The GRUB, except the @command{chainloader} command, works with the UEFI secure
+-boot and the shim. This functionality is provided by the shim_lock module. It
+-is recommend to build in this and other required modules into the @file{core.img}.
++boot and the shim. This functionality is provided by the shim_lock verifier. It
++is built into the @file{core.img} and is registered if the UEFI secure boot is
++enabled.
++
+ All modules not stored in the @file{core.img} and the ACPI tables for the
+ @command{acpi} command have to be signed, e.g. using PGP. Additionally, the
+ @command{iorw}, the @command{memrw} and the @command{wrmsr} commands are
+ prohibited if the UEFI secure boot is enabled. This is done due to
+ security reasons. All above mentioned requirements are enforced by the
+-shim_lock module. And itself it is a persistent module which means that
+-it cannot be unloaded if it was loaded into the memory.
++shim_lock verifier logic.
+ @node Measured Boot
+ @section Measuring boot components
+diff --git a/grub-core/Makefile.core.am b/grub-core/Makefile.core.am
+index c4d67d4..5623a5e 100644
+--- a/grub-core/Makefile.core.am
++++ b/grub-core/Makefile.core.am
+@@ -6954,29 +6954,6 @@ pgp.marker: $(pgp_module_SOURCES) $(nodist_pgp_module_SOURCES)
+       $(TARGET_CPP) -DGRUB_LST_GENERATOR $(CPPFLAGS_MARKER) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pgp_module_CPPFLAGS) $(CPPFLAGS) $^ > $@.new || (rm -f $@; exit 1)
+       grep 'MARKER' $@.new > $@; rm -f $@.new
+-if COND_x86_64_efi
+-platform_PROGRAMS += shim_lock.module
+-MODULE_FILES += shim_lock.module$(EXEEXT)
+-shim_lock_module_SOURCES  = commands/efi/shim_lock.c  ## platform sources
+-nodist_shim_lock_module_SOURCES  =  ## platform nodist sources
+-shim_lock_module_LDADD  = 
+-shim_lock_module_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_MODULE) 
+-shim_lock_module_LDFLAGS  = $(AM_LDFLAGS) $(LDFLAGS_MODULE) 
+-shim_lock_module_CPPFLAGS  = $(AM_CPPFLAGS) $(CPPFLAGS_MODULE) 
+-shim_lock_module_CCASFLAGS  = $(AM_CCASFLAGS) $(CCASFLAGS_MODULE) 
+-shim_lock_module_DEPENDENCIES  = $(TARGET_OBJ2ELF) 
+-dist_noinst_DATA += 
+-BUILT_SOURCES += $(nodist_shim_lock_module_SOURCES)
+-CLEANFILES += $(nodist_shim_lock_module_SOURCES)
+-MOD_FILES += shim_lock.mod
+-MARKER_FILES += shim_lock.marker
+-CLEANFILES += shim_lock.marker
+-
+-shim_lock.marker: $(shim_lock_module_SOURCES) $(nodist_shim_lock_module_SOURCES)
+-      $(TARGET_CPP) -DGRUB_LST_GENERATOR $(CPPFLAGS_MARKER) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shim_lock_module_CPPFLAGS) $(CPPFLAGS) $^ > $@.new || (rm -f $@; exit 1)
+-      grep 'MARKER' $@.new > $@; rm -f $@.new
+-endif
+-
+ if COND_i386_pc
+ platform_PROGRAMS += hdparm.module
+ MODULE_FILES += hdparm.module$(EXEEXT)
+diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
+index f6c0348..4d380ed 100644
+--- a/grub-core/Makefile.core.def
++++ b/grub-core/Makefile.core.def
+@@ -944,12 +944,6 @@ module = {
+   cppflags = '-I$(srcdir)/lib/posix_wrap';
+ };
+-module = {
+-  name = shim_lock;
+-  common = commands/efi/shim_lock.c;
+-  enable = x86_64_efi;
+-};
+-
+ module = {
+   name = hdparm;
+   common = commands/hdparm.c;
+diff --git a/grub-core/Makefile.in b/grub-core/Makefile.in
+index 8930714..09dc802 100644
+--- a/grub-core/Makefile.in
++++ b/grub-core/Makefile.in
+@@ -205,36 +205,36 @@ platform_PROGRAMS = disk.module$(EXEEXT) trig.module$(EXEEXT) \
+       $(am__EXEEXT_293) $(am__EXEEXT_294) $(am__EXEEXT_295) \
+       $(am__EXEEXT_296) $(am__EXEEXT_297) $(am__EXEEXT_298) \
+       $(am__EXEEXT_299) $(am__EXEEXT_300) $(am__EXEEXT_301) \
+-      $(am__EXEEXT_302) help.module$(EXEEXT) hexdump.module$(EXEEXT) \
+-      keystatus.module$(EXEEXT) $(am__EXEEXT_303) $(am__EXEEXT_304) \
++      help.module$(EXEEXT) hexdump.module$(EXEEXT) \
++      keystatus.module$(EXEEXT) $(am__EXEEXT_302) $(am__EXEEXT_303) \
+       loadenv.module$(EXEEXT) ls.module$(EXEEXT) \
+-      lsmmap.module$(EXEEXT) $(am__EXEEXT_305) $(am__EXEEXT_306) \
+-      $(am__EXEEXT_307) $(am__EXEEXT_308) $(am__EXEEXT_309) \
+-      $(am__EXEEXT_310) $(am__EXEEXT_311) $(am__EXEEXT_312) \
++      lsmmap.module$(EXEEXT) $(am__EXEEXT_304) $(am__EXEEXT_305) \
++      $(am__EXEEXT_306) $(am__EXEEXT_307) $(am__EXEEXT_308) \
++      $(am__EXEEXT_309) $(am__EXEEXT_310) $(am__EXEEXT_311) \
+       memrw.module$(EXEEXT) minicmd.module$(EXEEXT) \
+       parttool.module$(EXEEXT) password.module$(EXEEXT) \
+-      password_pbkdf2.module$(EXEEXT) $(am__EXEEXT_313) \
+-      $(am__EXEEXT_314) $(am__EXEEXT_315) $(am__EXEEXT_316) \
+-      $(am__EXEEXT_317) $(am__EXEEXT_318) $(am__EXEEXT_319) \
+-      $(am__EXEEXT_320) $(am__EXEEXT_321) $(am__EXEEXT_322) \
+-      $(am__EXEEXT_323) $(am__EXEEXT_324) $(am__EXEEXT_325) \
+-      $(am__EXEEXT_326) $(am__EXEEXT_327) $(am__EXEEXT_328) \
+-      $(am__EXEEXT_329) $(am__EXEEXT_330) $(am__EXEEXT_331) \
+-      $(am__EXEEXT_332) $(am__EXEEXT_333) probe.module$(EXEEXT) \
++      password_pbkdf2.module$(EXEEXT) $(am__EXEEXT_312) \
++      $(am__EXEEXT_313) $(am__EXEEXT_314) $(am__EXEEXT_315) \
++      $(am__EXEEXT_316) $(am__EXEEXT_317) $(am__EXEEXT_318) \
++      $(am__EXEEXT_319) $(am__EXEEXT_320) $(am__EXEEXT_321) \
++      $(am__EXEEXT_322) $(am__EXEEXT_323) $(am__EXEEXT_324) \
++      $(am__EXEEXT_325) $(am__EXEEXT_326) $(am__EXEEXT_327) \
++      $(am__EXEEXT_328) $(am__EXEEXT_329) $(am__EXEEXT_330) \
++      $(am__EXEEXT_331) $(am__EXEEXT_332) probe.module$(EXEEXT) \
+       read.module$(EXEEXT) search.module$(EXEEXT) \
+       search_fs_file.module$(EXEEXT) search_fs_uuid.module$(EXEEXT) \
+-      search_label.module$(EXEEXT) $(am__EXEEXT_334) \
+-      $(am__EXEEXT_335) $(am__EXEEXT_336) $(am__EXEEXT_337) \
+-      $(am__EXEEXT_338) $(am__EXEEXT_339) $(am__EXEEXT_340) \
+-      $(am__EXEEXT_341) $(am__EXEEXT_342) $(am__EXEEXT_343) \
+-      $(am__EXEEXT_344) $(am__EXEEXT_345) $(am__EXEEXT_346) \
+-      $(am__EXEEXT_347) $(am__EXEEXT_348) $(am__EXEEXT_349) \
+-      sleep.module$(EXEEXT) $(am__EXEEXT_350) $(am__EXEEXT_351) \
++      search_label.module$(EXEEXT) $(am__EXEEXT_333) \
++      $(am__EXEEXT_334) $(am__EXEEXT_335) $(am__EXEEXT_336) \
++      $(am__EXEEXT_337) $(am__EXEEXT_338) $(am__EXEEXT_339) \
++      $(am__EXEEXT_340) $(am__EXEEXT_341) $(am__EXEEXT_342) \
++      $(am__EXEEXT_343) $(am__EXEEXT_344) $(am__EXEEXT_345) \
++      $(am__EXEEXT_346) $(am__EXEEXT_347) $(am__EXEEXT_348) \
++      sleep.module$(EXEEXT) $(am__EXEEXT_349) $(am__EXEEXT_350) \
+       terminal.module$(EXEEXT) test.module$(EXEEXT) \
+-      true.module$(EXEEXT) $(am__EXEEXT_352) $(am__EXEEXT_353) \
+-      $(am__EXEEXT_354) $(am__EXEEXT_355) $(am__EXEEXT_356) \
+-      $(am__EXEEXT_357) $(am__EXEEXT_358) $(am__EXEEXT_359) \
+-      $(am__EXEEXT_360) videoinfo.module$(EXEEXT) \
++      true.module$(EXEEXT) $(am__EXEEXT_351) $(am__EXEEXT_352) \
++      $(am__EXEEXT_353) $(am__EXEEXT_354) $(am__EXEEXT_355) \
++      $(am__EXEEXT_356) $(am__EXEEXT_357) $(am__EXEEXT_358) \
++      $(am__EXEEXT_359) videoinfo.module$(EXEEXT) \
+       videotest.module$(EXEEXT) xnu_uuid.module$(EXEEXT) \
+       dm_nv.module$(EXEEXT) loopback.module$(EXEEXT) \
+       cryptodisk.module$(EXEEXT) luks.module$(EXEEXT) \
+@@ -242,27 +242,27 @@ platform_PROGRAMS = disk.module$(EXEEXT) trig.module$(EXEEXT) \
+       mdraid09.module$(EXEEXT) mdraid09_be.module$(EXEEXT) \
+       mdraid1x.module$(EXEEXT) diskfilter.module$(EXEEXT) \
+       raid5rec.module$(EXEEXT) raid6rec.module$(EXEEXT) \
+-      scsi.module$(EXEEXT) memdisk.module$(EXEEXT) $(am__EXEEXT_361) \
+-      $(am__EXEEXT_362) $(am__EXEEXT_363) $(am__EXEEXT_364) \
+-      $(am__EXEEXT_365) $(am__EXEEXT_366) $(am__EXEEXT_367) \
+-      $(am__EXEEXT_368) $(am__EXEEXT_369) $(am__EXEEXT_370) \
+-      $(am__EXEEXT_371) $(am__EXEEXT_372) $(am__EXEEXT_373) \
+-      $(am__EXEEXT_374) $(am__EXEEXT_375) $(am__EXEEXT_376) \
+-      $(am__EXEEXT_377) $(am__EXEEXT_378) $(am__EXEEXT_379) \
+-      $(am__EXEEXT_380) $(am__EXEEXT_381) $(am__EXEEXT_382) \
+-      $(am__EXEEXT_383) $(am__EXEEXT_384) $(am__EXEEXT_385) \
+-      $(am__EXEEXT_386) $(am__EXEEXT_387) $(am__EXEEXT_388) \
+-      $(am__EXEEXT_389) $(am__EXEEXT_390) $(am__EXEEXT_391) \
+-      $(am__EXEEXT_392) $(am__EXEEXT_393) $(am__EXEEXT_394) \
+-      $(am__EXEEXT_395) $(am__EXEEXT_396) $(am__EXEEXT_397) \
+-      $(am__EXEEXT_398) $(am__EXEEXT_399) $(am__EXEEXT_400) \
+-      $(am__EXEEXT_401) $(am__EXEEXT_402) $(am__EXEEXT_403) \
+-      $(am__EXEEXT_404) $(am__EXEEXT_405) $(am__EXEEXT_406) \
+-      $(am__EXEEXT_407) $(am__EXEEXT_408) $(am__EXEEXT_409) \
+-      $(am__EXEEXT_410) $(am__EXEEXT_411) $(am__EXEEXT_412) \
+-      $(am__EXEEXT_413) $(am__EXEEXT_414) $(am__EXEEXT_415) \
+-      $(am__EXEEXT_416) $(am__EXEEXT_417) $(am__EXEEXT_418) \
+-      $(am__EXEEXT_419) $(am__EXEEXT_420) $(am__EXEEXT_421) \
++      scsi.module$(EXEEXT) memdisk.module$(EXEEXT) $(am__EXEEXT_360) \
++      $(am__EXEEXT_361) $(am__EXEEXT_362) $(am__EXEEXT_363) \
++      $(am__EXEEXT_364) $(am__EXEEXT_365) $(am__EXEEXT_366) \
++      $(am__EXEEXT_367) $(am__EXEEXT_368) $(am__EXEEXT_369) \
++      $(am__EXEEXT_370) $(am__EXEEXT_371) $(am__EXEEXT_372) \
++      $(am__EXEEXT_373) $(am__EXEEXT_374) $(am__EXEEXT_375) \
++      $(am__EXEEXT_376) $(am__EXEEXT_377) $(am__EXEEXT_378) \
++      $(am__EXEEXT_379) $(am__EXEEXT_380) $(am__EXEEXT_381) \
++      $(am__EXEEXT_382) $(am__EXEEXT_383) $(am__EXEEXT_384) \
++      $(am__EXEEXT_385) $(am__EXEEXT_386) $(am__EXEEXT_387) \
++      $(am__EXEEXT_388) $(am__EXEEXT_389) $(am__EXEEXT_390) \
++      $(am__EXEEXT_391) $(am__EXEEXT_392) $(am__EXEEXT_393) \
++      $(am__EXEEXT_394) $(am__EXEEXT_395) $(am__EXEEXT_396) \
++      $(am__EXEEXT_397) $(am__EXEEXT_398) $(am__EXEEXT_399) \
++      $(am__EXEEXT_400) $(am__EXEEXT_401) $(am__EXEEXT_402) \
++      $(am__EXEEXT_403) $(am__EXEEXT_404) $(am__EXEEXT_405) \
++      $(am__EXEEXT_406) $(am__EXEEXT_407) $(am__EXEEXT_408) \
++      $(am__EXEEXT_409) $(am__EXEEXT_410) $(am__EXEEXT_411) \
++      $(am__EXEEXT_412) $(am__EXEEXT_413) $(am__EXEEXT_414) \
++      $(am__EXEEXT_415) $(am__EXEEXT_416) $(am__EXEEXT_417) \
++      $(am__EXEEXT_418) $(am__EXEEXT_419) $(am__EXEEXT_420) \
+       procfs.module$(EXEEXT) affs.module$(EXEEXT) \
+       afs.module$(EXEEXT) bfs.module$(EXEEXT) zstd.module$(EXEEXT) \
+       btrfs.module$(EXEEXT) archelp.module$(EXEEXT) \
+@@ -284,165 +284,165 @@ platform_PROGRAMS = disk.module$(EXEEXT) trig.module$(EXEEXT) \
+       ufs1_be.module$(EXEEXT) ufs2.module$(EXEEXT) \
+       xfs.module$(EXEEXT) zfs.module$(EXEEXT) \
+       zfscrypt.module$(EXEEXT) zfsinfo.module$(EXEEXT) \
+-      macbless.module$(EXEEXT) $(am__EXEEXT_422) \
++      macbless.module$(EXEEXT) $(am__EXEEXT_421) \
+       gettext.module$(EXEEXT) gfxmenu.module$(EXEEXT) \
+       hello.module$(EXEEXT) gzio.module$(EXEEXT) \
+-      offsetio.module$(EXEEXT) $(am__EXEEXT_423) $(am__EXEEXT_424) \
+-      $(am__EXEEXT_425) $(am__EXEEXT_426) $(am__EXEEXT_427) \
+-      $(am__EXEEXT_428) $(am__EXEEXT_429) $(am__EXEEXT_430) \
+-      $(am__EXEEXT_431) $(am__EXEEXT_432) $(am__EXEEXT_433) \
+-      $(am__EXEEXT_434) $(am__EXEEXT_435) $(am__EXEEXT_436) \
+-      $(am__EXEEXT_437) $(am__EXEEXT_438) $(am__EXEEXT_439) \
+-      $(am__EXEEXT_440) $(am__EXEEXT_441) $(am__EXEEXT_442) \
++      offsetio.module$(EXEEXT) $(am__EXEEXT_422) $(am__EXEEXT_423) \
++      $(am__EXEEXT_424) $(am__EXEEXT_425) $(am__EXEEXT_426) \
++      $(am__EXEEXT_427) $(am__EXEEXT_428) $(am__EXEEXT_429) \
++      $(am__EXEEXT_430) $(am__EXEEXT_431) $(am__EXEEXT_432) \
++      $(am__EXEEXT_433) $(am__EXEEXT_434) $(am__EXEEXT_435) \
++      $(am__EXEEXT_436) $(am__EXEEXT_437) $(am__EXEEXT_438) \
++      $(am__EXEEXT_439) $(am__EXEEXT_440) $(am__EXEEXT_441) \
+       elf.module$(EXEEXT) crypto.module$(EXEEXT) \
+-      pbkdf2.module$(EXEEXT) $(am__EXEEXT_443) $(am__EXEEXT_444) \
+-      $(am__EXEEXT_445) $(am__EXEEXT_446) $(am__EXEEXT_447) \
+-      $(am__EXEEXT_448) $(am__EXEEXT_449) $(am__EXEEXT_450) \
+-      $(am__EXEEXT_451) $(am__EXEEXT_452) $(am__EXEEXT_453) \
+-      $(am__EXEEXT_454) $(am__EXEEXT_455) $(am__EXEEXT_456) \
+-      $(am__EXEEXT_457) $(am__EXEEXT_458) $(am__EXEEXT_459) \
+-      $(am__EXEEXT_460) $(am__EXEEXT_461) $(am__EXEEXT_462) \
+-      $(am__EXEEXT_463) $(am__EXEEXT_464) $(am__EXEEXT_465) \
+-      $(am__EXEEXT_466) $(am__EXEEXT_467) $(am__EXEEXT_468) \
+-      $(am__EXEEXT_469) $(am__EXEEXT_470) $(am__EXEEXT_471) \
+-      $(am__EXEEXT_472) $(am__EXEEXT_473) $(am__EXEEXT_474) \
+-      $(am__EXEEXT_475) $(am__EXEEXT_476) $(am__EXEEXT_477) \
+-      $(am__EXEEXT_478) setjmp.module$(EXEEXT) $(am__EXEEXT_479) \
+-      $(am__EXEEXT_480) $(am__EXEEXT_481) $(am__EXEEXT_482) \
+-      $(am__EXEEXT_483) $(am__EXEEXT_484) $(am__EXEEXT_485) \
+-      $(am__EXEEXT_486) $(am__EXEEXT_487) $(am__EXEEXT_488) \
+-      $(am__EXEEXT_489) $(am__EXEEXT_490) $(am__EXEEXT_491) \
+-      $(am__EXEEXT_492) $(am__EXEEXT_493) $(am__EXEEXT_494) \
+-      $(am__EXEEXT_495) $(am__EXEEXT_496) $(am__EXEEXT_497) \
+-      $(am__EXEEXT_498) $(am__EXEEXT_499) $(am__EXEEXT_500) \
+-      $(am__EXEEXT_501) $(am__EXEEXT_502) $(am__EXEEXT_503) \
+-      $(am__EXEEXT_504) $(am__EXEEXT_505) $(am__EXEEXT_506) \
+-      $(am__EXEEXT_507) $(am__EXEEXT_508) $(am__EXEEXT_509) \
+-      $(am__EXEEXT_510) $(am__EXEEXT_511) $(am__EXEEXT_512) \
+-      $(am__EXEEXT_513) $(am__EXEEXT_514) $(am__EXEEXT_515) \
+-      $(am__EXEEXT_516) $(am__EXEEXT_517) $(am__EXEEXT_518) \
+-      $(am__EXEEXT_519) $(am__EXEEXT_520) $(am__EXEEXT_521) \
+-      $(am__EXEEXT_522) $(am__EXEEXT_523) $(am__EXEEXT_524) \
+-      $(am__EXEEXT_525) $(am__EXEEXT_526) $(am__EXEEXT_527) \
+-      $(am__EXEEXT_528) $(am__EXEEXT_529) $(am__EXEEXT_530) \
+-      $(am__EXEEXT_531) $(am__EXEEXT_532) $(am__EXEEXT_533) \
+-      $(am__EXEEXT_534) $(am__EXEEXT_535) $(am__EXEEXT_536) \
+-      $(am__EXEEXT_537) $(am__EXEEXT_538) $(am__EXEEXT_539) \
+-      $(am__EXEEXT_540) $(am__EXEEXT_541) $(am__EXEEXT_542) \
+-      $(am__EXEEXT_543) $(am__EXEEXT_544) $(am__EXEEXT_545) \
+-      $(am__EXEEXT_546) $(am__EXEEXT_547) $(am__EXEEXT_548) \
+-      $(am__EXEEXT_549) $(am__EXEEXT_550) $(am__EXEEXT_551) \
+-      $(am__EXEEXT_552) $(am__EXEEXT_553) $(am__EXEEXT_554) \
+-      $(am__EXEEXT_555) $(am__EXEEXT_556) macho.module$(EXEEXT) \
+-      $(am__EXEEXT_557) $(am__EXEEXT_558) $(am__EXEEXT_559) \
+-      $(am__EXEEXT_560) $(am__EXEEXT_561) $(am__EXEEXT_562) \
+-      $(am__EXEEXT_563) $(am__EXEEXT_564) $(am__EXEEXT_565) \
+-      $(am__EXEEXT_566) $(am__EXEEXT_567) $(am__EXEEXT_568) \
+-      $(am__EXEEXT_569) $(am__EXEEXT_570) $(am__EXEEXT_571) \
+-      $(am__EXEEXT_572) $(am__EXEEXT_573) $(am__EXEEXT_574) \
+-      $(am__EXEEXT_575) $(am__EXEEXT_576) $(am__EXEEXT_577) \
+-      $(am__EXEEXT_578) $(am__EXEEXT_579) $(am__EXEEXT_580) \
+-      $(am__EXEEXT_581) $(am__EXEEXT_582) $(am__EXEEXT_583) \
++      pbkdf2.module$(EXEEXT) $(am__EXEEXT_442) $(am__EXEEXT_443) \
++      $(am__EXEEXT_444) $(am__EXEEXT_445) $(am__EXEEXT_446) \
++      $(am__EXEEXT_447) $(am__EXEEXT_448) $(am__EXEEXT_449) \
++      $(am__EXEEXT_450) $(am__EXEEXT_451) $(am__EXEEXT_452) \
++      $(am__EXEEXT_453) $(am__EXEEXT_454) $(am__EXEEXT_455) \
++      $(am__EXEEXT_456) $(am__EXEEXT_457) $(am__EXEEXT_458) \
++      $(am__EXEEXT_459) $(am__EXEEXT_460) $(am__EXEEXT_461) \
++      $(am__EXEEXT_462) $(am__EXEEXT_463) $(am__EXEEXT_464) \
++      $(am__EXEEXT_465) $(am__EXEEXT_466) $(am__EXEEXT_467) \
++      $(am__EXEEXT_468) $(am__EXEEXT_469) $(am__EXEEXT_470) \
++      $(am__EXEEXT_471) $(am__EXEEXT_472) $(am__EXEEXT_473) \
++      $(am__EXEEXT_474) $(am__EXEEXT_475) $(am__EXEEXT_476) \
++      $(am__EXEEXT_477) setjmp.module$(EXEEXT) $(am__EXEEXT_478) \
++      $(am__EXEEXT_479) $(am__EXEEXT_480) $(am__EXEEXT_481) \
++      $(am__EXEEXT_482) $(am__EXEEXT_483) $(am__EXEEXT_484) \
++      $(am__EXEEXT_485) $(am__EXEEXT_486) $(am__EXEEXT_487) \
++      $(am__EXEEXT_488) $(am__EXEEXT_489) $(am__EXEEXT_490) \
++      $(am__EXEEXT_491) $(am__EXEEXT_492) $(am__EXEEXT_493) \
++      $(am__EXEEXT_494) $(am__EXEEXT_495) $(am__EXEEXT_496) \
++      $(am__EXEEXT_497) $(am__EXEEXT_498) $(am__EXEEXT_499) \
++      $(am__EXEEXT_500) $(am__EXEEXT_501) $(am__EXEEXT_502) \
++      $(am__EXEEXT_503) $(am__EXEEXT_504) $(am__EXEEXT_505) \
++      $(am__EXEEXT_506) $(am__EXEEXT_507) $(am__EXEEXT_508) \
++      $(am__EXEEXT_509) $(am__EXEEXT_510) $(am__EXEEXT_511) \
++      $(am__EXEEXT_512) $(am__EXEEXT_513) $(am__EXEEXT_514) \
++      $(am__EXEEXT_515) $(am__EXEEXT_516) $(am__EXEEXT_517) \
++      $(am__EXEEXT_518) $(am__EXEEXT_519) $(am__EXEEXT_520) \
++      $(am__EXEEXT_521) $(am__EXEEXT_522) $(am__EXEEXT_523) \
++      $(am__EXEEXT_524) $(am__EXEEXT_525) $(am__EXEEXT_526) \
++      $(am__EXEEXT_527) $(am__EXEEXT_528) $(am__EXEEXT_529) \
++      $(am__EXEEXT_530) $(am__EXEEXT_531) $(am__EXEEXT_532) \
++      $(am__EXEEXT_533) $(am__EXEEXT_534) $(am__EXEEXT_535) \
++      $(am__EXEEXT_536) $(am__EXEEXT_537) $(am__EXEEXT_538) \
++      $(am__EXEEXT_539) $(am__EXEEXT_540) $(am__EXEEXT_541) \
++      $(am__EXEEXT_542) $(am__EXEEXT_543) $(am__EXEEXT_544) \
++      $(am__EXEEXT_545) $(am__EXEEXT_546) $(am__EXEEXT_547) \
++      $(am__EXEEXT_548) $(am__EXEEXT_549) $(am__EXEEXT_550) \
++      $(am__EXEEXT_551) $(am__EXEEXT_552) $(am__EXEEXT_553) \
++      $(am__EXEEXT_554) $(am__EXEEXT_555) macho.module$(EXEEXT) \
++      $(am__EXEEXT_556) $(am__EXEEXT_557) $(am__EXEEXT_558) \
++      $(am__EXEEXT_559) $(am__EXEEXT_560) $(am__EXEEXT_561) \
++      $(am__EXEEXT_562) $(am__EXEEXT_563) $(am__EXEEXT_564) \
++      $(am__EXEEXT_565) $(am__EXEEXT_566) $(am__EXEEXT_567) \
++      $(am__EXEEXT_568) $(am__EXEEXT_569) $(am__EXEEXT_570) \
++      $(am__EXEEXT_571) $(am__EXEEXT_572) $(am__EXEEXT_573) \
++      $(am__EXEEXT_574) $(am__EXEEXT_575) $(am__EXEEXT_576) \
++      $(am__EXEEXT_577) $(am__EXEEXT_578) $(am__EXEEXT_579) \
++      $(am__EXEEXT_580) $(am__EXEEXT_581) $(am__EXEEXT_582) \
+       normal.module$(EXEEXT) part_acorn.module$(EXEEXT) \
+       part_amiga.module$(EXEEXT) part_apple.module$(EXEEXT) \
+       part_gpt.module$(EXEEXT) part_msdos.module$(EXEEXT) \
+       part_sun.module$(EXEEXT) part_plan.module$(EXEEXT) \
+       part_dvh.module$(EXEEXT) part_bsd.module$(EXEEXT) \
+       part_sunpc.module$(EXEEXT) part_dfly.module$(EXEEXT) \
+-      msdospart.module$(EXEEXT) $(am__EXEEXT_584) $(am__EXEEXT_585) \
+-      $(am__EXEEXT_586) $(am__EXEEXT_587) $(am__EXEEXT_588) \
+-      $(am__EXEEXT_589) $(am__EXEEXT_590) $(am__EXEEXT_591) \
+-      $(am__EXEEXT_592) $(am__EXEEXT_593) $(am__EXEEXT_594) \
+-      $(am__EXEEXT_595) $(am__EXEEXT_596) $(am__EXEEXT_597) \
+-      $(am__EXEEXT_598) $(am__EXEEXT_599) $(am__EXEEXT_600) \
+-      $(am__EXEEXT_601) $(am__EXEEXT_602) $(am__EXEEXT_603) \
+-      $(am__EXEEXT_604) $(am__EXEEXT_605) $(am__EXEEXT_606) \
+-      $(am__EXEEXT_607) $(am__EXEEXT_608) $(am__EXEEXT_609) \
+-      $(am__EXEEXT_610) gfxterm_background.module$(EXEEXT) \
+-      $(am__EXEEXT_611) $(am__EXEEXT_612) $(am__EXEEXT_613) \
+-      $(am__EXEEXT_614) $(am__EXEEXT_615) $(am__EXEEXT_616) \
+-      $(am__EXEEXT_617) $(am__EXEEXT_618) $(am__EXEEXT_619) \
+-      $(am__EXEEXT_620) $(am__EXEEXT_621) $(am__EXEEXT_622) \
+-      $(am__EXEEXT_623) $(am__EXEEXT_624) $(am__EXEEXT_625) \
+-      $(am__EXEEXT_626) $(am__EXEEXT_627) $(am__EXEEXT_628) \
+-      $(am__EXEEXT_629) $(am__EXEEXT_630) $(am__EXEEXT_631) \
+-      $(am__EXEEXT_632) $(am__EXEEXT_633) $(am__EXEEXT_634) \
+-      $(am__EXEEXT_635) $(am__EXEEXT_636) $(am__EXEEXT_637) \
+-      $(am__EXEEXT_638) $(am__EXEEXT_639) $(am__EXEEXT_640) \
+-      $(am__EXEEXT_641) $(am__EXEEXT_642) $(am__EXEEXT_643) \
+-      $(am__EXEEXT_644) $(am__EXEEXT_645) $(am__EXEEXT_646) \
+-      $(am__EXEEXT_647) $(am__EXEEXT_648) $(am__EXEEXT_649) \
+-      $(am__EXEEXT_650) $(am__EXEEXT_651) $(am__EXEEXT_652) \
+-      $(am__EXEEXT_653) $(am__EXEEXT_654) $(am__EXEEXT_655) \
+-      $(am__EXEEXT_656) $(am__EXEEXT_657) $(am__EXEEXT_658) \
+-      $(am__EXEEXT_659) $(am__EXEEXT_660) $(am__EXEEXT_661) \
+-      $(am__EXEEXT_662) $(am__EXEEXT_663) $(am__EXEEXT_664) \
+-      $(am__EXEEXT_665) functional_test.module$(EXEEXT) \
++      msdospart.module$(EXEEXT) $(am__EXEEXT_583) $(am__EXEEXT_584) \
++      $(am__EXEEXT_585) $(am__EXEEXT_586) $(am__EXEEXT_587) \
++      $(am__EXEEXT_588) $(am__EXEEXT_589) $(am__EXEEXT_590) \
++      $(am__EXEEXT_591) $(am__EXEEXT_592) $(am__EXEEXT_593) \
++      $(am__EXEEXT_594) $(am__EXEEXT_595) $(am__EXEEXT_596) \
++      $(am__EXEEXT_597) $(am__EXEEXT_598) $(am__EXEEXT_599) \
++      $(am__EXEEXT_600) $(am__EXEEXT_601) $(am__EXEEXT_602) \
++      $(am__EXEEXT_603) $(am__EXEEXT_604) $(am__EXEEXT_605) \
++      $(am__EXEEXT_606) $(am__EXEEXT_607) $(am__EXEEXT_608) \
++      $(am__EXEEXT_609) gfxterm_background.module$(EXEEXT) \
++      $(am__EXEEXT_610) $(am__EXEEXT_611) $(am__EXEEXT_612) \
++      $(am__EXEEXT_613) $(am__EXEEXT_614) $(am__EXEEXT_615) \
++      $(am__EXEEXT_616) $(am__EXEEXT_617) $(am__EXEEXT_618) \
++      $(am__EXEEXT_619) $(am__EXEEXT_620) $(am__EXEEXT_621) \
++      $(am__EXEEXT_622) $(am__EXEEXT_623) $(am__EXEEXT_624) \
++      $(am__EXEEXT_625) $(am__EXEEXT_626) $(am__EXEEXT_627) \
++      $(am__EXEEXT_628) $(am__EXEEXT_629) $(am__EXEEXT_630) \
++      $(am__EXEEXT_631) $(am__EXEEXT_632) $(am__EXEEXT_633) \
++      $(am__EXEEXT_634) $(am__EXEEXT_635) $(am__EXEEXT_636) \
++      $(am__EXEEXT_637) $(am__EXEEXT_638) $(am__EXEEXT_639) \
++      $(am__EXEEXT_640) $(am__EXEEXT_641) $(am__EXEEXT_642) \
++      $(am__EXEEXT_643) $(am__EXEEXT_644) $(am__EXEEXT_645) \
++      $(am__EXEEXT_646) $(am__EXEEXT_647) $(am__EXEEXT_648) \
++      $(am__EXEEXT_649) $(am__EXEEXT_650) $(am__EXEEXT_651) \
++      $(am__EXEEXT_652) $(am__EXEEXT_653) $(am__EXEEXT_654) \
++      $(am__EXEEXT_655) $(am__EXEEXT_656) $(am__EXEEXT_657) \
++      $(am__EXEEXT_658) $(am__EXEEXT_659) $(am__EXEEXT_660) \
++      $(am__EXEEXT_661) $(am__EXEEXT_662) $(am__EXEEXT_663) \
++      $(am__EXEEXT_664) functional_test.module$(EXEEXT) \
+       exfctest.module$(EXEEXT) strtoull_test.module$(EXEEXT) \
+       setjmp_test.module$(EXEEXT) signature_test.module$(EXEEXT) \
+       sleep_test.module$(EXEEXT) xnu_uuid_test.module$(EXEEXT) \
+-      pbkdf2_test.module$(EXEEXT) $(am__EXEEXT_666) \
+-      $(am__EXEEXT_667) $(am__EXEEXT_668) $(am__EXEEXT_669) \
+-      $(am__EXEEXT_670) $(am__EXEEXT_671) $(am__EXEEXT_672) \
+-      $(am__EXEEXT_673) $(am__EXEEXT_674) $(am__EXEEXT_675) \
+-      $(am__EXEEXT_676) $(am__EXEEXT_677) $(am__EXEEXT_678) \
+-      $(am__EXEEXT_679) $(am__EXEEXT_680) $(am__EXEEXT_681) \
+-      $(am__EXEEXT_682) $(am__EXEEXT_683) $(am__EXEEXT_684) \
+-      $(am__EXEEXT_685) $(am__EXEEXT_686) $(am__EXEEXT_687) \
+-      $(am__EXEEXT_688) $(am__EXEEXT_689) $(am__EXEEXT_690) \
++      pbkdf2_test.module$(EXEEXT) $(am__EXEEXT_665) \
++      $(am__EXEEXT_666) $(am__EXEEXT_667) $(am__EXEEXT_668) \
++      $(am__EXEEXT_669) $(am__EXEEXT_670) $(am__EXEEXT_671) \
++      $(am__EXEEXT_672) $(am__EXEEXT_673) $(am__EXEEXT_674) \
++      $(am__EXEEXT_675) $(am__EXEEXT_676) $(am__EXEEXT_677) \
++      $(am__EXEEXT_678) $(am__EXEEXT_679) $(am__EXEEXT_680) \
++      $(am__EXEEXT_681) $(am__EXEEXT_682) $(am__EXEEXT_683) \
++      $(am__EXEEXT_684) $(am__EXEEXT_685) $(am__EXEEXT_686) \
++      $(am__EXEEXT_687) $(am__EXEEXT_688) $(am__EXEEXT_689) \
+       div_test.module$(EXEEXT) mul_test.module$(EXEEXT) \
+       shift_test.module$(EXEEXT) cmp_test.module$(EXEEXT) \
+       ctz_test.module$(EXEEXT) bswap_test.module$(EXEEXT) \
+       videotest_checksum.module$(EXEEXT) \
+       gfxterm_menu.module$(EXEEXT) cmdline_cat_test.module$(EXEEXT) \
+       bitmap.module$(EXEEXT) bitmap_scale.module$(EXEEXT) \
+-      $(am__EXEEXT_691) $(am__EXEEXT_692) $(am__EXEEXT_693) \
+-      $(am__EXEEXT_694) $(am__EXEEXT_695) $(am__EXEEXT_696) \
+-      $(am__EXEEXT_697) $(am__EXEEXT_698) $(am__EXEEXT_699) \
++      $(am__EXEEXT_690) $(am__EXEEXT_691) $(am__EXEEXT_692) \
++      $(am__EXEEXT_693) $(am__EXEEXT_694) $(am__EXEEXT_695) \
++      $(am__EXEEXT_696) $(am__EXEEXT_697) $(am__EXEEXT_698) \
+       jpeg.module$(EXEEXT) png.module$(EXEEXT) tga.module$(EXEEXT) \
+-      $(am__EXEEXT_700) $(am__EXEEXT_701) $(am__EXEEXT_702) \
+-      $(am__EXEEXT_703) $(am__EXEEXT_704) $(am__EXEEXT_705) \
+-      $(am__EXEEXT_706) $(am__EXEEXT_707) $(am__EXEEXT_708) \
+-      $(am__EXEEXT_709) $(am__EXEEXT_710) $(am__EXEEXT_711) \
+-      $(am__EXEEXT_712) $(am__EXEEXT_713) $(am__EXEEXT_714) \
+-      $(am__EXEEXT_715) $(am__EXEEXT_716) $(am__EXEEXT_717) \
+-      $(am__EXEEXT_718) $(am__EXEEXT_719) $(am__EXEEXT_720) \
+-      $(am__EXEEXT_721) $(am__EXEEXT_722) $(am__EXEEXT_723) \
+-      $(am__EXEEXT_724) $(am__EXEEXT_725) $(am__EXEEXT_726) \
+-      $(am__EXEEXT_727) $(am__EXEEXT_728) $(am__EXEEXT_729) \
+-      $(am__EXEEXT_730) $(am__EXEEXT_731) $(am__EXEEXT_732) \
+-      $(am__EXEEXT_733) $(am__EXEEXT_734) $(am__EXEEXT_735) \
+-      $(am__EXEEXT_736) $(am__EXEEXT_737) $(am__EXEEXT_738) \
+-      $(am__EXEEXT_739) $(am__EXEEXT_740) \
+-      video_colors.module$(EXEEXT) $(am__EXEEXT_741) \
+-      $(am__EXEEXT_742) datehook.module$(EXEEXT) net.module$(EXEEXT) \
+-      tftp.module$(EXEEXT) http.module$(EXEEXT) $(am__EXEEXT_743) \
+-      $(am__EXEEXT_744) $(am__EXEEXT_745) $(am__EXEEXT_746) \
+-      $(am__EXEEXT_747) $(am__EXEEXT_748) $(am__EXEEXT_749) \
+-      $(am__EXEEXT_750) $(am__EXEEXT_751) $(am__EXEEXT_752) \
+-      $(am__EXEEXT_753) $(am__EXEEXT_754) $(am__EXEEXT_755) \
+-      $(am__EXEEXT_756) $(am__EXEEXT_757) $(am__EXEEXT_758) \
+-      $(am__EXEEXT_759) $(am__EXEEXT_760) \
++      $(am__EXEEXT_699) $(am__EXEEXT_700) $(am__EXEEXT_701) \
++      $(am__EXEEXT_702) $(am__EXEEXT_703) $(am__EXEEXT_704) \
++      $(am__EXEEXT_705) $(am__EXEEXT_706) $(am__EXEEXT_707) \
++      $(am__EXEEXT_708) $(am__EXEEXT_709) $(am__EXEEXT_710) \
++      $(am__EXEEXT_711) $(am__EXEEXT_712) $(am__EXEEXT_713) \
++      $(am__EXEEXT_714) $(am__EXEEXT_715) $(am__EXEEXT_716) \
++      $(am__EXEEXT_717) $(am__EXEEXT_718) $(am__EXEEXT_719) \
++      $(am__EXEEXT_720) $(am__EXEEXT_721) $(am__EXEEXT_722) \
++      $(am__EXEEXT_723) $(am__EXEEXT_724) $(am__EXEEXT_725) \
++      $(am__EXEEXT_726) $(am__EXEEXT_727) $(am__EXEEXT_728) \
++      $(am__EXEEXT_729) $(am__EXEEXT_730) $(am__EXEEXT_731) \
++      $(am__EXEEXT_732) $(am__EXEEXT_733) $(am__EXEEXT_734) \
++      $(am__EXEEXT_735) $(am__EXEEXT_736) $(am__EXEEXT_737) \
++      $(am__EXEEXT_738) $(am__EXEEXT_739) \
++      video_colors.module$(EXEEXT) $(am__EXEEXT_740) \
++      $(am__EXEEXT_741) datehook.module$(EXEEXT) net.module$(EXEEXT) \
++      tftp.module$(EXEEXT) http.module$(EXEEXT) $(am__EXEEXT_742) \
++      $(am__EXEEXT_743) $(am__EXEEXT_744) $(am__EXEEXT_745) \
++      $(am__EXEEXT_746) $(am__EXEEXT_747) $(am__EXEEXT_748) \
++      $(am__EXEEXT_749) $(am__EXEEXT_750) $(am__EXEEXT_751) \
++      $(am__EXEEXT_752) $(am__EXEEXT_753) $(am__EXEEXT_754) \
++      $(am__EXEEXT_755) $(am__EXEEXT_756) $(am__EXEEXT_757) \
++      $(am__EXEEXT_758) $(am__EXEEXT_759) \
+       syslinuxcfg.module$(EXEEXT) test_blockarg.module$(EXEEXT) \
+       xzio.module$(EXEEXT) lzopio.module$(EXEEXT) \
+-      testload.module$(EXEEXT) $(am__EXEEXT_761) $(am__EXEEXT_762) \
+-      $(am__EXEEXT_763) $(am__EXEEXT_764) $(am__EXEEXT_765) \
+-      $(am__EXEEXT_766) $(am__EXEEXT_767) $(am__EXEEXT_768) \
+-      $(am__EXEEXT_769) $(am__EXEEXT_770) $(am__EXEEXT_771) \
+-      $(am__EXEEXT_772) $(am__EXEEXT_773) $(am__EXEEXT_774) \
+-      $(am__EXEEXT_775) $(am__EXEEXT_776) $(am__EXEEXT_777) \
++      testload.module$(EXEEXT) $(am__EXEEXT_760) $(am__EXEEXT_761) \
++      $(am__EXEEXT_762) $(am__EXEEXT_763) $(am__EXEEXT_764) \
++      $(am__EXEEXT_765) $(am__EXEEXT_766) $(am__EXEEXT_767) \
++      $(am__EXEEXT_768) $(am__EXEEXT_769) $(am__EXEEXT_770) \
++      $(am__EXEEXT_771) $(am__EXEEXT_772) $(am__EXEEXT_773) \
++      $(am__EXEEXT_774) $(am__EXEEXT_775) $(am__EXEEXT_776) \
+       priority_queue.module$(EXEEXT) time.module$(EXEEXT) \
+-      $(am__EXEEXT_778) $(am__EXEEXT_779) adler32.module$(EXEEXT) \
++      $(am__EXEEXT_777) $(am__EXEEXT_778) adler32.module$(EXEEXT) \
+       crc64.module$(EXEEXT) mpi.module$(EXEEXT) \
+-      all_video.module$(EXEEXT) $(am__EXEEXT_780) $(am__EXEEXT_781) \
+-      $(am__EXEEXT_782) $(am__EXEEXT_783) $(am__EXEEXT_784) \
+-      $(am__EXEEXT_785) testspeed.module$(EXEEXT) $(am__EXEEXT_786) \
++      all_video.module$(EXEEXT) $(am__EXEEXT_779) $(am__EXEEXT_780) \
++      $(am__EXEEXT_781) $(am__EXEEXT_782) $(am__EXEEXT_783) \
++      $(am__EXEEXT_784) testspeed.module$(EXEEXT) $(am__EXEEXT_785) \
+       tr.module$(EXEEXT) progress.module$(EXEEXT) \
+-      file.module$(EXEEXT) $(am__EXEEXT_787) $(am__EXEEXT_788) \
+-      $(am__EXEEXT_789) $(am__EXEEXT_790) $(am__EXEEXT_791) \
+-      $(am__EXEEXT_792) $(am__EXEEXT_793) $(am__EXEEXT_794) \
+-      $(am__EXEEXT_795) $(am__EXEEXT_796) $(am__EXEEXT_797) \
+-      $(am__EXEEXT_798) $(am__EXEEXT_799) $(am__EXEEXT_800) \
++      file.module$(EXEEXT) $(am__EXEEXT_786) $(am__EXEEXT_787) \
++      $(am__EXEEXT_788) $(am__EXEEXT_789) $(am__EXEEXT_790) \
++      $(am__EXEEXT_791) $(am__EXEEXT_792) $(am__EXEEXT_793) \
++      $(am__EXEEXT_794) $(am__EXEEXT_795) $(am__EXEEXT_796) \
++      $(am__EXEEXT_797) $(am__EXEEXT_798) $(am__EXEEXT_799) \
+       gcry_arcfour.module$(EXEEXT) gcry_blowfish.module$(EXEEXT) \
+       gcry_camellia.module$(EXEEXT) gcry_cast5.module$(EXEEXT) \
+       gcry_crc.module$(EXEEXT) gcry_des.module$(EXEEXT) \
+@@ -454,19 +454,19 @@ platform_PROGRAMS = disk.module$(EXEEXT) trig.module$(EXEEXT) \
+       gcry_sha1.module$(EXEEXT) gcry_sha256.module$(EXEEXT) \
+       gcry_sha512.module$(EXEEXT) gcry_tiger.module$(EXEEXT) \
+       gcry_twofish.module$(EXEEXT) gcry_whirlpool.module$(EXEEXT) \
+-      $(am__EXEEXT_801) $(am__EXEEXT_802) $(am__EXEEXT_803) \
+-      $(am__EXEEXT_804) $(am__EXEEXT_805) $(am__EXEEXT_806) \
+-      $(am__EXEEXT_807) $(am__EXEEXT_808) $(am__EXEEXT_809) \
+-      $(am__EXEEXT_810) $(am__EXEEXT_811) $(am__EXEEXT_812) \
+-      $(am__EXEEXT_813) $(am__EXEEXT_814) $(am__EXEEXT_815) \
+-      $(am__EXEEXT_816) $(am__EXEEXT_817) $(am__EXEEXT_818) \
+-      $(am__EXEEXT_819) $(am__EXEEXT_820) $(am__EXEEXT_821) \
+-      $(am__EXEEXT_822) $(am__EXEEXT_823) $(am__EXEEXT_824) \
+-      $(am__EXEEXT_825) $(am__EXEEXT_826) $(am__EXEEXT_827) \
+-      $(am__EXEEXT_828) $(am__EXEEXT_829) $(am__EXEEXT_830) \
+-      $(am__EXEEXT_831) $(am__EXEEXT_832) $(am__EXEEXT_833) \
+-      $(am__EXEEXT_834) $(am__EXEEXT_835) $(am__EXEEXT_836) \
+-      $(am__EXEEXT_837) $(am__EXEEXT_838) $(am__EXEEXT_839)
++      $(am__EXEEXT_800) $(am__EXEEXT_801) $(am__EXEEXT_802) \
++      $(am__EXEEXT_803) $(am__EXEEXT_804) $(am__EXEEXT_805) \
++      $(am__EXEEXT_806) $(am__EXEEXT_807) $(am__EXEEXT_808) \
++      $(am__EXEEXT_809) $(am__EXEEXT_810) $(am__EXEEXT_811) \
++      $(am__EXEEXT_812) $(am__EXEEXT_813) $(am__EXEEXT_814) \
++      $(am__EXEEXT_815) $(am__EXEEXT_816) $(am__EXEEXT_817) \
++      $(am__EXEEXT_818) $(am__EXEEXT_819) $(am__EXEEXT_820) \
++      $(am__EXEEXT_821) $(am__EXEEXT_822) $(am__EXEEXT_823) \
++      $(am__EXEEXT_824) $(am__EXEEXT_825) $(am__EXEEXT_826) \
++      $(am__EXEEXT_827) $(am__EXEEXT_828) $(am__EXEEXT_829) \
++      $(am__EXEEXT_830) $(am__EXEEXT_831) $(am__EXEEXT_832) \
++      $(am__EXEEXT_833) $(am__EXEEXT_834) $(am__EXEEXT_835) \
++      $(am__EXEEXT_836) $(am__EXEEXT_837) $(am__EXEEXT_838)
+ TESTS =
+ @COND_i386_pc_TRUE@am__append_3 = cs5536.module
+ @COND_i386_pc_TRUE@am__append_4 = cs5536.module$(EXEEXT)
+@@ -2996,1864 +2996,1854 @@ TESTS =
+ @COND_riscv64_efi_TRUE@       reboot.marker
+ @COND_riscv64_efi_TRUE@am__append_2038 = reboot.mod
+ @COND_riscv64_efi_TRUE@am__append_2039 = reboot.marker
+-@COND_x86_64_efi_TRUE@am__append_2040 = shim_lock.module
+-@COND_x86_64_efi_TRUE@am__append_2041 = shim_lock.module$(EXEEXT)
+-@COND_x86_64_efi_FALSE@shim_lock_module_DEPENDENCIES =
+-@COND_x86_64_efi_TRUE@am__append_2042 = 
+-@COND_x86_64_efi_TRUE@am__append_2043 = $(nodist_shim_lock_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_2044 =  \
+-@COND_x86_64_efi_TRUE@        $(nodist_shim_lock_module_SOURCES) \
+-@COND_x86_64_efi_TRUE@        shim_lock.marker
+-@COND_x86_64_efi_TRUE@am__append_2045 = shim_lock.mod
+-@COND_x86_64_efi_TRUE@am__append_2046 = shim_lock.marker
+-@COND_i386_pc_TRUE@am__append_2047 = hdparm.module
+-@COND_i386_pc_TRUE@am__append_2048 = hdparm.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__append_2040 = hdparm.module
++@COND_i386_pc_TRUE@am__append_2041 = hdparm.module$(EXEEXT)
+ @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_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_x86_64_efi_FALSE@hdparm_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_2049 = 
+-@COND_i386_pc_TRUE@am__append_2050 = $(nodist_hdparm_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_2051 = $(nodist_hdparm_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_2042 = 
++@COND_i386_pc_TRUE@am__append_2043 = $(nodist_hdparm_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_2044 = $(nodist_hdparm_module_SOURCES) \
+ @COND_i386_pc_TRUE@   hdparm.marker
+-@COND_i386_pc_TRUE@am__append_2052 = hdparm.mod
+-@COND_i386_pc_TRUE@am__append_2053 = hdparm.marker
+-@COND_i386_efi_TRUE@am__append_2054 = hdparm.module
+-@COND_i386_efi_TRUE@am__append_2055 = hdparm.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_2056 = 
+-@COND_i386_efi_TRUE@am__append_2057 = $(nodist_hdparm_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_2058 = $(nodist_hdparm_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_2045 = hdparm.mod
++@COND_i386_pc_TRUE@am__append_2046 = hdparm.marker
++@COND_i386_efi_TRUE@am__append_2047 = hdparm.module
++@COND_i386_efi_TRUE@am__append_2048 = hdparm.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_2049 = 
++@COND_i386_efi_TRUE@am__append_2050 = $(nodist_hdparm_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_2051 = $(nodist_hdparm_module_SOURCES) \
+ @COND_i386_efi_TRUE@  hdparm.marker
+-@COND_i386_efi_TRUE@am__append_2059 = hdparm.mod
+-@COND_i386_efi_TRUE@am__append_2060 = hdparm.marker
+-@COND_i386_qemu_TRUE@am__append_2061 = hdparm.module
+-@COND_i386_qemu_TRUE@am__append_2062 = hdparm.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_2063 = 
+-@COND_i386_qemu_TRUE@am__append_2064 = $(nodist_hdparm_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_2065 =  \
++@COND_i386_efi_TRUE@am__append_2052 = hdparm.mod
++@COND_i386_efi_TRUE@am__append_2053 = hdparm.marker
++@COND_i386_qemu_TRUE@am__append_2054 = hdparm.module
++@COND_i386_qemu_TRUE@am__append_2055 = hdparm.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_2056 = 
++@COND_i386_qemu_TRUE@am__append_2057 = $(nodist_hdparm_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_2058 =  \
+ @COND_i386_qemu_TRUE@ $(nodist_hdparm_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ hdparm.marker
+-@COND_i386_qemu_TRUE@am__append_2066 = hdparm.mod
+-@COND_i386_qemu_TRUE@am__append_2067 = hdparm.marker
+-@COND_i386_coreboot_TRUE@am__append_2068 = hdparm.module
+-@COND_i386_coreboot_TRUE@am__append_2069 = hdparm.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_2070 = 
+-@COND_i386_coreboot_TRUE@am__append_2071 = $(nodist_hdparm_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_2072 =  \
++@COND_i386_qemu_TRUE@am__append_2059 = hdparm.mod
++@COND_i386_qemu_TRUE@am__append_2060 = hdparm.marker
++@COND_i386_coreboot_TRUE@am__append_2061 = hdparm.module
++@COND_i386_coreboot_TRUE@am__append_2062 = hdparm.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_2063 = 
++@COND_i386_coreboot_TRUE@am__append_2064 = $(nodist_hdparm_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_2065 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_hdparm_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     hdparm.marker
+-@COND_i386_coreboot_TRUE@am__append_2073 = hdparm.mod
+-@COND_i386_coreboot_TRUE@am__append_2074 = hdparm.marker
+-@COND_i386_multiboot_TRUE@am__append_2075 = hdparm.module
+-@COND_i386_multiboot_TRUE@am__append_2076 = hdparm.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_2077 = 
+-@COND_i386_multiboot_TRUE@am__append_2078 = $(nodist_hdparm_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_2079 =  \
++@COND_i386_coreboot_TRUE@am__append_2066 = hdparm.mod
++@COND_i386_coreboot_TRUE@am__append_2067 = hdparm.marker
++@COND_i386_multiboot_TRUE@am__append_2068 = hdparm.module
++@COND_i386_multiboot_TRUE@am__append_2069 = hdparm.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_2070 = 
++@COND_i386_multiboot_TRUE@am__append_2071 = $(nodist_hdparm_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_2072 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_hdparm_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    hdparm.marker
+-@COND_i386_multiboot_TRUE@am__append_2080 = hdparm.mod
+-@COND_i386_multiboot_TRUE@am__append_2081 = hdparm.marker
+-@COND_i386_ieee1275_TRUE@am__append_2082 = hdparm.module
+-@COND_i386_ieee1275_TRUE@am__append_2083 = hdparm.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_2084 = 
+-@COND_i386_ieee1275_TRUE@am__append_2085 = $(nodist_hdparm_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_2086 =  \
++@COND_i386_multiboot_TRUE@am__append_2073 = hdparm.mod
++@COND_i386_multiboot_TRUE@am__append_2074 = hdparm.marker
++@COND_i386_ieee1275_TRUE@am__append_2075 = hdparm.module
++@COND_i386_ieee1275_TRUE@am__append_2076 = hdparm.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_2077 = 
++@COND_i386_ieee1275_TRUE@am__append_2078 = $(nodist_hdparm_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_2079 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_hdparm_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     hdparm.marker
+-@COND_i386_ieee1275_TRUE@am__append_2087 = hdparm.mod
+-@COND_i386_ieee1275_TRUE@am__append_2088 = hdparm.marker
+-@COND_x86_64_efi_TRUE@am__append_2089 = hdparm.module
+-@COND_x86_64_efi_TRUE@am__append_2090 = hdparm.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_2091 = 
+-@COND_x86_64_efi_TRUE@am__append_2092 = $(nodist_hdparm_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_2093 =  \
++@COND_i386_ieee1275_TRUE@am__append_2080 = hdparm.mod
++@COND_i386_ieee1275_TRUE@am__append_2081 = hdparm.marker
++@COND_x86_64_efi_TRUE@am__append_2082 = hdparm.module
++@COND_x86_64_efi_TRUE@am__append_2083 = hdparm.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_2084 = 
++@COND_x86_64_efi_TRUE@am__append_2085 = $(nodist_hdparm_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_2086 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_hdparm_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        hdparm.marker
+-@COND_x86_64_efi_TRUE@am__append_2094 = hdparm.mod
+-@COND_x86_64_efi_TRUE@am__append_2095 = hdparm.marker
+-@COND_mips_loongson_TRUE@am__append_2096 = hdparm.module
+-@COND_mips_loongson_TRUE@am__append_2097 = hdparm.module$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__append_2098 = 
+-@COND_mips_loongson_TRUE@am__append_2099 = $(nodist_hdparm_module_SOURCES)
+-@COND_mips_loongson_TRUE@am__append_2100 =  \
++@COND_x86_64_efi_TRUE@am__append_2087 = hdparm.mod
++@COND_x86_64_efi_TRUE@am__append_2088 = hdparm.marker
++@COND_mips_loongson_TRUE@am__append_2089 = hdparm.module
++@COND_mips_loongson_TRUE@am__append_2090 = hdparm.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__append_2091 = 
++@COND_mips_loongson_TRUE@am__append_2092 = $(nodist_hdparm_module_SOURCES)
++@COND_mips_loongson_TRUE@am__append_2093 =  \
+ @COND_mips_loongson_TRUE@     $(nodist_hdparm_module_SOURCES) \
+ @COND_mips_loongson_TRUE@     hdparm.marker
+-@COND_mips_loongson_TRUE@am__append_2101 = hdparm.mod
+-@COND_mips_loongson_TRUE@am__append_2102 = hdparm.marker
+-@COND_mips_qemu_mips_TRUE@am__append_2103 = hdparm.module
+-@COND_mips_qemu_mips_TRUE@am__append_2104 = hdparm.module$(EXEEXT)
+-@COND_mips_qemu_mips_TRUE@am__append_2105 = 
+-@COND_mips_qemu_mips_TRUE@am__append_2106 = $(nodist_hdparm_module_SOURCES)
+-@COND_mips_qemu_mips_TRUE@am__append_2107 =  \
++@COND_mips_loongson_TRUE@am__append_2094 = hdparm.mod
++@COND_mips_loongson_TRUE@am__append_2095 = hdparm.marker
++@COND_mips_qemu_mips_TRUE@am__append_2096 = hdparm.module
++@COND_mips_qemu_mips_TRUE@am__append_2097 = hdparm.module$(EXEEXT)
++@COND_mips_qemu_mips_TRUE@am__append_2098 = 
++@COND_mips_qemu_mips_TRUE@am__append_2099 = $(nodist_hdparm_module_SOURCES)
++@COND_mips_qemu_mips_TRUE@am__append_2100 =  \
+ @COND_mips_qemu_mips_TRUE@    $(nodist_hdparm_module_SOURCES) \
+ @COND_mips_qemu_mips_TRUE@    hdparm.marker
+-@COND_mips_qemu_mips_TRUE@am__append_2108 = hdparm.mod
+-@COND_mips_qemu_mips_TRUE@am__append_2109 = hdparm.marker
+-@COND_i386_efi_TRUE@am__append_2110 = loadbios.module
+-@COND_i386_efi_TRUE@am__append_2111 = loadbios.module$(EXEEXT)
++@COND_mips_qemu_mips_TRUE@am__append_2101 = hdparm.mod
++@COND_mips_qemu_mips_TRUE@am__append_2102 = hdparm.marker
++@COND_i386_efi_TRUE@am__append_2103 = loadbios.module
++@COND_i386_efi_TRUE@am__append_2104 = loadbios.module$(EXEEXT)
+ @COND_i386_efi_FALSE@@COND_x86_64_efi_FALSE@loadbios_module_DEPENDENCIES =
+-@COND_i386_efi_TRUE@am__append_2112 = 
+-@COND_i386_efi_TRUE@am__append_2113 = $(nodist_loadbios_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_2114 =  \
++@COND_i386_efi_TRUE@am__append_2105 = 
++@COND_i386_efi_TRUE@am__append_2106 = $(nodist_loadbios_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_2107 =  \
+ @COND_i386_efi_TRUE@  $(nodist_loadbios_module_SOURCES) \
+ @COND_i386_efi_TRUE@  loadbios.marker
+-@COND_i386_efi_TRUE@am__append_2115 = loadbios.mod
+-@COND_i386_efi_TRUE@am__append_2116 = loadbios.marker
+-@COND_x86_64_efi_TRUE@am__append_2117 = loadbios.module
+-@COND_x86_64_efi_TRUE@am__append_2118 = loadbios.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_2119 = 
+-@COND_x86_64_efi_TRUE@am__append_2120 = $(nodist_loadbios_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_2121 =  \
++@COND_i386_efi_TRUE@am__append_2108 = loadbios.mod
++@COND_i386_efi_TRUE@am__append_2109 = loadbios.marker
++@COND_x86_64_efi_TRUE@am__append_2110 = loadbios.module
++@COND_x86_64_efi_TRUE@am__append_2111 = loadbios.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_2112 = 
++@COND_x86_64_efi_TRUE@am__append_2113 = $(nodist_loadbios_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_2114 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_loadbios_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        loadbios.marker
+-@COND_x86_64_efi_TRUE@am__append_2122 = loadbios.mod
+-@COND_x86_64_efi_TRUE@am__append_2123 = loadbios.marker
+-@COND_i386_pc_TRUE@am__append_2124 = lspci.module
+-@COND_i386_pc_TRUE@am__append_2125 = lspci.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_2115 = loadbios.mod
++@COND_x86_64_efi_TRUE@am__append_2116 = loadbios.marker
++@COND_i386_pc_TRUE@am__append_2117 = lspci.module
++@COND_i386_pc_TRUE@am__append_2118 = lspci.module$(EXEEXT)
+ @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_mips_loongson_FALSE@@COND_x86_64_efi_FALSE@lspci_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_2126 = 
+-@COND_i386_pc_TRUE@am__append_2127 = $(nodist_lspci_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_2128 = $(nodist_lspci_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_2119 = 
++@COND_i386_pc_TRUE@am__append_2120 = $(nodist_lspci_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_2121 = $(nodist_lspci_module_SOURCES) \
+ @COND_i386_pc_TRUE@   lspci.marker
+-@COND_i386_pc_TRUE@am__append_2129 = lspci.mod
+-@COND_i386_pc_TRUE@am__append_2130 = lspci.marker
+-@COND_i386_efi_TRUE@am__append_2131 = lspci.module
+-@COND_i386_efi_TRUE@am__append_2132 = lspci.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_2133 = 
+-@COND_i386_efi_TRUE@am__append_2134 = $(nodist_lspci_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_2135 = $(nodist_lspci_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_2122 = lspci.mod
++@COND_i386_pc_TRUE@am__append_2123 = lspci.marker
++@COND_i386_efi_TRUE@am__append_2124 = lspci.module
++@COND_i386_efi_TRUE@am__append_2125 = lspci.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_2126 = 
++@COND_i386_efi_TRUE@am__append_2127 = $(nodist_lspci_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_2128 = $(nodist_lspci_module_SOURCES) \
+ @COND_i386_efi_TRUE@  lspci.marker
+-@COND_i386_efi_TRUE@am__append_2136 = lspci.mod
+-@COND_i386_efi_TRUE@am__append_2137 = lspci.marker
+-@COND_i386_qemu_TRUE@am__append_2138 = lspci.module
+-@COND_i386_qemu_TRUE@am__append_2139 = lspci.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_2140 = 
+-@COND_i386_qemu_TRUE@am__append_2141 = $(nodist_lspci_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_2142 = $(nodist_lspci_module_SOURCES) \
++@COND_i386_efi_TRUE@am__append_2129 = lspci.mod
++@COND_i386_efi_TRUE@am__append_2130 = lspci.marker
++@COND_i386_qemu_TRUE@am__append_2131 = lspci.module
++@COND_i386_qemu_TRUE@am__append_2132 = lspci.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_2133 = 
++@COND_i386_qemu_TRUE@am__append_2134 = $(nodist_lspci_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_2135 = $(nodist_lspci_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ lspci.marker
+-@COND_i386_qemu_TRUE@am__append_2143 = lspci.mod
+-@COND_i386_qemu_TRUE@am__append_2144 = lspci.marker
+-@COND_i386_coreboot_TRUE@am__append_2145 = lspci.module
+-@COND_i386_coreboot_TRUE@am__append_2146 = lspci.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_2147 = 
+-@COND_i386_coreboot_TRUE@am__append_2148 = $(nodist_lspci_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_2149 =  \
++@COND_i386_qemu_TRUE@am__append_2136 = lspci.mod
++@COND_i386_qemu_TRUE@am__append_2137 = lspci.marker
++@COND_i386_coreboot_TRUE@am__append_2138 = lspci.module
++@COND_i386_coreboot_TRUE@am__append_2139 = lspci.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_2140 = 
++@COND_i386_coreboot_TRUE@am__append_2141 = $(nodist_lspci_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_2142 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_lspci_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     lspci.marker
+-@COND_i386_coreboot_TRUE@am__append_2150 = lspci.mod
+-@COND_i386_coreboot_TRUE@am__append_2151 = lspci.marker
+-@COND_i386_multiboot_TRUE@am__append_2152 = lspci.module
+-@COND_i386_multiboot_TRUE@am__append_2153 = lspci.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_2154 = 
+-@COND_i386_multiboot_TRUE@am__append_2155 = $(nodist_lspci_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_2156 =  \
++@COND_i386_coreboot_TRUE@am__append_2143 = lspci.mod
++@COND_i386_coreboot_TRUE@am__append_2144 = lspci.marker
++@COND_i386_multiboot_TRUE@am__append_2145 = lspci.module
++@COND_i386_multiboot_TRUE@am__append_2146 = lspci.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_2147 = 
++@COND_i386_multiboot_TRUE@am__append_2148 = $(nodist_lspci_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_2149 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_lspci_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    lspci.marker
+-@COND_i386_multiboot_TRUE@am__append_2157 = lspci.mod
+-@COND_i386_multiboot_TRUE@am__append_2158 = lspci.marker
+-@COND_i386_ieee1275_TRUE@am__append_2159 = lspci.module
+-@COND_i386_ieee1275_TRUE@am__append_2160 = lspci.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_2161 = 
+-@COND_i386_ieee1275_TRUE@am__append_2162 = $(nodist_lspci_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_2163 =  \
++@COND_i386_multiboot_TRUE@am__append_2150 = lspci.mod
++@COND_i386_multiboot_TRUE@am__append_2151 = lspci.marker
++@COND_i386_ieee1275_TRUE@am__append_2152 = lspci.module
++@COND_i386_ieee1275_TRUE@am__append_2153 = lspci.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_2154 = 
++@COND_i386_ieee1275_TRUE@am__append_2155 = $(nodist_lspci_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_2156 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_lspci_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     lspci.marker
+-@COND_i386_ieee1275_TRUE@am__append_2164 = lspci.mod
+-@COND_i386_ieee1275_TRUE@am__append_2165 = lspci.marker
+-@COND_x86_64_efi_TRUE@am__append_2166 = lspci.module
+-@COND_x86_64_efi_TRUE@am__append_2167 = lspci.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_2168 = 
+-@COND_x86_64_efi_TRUE@am__append_2169 = $(nodist_lspci_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_2170 =  \
++@COND_i386_ieee1275_TRUE@am__append_2157 = lspci.mod
++@COND_i386_ieee1275_TRUE@am__append_2158 = lspci.marker
++@COND_x86_64_efi_TRUE@am__append_2159 = lspci.module
++@COND_x86_64_efi_TRUE@am__append_2160 = lspci.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_2161 = 
++@COND_x86_64_efi_TRUE@am__append_2162 = $(nodist_lspci_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_2163 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_lspci_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        lspci.marker
+-@COND_x86_64_efi_TRUE@am__append_2171 = lspci.mod
+-@COND_x86_64_efi_TRUE@am__append_2172 = lspci.marker
+-@COND_mips_loongson_TRUE@am__append_2173 = lspci.module
+-@COND_mips_loongson_TRUE@am__append_2174 = lspci.module$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__append_2175 = 
+-@COND_mips_loongson_TRUE@am__append_2176 = $(nodist_lspci_module_SOURCES)
+-@COND_mips_loongson_TRUE@am__append_2177 =  \
++@COND_x86_64_efi_TRUE@am__append_2164 = lspci.mod
++@COND_x86_64_efi_TRUE@am__append_2165 = lspci.marker
++@COND_mips_loongson_TRUE@am__append_2166 = lspci.module
++@COND_mips_loongson_TRUE@am__append_2167 = lspci.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__append_2168 = 
++@COND_mips_loongson_TRUE@am__append_2169 = $(nodist_lspci_module_SOURCES)
++@COND_mips_loongson_TRUE@am__append_2170 =  \
+ @COND_mips_loongson_TRUE@     $(nodist_lspci_module_SOURCES) \
+ @COND_mips_loongson_TRUE@     lspci.marker
+-@COND_mips_loongson_TRUE@am__append_2178 = lspci.mod
+-@COND_mips_loongson_TRUE@am__append_2179 = lspci.marker
+-@COND_i386_pc_TRUE@am__append_2180 = play.module
+-@COND_i386_pc_TRUE@am__append_2181 = play.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__append_2171 = lspci.mod
++@COND_mips_loongson_TRUE@am__append_2172 = lspci.marker
++@COND_i386_pc_TRUE@am__append_2173 = play.module
++@COND_i386_pc_TRUE@am__append_2174 = play.module$(EXEEXT)
+ @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_x86_64_efi_FALSE@play_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_2182 = 
+-@COND_i386_pc_TRUE@am__append_2183 = $(nodist_play_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_2184 = $(nodist_play_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_2175 = 
++@COND_i386_pc_TRUE@am__append_2176 = $(nodist_play_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_2177 = $(nodist_play_module_SOURCES) \
+ @COND_i386_pc_TRUE@   play.marker
+-@COND_i386_pc_TRUE@am__append_2185 = play.mod
+-@COND_i386_pc_TRUE@am__append_2186 = play.marker
+-@COND_i386_efi_TRUE@am__append_2187 = play.module
+-@COND_i386_efi_TRUE@am__append_2188 = play.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_2189 = 
+-@COND_i386_efi_TRUE@am__append_2190 = $(nodist_play_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_2191 = $(nodist_play_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_2178 = play.mod
++@COND_i386_pc_TRUE@am__append_2179 = play.marker
++@COND_i386_efi_TRUE@am__append_2180 = play.module
++@COND_i386_efi_TRUE@am__append_2181 = play.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_2182 = 
++@COND_i386_efi_TRUE@am__append_2183 = $(nodist_play_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_2184 = $(nodist_play_module_SOURCES) \
+ @COND_i386_efi_TRUE@  play.marker
+-@COND_i386_efi_TRUE@am__append_2192 = play.mod
+-@COND_i386_efi_TRUE@am__append_2193 = play.marker
+-@COND_i386_qemu_TRUE@am__append_2194 = play.module
+-@COND_i386_qemu_TRUE@am__append_2195 = play.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_2196 = 
+-@COND_i386_qemu_TRUE@am__append_2197 = $(nodist_play_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_2198 = $(nodist_play_module_SOURCES) \
++@COND_i386_efi_TRUE@am__append_2185 = play.mod
++@COND_i386_efi_TRUE@am__append_2186 = play.marker
++@COND_i386_qemu_TRUE@am__append_2187 = play.module
++@COND_i386_qemu_TRUE@am__append_2188 = play.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_2189 = 
++@COND_i386_qemu_TRUE@am__append_2190 = $(nodist_play_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_2191 = $(nodist_play_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ play.marker
+-@COND_i386_qemu_TRUE@am__append_2199 = play.mod
+-@COND_i386_qemu_TRUE@am__append_2200 = play.marker
+-@COND_i386_coreboot_TRUE@am__append_2201 = play.module
+-@COND_i386_coreboot_TRUE@am__append_2202 = play.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_2203 = 
+-@COND_i386_coreboot_TRUE@am__append_2204 = $(nodist_play_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_2205 =  \
++@COND_i386_qemu_TRUE@am__append_2192 = play.mod
++@COND_i386_qemu_TRUE@am__append_2193 = play.marker
++@COND_i386_coreboot_TRUE@am__append_2194 = play.module
++@COND_i386_coreboot_TRUE@am__append_2195 = play.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_2196 = 
++@COND_i386_coreboot_TRUE@am__append_2197 = $(nodist_play_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_2198 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_play_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     play.marker
+-@COND_i386_coreboot_TRUE@am__append_2206 = play.mod
+-@COND_i386_coreboot_TRUE@am__append_2207 = play.marker
+-@COND_i386_multiboot_TRUE@am__append_2208 = play.module
+-@COND_i386_multiboot_TRUE@am__append_2209 = play.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_2210 = 
+-@COND_i386_multiboot_TRUE@am__append_2211 = $(nodist_play_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_2212 =  \
++@COND_i386_coreboot_TRUE@am__append_2199 = play.mod
++@COND_i386_coreboot_TRUE@am__append_2200 = play.marker
++@COND_i386_multiboot_TRUE@am__append_2201 = play.module
++@COND_i386_multiboot_TRUE@am__append_2202 = play.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_2203 = 
++@COND_i386_multiboot_TRUE@am__append_2204 = $(nodist_play_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_2205 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_play_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    play.marker
+-@COND_i386_multiboot_TRUE@am__append_2213 = play.mod
+-@COND_i386_multiboot_TRUE@am__append_2214 = play.marker
+-@COND_i386_ieee1275_TRUE@am__append_2215 = play.module
+-@COND_i386_ieee1275_TRUE@am__append_2216 = play.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_2217 = 
+-@COND_i386_ieee1275_TRUE@am__append_2218 = $(nodist_play_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_2219 =  \
++@COND_i386_multiboot_TRUE@am__append_2206 = play.mod
++@COND_i386_multiboot_TRUE@am__append_2207 = play.marker
++@COND_i386_ieee1275_TRUE@am__append_2208 = play.module
++@COND_i386_ieee1275_TRUE@am__append_2209 = play.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_2210 = 
++@COND_i386_ieee1275_TRUE@am__append_2211 = $(nodist_play_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_2212 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_play_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     play.marker
+-@COND_i386_ieee1275_TRUE@am__append_2220 = play.mod
+-@COND_i386_ieee1275_TRUE@am__append_2221 = play.marker
+-@COND_x86_64_efi_TRUE@am__append_2222 = play.module
+-@COND_x86_64_efi_TRUE@am__append_2223 = play.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_2224 = 
+-@COND_x86_64_efi_TRUE@am__append_2225 = $(nodist_play_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_2226 = $(nodist_play_module_SOURCES) \
++@COND_i386_ieee1275_TRUE@am__append_2213 = play.mod
++@COND_i386_ieee1275_TRUE@am__append_2214 = play.marker
++@COND_x86_64_efi_TRUE@am__append_2215 = play.module
++@COND_x86_64_efi_TRUE@am__append_2216 = play.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_2217 = 
++@COND_x86_64_efi_TRUE@am__append_2218 = $(nodist_play_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_2219 = $(nodist_play_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        play.marker
+-@COND_x86_64_efi_TRUE@am__append_2227 = play.mod
+-@COND_x86_64_efi_TRUE@am__append_2228 = play.marker
+-@COND_i386_pc_TRUE@am__append_2229 = spkmodem.module
+-@COND_i386_pc_TRUE@am__append_2230 = spkmodem.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_2220 = play.mod
++@COND_x86_64_efi_TRUE@am__append_2221 = play.marker
++@COND_i386_pc_TRUE@am__append_2222 = spkmodem.module
++@COND_i386_pc_TRUE@am__append_2223 = spkmodem.module$(EXEEXT)
+ @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_x86_64_efi_FALSE@spkmodem_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_2231 = 
+-@COND_i386_pc_TRUE@am__append_2232 = $(nodist_spkmodem_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_2233 =  \
++@COND_i386_pc_TRUE@am__append_2224 = 
++@COND_i386_pc_TRUE@am__append_2225 = $(nodist_spkmodem_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_2226 =  \
+ @COND_i386_pc_TRUE@   $(nodist_spkmodem_module_SOURCES) \
+ @COND_i386_pc_TRUE@   spkmodem.marker
+-@COND_i386_pc_TRUE@am__append_2234 = spkmodem.mod
+-@COND_i386_pc_TRUE@am__append_2235 = spkmodem.marker
+-@COND_i386_efi_TRUE@am__append_2236 = spkmodem.module
+-@COND_i386_efi_TRUE@am__append_2237 = spkmodem.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_2238 = 
+-@COND_i386_efi_TRUE@am__append_2239 = $(nodist_spkmodem_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_2240 =  \
++@COND_i386_pc_TRUE@am__append_2227 = spkmodem.mod
++@COND_i386_pc_TRUE@am__append_2228 = spkmodem.marker
++@COND_i386_efi_TRUE@am__append_2229 = spkmodem.module
++@COND_i386_efi_TRUE@am__append_2230 = spkmodem.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_2231 = 
++@COND_i386_efi_TRUE@am__append_2232 = $(nodist_spkmodem_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_2233 =  \
+ @COND_i386_efi_TRUE@  $(nodist_spkmodem_module_SOURCES) \
+ @COND_i386_efi_TRUE@  spkmodem.marker
+-@COND_i386_efi_TRUE@am__append_2241 = spkmodem.mod
+-@COND_i386_efi_TRUE@am__append_2242 = spkmodem.marker
+-@COND_i386_qemu_TRUE@am__append_2243 = spkmodem.module
+-@COND_i386_qemu_TRUE@am__append_2244 = spkmodem.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_2245 = 
+-@COND_i386_qemu_TRUE@am__append_2246 = $(nodist_spkmodem_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_2247 =  \
++@COND_i386_efi_TRUE@am__append_2234 = spkmodem.mod
++@COND_i386_efi_TRUE@am__append_2235 = spkmodem.marker
++@COND_i386_qemu_TRUE@am__append_2236 = spkmodem.module
++@COND_i386_qemu_TRUE@am__append_2237 = spkmodem.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_2238 = 
++@COND_i386_qemu_TRUE@am__append_2239 = $(nodist_spkmodem_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_2240 =  \
+ @COND_i386_qemu_TRUE@ $(nodist_spkmodem_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ spkmodem.marker
+-@COND_i386_qemu_TRUE@am__append_2248 = spkmodem.mod
+-@COND_i386_qemu_TRUE@am__append_2249 = spkmodem.marker
+-@COND_i386_coreboot_TRUE@am__append_2250 = spkmodem.module
+-@COND_i386_coreboot_TRUE@am__append_2251 = spkmodem.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_2252 = 
+-@COND_i386_coreboot_TRUE@am__append_2253 = $(nodist_spkmodem_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_2254 =  \
++@COND_i386_qemu_TRUE@am__append_2241 = spkmodem.mod
++@COND_i386_qemu_TRUE@am__append_2242 = spkmodem.marker
++@COND_i386_coreboot_TRUE@am__append_2243 = spkmodem.module
++@COND_i386_coreboot_TRUE@am__append_2244 = spkmodem.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_2245 = 
++@COND_i386_coreboot_TRUE@am__append_2246 = $(nodist_spkmodem_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_2247 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_spkmodem_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     spkmodem.marker
+-@COND_i386_coreboot_TRUE@am__append_2255 = spkmodem.mod
+-@COND_i386_coreboot_TRUE@am__append_2256 = spkmodem.marker
+-@COND_i386_multiboot_TRUE@am__append_2257 = spkmodem.module
+-@COND_i386_multiboot_TRUE@am__append_2258 = spkmodem.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_2259 = 
+-@COND_i386_multiboot_TRUE@am__append_2260 = $(nodist_spkmodem_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_2261 =  \
++@COND_i386_coreboot_TRUE@am__append_2248 = spkmodem.mod
++@COND_i386_coreboot_TRUE@am__append_2249 = spkmodem.marker
++@COND_i386_multiboot_TRUE@am__append_2250 = spkmodem.module
++@COND_i386_multiboot_TRUE@am__append_2251 = spkmodem.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_2252 = 
++@COND_i386_multiboot_TRUE@am__append_2253 = $(nodist_spkmodem_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_2254 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_spkmodem_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    spkmodem.marker
+-@COND_i386_multiboot_TRUE@am__append_2262 = spkmodem.mod
+-@COND_i386_multiboot_TRUE@am__append_2263 = spkmodem.marker
+-@COND_i386_ieee1275_TRUE@am__append_2264 = spkmodem.module
+-@COND_i386_ieee1275_TRUE@am__append_2265 = spkmodem.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_2266 = 
+-@COND_i386_ieee1275_TRUE@am__append_2267 = $(nodist_spkmodem_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_2268 =  \
++@COND_i386_multiboot_TRUE@am__append_2255 = spkmodem.mod
++@COND_i386_multiboot_TRUE@am__append_2256 = spkmodem.marker
++@COND_i386_ieee1275_TRUE@am__append_2257 = spkmodem.module
++@COND_i386_ieee1275_TRUE@am__append_2258 = spkmodem.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_2259 = 
++@COND_i386_ieee1275_TRUE@am__append_2260 = $(nodist_spkmodem_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_2261 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_spkmodem_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     spkmodem.marker
+-@COND_i386_ieee1275_TRUE@am__append_2269 = spkmodem.mod
+-@COND_i386_ieee1275_TRUE@am__append_2270 = spkmodem.marker
+-@COND_x86_64_efi_TRUE@am__append_2271 = spkmodem.module
+-@COND_x86_64_efi_TRUE@am__append_2272 = spkmodem.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_2273 = 
+-@COND_x86_64_efi_TRUE@am__append_2274 = $(nodist_spkmodem_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_2275 =  \
++@COND_i386_ieee1275_TRUE@am__append_2262 = spkmodem.mod
++@COND_i386_ieee1275_TRUE@am__append_2263 = spkmodem.marker
++@COND_x86_64_efi_TRUE@am__append_2264 = spkmodem.module
++@COND_x86_64_efi_TRUE@am__append_2265 = spkmodem.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_2266 = 
++@COND_x86_64_efi_TRUE@am__append_2267 = $(nodist_spkmodem_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_2268 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_spkmodem_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        spkmodem.marker
+-@COND_x86_64_efi_TRUE@am__append_2276 = spkmodem.mod
+-@COND_x86_64_efi_TRUE@am__append_2277 = spkmodem.marker
+-@COND_i386_pc_TRUE@am__append_2278 = morse.module
+-@COND_i386_pc_TRUE@am__append_2279 = morse.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_2269 = spkmodem.mod
++@COND_x86_64_efi_TRUE@am__append_2270 = spkmodem.marker
++@COND_i386_pc_TRUE@am__append_2271 = morse.module
++@COND_i386_pc_TRUE@am__append_2272 = morse.module$(EXEEXT)
+ @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_x86_64_efi_FALSE@morse_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_2280 = 
+-@COND_i386_pc_TRUE@am__append_2281 = $(nodist_morse_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_2282 = $(nodist_morse_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_2273 = 
++@COND_i386_pc_TRUE@am__append_2274 = $(nodist_morse_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_2275 = $(nodist_morse_module_SOURCES) \
+ @COND_i386_pc_TRUE@   morse.marker
+-@COND_i386_pc_TRUE@am__append_2283 = morse.mod
+-@COND_i386_pc_TRUE@am__append_2284 = morse.marker
+-@COND_i386_efi_TRUE@am__append_2285 = morse.module
+-@COND_i386_efi_TRUE@am__append_2286 = morse.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_2287 = 
+-@COND_i386_efi_TRUE@am__append_2288 = $(nodist_morse_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_2289 = $(nodist_morse_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_2276 = morse.mod
++@COND_i386_pc_TRUE@am__append_2277 = morse.marker
++@COND_i386_efi_TRUE@am__append_2278 = morse.module
++@COND_i386_efi_TRUE@am__append_2279 = morse.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_2280 = 
++@COND_i386_efi_TRUE@am__append_2281 = $(nodist_morse_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_2282 = $(nodist_morse_module_SOURCES) \
+ @COND_i386_efi_TRUE@  morse.marker
+-@COND_i386_efi_TRUE@am__append_2290 = morse.mod
+-@COND_i386_efi_TRUE@am__append_2291 = morse.marker
+-@COND_i386_qemu_TRUE@am__append_2292 = morse.module
+-@COND_i386_qemu_TRUE@am__append_2293 = morse.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_2294 = 
+-@COND_i386_qemu_TRUE@am__append_2295 = $(nodist_morse_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_2296 = $(nodist_morse_module_SOURCES) \
++@COND_i386_efi_TRUE@am__append_2283 = morse.mod
++@COND_i386_efi_TRUE@am__append_2284 = morse.marker
++@COND_i386_qemu_TRUE@am__append_2285 = morse.module
++@COND_i386_qemu_TRUE@am__append_2286 = morse.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_2287 = 
++@COND_i386_qemu_TRUE@am__append_2288 = $(nodist_morse_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_2289 = $(nodist_morse_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ morse.marker
+-@COND_i386_qemu_TRUE@am__append_2297 = morse.mod
+-@COND_i386_qemu_TRUE@am__append_2298 = morse.marker
+-@COND_i386_coreboot_TRUE@am__append_2299 = morse.module
+-@COND_i386_coreboot_TRUE@am__append_2300 = morse.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_2301 = 
+-@COND_i386_coreboot_TRUE@am__append_2302 = $(nodist_morse_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_2303 =  \
++@COND_i386_qemu_TRUE@am__append_2290 = morse.mod
++@COND_i386_qemu_TRUE@am__append_2291 = morse.marker
++@COND_i386_coreboot_TRUE@am__append_2292 = morse.module
++@COND_i386_coreboot_TRUE@am__append_2293 = morse.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_2294 = 
++@COND_i386_coreboot_TRUE@am__append_2295 = $(nodist_morse_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_2296 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_morse_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     morse.marker
+-@COND_i386_coreboot_TRUE@am__append_2304 = morse.mod
+-@COND_i386_coreboot_TRUE@am__append_2305 = morse.marker
+-@COND_i386_multiboot_TRUE@am__append_2306 = morse.module
+-@COND_i386_multiboot_TRUE@am__append_2307 = morse.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_2308 = 
+-@COND_i386_multiboot_TRUE@am__append_2309 = $(nodist_morse_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_2310 =  \
++@COND_i386_coreboot_TRUE@am__append_2297 = morse.mod
++@COND_i386_coreboot_TRUE@am__append_2298 = morse.marker
++@COND_i386_multiboot_TRUE@am__append_2299 = morse.module
++@COND_i386_multiboot_TRUE@am__append_2300 = morse.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_2301 = 
++@COND_i386_multiboot_TRUE@am__append_2302 = $(nodist_morse_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_2303 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_morse_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    morse.marker
+-@COND_i386_multiboot_TRUE@am__append_2311 = morse.mod
+-@COND_i386_multiboot_TRUE@am__append_2312 = morse.marker
+-@COND_i386_ieee1275_TRUE@am__append_2313 = morse.module
+-@COND_i386_ieee1275_TRUE@am__append_2314 = morse.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_2315 = 
+-@COND_i386_ieee1275_TRUE@am__append_2316 = $(nodist_morse_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_2317 =  \
++@COND_i386_multiboot_TRUE@am__append_2304 = morse.mod
++@COND_i386_multiboot_TRUE@am__append_2305 = morse.marker
++@COND_i386_ieee1275_TRUE@am__append_2306 = morse.module
++@COND_i386_ieee1275_TRUE@am__append_2307 = morse.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_2308 = 
++@COND_i386_ieee1275_TRUE@am__append_2309 = $(nodist_morse_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_2310 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_morse_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     morse.marker
+-@COND_i386_ieee1275_TRUE@am__append_2318 = morse.mod
+-@COND_i386_ieee1275_TRUE@am__append_2319 = morse.marker
+-@COND_x86_64_efi_TRUE@am__append_2320 = morse.module
+-@COND_x86_64_efi_TRUE@am__append_2321 = morse.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_2322 = 
+-@COND_x86_64_efi_TRUE@am__append_2323 = $(nodist_morse_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_2324 =  \
++@COND_i386_ieee1275_TRUE@am__append_2311 = morse.mod
++@COND_i386_ieee1275_TRUE@am__append_2312 = morse.marker
++@COND_x86_64_efi_TRUE@am__append_2313 = morse.module
++@COND_x86_64_efi_TRUE@am__append_2314 = morse.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_2315 = 
++@COND_x86_64_efi_TRUE@am__append_2316 = $(nodist_morse_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_2317 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_morse_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        morse.marker
+-@COND_x86_64_efi_TRUE@am__append_2325 = morse.mod
+-@COND_x86_64_efi_TRUE@am__append_2326 = morse.marker
+-@COND_i386_pc_TRUE@am__append_2327 = setpci.module
+-@COND_i386_pc_TRUE@am__append_2328 = setpci.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_2318 = morse.mod
++@COND_x86_64_efi_TRUE@am__append_2319 = morse.marker
++@COND_i386_pc_TRUE@am__append_2320 = setpci.module
++@COND_i386_pc_TRUE@am__append_2321 = setpci.module$(EXEEXT)
+ @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_mips_loongson_FALSE@@COND_x86_64_efi_FALSE@setpci_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_2329 = 
+-@COND_i386_pc_TRUE@am__append_2330 = $(nodist_setpci_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_2331 = $(nodist_setpci_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_2322 = 
++@COND_i386_pc_TRUE@am__append_2323 = $(nodist_setpci_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_2324 = $(nodist_setpci_module_SOURCES) \
+ @COND_i386_pc_TRUE@   setpci.marker
+-@COND_i386_pc_TRUE@am__append_2332 = setpci.mod
+-@COND_i386_pc_TRUE@am__append_2333 = setpci.marker
+-@COND_i386_efi_TRUE@am__append_2334 = setpci.module
+-@COND_i386_efi_TRUE@am__append_2335 = setpci.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_2336 = 
+-@COND_i386_efi_TRUE@am__append_2337 = $(nodist_setpci_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_2338 = $(nodist_setpci_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_2325 = setpci.mod
++@COND_i386_pc_TRUE@am__append_2326 = setpci.marker
++@COND_i386_efi_TRUE@am__append_2327 = setpci.module
++@COND_i386_efi_TRUE@am__append_2328 = setpci.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_2329 = 
++@COND_i386_efi_TRUE@am__append_2330 = $(nodist_setpci_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_2331 = $(nodist_setpci_module_SOURCES) \
+ @COND_i386_efi_TRUE@  setpci.marker
+-@COND_i386_efi_TRUE@am__append_2339 = setpci.mod
+-@COND_i386_efi_TRUE@am__append_2340 = setpci.marker
+-@COND_i386_qemu_TRUE@am__append_2341 = setpci.module
+-@COND_i386_qemu_TRUE@am__append_2342 = setpci.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_2343 = 
+-@COND_i386_qemu_TRUE@am__append_2344 = $(nodist_setpci_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_2345 =  \
++@COND_i386_efi_TRUE@am__append_2332 = setpci.mod
++@COND_i386_efi_TRUE@am__append_2333 = setpci.marker
++@COND_i386_qemu_TRUE@am__append_2334 = setpci.module
++@COND_i386_qemu_TRUE@am__append_2335 = setpci.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_2336 = 
++@COND_i386_qemu_TRUE@am__append_2337 = $(nodist_setpci_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_2338 =  \
+ @COND_i386_qemu_TRUE@ $(nodist_setpci_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ setpci.marker
+-@COND_i386_qemu_TRUE@am__append_2346 = setpci.mod
+-@COND_i386_qemu_TRUE@am__append_2347 = setpci.marker
+-@COND_i386_coreboot_TRUE@am__append_2348 = setpci.module
+-@COND_i386_coreboot_TRUE@am__append_2349 = setpci.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_2350 = 
+-@COND_i386_coreboot_TRUE@am__append_2351 = $(nodist_setpci_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_2352 =  \
++@COND_i386_qemu_TRUE@am__append_2339 = setpci.mod
++@COND_i386_qemu_TRUE@am__append_2340 = setpci.marker
++@COND_i386_coreboot_TRUE@am__append_2341 = setpci.module
++@COND_i386_coreboot_TRUE@am__append_2342 = setpci.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_2343 = 
++@COND_i386_coreboot_TRUE@am__append_2344 = $(nodist_setpci_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_2345 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_setpci_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     setpci.marker
+-@COND_i386_coreboot_TRUE@am__append_2353 = setpci.mod
+-@COND_i386_coreboot_TRUE@am__append_2354 = setpci.marker
+-@COND_i386_multiboot_TRUE@am__append_2355 = setpci.module
+-@COND_i386_multiboot_TRUE@am__append_2356 = setpci.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_2357 = 
+-@COND_i386_multiboot_TRUE@am__append_2358 = $(nodist_setpci_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_2359 =  \
++@COND_i386_coreboot_TRUE@am__append_2346 = setpci.mod
++@COND_i386_coreboot_TRUE@am__append_2347 = setpci.marker
++@COND_i386_multiboot_TRUE@am__append_2348 = setpci.module
++@COND_i386_multiboot_TRUE@am__append_2349 = setpci.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_2350 = 
++@COND_i386_multiboot_TRUE@am__append_2351 = $(nodist_setpci_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_2352 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_setpci_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    setpci.marker
+-@COND_i386_multiboot_TRUE@am__append_2360 = setpci.mod
+-@COND_i386_multiboot_TRUE@am__append_2361 = setpci.marker
+-@COND_i386_ieee1275_TRUE@am__append_2362 = setpci.module
+-@COND_i386_ieee1275_TRUE@am__append_2363 = setpci.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_2364 = 
+-@COND_i386_ieee1275_TRUE@am__append_2365 = $(nodist_setpci_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_2366 =  \
++@COND_i386_multiboot_TRUE@am__append_2353 = setpci.mod
++@COND_i386_multiboot_TRUE@am__append_2354 = setpci.marker
++@COND_i386_ieee1275_TRUE@am__append_2355 = setpci.module
++@COND_i386_ieee1275_TRUE@am__append_2356 = setpci.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_2357 = 
++@COND_i386_ieee1275_TRUE@am__append_2358 = $(nodist_setpci_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_2359 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_setpci_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     setpci.marker
+-@COND_i386_ieee1275_TRUE@am__append_2367 = setpci.mod
+-@COND_i386_ieee1275_TRUE@am__append_2368 = setpci.marker
+-@COND_x86_64_efi_TRUE@am__append_2369 = setpci.module
+-@COND_x86_64_efi_TRUE@am__append_2370 = setpci.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_2371 = 
+-@COND_x86_64_efi_TRUE@am__append_2372 = $(nodist_setpci_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_2373 =  \
++@COND_i386_ieee1275_TRUE@am__append_2360 = setpci.mod
++@COND_i386_ieee1275_TRUE@am__append_2361 = setpci.marker
++@COND_x86_64_efi_TRUE@am__append_2362 = setpci.module
++@COND_x86_64_efi_TRUE@am__append_2363 = setpci.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_2364 = 
++@COND_x86_64_efi_TRUE@am__append_2365 = $(nodist_setpci_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_2366 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_setpci_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        setpci.marker
+-@COND_x86_64_efi_TRUE@am__append_2374 = setpci.mod
+-@COND_x86_64_efi_TRUE@am__append_2375 = setpci.marker
+-@COND_mips_loongson_TRUE@am__append_2376 = setpci.module
+-@COND_mips_loongson_TRUE@am__append_2377 = setpci.module$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__append_2378 = 
+-@COND_mips_loongson_TRUE@am__append_2379 = $(nodist_setpci_module_SOURCES)
+-@COND_mips_loongson_TRUE@am__append_2380 =  \
++@COND_x86_64_efi_TRUE@am__append_2367 = setpci.mod
++@COND_x86_64_efi_TRUE@am__append_2368 = setpci.marker
++@COND_mips_loongson_TRUE@am__append_2369 = setpci.module
++@COND_mips_loongson_TRUE@am__append_2370 = setpci.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__append_2371 = 
++@COND_mips_loongson_TRUE@am__append_2372 = $(nodist_setpci_module_SOURCES)
++@COND_mips_loongson_TRUE@am__append_2373 =  \
+ @COND_mips_loongson_TRUE@     $(nodist_setpci_module_SOURCES) \
+ @COND_mips_loongson_TRUE@     setpci.marker
+-@COND_mips_loongson_TRUE@am__append_2381 = setpci.mod
+-@COND_mips_loongson_TRUE@am__append_2382 = setpci.marker
+-@COND_i386_pc_TRUE@am__append_2383 = pcidump.module
+-@COND_i386_pc_TRUE@am__append_2384 = pcidump.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__append_2374 = setpci.mod
++@COND_mips_loongson_TRUE@am__append_2375 = setpci.marker
++@COND_i386_pc_TRUE@am__append_2376 = pcidump.module
++@COND_i386_pc_TRUE@am__append_2377 = pcidump.module$(EXEEXT)
+ @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_mips_loongson_FALSE@@COND_x86_64_efi_FALSE@pcidump_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_2385 = 
+-@COND_i386_pc_TRUE@am__append_2386 = $(nodist_pcidump_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_2387 = $(nodist_pcidump_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_2378 = 
++@COND_i386_pc_TRUE@am__append_2379 = $(nodist_pcidump_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_2380 = $(nodist_pcidump_module_SOURCES) \
+ @COND_i386_pc_TRUE@   pcidump.marker
+-@COND_i386_pc_TRUE@am__append_2388 = pcidump.mod
+-@COND_i386_pc_TRUE@am__append_2389 = pcidump.marker
+-@COND_i386_efi_TRUE@am__append_2390 = pcidump.module
+-@COND_i386_efi_TRUE@am__append_2391 = pcidump.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_2392 = 
+-@COND_i386_efi_TRUE@am__append_2393 = $(nodist_pcidump_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_2394 =  \
++@COND_i386_pc_TRUE@am__append_2381 = pcidump.mod
++@COND_i386_pc_TRUE@am__append_2382 = pcidump.marker
++@COND_i386_efi_TRUE@am__append_2383 = pcidump.module
++@COND_i386_efi_TRUE@am__append_2384 = pcidump.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_2385 = 
++@COND_i386_efi_TRUE@am__append_2386 = $(nodist_pcidump_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_2387 =  \
+ @COND_i386_efi_TRUE@  $(nodist_pcidump_module_SOURCES) \
+ @COND_i386_efi_TRUE@  pcidump.marker
+-@COND_i386_efi_TRUE@am__append_2395 = pcidump.mod
+-@COND_i386_efi_TRUE@am__append_2396 = pcidump.marker
+-@COND_i386_qemu_TRUE@am__append_2397 = pcidump.module
+-@COND_i386_qemu_TRUE@am__append_2398 = pcidump.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_2399 = 
+-@COND_i386_qemu_TRUE@am__append_2400 = $(nodist_pcidump_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_2401 =  \
++@COND_i386_efi_TRUE@am__append_2388 = pcidump.mod
++@COND_i386_efi_TRUE@am__append_2389 = pcidump.marker
++@COND_i386_qemu_TRUE@am__append_2390 = pcidump.module
++@COND_i386_qemu_TRUE@am__append_2391 = pcidump.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_2392 = 
++@COND_i386_qemu_TRUE@am__append_2393 = $(nodist_pcidump_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_2394 =  \
+ @COND_i386_qemu_TRUE@ $(nodist_pcidump_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ pcidump.marker
+-@COND_i386_qemu_TRUE@am__append_2402 = pcidump.mod
+-@COND_i386_qemu_TRUE@am__append_2403 = pcidump.marker
+-@COND_i386_coreboot_TRUE@am__append_2404 = pcidump.module
+-@COND_i386_coreboot_TRUE@am__append_2405 = pcidump.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_2406 = 
+-@COND_i386_coreboot_TRUE@am__append_2407 = $(nodist_pcidump_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_2408 =  \
++@COND_i386_qemu_TRUE@am__append_2395 = pcidump.mod
++@COND_i386_qemu_TRUE@am__append_2396 = pcidump.marker
++@COND_i386_coreboot_TRUE@am__append_2397 = pcidump.module
++@COND_i386_coreboot_TRUE@am__append_2398 = pcidump.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_2399 = 
++@COND_i386_coreboot_TRUE@am__append_2400 = $(nodist_pcidump_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_2401 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_pcidump_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     pcidump.marker
+-@COND_i386_coreboot_TRUE@am__append_2409 = pcidump.mod
+-@COND_i386_coreboot_TRUE@am__append_2410 = pcidump.marker
+-@COND_i386_multiboot_TRUE@am__append_2411 = pcidump.module
+-@COND_i386_multiboot_TRUE@am__append_2412 = pcidump.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_2413 = 
+-@COND_i386_multiboot_TRUE@am__append_2414 = $(nodist_pcidump_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_2415 =  \
++@COND_i386_coreboot_TRUE@am__append_2402 = pcidump.mod
++@COND_i386_coreboot_TRUE@am__append_2403 = pcidump.marker
++@COND_i386_multiboot_TRUE@am__append_2404 = pcidump.module
++@COND_i386_multiboot_TRUE@am__append_2405 = pcidump.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_2406 = 
++@COND_i386_multiboot_TRUE@am__append_2407 = $(nodist_pcidump_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_2408 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_pcidump_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    pcidump.marker
+-@COND_i386_multiboot_TRUE@am__append_2416 = pcidump.mod
+-@COND_i386_multiboot_TRUE@am__append_2417 = pcidump.marker
+-@COND_i386_ieee1275_TRUE@am__append_2418 = pcidump.module
+-@COND_i386_ieee1275_TRUE@am__append_2419 = pcidump.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_2420 = 
+-@COND_i386_ieee1275_TRUE@am__append_2421 = $(nodist_pcidump_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_2422 =  \
++@COND_i386_multiboot_TRUE@am__append_2409 = pcidump.mod
++@COND_i386_multiboot_TRUE@am__append_2410 = pcidump.marker
++@COND_i386_ieee1275_TRUE@am__append_2411 = pcidump.module
++@COND_i386_ieee1275_TRUE@am__append_2412 = pcidump.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_2413 = 
++@COND_i386_ieee1275_TRUE@am__append_2414 = $(nodist_pcidump_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_2415 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_pcidump_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     pcidump.marker
+-@COND_i386_ieee1275_TRUE@am__append_2423 = pcidump.mod
+-@COND_i386_ieee1275_TRUE@am__append_2424 = pcidump.marker
+-@COND_x86_64_efi_TRUE@am__append_2425 = pcidump.module
+-@COND_x86_64_efi_TRUE@am__append_2426 = pcidump.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_2427 = 
+-@COND_x86_64_efi_TRUE@am__append_2428 = $(nodist_pcidump_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_2429 =  \
++@COND_i386_ieee1275_TRUE@am__append_2416 = pcidump.mod
++@COND_i386_ieee1275_TRUE@am__append_2417 = pcidump.marker
++@COND_x86_64_efi_TRUE@am__append_2418 = pcidump.module
++@COND_x86_64_efi_TRUE@am__append_2419 = pcidump.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_2420 = 
++@COND_x86_64_efi_TRUE@am__append_2421 = $(nodist_pcidump_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_2422 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_pcidump_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        pcidump.marker
+-@COND_x86_64_efi_TRUE@am__append_2430 = pcidump.mod
+-@COND_x86_64_efi_TRUE@am__append_2431 = pcidump.marker
+-@COND_mips_loongson_TRUE@am__append_2432 = pcidump.module
+-@COND_mips_loongson_TRUE@am__append_2433 = pcidump.module$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__append_2434 = 
+-@COND_mips_loongson_TRUE@am__append_2435 = $(nodist_pcidump_module_SOURCES)
+-@COND_mips_loongson_TRUE@am__append_2436 =  \
++@COND_x86_64_efi_TRUE@am__append_2423 = pcidump.mod
++@COND_x86_64_efi_TRUE@am__append_2424 = pcidump.marker
++@COND_mips_loongson_TRUE@am__append_2425 = pcidump.module
++@COND_mips_loongson_TRUE@am__append_2426 = pcidump.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__append_2427 = 
++@COND_mips_loongson_TRUE@am__append_2428 = $(nodist_pcidump_module_SOURCES)
++@COND_mips_loongson_TRUE@am__append_2429 =  \
+ @COND_mips_loongson_TRUE@     $(nodist_pcidump_module_SOURCES) \
+ @COND_mips_loongson_TRUE@     pcidump.marker
+-@COND_mips_loongson_TRUE@am__append_2437 = pcidump.mod
+-@COND_mips_loongson_TRUE@am__append_2438 = pcidump.marker
+-@COND_i386_ieee1275_TRUE@am__append_2439 = suspend.module
+-@COND_i386_ieee1275_TRUE@am__append_2440 = suspend.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__append_2430 = pcidump.mod
++@COND_mips_loongson_TRUE@am__append_2431 = pcidump.marker
++@COND_i386_ieee1275_TRUE@am__append_2432 = suspend.module
++@COND_i386_ieee1275_TRUE@am__append_2433 = suspend.module$(EXEEXT)
+ @COND_i386_ieee1275_FALSE@@COND_powerpc_ieee1275_FALSE@suspend_module_DEPENDENCIES =
+-@COND_i386_ieee1275_TRUE@am__append_2441 = 
+-@COND_i386_ieee1275_TRUE@am__append_2442 = $(nodist_suspend_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_2443 =  \
++@COND_i386_ieee1275_TRUE@am__append_2434 = 
++@COND_i386_ieee1275_TRUE@am__append_2435 = $(nodist_suspend_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_2436 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_suspend_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     suspend.marker
+-@COND_i386_ieee1275_TRUE@am__append_2444 = suspend.mod
+-@COND_i386_ieee1275_TRUE@am__append_2445 = suspend.marker
+-@COND_powerpc_ieee1275_TRUE@am__append_2446 = suspend.module \
++@COND_i386_ieee1275_TRUE@am__append_2437 = suspend.mod
++@COND_i386_ieee1275_TRUE@am__append_2438 = suspend.marker
++@COND_powerpc_ieee1275_TRUE@am__append_2439 = suspend.module \
+ @COND_powerpc_ieee1275_TRUE@  escc.module
+-@COND_powerpc_ieee1275_TRUE@am__append_2447 = suspend.module$(EXEEXT) \
++@COND_powerpc_ieee1275_TRUE@am__append_2440 = suspend.module$(EXEEXT) \
+ @COND_powerpc_ieee1275_TRUE@  escc.module$(EXEEXT)
+-@COND_powerpc_ieee1275_TRUE@am__append_2448 =
+-@COND_powerpc_ieee1275_TRUE@am__append_2449 =  \
++@COND_powerpc_ieee1275_TRUE@am__append_2441 =
++@COND_powerpc_ieee1275_TRUE@am__append_2442 =  \
+ @COND_powerpc_ieee1275_TRUE@  $(nodist_suspend_module_SOURCES) \
+ @COND_powerpc_ieee1275_TRUE@  $(nodist_escc_module_SOURCES)
+-@COND_powerpc_ieee1275_TRUE@am__append_2450 =  \
++@COND_powerpc_ieee1275_TRUE@am__append_2443 =  \
+ @COND_powerpc_ieee1275_TRUE@  $(nodist_suspend_module_SOURCES) \
+ @COND_powerpc_ieee1275_TRUE@  suspend.marker \
+ @COND_powerpc_ieee1275_TRUE@  $(nodist_escc_module_SOURCES) \
+ @COND_powerpc_ieee1275_TRUE@  escc.marker
+-@COND_powerpc_ieee1275_TRUE@am__append_2451 = suspend.mod escc.mod
+-@COND_powerpc_ieee1275_TRUE@am__append_2452 = suspend.marker \
++@COND_powerpc_ieee1275_TRUE@am__append_2444 = suspend.mod escc.mod
++@COND_powerpc_ieee1275_TRUE@am__append_2445 = suspend.marker \
+ @COND_powerpc_ieee1275_TRUE@  escc.marker
+ @COND_powerpc_ieee1275_FALSE@escc_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_2453 = usbtest.module
+-@COND_i386_pc_TRUE@am__append_2454 = usbtest.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__append_2446 = usbtest.module
++@COND_i386_pc_TRUE@am__append_2447 = usbtest.module$(EXEEXT)
+ @COND_arm_coreboot_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_mips_loongson_FALSE@@COND_x86_64_efi_FALSE@usbtest_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_2455 = 
+-@COND_i386_pc_TRUE@am__append_2456 = $(nodist_usbtest_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_2457 = $(nodist_usbtest_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_2448 = 
++@COND_i386_pc_TRUE@am__append_2449 = $(nodist_usbtest_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_2450 = $(nodist_usbtest_module_SOURCES) \
+ @COND_i386_pc_TRUE@   usbtest.marker
+-@COND_i386_pc_TRUE@am__append_2458 = usbtest.mod
+-@COND_i386_pc_TRUE@am__append_2459 = usbtest.marker
+-@COND_i386_efi_TRUE@am__append_2460 = usbtest.module
+-@COND_i386_efi_TRUE@am__append_2461 = usbtest.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_2462 = 
+-@COND_i386_efi_TRUE@am__append_2463 = $(nodist_usbtest_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_2464 =  \
++@COND_i386_pc_TRUE@am__append_2451 = usbtest.mod
++@COND_i386_pc_TRUE@am__append_2452 = usbtest.marker
++@COND_i386_efi_TRUE@am__append_2453 = usbtest.module
++@COND_i386_efi_TRUE@am__append_2454 = usbtest.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_2455 = 
++@COND_i386_efi_TRUE@am__append_2456 = $(nodist_usbtest_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_2457 =  \
+ @COND_i386_efi_TRUE@  $(nodist_usbtest_module_SOURCES) \
+ @COND_i386_efi_TRUE@  usbtest.marker
+-@COND_i386_efi_TRUE@am__append_2465 = usbtest.mod
+-@COND_i386_efi_TRUE@am__append_2466 = usbtest.marker
+-@COND_i386_qemu_TRUE@am__append_2467 = usbtest.module
+-@COND_i386_qemu_TRUE@am__append_2468 = usbtest.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_2469 = 
+-@COND_i386_qemu_TRUE@am__append_2470 = $(nodist_usbtest_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_2471 =  \
++@COND_i386_efi_TRUE@am__append_2458 = usbtest.mod
++@COND_i386_efi_TRUE@am__append_2459 = usbtest.marker
++@COND_i386_qemu_TRUE@am__append_2460 = usbtest.module
++@COND_i386_qemu_TRUE@am__append_2461 = usbtest.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_2462 = 
++@COND_i386_qemu_TRUE@am__append_2463 = $(nodist_usbtest_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_2464 =  \
+ @COND_i386_qemu_TRUE@ $(nodist_usbtest_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ usbtest.marker
+-@COND_i386_qemu_TRUE@am__append_2472 = usbtest.mod
+-@COND_i386_qemu_TRUE@am__append_2473 = usbtest.marker
+-@COND_i386_coreboot_TRUE@am__append_2474 = usbtest.module
+-@COND_i386_coreboot_TRUE@am__append_2475 = usbtest.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_2476 = 
+-@COND_i386_coreboot_TRUE@am__append_2477 = $(nodist_usbtest_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_2478 =  \
++@COND_i386_qemu_TRUE@am__append_2465 = usbtest.mod
++@COND_i386_qemu_TRUE@am__append_2466 = usbtest.marker
++@COND_i386_coreboot_TRUE@am__append_2467 = usbtest.module
++@COND_i386_coreboot_TRUE@am__append_2468 = usbtest.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_2469 = 
++@COND_i386_coreboot_TRUE@am__append_2470 = $(nodist_usbtest_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_2471 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_usbtest_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     usbtest.marker
+-@COND_i386_coreboot_TRUE@am__append_2479 = usbtest.mod
+-@COND_i386_coreboot_TRUE@am__append_2480 = usbtest.marker
+-@COND_i386_multiboot_TRUE@am__append_2481 = usbtest.module
+-@COND_i386_multiboot_TRUE@am__append_2482 = usbtest.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_2483 = 
+-@COND_i386_multiboot_TRUE@am__append_2484 = $(nodist_usbtest_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_2485 =  \
++@COND_i386_coreboot_TRUE@am__append_2472 = usbtest.mod
++@COND_i386_coreboot_TRUE@am__append_2473 = usbtest.marker
++@COND_i386_multiboot_TRUE@am__append_2474 = usbtest.module
++@COND_i386_multiboot_TRUE@am__append_2475 = usbtest.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_2476 = 
++@COND_i386_multiboot_TRUE@am__append_2477 = $(nodist_usbtest_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_2478 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_usbtest_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    usbtest.marker
+-@COND_i386_multiboot_TRUE@am__append_2486 = usbtest.mod
+-@COND_i386_multiboot_TRUE@am__append_2487 = usbtest.marker
+-@COND_i386_ieee1275_TRUE@am__append_2488 = usbtest.module
+-@COND_i386_ieee1275_TRUE@am__append_2489 = usbtest.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_2490 = 
+-@COND_i386_ieee1275_TRUE@am__append_2491 = $(nodist_usbtest_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_2492 =  \
++@COND_i386_multiboot_TRUE@am__append_2479 = usbtest.mod
++@COND_i386_multiboot_TRUE@am__append_2480 = usbtest.marker
++@COND_i386_ieee1275_TRUE@am__append_2481 = usbtest.module
++@COND_i386_ieee1275_TRUE@am__append_2482 = usbtest.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_2483 = 
++@COND_i386_ieee1275_TRUE@am__append_2484 = $(nodist_usbtest_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_2485 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_usbtest_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     usbtest.marker
+-@COND_i386_ieee1275_TRUE@am__append_2493 = usbtest.mod
+-@COND_i386_ieee1275_TRUE@am__append_2494 = usbtest.marker
+-@COND_x86_64_efi_TRUE@am__append_2495 = usbtest.module
+-@COND_x86_64_efi_TRUE@am__append_2496 = usbtest.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_2497 = 
+-@COND_x86_64_efi_TRUE@am__append_2498 = $(nodist_usbtest_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_2499 =  \
++@COND_i386_ieee1275_TRUE@am__append_2486 = usbtest.mod
++@COND_i386_ieee1275_TRUE@am__append_2487 = usbtest.marker
++@COND_x86_64_efi_TRUE@am__append_2488 = usbtest.module
++@COND_x86_64_efi_TRUE@am__append_2489 = usbtest.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_2490 = 
++@COND_x86_64_efi_TRUE@am__append_2491 = $(nodist_usbtest_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_2492 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_usbtest_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        usbtest.marker
+-@COND_x86_64_efi_TRUE@am__append_2500 = usbtest.mod
+-@COND_x86_64_efi_TRUE@am__append_2501 = usbtest.marker
+-@COND_mips_loongson_TRUE@am__append_2502 = usbtest.module
+-@COND_mips_loongson_TRUE@am__append_2503 = usbtest.module$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__append_2504 = 
+-@COND_mips_loongson_TRUE@am__append_2505 = $(nodist_usbtest_module_SOURCES)
+-@COND_mips_loongson_TRUE@am__append_2506 =  \
++@COND_x86_64_efi_TRUE@am__append_2493 = usbtest.mod
++@COND_x86_64_efi_TRUE@am__append_2494 = usbtest.marker
++@COND_mips_loongson_TRUE@am__append_2495 = usbtest.module
++@COND_mips_loongson_TRUE@am__append_2496 = usbtest.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__append_2497 = 
++@COND_mips_loongson_TRUE@am__append_2498 = $(nodist_usbtest_module_SOURCES)
++@COND_mips_loongson_TRUE@am__append_2499 =  \
+ @COND_mips_loongson_TRUE@     $(nodist_usbtest_module_SOURCES) \
+ @COND_mips_loongson_TRUE@     usbtest.marker
+-@COND_mips_loongson_TRUE@am__append_2507 = usbtest.mod
+-@COND_mips_loongson_TRUE@am__append_2508 = usbtest.marker
+-@COND_arm_coreboot_TRUE@am__append_2509 = usbtest.module
+-@COND_arm_coreboot_TRUE@am__append_2510 = usbtest.module$(EXEEXT)
+-@COND_arm_coreboot_TRUE@am__append_2511 = 
+-@COND_arm_coreboot_TRUE@am__append_2512 = $(nodist_usbtest_module_SOURCES)
+-@COND_arm_coreboot_TRUE@am__append_2513 =  \
++@COND_mips_loongson_TRUE@am__append_2500 = usbtest.mod
++@COND_mips_loongson_TRUE@am__append_2501 = usbtest.marker
++@COND_arm_coreboot_TRUE@am__append_2502 = usbtest.module
++@COND_arm_coreboot_TRUE@am__append_2503 = usbtest.module$(EXEEXT)
++@COND_arm_coreboot_TRUE@am__append_2504 = 
++@COND_arm_coreboot_TRUE@am__append_2505 = $(nodist_usbtest_module_SOURCES)
++@COND_arm_coreboot_TRUE@am__append_2506 =  \
+ @COND_arm_coreboot_TRUE@      $(nodist_usbtest_module_SOURCES) \
+ @COND_arm_coreboot_TRUE@      usbtest.marker
+-@COND_arm_coreboot_TRUE@am__append_2514 = usbtest.mod
+-@COND_arm_coreboot_TRUE@am__append_2515 = usbtest.marker
+-@COND_i386_pc_TRUE@am__append_2516 = ata.module
+-@COND_i386_pc_TRUE@am__append_2517 = ata.module$(EXEEXT)
++@COND_arm_coreboot_TRUE@am__append_2507 = usbtest.mod
++@COND_arm_coreboot_TRUE@am__append_2508 = usbtest.marker
++@COND_i386_pc_TRUE@am__append_2509 = ata.module
++@COND_i386_pc_TRUE@am__append_2510 = ata.module$(EXEEXT)
+ @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_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_x86_64_efi_FALSE@ata_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_2518 = 
+-@COND_i386_pc_TRUE@am__append_2519 = $(nodist_ata_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_2520 = $(nodist_ata_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_2511 = 
++@COND_i386_pc_TRUE@am__append_2512 = $(nodist_ata_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_2513 = $(nodist_ata_module_SOURCES) \
+ @COND_i386_pc_TRUE@   ata.marker
+-@COND_i386_pc_TRUE@am__append_2521 = ata.mod
+-@COND_i386_pc_TRUE@am__append_2522 = ata.marker
+-@COND_i386_efi_TRUE@am__append_2523 = ata.module
+-@COND_i386_efi_TRUE@am__append_2524 = ata.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_2525 = 
+-@COND_i386_efi_TRUE@am__append_2526 = $(nodist_ata_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_2527 = $(nodist_ata_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_2514 = ata.mod
++@COND_i386_pc_TRUE@am__append_2515 = ata.marker
++@COND_i386_efi_TRUE@am__append_2516 = ata.module
++@COND_i386_efi_TRUE@am__append_2517 = ata.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_2518 = 
++@COND_i386_efi_TRUE@am__append_2519 = $(nodist_ata_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_2520 = $(nodist_ata_module_SOURCES) \
+ @COND_i386_efi_TRUE@  ata.marker
+-@COND_i386_efi_TRUE@am__append_2528 = ata.mod
+-@COND_i386_efi_TRUE@am__append_2529 = ata.marker
+-@COND_i386_qemu_TRUE@am__append_2530 = ata.module
+-@COND_i386_qemu_TRUE@am__append_2531 = ata.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_2532 = 
+-@COND_i386_qemu_TRUE@am__append_2533 = $(nodist_ata_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_2534 = $(nodist_ata_module_SOURCES) \
++@COND_i386_efi_TRUE@am__append_2521 = ata.mod
++@COND_i386_efi_TRUE@am__append_2522 = ata.marker
++@COND_i386_qemu_TRUE@am__append_2523 = ata.module
++@COND_i386_qemu_TRUE@am__append_2524 = ata.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_2525 = 
++@COND_i386_qemu_TRUE@am__append_2526 = $(nodist_ata_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_2527 = $(nodist_ata_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ ata.marker
+-@COND_i386_qemu_TRUE@am__append_2535 = ata.mod
+-@COND_i386_qemu_TRUE@am__append_2536 = ata.marker
+-@COND_i386_coreboot_TRUE@am__append_2537 = ata.module
+-@COND_i386_coreboot_TRUE@am__append_2538 = ata.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_2539 = 
+-@COND_i386_coreboot_TRUE@am__append_2540 = $(nodist_ata_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_2541 =  \
++@COND_i386_qemu_TRUE@am__append_2528 = ata.mod
++@COND_i386_qemu_TRUE@am__append_2529 = ata.marker
++@COND_i386_coreboot_TRUE@am__append_2530 = ata.module
++@COND_i386_coreboot_TRUE@am__append_2531 = ata.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_2532 = 
++@COND_i386_coreboot_TRUE@am__append_2533 = $(nodist_ata_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_2534 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_ata_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     ata.marker
+-@COND_i386_coreboot_TRUE@am__append_2542 = ata.mod
+-@COND_i386_coreboot_TRUE@am__append_2543 = ata.marker
+-@COND_i386_multiboot_TRUE@am__append_2544 = ata.module
+-@COND_i386_multiboot_TRUE@am__append_2545 = ata.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_2546 = 
+-@COND_i386_multiboot_TRUE@am__append_2547 = $(nodist_ata_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_2548 =  \
++@COND_i386_coreboot_TRUE@am__append_2535 = ata.mod
++@COND_i386_coreboot_TRUE@am__append_2536 = ata.marker
++@COND_i386_multiboot_TRUE@am__append_2537 = ata.module
++@COND_i386_multiboot_TRUE@am__append_2538 = ata.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_2539 = 
++@COND_i386_multiboot_TRUE@am__append_2540 = $(nodist_ata_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_2541 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_ata_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    ata.marker
+-@COND_i386_multiboot_TRUE@am__append_2549 = ata.mod
+-@COND_i386_multiboot_TRUE@am__append_2550 = ata.marker
+-@COND_i386_ieee1275_TRUE@am__append_2551 = ata.module
+-@COND_i386_ieee1275_TRUE@am__append_2552 = ata.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_2553 = 
+-@COND_i386_ieee1275_TRUE@am__append_2554 = $(nodist_ata_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_2555 =  \
++@COND_i386_multiboot_TRUE@am__append_2542 = ata.mod
++@COND_i386_multiboot_TRUE@am__append_2543 = ata.marker
++@COND_i386_ieee1275_TRUE@am__append_2544 = ata.module
++@COND_i386_ieee1275_TRUE@am__append_2545 = ata.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_2546 = 
++@COND_i386_ieee1275_TRUE@am__append_2547 = $(nodist_ata_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_2548 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_ata_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     ata.marker
+-@COND_i386_ieee1275_TRUE@am__append_2556 = ata.mod
+-@COND_i386_ieee1275_TRUE@am__append_2557 = ata.marker
+-@COND_x86_64_efi_TRUE@am__append_2558 = ata.module
+-@COND_x86_64_efi_TRUE@am__append_2559 = ata.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_2560 = 
+-@COND_x86_64_efi_TRUE@am__append_2561 = $(nodist_ata_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_2562 = $(nodist_ata_module_SOURCES) \
++@COND_i386_ieee1275_TRUE@am__append_2549 = ata.mod
++@COND_i386_ieee1275_TRUE@am__append_2550 = ata.marker
++@COND_x86_64_efi_TRUE@am__append_2551 = ata.module
++@COND_x86_64_efi_TRUE@am__append_2552 = ata.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_2553 = 
++@COND_x86_64_efi_TRUE@am__append_2554 = $(nodist_ata_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_2555 = $(nodist_ata_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        ata.marker
+-@COND_x86_64_efi_TRUE@am__append_2563 = ata.mod
+-@COND_x86_64_efi_TRUE@am__append_2564 = ata.marker
+-@COND_mips_loongson_TRUE@am__append_2565 = ata.module
+-@COND_mips_loongson_TRUE@am__append_2566 = ata.module$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__append_2567 = 
+-@COND_mips_loongson_TRUE@am__append_2568 = $(nodist_ata_module_SOURCES)
+-@COND_mips_loongson_TRUE@am__append_2569 =  \
++@COND_x86_64_efi_TRUE@am__append_2556 = ata.mod
++@COND_x86_64_efi_TRUE@am__append_2557 = ata.marker
++@COND_mips_loongson_TRUE@am__append_2558 = ata.module
++@COND_mips_loongson_TRUE@am__append_2559 = ata.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__append_2560 = 
++@COND_mips_loongson_TRUE@am__append_2561 = $(nodist_ata_module_SOURCES)
++@COND_mips_loongson_TRUE@am__append_2562 =  \
+ @COND_mips_loongson_TRUE@     $(nodist_ata_module_SOURCES) \
+ @COND_mips_loongson_TRUE@     ata.marker
+-@COND_mips_loongson_TRUE@am__append_2570 = ata.mod
+-@COND_mips_loongson_TRUE@am__append_2571 = ata.marker
+-@COND_mips_qemu_mips_TRUE@am__append_2572 = ata.module
+-@COND_mips_qemu_mips_TRUE@am__append_2573 = ata.module$(EXEEXT)
+-@COND_mips_qemu_mips_TRUE@am__append_2574 = 
+-@COND_mips_qemu_mips_TRUE@am__append_2575 = $(nodist_ata_module_SOURCES)
+-@COND_mips_qemu_mips_TRUE@am__append_2576 =  \
++@COND_mips_loongson_TRUE@am__append_2563 = ata.mod
++@COND_mips_loongson_TRUE@am__append_2564 = ata.marker
++@COND_mips_qemu_mips_TRUE@am__append_2565 = ata.module
++@COND_mips_qemu_mips_TRUE@am__append_2566 = ata.module$(EXEEXT)
++@COND_mips_qemu_mips_TRUE@am__append_2567 = 
++@COND_mips_qemu_mips_TRUE@am__append_2568 = $(nodist_ata_module_SOURCES)
++@COND_mips_qemu_mips_TRUE@am__append_2569 =  \
+ @COND_mips_qemu_mips_TRUE@    $(nodist_ata_module_SOURCES) \
+ @COND_mips_qemu_mips_TRUE@    ata.marker
+-@COND_mips_qemu_mips_TRUE@am__append_2577 = ata.mod
+-@COND_mips_qemu_mips_TRUE@am__append_2578 = ata.marker
+-@COND_i386_pc_TRUE@am__append_2579 = ahci.module
+-@COND_i386_pc_TRUE@am__append_2580 = ahci.module$(EXEEXT)
++@COND_mips_qemu_mips_TRUE@am__append_2570 = ata.mod
++@COND_mips_qemu_mips_TRUE@am__append_2571 = ata.marker
++@COND_i386_pc_TRUE@am__append_2572 = ahci.module
++@COND_i386_pc_TRUE@am__append_2573 = ahci.module$(EXEEXT)
+ @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_mips_loongson_FALSE@@COND_x86_64_efi_FALSE@ahci_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_2581 = 
+-@COND_i386_pc_TRUE@am__append_2582 = $(nodist_ahci_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_2583 = $(nodist_ahci_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_2574 = 
++@COND_i386_pc_TRUE@am__append_2575 = $(nodist_ahci_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_2576 = $(nodist_ahci_module_SOURCES) \
+ @COND_i386_pc_TRUE@   ahci.marker
+-@COND_i386_pc_TRUE@am__append_2584 = ahci.mod
+-@COND_i386_pc_TRUE@am__append_2585 = ahci.marker
+-@COND_i386_efi_TRUE@am__append_2586 = ahci.module
+-@COND_i386_efi_TRUE@am__append_2587 = ahci.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_2588 = 
+-@COND_i386_efi_TRUE@am__append_2589 = $(nodist_ahci_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_2590 = $(nodist_ahci_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_2577 = ahci.mod
++@COND_i386_pc_TRUE@am__append_2578 = ahci.marker
++@COND_i386_efi_TRUE@am__append_2579 = ahci.module
++@COND_i386_efi_TRUE@am__append_2580 = ahci.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_2581 = 
++@COND_i386_efi_TRUE@am__append_2582 = $(nodist_ahci_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_2583 = $(nodist_ahci_module_SOURCES) \
+ @COND_i386_efi_TRUE@  ahci.marker
+-@COND_i386_efi_TRUE@am__append_2591 = ahci.mod
+-@COND_i386_efi_TRUE@am__append_2592 = ahci.marker
+-@COND_i386_qemu_TRUE@am__append_2593 = ahci.module
+-@COND_i386_qemu_TRUE@am__append_2594 = ahci.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_2595 = 
+-@COND_i386_qemu_TRUE@am__append_2596 = $(nodist_ahci_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_2597 = $(nodist_ahci_module_SOURCES) \
++@COND_i386_efi_TRUE@am__append_2584 = ahci.mod
++@COND_i386_efi_TRUE@am__append_2585 = ahci.marker
++@COND_i386_qemu_TRUE@am__append_2586 = ahci.module
++@COND_i386_qemu_TRUE@am__append_2587 = ahci.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_2588 = 
++@COND_i386_qemu_TRUE@am__append_2589 = $(nodist_ahci_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_2590 = $(nodist_ahci_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ ahci.marker
+-@COND_i386_qemu_TRUE@am__append_2598 = ahci.mod
+-@COND_i386_qemu_TRUE@am__append_2599 = ahci.marker
+-@COND_i386_coreboot_TRUE@am__append_2600 = ahci.module
+-@COND_i386_coreboot_TRUE@am__append_2601 = ahci.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_2602 = 
+-@COND_i386_coreboot_TRUE@am__append_2603 = $(nodist_ahci_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_2604 =  \
++@COND_i386_qemu_TRUE@am__append_2591 = ahci.mod
++@COND_i386_qemu_TRUE@am__append_2592 = ahci.marker
++@COND_i386_coreboot_TRUE@am__append_2593 = ahci.module
++@COND_i386_coreboot_TRUE@am__append_2594 = ahci.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_2595 = 
++@COND_i386_coreboot_TRUE@am__append_2596 = $(nodist_ahci_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_2597 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_ahci_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     ahci.marker
+-@COND_i386_coreboot_TRUE@am__append_2605 = ahci.mod
+-@COND_i386_coreboot_TRUE@am__append_2606 = ahci.marker
+-@COND_i386_multiboot_TRUE@am__append_2607 = ahci.module
+-@COND_i386_multiboot_TRUE@am__append_2608 = ahci.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_2609 = 
+-@COND_i386_multiboot_TRUE@am__append_2610 = $(nodist_ahci_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_2611 =  \
++@COND_i386_coreboot_TRUE@am__append_2598 = ahci.mod
++@COND_i386_coreboot_TRUE@am__append_2599 = ahci.marker
++@COND_i386_multiboot_TRUE@am__append_2600 = ahci.module
++@COND_i386_multiboot_TRUE@am__append_2601 = ahci.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_2602 = 
++@COND_i386_multiboot_TRUE@am__append_2603 = $(nodist_ahci_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_2604 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_ahci_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    ahci.marker
+-@COND_i386_multiboot_TRUE@am__append_2612 = ahci.mod
+-@COND_i386_multiboot_TRUE@am__append_2613 = ahci.marker
+-@COND_i386_ieee1275_TRUE@am__append_2614 = ahci.module
+-@COND_i386_ieee1275_TRUE@am__append_2615 = ahci.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_2616 = 
+-@COND_i386_ieee1275_TRUE@am__append_2617 = $(nodist_ahci_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_2618 =  \
++@COND_i386_multiboot_TRUE@am__append_2605 = ahci.mod
++@COND_i386_multiboot_TRUE@am__append_2606 = ahci.marker
++@COND_i386_ieee1275_TRUE@am__append_2607 = ahci.module
++@COND_i386_ieee1275_TRUE@am__append_2608 = ahci.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_2609 = 
++@COND_i386_ieee1275_TRUE@am__append_2610 = $(nodist_ahci_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_2611 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_ahci_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     ahci.marker
+-@COND_i386_ieee1275_TRUE@am__append_2619 = ahci.mod
+-@COND_i386_ieee1275_TRUE@am__append_2620 = ahci.marker
+-@COND_x86_64_efi_TRUE@am__append_2621 = ahci.module
+-@COND_x86_64_efi_TRUE@am__append_2622 = ahci.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_2623 = 
+-@COND_x86_64_efi_TRUE@am__append_2624 = $(nodist_ahci_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_2625 = $(nodist_ahci_module_SOURCES) \
++@COND_i386_ieee1275_TRUE@am__append_2612 = ahci.mod
++@COND_i386_ieee1275_TRUE@am__append_2613 = ahci.marker
++@COND_x86_64_efi_TRUE@am__append_2614 = ahci.module
++@COND_x86_64_efi_TRUE@am__append_2615 = ahci.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_2616 = 
++@COND_x86_64_efi_TRUE@am__append_2617 = $(nodist_ahci_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_2618 = $(nodist_ahci_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        ahci.marker
+-@COND_x86_64_efi_TRUE@am__append_2626 = ahci.mod
+-@COND_x86_64_efi_TRUE@am__append_2627 = ahci.marker
+-@COND_mips_loongson_TRUE@am__append_2628 = ahci.module
+-@COND_mips_loongson_TRUE@am__append_2629 = ahci.module$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__append_2630 = 
+-@COND_mips_loongson_TRUE@am__append_2631 = $(nodist_ahci_module_SOURCES)
+-@COND_mips_loongson_TRUE@am__append_2632 =  \
++@COND_x86_64_efi_TRUE@am__append_2619 = ahci.mod
++@COND_x86_64_efi_TRUE@am__append_2620 = ahci.marker
++@COND_mips_loongson_TRUE@am__append_2621 = ahci.module
++@COND_mips_loongson_TRUE@am__append_2622 = ahci.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__append_2623 = 
++@COND_mips_loongson_TRUE@am__append_2624 = $(nodist_ahci_module_SOURCES)
++@COND_mips_loongson_TRUE@am__append_2625 =  \
+ @COND_mips_loongson_TRUE@     $(nodist_ahci_module_SOURCES) \
+ @COND_mips_loongson_TRUE@     ahci.marker
+-@COND_mips_loongson_TRUE@am__append_2633 = ahci.mod
+-@COND_mips_loongson_TRUE@am__append_2634 = ahci.marker
+-@COND_i386_pc_TRUE@am__append_2635 = pata.module
+-@COND_i386_pc_TRUE@am__append_2636 = pata.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__append_2626 = ahci.mod
++@COND_mips_loongson_TRUE@am__append_2627 = ahci.marker
++@COND_i386_pc_TRUE@am__append_2628 = pata.module
++@COND_i386_pc_TRUE@am__append_2629 = pata.module$(EXEEXT)
+ @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_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_x86_64_efi_FALSE@pata_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_2637 = 
+-@COND_i386_pc_TRUE@am__append_2638 = $(nodist_pata_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_2639 = $(nodist_pata_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_2630 = 
++@COND_i386_pc_TRUE@am__append_2631 = $(nodist_pata_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_2632 = $(nodist_pata_module_SOURCES) \
+ @COND_i386_pc_TRUE@   pata.marker
+-@COND_i386_pc_TRUE@am__append_2640 = pata.mod
+-@COND_i386_pc_TRUE@am__append_2641 = pata.marker
+-@COND_i386_efi_TRUE@am__append_2642 = pata.module
+-@COND_i386_efi_TRUE@am__append_2643 = pata.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_2644 = 
+-@COND_i386_efi_TRUE@am__append_2645 = $(nodist_pata_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_2646 = $(nodist_pata_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_2633 = pata.mod
++@COND_i386_pc_TRUE@am__append_2634 = pata.marker
++@COND_i386_efi_TRUE@am__append_2635 = pata.module
++@COND_i386_efi_TRUE@am__append_2636 = pata.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_2637 = 
++@COND_i386_efi_TRUE@am__append_2638 = $(nodist_pata_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_2639 = $(nodist_pata_module_SOURCES) \
+ @COND_i386_efi_TRUE@  pata.marker
+-@COND_i386_efi_TRUE@am__append_2647 = pata.mod
+-@COND_i386_efi_TRUE@am__append_2648 = pata.marker
+-@COND_i386_qemu_TRUE@am__append_2649 = pata.module
+-@COND_i386_qemu_TRUE@am__append_2650 = pata.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_2651 = 
+-@COND_i386_qemu_TRUE@am__append_2652 = $(nodist_pata_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_2653 = $(nodist_pata_module_SOURCES) \
++@COND_i386_efi_TRUE@am__append_2640 = pata.mod
++@COND_i386_efi_TRUE@am__append_2641 = pata.marker
++@COND_i386_qemu_TRUE@am__append_2642 = pata.module
++@COND_i386_qemu_TRUE@am__append_2643 = pata.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_2644 = 
++@COND_i386_qemu_TRUE@am__append_2645 = $(nodist_pata_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_2646 = $(nodist_pata_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ pata.marker
+-@COND_i386_qemu_TRUE@am__append_2654 = pata.mod
+-@COND_i386_qemu_TRUE@am__append_2655 = pata.marker
+-@COND_i386_coreboot_TRUE@am__append_2656 = pata.module
+-@COND_i386_coreboot_TRUE@am__append_2657 = pata.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_2658 = 
+-@COND_i386_coreboot_TRUE@am__append_2659 = $(nodist_pata_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_2660 =  \
++@COND_i386_qemu_TRUE@am__append_2647 = pata.mod
++@COND_i386_qemu_TRUE@am__append_2648 = pata.marker
++@COND_i386_coreboot_TRUE@am__append_2649 = pata.module
++@COND_i386_coreboot_TRUE@am__append_2650 = pata.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_2651 = 
++@COND_i386_coreboot_TRUE@am__append_2652 = $(nodist_pata_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_2653 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_pata_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     pata.marker
+-@COND_i386_coreboot_TRUE@am__append_2661 = pata.mod
+-@COND_i386_coreboot_TRUE@am__append_2662 = pata.marker
+-@COND_i386_multiboot_TRUE@am__append_2663 = pata.module
+-@COND_i386_multiboot_TRUE@am__append_2664 = pata.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_2665 = 
+-@COND_i386_multiboot_TRUE@am__append_2666 = $(nodist_pata_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_2667 =  \
++@COND_i386_coreboot_TRUE@am__append_2654 = pata.mod
++@COND_i386_coreboot_TRUE@am__append_2655 = pata.marker
++@COND_i386_multiboot_TRUE@am__append_2656 = pata.module
++@COND_i386_multiboot_TRUE@am__append_2657 = pata.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_2658 = 
++@COND_i386_multiboot_TRUE@am__append_2659 = $(nodist_pata_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_2660 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_pata_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    pata.marker
+-@COND_i386_multiboot_TRUE@am__append_2668 = pata.mod
+-@COND_i386_multiboot_TRUE@am__append_2669 = pata.marker
+-@COND_i386_ieee1275_TRUE@am__append_2670 = pata.module
+-@COND_i386_ieee1275_TRUE@am__append_2671 = pata.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_2672 = 
+-@COND_i386_ieee1275_TRUE@am__append_2673 = $(nodist_pata_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_2674 =  \
++@COND_i386_multiboot_TRUE@am__append_2661 = pata.mod
++@COND_i386_multiboot_TRUE@am__append_2662 = pata.marker
++@COND_i386_ieee1275_TRUE@am__append_2663 = pata.module
++@COND_i386_ieee1275_TRUE@am__append_2664 = pata.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_2665 = 
++@COND_i386_ieee1275_TRUE@am__append_2666 = $(nodist_pata_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_2667 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_pata_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     pata.marker
+-@COND_i386_ieee1275_TRUE@am__append_2675 = pata.mod
+-@COND_i386_ieee1275_TRUE@am__append_2676 = pata.marker
+-@COND_x86_64_efi_TRUE@am__append_2677 = pata.module
+-@COND_x86_64_efi_TRUE@am__append_2678 = pata.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_2679 = 
+-@COND_x86_64_efi_TRUE@am__append_2680 = $(nodist_pata_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_2681 = $(nodist_pata_module_SOURCES) \
++@COND_i386_ieee1275_TRUE@am__append_2668 = pata.mod
++@COND_i386_ieee1275_TRUE@am__append_2669 = pata.marker
++@COND_x86_64_efi_TRUE@am__append_2670 = pata.module
++@COND_x86_64_efi_TRUE@am__append_2671 = pata.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_2672 = 
++@COND_x86_64_efi_TRUE@am__append_2673 = $(nodist_pata_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_2674 = $(nodist_pata_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        pata.marker
+-@COND_x86_64_efi_TRUE@am__append_2682 = pata.mod
+-@COND_x86_64_efi_TRUE@am__append_2683 = pata.marker
+-@COND_mips_loongson_TRUE@am__append_2684 = pata.module
+-@COND_mips_loongson_TRUE@am__append_2685 = pata.module$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__append_2686 = 
+-@COND_mips_loongson_TRUE@am__append_2687 = $(nodist_pata_module_SOURCES)
+-@COND_mips_loongson_TRUE@am__append_2688 =  \
++@COND_x86_64_efi_TRUE@am__append_2675 = pata.mod
++@COND_x86_64_efi_TRUE@am__append_2676 = pata.marker
++@COND_mips_loongson_TRUE@am__append_2677 = pata.module
++@COND_mips_loongson_TRUE@am__append_2678 = pata.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__append_2679 = 
++@COND_mips_loongson_TRUE@am__append_2680 = $(nodist_pata_module_SOURCES)
++@COND_mips_loongson_TRUE@am__append_2681 =  \
+ @COND_mips_loongson_TRUE@     $(nodist_pata_module_SOURCES) \
+ @COND_mips_loongson_TRUE@     pata.marker
+-@COND_mips_loongson_TRUE@am__append_2689 = pata.mod
+-@COND_mips_loongson_TRUE@am__append_2690 = pata.marker
+-@COND_mips_qemu_mips_TRUE@am__append_2691 = pata.module
+-@COND_mips_qemu_mips_TRUE@am__append_2692 = pata.module$(EXEEXT)
+-@COND_mips_qemu_mips_TRUE@am__append_2693 = 
+-@COND_mips_qemu_mips_TRUE@am__append_2694 = $(nodist_pata_module_SOURCES)
+-@COND_mips_qemu_mips_TRUE@am__append_2695 =  \
++@COND_mips_loongson_TRUE@am__append_2682 = pata.mod
++@COND_mips_loongson_TRUE@am__append_2683 = pata.marker
++@COND_mips_qemu_mips_TRUE@am__append_2684 = pata.module
++@COND_mips_qemu_mips_TRUE@am__append_2685 = pata.module$(EXEEXT)
++@COND_mips_qemu_mips_TRUE@am__append_2686 = 
++@COND_mips_qemu_mips_TRUE@am__append_2687 = $(nodist_pata_module_SOURCES)
++@COND_mips_qemu_mips_TRUE@am__append_2688 =  \
+ @COND_mips_qemu_mips_TRUE@    $(nodist_pata_module_SOURCES) \
+ @COND_mips_qemu_mips_TRUE@    pata.marker
+-@COND_mips_qemu_mips_TRUE@am__append_2696 = pata.mod
+-@COND_mips_qemu_mips_TRUE@am__append_2697 = pata.marker
+-@COND_i386_pc_TRUE@am__append_2698 = biosdisk.module usbms.module
+-@COND_i386_pc_TRUE@am__append_2699 = biosdisk.module$(EXEEXT) \
++@COND_mips_qemu_mips_TRUE@am__append_2689 = pata.mod
++@COND_mips_qemu_mips_TRUE@am__append_2690 = pata.marker
++@COND_i386_pc_TRUE@am__append_2691 = biosdisk.module usbms.module
++@COND_i386_pc_TRUE@am__append_2692 = biosdisk.module$(EXEEXT) \
+ @COND_i386_pc_TRUE@   usbms.module$(EXEEXT)
+ @COND_i386_pc_FALSE@biosdisk_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_2700 =
+-@COND_i386_pc_TRUE@am__append_2701 =  \
++@COND_i386_pc_TRUE@am__append_2693 =
++@COND_i386_pc_TRUE@am__append_2694 =  \
+ @COND_i386_pc_TRUE@   $(nodist_biosdisk_module_SOURCES) \
+ @COND_i386_pc_TRUE@   $(nodist_usbms_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_2702 =  \
++@COND_i386_pc_TRUE@am__append_2695 =  \
+ @COND_i386_pc_TRUE@   $(nodist_biosdisk_module_SOURCES) \
+ @COND_i386_pc_TRUE@   biosdisk.marker \
+ @COND_i386_pc_TRUE@   $(nodist_usbms_module_SOURCES) usbms.marker
+-@COND_i386_pc_TRUE@am__append_2703 = biosdisk.mod usbms.mod
+-@COND_i386_pc_TRUE@am__append_2704 = biosdisk.marker usbms.marker
++@COND_i386_pc_TRUE@am__append_2696 = biosdisk.mod usbms.mod
++@COND_i386_pc_TRUE@am__append_2697 = biosdisk.marker usbms.marker
+ @COND_arm_coreboot_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_mips_loongson_FALSE@@COND_x86_64_efi_FALSE@usbms_module_DEPENDENCIES =
+-@COND_i386_efi_TRUE@am__append_2705 = usbms.module
+-@COND_i386_efi_TRUE@am__append_2706 = usbms.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_2707 = 
+-@COND_i386_efi_TRUE@am__append_2708 = $(nodist_usbms_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_2709 = $(nodist_usbms_module_SOURCES) \
++@COND_i386_efi_TRUE@am__append_2698 = usbms.module
++@COND_i386_efi_TRUE@am__append_2699 = usbms.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_2700 = 
++@COND_i386_efi_TRUE@am__append_2701 = $(nodist_usbms_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_2702 = $(nodist_usbms_module_SOURCES) \
+ @COND_i386_efi_TRUE@  usbms.marker
+-@COND_i386_efi_TRUE@am__append_2710 = usbms.mod
+-@COND_i386_efi_TRUE@am__append_2711 = usbms.marker
+-@COND_i386_qemu_TRUE@am__append_2712 = usbms.module
+-@COND_i386_qemu_TRUE@am__append_2713 = usbms.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_2714 = 
+-@COND_i386_qemu_TRUE@am__append_2715 = $(nodist_usbms_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_2716 = $(nodist_usbms_module_SOURCES) \
++@COND_i386_efi_TRUE@am__append_2703 = usbms.mod
++@COND_i386_efi_TRUE@am__append_2704 = usbms.marker
++@COND_i386_qemu_TRUE@am__append_2705 = usbms.module
++@COND_i386_qemu_TRUE@am__append_2706 = usbms.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_2707 = 
++@COND_i386_qemu_TRUE@am__append_2708 = $(nodist_usbms_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_2709 = $(nodist_usbms_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ usbms.marker
+-@COND_i386_qemu_TRUE@am__append_2717 = usbms.mod
+-@COND_i386_qemu_TRUE@am__append_2718 = usbms.marker
+-@COND_i386_coreboot_TRUE@am__append_2719 = usbms.module
+-@COND_i386_coreboot_TRUE@am__append_2720 = usbms.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_2721 = 
+-@COND_i386_coreboot_TRUE@am__append_2722 = $(nodist_usbms_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_2723 =  \
++@COND_i386_qemu_TRUE@am__append_2710 = usbms.mod
++@COND_i386_qemu_TRUE@am__append_2711 = usbms.marker
++@COND_i386_coreboot_TRUE@am__append_2712 = usbms.module
++@COND_i386_coreboot_TRUE@am__append_2713 = usbms.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_2714 = 
++@COND_i386_coreboot_TRUE@am__append_2715 = $(nodist_usbms_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_2716 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_usbms_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     usbms.marker
+-@COND_i386_coreboot_TRUE@am__append_2724 = usbms.mod
+-@COND_i386_coreboot_TRUE@am__append_2725 = usbms.marker
+-@COND_i386_multiboot_TRUE@am__append_2726 = usbms.module
+-@COND_i386_multiboot_TRUE@am__append_2727 = usbms.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_2728 = 
+-@COND_i386_multiboot_TRUE@am__append_2729 = $(nodist_usbms_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_2730 =  \
++@COND_i386_coreboot_TRUE@am__append_2717 = usbms.mod
++@COND_i386_coreboot_TRUE@am__append_2718 = usbms.marker
++@COND_i386_multiboot_TRUE@am__append_2719 = usbms.module
++@COND_i386_multiboot_TRUE@am__append_2720 = usbms.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_2721 = 
++@COND_i386_multiboot_TRUE@am__append_2722 = $(nodist_usbms_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_2723 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_usbms_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    usbms.marker
+-@COND_i386_multiboot_TRUE@am__append_2731 = usbms.mod
+-@COND_i386_multiboot_TRUE@am__append_2732 = usbms.marker
+-@COND_i386_ieee1275_TRUE@am__append_2733 = usbms.module
+-@COND_i386_ieee1275_TRUE@am__append_2734 = usbms.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_2735 = 
+-@COND_i386_ieee1275_TRUE@am__append_2736 = $(nodist_usbms_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_2737 =  \
++@COND_i386_multiboot_TRUE@am__append_2724 = usbms.mod
++@COND_i386_multiboot_TRUE@am__append_2725 = usbms.marker
++@COND_i386_ieee1275_TRUE@am__append_2726 = usbms.module
++@COND_i386_ieee1275_TRUE@am__append_2727 = usbms.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_2728 = 
++@COND_i386_ieee1275_TRUE@am__append_2729 = $(nodist_usbms_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_2730 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_usbms_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     usbms.marker
+-@COND_i386_ieee1275_TRUE@am__append_2738 = usbms.mod
+-@COND_i386_ieee1275_TRUE@am__append_2739 = usbms.marker
+-@COND_x86_64_efi_TRUE@am__append_2740 = usbms.module
+-@COND_x86_64_efi_TRUE@am__append_2741 = usbms.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_2742 = 
+-@COND_x86_64_efi_TRUE@am__append_2743 = $(nodist_usbms_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_2744 =  \
++@COND_i386_ieee1275_TRUE@am__append_2731 = usbms.mod
++@COND_i386_ieee1275_TRUE@am__append_2732 = usbms.marker
++@COND_x86_64_efi_TRUE@am__append_2733 = usbms.module
++@COND_x86_64_efi_TRUE@am__append_2734 = usbms.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_2735 = 
++@COND_x86_64_efi_TRUE@am__append_2736 = $(nodist_usbms_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_2737 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_usbms_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        usbms.marker
+-@COND_x86_64_efi_TRUE@am__append_2745 = usbms.mod
+-@COND_x86_64_efi_TRUE@am__append_2746 = usbms.marker
+-@COND_mips_loongson_TRUE@am__append_2747 = usbms.module
+-@COND_mips_loongson_TRUE@am__append_2748 = usbms.module$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__append_2749 = 
+-@COND_mips_loongson_TRUE@am__append_2750 = $(nodist_usbms_module_SOURCES)
+-@COND_mips_loongson_TRUE@am__append_2751 =  \
++@COND_x86_64_efi_TRUE@am__append_2738 = usbms.mod
++@COND_x86_64_efi_TRUE@am__append_2739 = usbms.marker
++@COND_mips_loongson_TRUE@am__append_2740 = usbms.module
++@COND_mips_loongson_TRUE@am__append_2741 = usbms.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__append_2742 = 
++@COND_mips_loongson_TRUE@am__append_2743 = $(nodist_usbms_module_SOURCES)
++@COND_mips_loongson_TRUE@am__append_2744 =  \
+ @COND_mips_loongson_TRUE@     $(nodist_usbms_module_SOURCES) \
+ @COND_mips_loongson_TRUE@     usbms.marker
+-@COND_mips_loongson_TRUE@am__append_2752 = usbms.mod
+-@COND_mips_loongson_TRUE@am__append_2753 = usbms.marker
+-@COND_arm_coreboot_TRUE@am__append_2754 = usbms.module
+-@COND_arm_coreboot_TRUE@am__append_2755 = usbms.module$(EXEEXT)
+-@COND_arm_coreboot_TRUE@am__append_2756 = 
+-@COND_arm_coreboot_TRUE@am__append_2757 = $(nodist_usbms_module_SOURCES)
+-@COND_arm_coreboot_TRUE@am__append_2758 =  \
++@COND_mips_loongson_TRUE@am__append_2745 = usbms.mod
++@COND_mips_loongson_TRUE@am__append_2746 = usbms.marker
++@COND_arm_coreboot_TRUE@am__append_2747 = usbms.module
++@COND_arm_coreboot_TRUE@am__append_2748 = usbms.module$(EXEEXT)
++@COND_arm_coreboot_TRUE@am__append_2749 = 
++@COND_arm_coreboot_TRUE@am__append_2750 = $(nodist_usbms_module_SOURCES)
++@COND_arm_coreboot_TRUE@am__append_2751 =  \
+ @COND_arm_coreboot_TRUE@      $(nodist_usbms_module_SOURCES) \
+ @COND_arm_coreboot_TRUE@      usbms.marker
+-@COND_arm_coreboot_TRUE@am__append_2759 = usbms.mod
+-@COND_arm_coreboot_TRUE@am__append_2760 = usbms.marker
+-@COND_i386_ieee1275_TRUE@am__append_2761 = nand.module
+-@COND_i386_ieee1275_TRUE@am__append_2762 = nand.module$(EXEEXT)
++@COND_arm_coreboot_TRUE@am__append_2752 = usbms.mod
++@COND_arm_coreboot_TRUE@am__append_2753 = usbms.marker
++@COND_i386_ieee1275_TRUE@am__append_2754 = nand.module
++@COND_i386_ieee1275_TRUE@am__append_2755 = nand.module$(EXEEXT)
+ @COND_i386_ieee1275_FALSE@nand_module_DEPENDENCIES =
+-@COND_i386_ieee1275_TRUE@am__append_2763 = 
+-@COND_i386_ieee1275_TRUE@am__append_2764 = $(nodist_nand_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_2765 =  \
++@COND_i386_ieee1275_TRUE@am__append_2756 = 
++@COND_i386_ieee1275_TRUE@am__append_2757 = $(nodist_nand_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_2758 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_nand_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     nand.marker
+-@COND_i386_ieee1275_TRUE@am__append_2766 = nand.mod
+-@COND_i386_ieee1275_TRUE@am__append_2767 = nand.marker
+-@COND_i386_pc_TRUE@am__append_2768 = efiemu.module
+-@COND_i386_pc_TRUE@am__append_2769 = efiemu.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_2759 = nand.mod
++@COND_i386_ieee1275_TRUE@am__append_2760 = nand.marker
++@COND_i386_pc_TRUE@am__append_2761 = efiemu.module
++@COND_i386_pc_TRUE@am__append_2762 = efiemu.module$(EXEEXT)
+ @COND_i386_coreboot_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@efiemu_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_2770 = efiemu/prepare.c efiemu/loadcore.c efiemu/runtime/efiemu.S efiemu/runtime/efiemu.c 
+-@COND_i386_pc_TRUE@am__append_2771 = $(nodist_efiemu_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_2772 = $(nodist_efiemu_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_2763 = efiemu/prepare.c efiemu/loadcore.c efiemu/runtime/efiemu.S efiemu/runtime/efiemu.c 
++@COND_i386_pc_TRUE@am__append_2764 = $(nodist_efiemu_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_2765 = $(nodist_efiemu_module_SOURCES) \
+ @COND_i386_pc_TRUE@   efiemu.marker
+-@COND_i386_pc_TRUE@am__append_2773 = efiemu.mod
+-@COND_i386_pc_TRUE@am__append_2774 = efiemu.marker
+-@COND_i386_qemu_TRUE@am__append_2775 = efiemu.module
+-@COND_i386_qemu_TRUE@am__append_2776 = efiemu.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_2777 = efiemu/prepare.c efiemu/loadcore.c efiemu/runtime/efiemu.S efiemu/runtime/efiemu.c 
+-@COND_i386_qemu_TRUE@am__append_2778 = $(nodist_efiemu_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_2779 =  \
++@COND_i386_pc_TRUE@am__append_2766 = efiemu.mod
++@COND_i386_pc_TRUE@am__append_2767 = efiemu.marker
++@COND_i386_qemu_TRUE@am__append_2768 = efiemu.module
++@COND_i386_qemu_TRUE@am__append_2769 = efiemu.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_2770 = efiemu/prepare.c efiemu/loadcore.c efiemu/runtime/efiemu.S efiemu/runtime/efiemu.c 
++@COND_i386_qemu_TRUE@am__append_2771 = $(nodist_efiemu_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_2772 =  \
+ @COND_i386_qemu_TRUE@ $(nodist_efiemu_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ efiemu.marker
+-@COND_i386_qemu_TRUE@am__append_2780 = efiemu.mod
+-@COND_i386_qemu_TRUE@am__append_2781 = efiemu.marker
+-@COND_i386_coreboot_TRUE@am__append_2782 = efiemu.module
+-@COND_i386_coreboot_TRUE@am__append_2783 = efiemu.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_2784 = efiemu/prepare.c efiemu/loadcore.c efiemu/runtime/efiemu.S efiemu/runtime/efiemu.c 
+-@COND_i386_coreboot_TRUE@am__append_2785 = $(nodist_efiemu_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_2786 =  \
++@COND_i386_qemu_TRUE@am__append_2773 = efiemu.mod
++@COND_i386_qemu_TRUE@am__append_2774 = efiemu.marker
++@COND_i386_coreboot_TRUE@am__append_2775 = efiemu.module
++@COND_i386_coreboot_TRUE@am__append_2776 = efiemu.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_2777 = efiemu/prepare.c efiemu/loadcore.c efiemu/runtime/efiemu.S efiemu/runtime/efiemu.c 
++@COND_i386_coreboot_TRUE@am__append_2778 = $(nodist_efiemu_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_2779 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_efiemu_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     efiemu.marker
+-@COND_i386_coreboot_TRUE@am__append_2787 = efiemu.mod
+-@COND_i386_coreboot_TRUE@am__append_2788 = efiemu.marker
+-@COND_i386_multiboot_TRUE@am__append_2789 = efiemu.module
+-@COND_i386_multiboot_TRUE@am__append_2790 = efiemu.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_2791 = efiemu/prepare.c efiemu/loadcore.c efiemu/runtime/efiemu.S efiemu/runtime/efiemu.c 
+-@COND_i386_multiboot_TRUE@am__append_2792 = $(nodist_efiemu_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_2793 =  \
++@COND_i386_coreboot_TRUE@am__append_2780 = efiemu.mod
++@COND_i386_coreboot_TRUE@am__append_2781 = efiemu.marker
++@COND_i386_multiboot_TRUE@am__append_2782 = efiemu.module
++@COND_i386_multiboot_TRUE@am__append_2783 = efiemu.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_2784 = efiemu/prepare.c efiemu/loadcore.c efiemu/runtime/efiemu.S efiemu/runtime/efiemu.c 
++@COND_i386_multiboot_TRUE@am__append_2785 = $(nodist_efiemu_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_2786 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_efiemu_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    efiemu.marker
+-@COND_i386_multiboot_TRUE@am__append_2794 = efiemu.mod
+-@COND_i386_multiboot_TRUE@am__append_2795 = efiemu.marker
+-@COND_i386_ieee1275_TRUE@am__append_2796 = efiemu.module
+-@COND_i386_ieee1275_TRUE@am__append_2797 = efiemu.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_2798 = efiemu/prepare.c efiemu/loadcore.c efiemu/runtime/efiemu.S efiemu/runtime/efiemu.c 
+-@COND_i386_ieee1275_TRUE@am__append_2799 = $(nodist_efiemu_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_2800 =  \
++@COND_i386_multiboot_TRUE@am__append_2787 = efiemu.mod
++@COND_i386_multiboot_TRUE@am__append_2788 = efiemu.marker
++@COND_i386_ieee1275_TRUE@am__append_2789 = efiemu.module
++@COND_i386_ieee1275_TRUE@am__append_2790 = efiemu.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_2791 = efiemu/prepare.c efiemu/loadcore.c efiemu/runtime/efiemu.S efiemu/runtime/efiemu.c 
++@COND_i386_ieee1275_TRUE@am__append_2792 = $(nodist_efiemu_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_2793 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_efiemu_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     efiemu.marker
+-@COND_i386_ieee1275_TRUE@am__append_2801 = efiemu.mod
+-@COND_i386_ieee1275_TRUE@am__append_2802 = efiemu.marker
+-@COND_emu_TRUE@am__append_2803 = font.module
+-@COND_emu_TRUE@am__append_2804 = font.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_2794 = efiemu.mod
++@COND_i386_ieee1275_TRUE@am__append_2795 = efiemu.marker
++@COND_emu_TRUE@am__append_2796 = font.module
++@COND_emu_TRUE@am__append_2797 = font.module$(EXEEXT)
+ @COND_arm64_efi_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_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_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_FALSE@font_module_DEPENDENCIES =
+-@COND_emu_TRUE@am__append_2805 = 
+-@COND_emu_TRUE@am__append_2806 = $(nodist_font_module_SOURCES)
+-@COND_emu_TRUE@am__append_2807 = $(nodist_font_module_SOURCES) \
++@COND_emu_TRUE@am__append_2798 = 
++@COND_emu_TRUE@am__append_2799 = $(nodist_font_module_SOURCES)
++@COND_emu_TRUE@am__append_2800 = $(nodist_font_module_SOURCES) \
+ @COND_emu_TRUE@       font.marker
+-@COND_emu_TRUE@am__append_2808 = font.mod
+-@COND_emu_TRUE@am__append_2809 = font.marker
+-@COND_i386_pc_TRUE@am__append_2810 = font.module
+-@COND_i386_pc_TRUE@am__append_2811 = font.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__append_2812 = 
+-@COND_i386_pc_TRUE@am__append_2813 = $(nodist_font_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_2814 = $(nodist_font_module_SOURCES) \
++@COND_emu_TRUE@am__append_2801 = font.mod
++@COND_emu_TRUE@am__append_2802 = font.marker
++@COND_i386_pc_TRUE@am__append_2803 = font.module
++@COND_i386_pc_TRUE@am__append_2804 = font.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__append_2805 = 
++@COND_i386_pc_TRUE@am__append_2806 = $(nodist_font_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_2807 = $(nodist_font_module_SOURCES) \
+ @COND_i386_pc_TRUE@   font.marker
+-@COND_i386_pc_TRUE@am__append_2815 = font.mod
+-@COND_i386_pc_TRUE@am__append_2816 = font.marker
+-@COND_i386_efi_TRUE@am__append_2817 = font.module
+-@COND_i386_efi_TRUE@am__append_2818 = font.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_2819 = 
+-@COND_i386_efi_TRUE@am__append_2820 = $(nodist_font_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_2821 = $(nodist_font_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_2808 = font.mod
++@COND_i386_pc_TRUE@am__append_2809 = font.marker
++@COND_i386_efi_TRUE@am__append_2810 = font.module
++@COND_i386_efi_TRUE@am__append_2811 = font.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_2812 = 
++@COND_i386_efi_TRUE@am__append_2813 = $(nodist_font_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_2814 = $(nodist_font_module_SOURCES) \
+ @COND_i386_efi_TRUE@  font.marker
+-@COND_i386_efi_TRUE@am__append_2822 = font.mod
+-@COND_i386_efi_TRUE@am__append_2823 = font.marker
+-@COND_i386_qemu_TRUE@am__append_2824 = font.module
+-@COND_i386_qemu_TRUE@am__append_2825 = font.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_2826 = 
+-@COND_i386_qemu_TRUE@am__append_2827 = $(nodist_font_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_2828 = $(nodist_font_module_SOURCES) \
++@COND_i386_efi_TRUE@am__append_2815 = font.mod
++@COND_i386_efi_TRUE@am__append_2816 = font.marker
++@COND_i386_qemu_TRUE@am__append_2817 = font.module
++@COND_i386_qemu_TRUE@am__append_2818 = font.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_2819 = 
++@COND_i386_qemu_TRUE@am__append_2820 = $(nodist_font_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_2821 = $(nodist_font_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ font.marker
+-@COND_i386_qemu_TRUE@am__append_2829 = font.mod
+-@COND_i386_qemu_TRUE@am__append_2830 = font.marker
+-@COND_i386_multiboot_TRUE@am__append_2831 = font.module
+-@COND_i386_multiboot_TRUE@am__append_2832 = font.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_2833 = 
+-@COND_i386_multiboot_TRUE@am__append_2834 = $(nodist_font_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_2835 =  \
++@COND_i386_qemu_TRUE@am__append_2822 = font.mod
++@COND_i386_qemu_TRUE@am__append_2823 = font.marker
++@COND_i386_multiboot_TRUE@am__append_2824 = font.module
++@COND_i386_multiboot_TRUE@am__append_2825 = font.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_2826 = 
++@COND_i386_multiboot_TRUE@am__append_2827 = $(nodist_font_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_2828 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_font_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    font.marker
+-@COND_i386_multiboot_TRUE@am__append_2836 = font.mod
+-@COND_i386_multiboot_TRUE@am__append_2837 = font.marker
+-@COND_i386_ieee1275_TRUE@am__append_2838 = font.module
+-@COND_i386_ieee1275_TRUE@am__append_2839 = font.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_2840 = 
+-@COND_i386_ieee1275_TRUE@am__append_2841 = $(nodist_font_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_2842 =  \
++@COND_i386_multiboot_TRUE@am__append_2829 = font.mod
++@COND_i386_multiboot_TRUE@am__append_2830 = font.marker
++@COND_i386_ieee1275_TRUE@am__append_2831 = font.module
++@COND_i386_ieee1275_TRUE@am__append_2832 = font.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_2833 = 
++@COND_i386_ieee1275_TRUE@am__append_2834 = $(nodist_font_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_2835 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_font_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     font.marker
+-@COND_i386_ieee1275_TRUE@am__append_2843 = font.mod
+-@COND_i386_ieee1275_TRUE@am__append_2844 = font.marker
+-@COND_x86_64_efi_TRUE@am__append_2845 = font.module
+-@COND_x86_64_efi_TRUE@am__append_2846 = font.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_2847 = 
+-@COND_x86_64_efi_TRUE@am__append_2848 = $(nodist_font_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_2849 = $(nodist_font_module_SOURCES) \
++@COND_i386_ieee1275_TRUE@am__append_2836 = font.mod
++@COND_i386_ieee1275_TRUE@am__append_2837 = font.marker
++@COND_x86_64_efi_TRUE@am__append_2838 = font.module
++@COND_x86_64_efi_TRUE@am__append_2839 = font.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_2840 = 
++@COND_x86_64_efi_TRUE@am__append_2841 = $(nodist_font_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_2842 = $(nodist_font_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        font.marker
+-@COND_x86_64_efi_TRUE@am__append_2850 = font.mod
+-@COND_x86_64_efi_TRUE@am__append_2851 = font.marker
+-@COND_i386_xen_TRUE@am__append_2852 = font.module
+-@COND_i386_xen_TRUE@am__append_2853 = font.module$(EXEEXT)
+-@COND_i386_xen_TRUE@am__append_2854 = 
+-@COND_i386_xen_TRUE@am__append_2855 = $(nodist_font_module_SOURCES)
+-@COND_i386_xen_TRUE@am__append_2856 = $(nodist_font_module_SOURCES) \
++@COND_x86_64_efi_TRUE@am__append_2843 = font.mod
++@COND_x86_64_efi_TRUE@am__append_2844 = font.marker
++@COND_i386_xen_TRUE@am__append_2845 = font.module
++@COND_i386_xen_TRUE@am__append_2846 = font.module$(EXEEXT)
++@COND_i386_xen_TRUE@am__append_2847 = 
++@COND_i386_xen_TRUE@am__append_2848 = $(nodist_font_module_SOURCES)
++@COND_i386_xen_TRUE@am__append_2849 = $(nodist_font_module_SOURCES) \
+ @COND_i386_xen_TRUE@  font.marker
+-@COND_i386_xen_TRUE@am__append_2857 = font.mod
+-@COND_i386_xen_TRUE@am__append_2858 = font.marker
+-@COND_x86_64_xen_TRUE@am__append_2859 = font.module
+-@COND_x86_64_xen_TRUE@am__append_2860 = font.module$(EXEEXT)
+-@COND_x86_64_xen_TRUE@am__append_2861 = 
+-@COND_x86_64_xen_TRUE@am__append_2862 = $(nodist_font_module_SOURCES)
+-@COND_x86_64_xen_TRUE@am__append_2863 = $(nodist_font_module_SOURCES) \
++@COND_i386_xen_TRUE@am__append_2850 = font.mod
++@COND_i386_xen_TRUE@am__append_2851 = font.marker
++@COND_x86_64_xen_TRUE@am__append_2852 = font.module
++@COND_x86_64_xen_TRUE@am__append_2853 = font.module$(EXEEXT)
++@COND_x86_64_xen_TRUE@am__append_2854 = 
++@COND_x86_64_xen_TRUE@am__append_2855 = $(nodist_font_module_SOURCES)
++@COND_x86_64_xen_TRUE@am__append_2856 = $(nodist_font_module_SOURCES) \
+ @COND_x86_64_xen_TRUE@        font.marker
+-@COND_x86_64_xen_TRUE@am__append_2864 = font.mod
+-@COND_x86_64_xen_TRUE@am__append_2865 = font.marker
+-@COND_i386_xen_pvh_TRUE@am__append_2866 = font.module
+-@COND_i386_xen_pvh_TRUE@am__append_2867 = font.module$(EXEEXT)
+-@COND_i386_xen_pvh_TRUE@am__append_2868 = 
+-@COND_i386_xen_pvh_TRUE@am__append_2869 = $(nodist_font_module_SOURCES)
+-@COND_i386_xen_pvh_TRUE@am__append_2870 =  \
++@COND_x86_64_xen_TRUE@am__append_2857 = font.mod
++@COND_x86_64_xen_TRUE@am__append_2858 = font.marker
++@COND_i386_xen_pvh_TRUE@am__append_2859 = font.module
++@COND_i386_xen_pvh_TRUE@am__append_2860 = font.module$(EXEEXT)
++@COND_i386_xen_pvh_TRUE@am__append_2861 = 
++@COND_i386_xen_pvh_TRUE@am__append_2862 = $(nodist_font_module_SOURCES)
++@COND_i386_xen_pvh_TRUE@am__append_2863 =  \
+ @COND_i386_xen_pvh_TRUE@      $(nodist_font_module_SOURCES) \
+ @COND_i386_xen_pvh_TRUE@      font.marker
+-@COND_i386_xen_pvh_TRUE@am__append_2871 = font.mod
+-@COND_i386_xen_pvh_TRUE@am__append_2872 = font.marker
+-@COND_sparc64_ieee1275_TRUE@am__append_2873 = font.module
+-@COND_sparc64_ieee1275_TRUE@am__append_2874 = font.module$(EXEEXT)
+-@COND_sparc64_ieee1275_TRUE@am__append_2875 = 
+-@COND_sparc64_ieee1275_TRUE@am__append_2876 = $(nodist_font_module_SOURCES)
+-@COND_sparc64_ieee1275_TRUE@am__append_2877 =  \
++@COND_i386_xen_pvh_TRUE@am__append_2864 = font.mod
++@COND_i386_xen_pvh_TRUE@am__append_2865 = font.marker
++@COND_sparc64_ieee1275_TRUE@am__append_2866 = font.module
++@COND_sparc64_ieee1275_TRUE@am__append_2867 = font.module$(EXEEXT)
++@COND_sparc64_ieee1275_TRUE@am__append_2868 = 
++@COND_sparc64_ieee1275_TRUE@am__append_2869 = $(nodist_font_module_SOURCES)
++@COND_sparc64_ieee1275_TRUE@am__append_2870 =  \
+ @COND_sparc64_ieee1275_TRUE@  $(nodist_font_module_SOURCES) \
+ @COND_sparc64_ieee1275_TRUE@  font.marker
+-@COND_sparc64_ieee1275_TRUE@am__append_2878 = font.mod
+-@COND_sparc64_ieee1275_TRUE@am__append_2879 = font.marker
+-@COND_powerpc_ieee1275_TRUE@am__append_2880 = font.module
+-@COND_powerpc_ieee1275_TRUE@am__append_2881 = font.module$(EXEEXT)
+-@COND_powerpc_ieee1275_TRUE@am__append_2882 = 
+-@COND_powerpc_ieee1275_TRUE@am__append_2883 = $(nodist_font_module_SOURCES)
+-@COND_powerpc_ieee1275_TRUE@am__append_2884 =  \
++@COND_sparc64_ieee1275_TRUE@am__append_2871 = font.mod
++@COND_sparc64_ieee1275_TRUE@am__append_2872 = font.marker
++@COND_powerpc_ieee1275_TRUE@am__append_2873 = font.module
++@COND_powerpc_ieee1275_TRUE@am__append_2874 = font.module$(EXEEXT)
++@COND_powerpc_ieee1275_TRUE@am__append_2875 = 
++@COND_powerpc_ieee1275_TRUE@am__append_2876 = $(nodist_font_module_SOURCES)
++@COND_powerpc_ieee1275_TRUE@am__append_2877 =  \
+ @COND_powerpc_ieee1275_TRUE@  $(nodist_font_module_SOURCES) \
+ @COND_powerpc_ieee1275_TRUE@  font.marker
+-@COND_powerpc_ieee1275_TRUE@am__append_2885 = font.mod
+-@COND_powerpc_ieee1275_TRUE@am__append_2886 = font.marker
+-@COND_mips_arc_TRUE@am__append_2887 = font.module
+-@COND_mips_arc_TRUE@am__append_2888 = font.module$(EXEEXT)
+-@COND_mips_arc_TRUE@am__append_2889 = 
+-@COND_mips_arc_TRUE@am__append_2890 = $(nodist_font_module_SOURCES)
+-@COND_mips_arc_TRUE@am__append_2891 = $(nodist_font_module_SOURCES) \
++@COND_powerpc_ieee1275_TRUE@am__append_2878 = font.mod
++@COND_powerpc_ieee1275_TRUE@am__append_2879 = font.marker
++@COND_mips_arc_TRUE@am__append_2880 = font.module
++@COND_mips_arc_TRUE@am__append_2881 = font.module$(EXEEXT)
++@COND_mips_arc_TRUE@am__append_2882 = 
++@COND_mips_arc_TRUE@am__append_2883 = $(nodist_font_module_SOURCES)
++@COND_mips_arc_TRUE@am__append_2884 = $(nodist_font_module_SOURCES) \
+ @COND_mips_arc_TRUE@  font.marker
+-@COND_mips_arc_TRUE@am__append_2892 = font.mod
+-@COND_mips_arc_TRUE@am__append_2893 = font.marker
+-@COND_ia64_efi_TRUE@am__append_2894 = font.module
+-@COND_ia64_efi_TRUE@am__append_2895 = font.module$(EXEEXT)
+-@COND_ia64_efi_TRUE@am__append_2896 = 
+-@COND_ia64_efi_TRUE@am__append_2897 = $(nodist_font_module_SOURCES)
+-@COND_ia64_efi_TRUE@am__append_2898 = $(nodist_font_module_SOURCES) \
++@COND_mips_arc_TRUE@am__append_2885 = font.mod
++@COND_mips_arc_TRUE@am__append_2886 = font.marker
++@COND_ia64_efi_TRUE@am__append_2887 = font.module
++@COND_ia64_efi_TRUE@am__append_2888 = font.module$(EXEEXT)
++@COND_ia64_efi_TRUE@am__append_2889 = 
++@COND_ia64_efi_TRUE@am__append_2890 = $(nodist_font_module_SOURCES)
++@COND_ia64_efi_TRUE@am__append_2891 = $(nodist_font_module_SOURCES) \
+ @COND_ia64_efi_TRUE@  font.marker
+-@COND_ia64_efi_TRUE@am__append_2899 = font.mod
+-@COND_ia64_efi_TRUE@am__append_2900 = font.marker
+-@COND_mips_qemu_mips_TRUE@am__append_2901 = font.module
+-@COND_mips_qemu_mips_TRUE@am__append_2902 = font.module$(EXEEXT)
+-@COND_mips_qemu_mips_TRUE@am__append_2903 = 
+-@COND_mips_qemu_mips_TRUE@am__append_2904 = $(nodist_font_module_SOURCES)
+-@COND_mips_qemu_mips_TRUE@am__append_2905 =  \
++@COND_ia64_efi_TRUE@am__append_2892 = font.mod
++@COND_ia64_efi_TRUE@am__append_2893 = font.marker
++@COND_mips_qemu_mips_TRUE@am__append_2894 = font.module
++@COND_mips_qemu_mips_TRUE@am__append_2895 = font.module$(EXEEXT)
++@COND_mips_qemu_mips_TRUE@am__append_2896 = 
++@COND_mips_qemu_mips_TRUE@am__append_2897 = $(nodist_font_module_SOURCES)
++@COND_mips_qemu_mips_TRUE@am__append_2898 =  \
+ @COND_mips_qemu_mips_TRUE@    $(nodist_font_module_SOURCES) \
+ @COND_mips_qemu_mips_TRUE@    font.marker
+-@COND_mips_qemu_mips_TRUE@am__append_2906 = font.mod
+-@COND_mips_qemu_mips_TRUE@am__append_2907 = font.marker
+-@COND_arm_uboot_TRUE@am__append_2908 = font.module
+-@COND_arm_uboot_TRUE@am__append_2909 = font.module$(EXEEXT)
+-@COND_arm_uboot_TRUE@am__append_2910 = 
+-@COND_arm_uboot_TRUE@am__append_2911 = $(nodist_font_module_SOURCES)
+-@COND_arm_uboot_TRUE@am__append_2912 = $(nodist_font_module_SOURCES) \
++@COND_mips_qemu_mips_TRUE@am__append_2899 = font.mod
++@COND_mips_qemu_mips_TRUE@am__append_2900 = font.marker
++@COND_arm_uboot_TRUE@am__append_2901 = font.module
++@COND_arm_uboot_TRUE@am__append_2902 = font.module$(EXEEXT)
++@COND_arm_uboot_TRUE@am__append_2903 = 
++@COND_arm_uboot_TRUE@am__append_2904 = $(nodist_font_module_SOURCES)
++@COND_arm_uboot_TRUE@am__append_2905 = $(nodist_font_module_SOURCES) \
+ @COND_arm_uboot_TRUE@ font.marker
+-@COND_arm_uboot_TRUE@am__append_2913 = font.mod
+-@COND_arm_uboot_TRUE@am__append_2914 = font.marker
+-@COND_arm_efi_TRUE@am__append_2915 = font.module
+-@COND_arm_efi_TRUE@am__append_2916 = font.module$(EXEEXT)
+-@COND_arm_efi_TRUE@am__append_2917 = 
+-@COND_arm_efi_TRUE@am__append_2918 = $(nodist_font_module_SOURCES)
+-@COND_arm_efi_TRUE@am__append_2919 = $(nodist_font_module_SOURCES) \
++@COND_arm_uboot_TRUE@am__append_2906 = font.mod
++@COND_arm_uboot_TRUE@am__append_2907 = font.marker
++@COND_arm_efi_TRUE@am__append_2908 = font.module
++@COND_arm_efi_TRUE@am__append_2909 = font.module$(EXEEXT)
++@COND_arm_efi_TRUE@am__append_2910 = 
++@COND_arm_efi_TRUE@am__append_2911 = $(nodist_font_module_SOURCES)
++@COND_arm_efi_TRUE@am__append_2912 = $(nodist_font_module_SOURCES) \
+ @COND_arm_efi_TRUE@   font.marker
+-@COND_arm_efi_TRUE@am__append_2920 = font.mod
+-@COND_arm_efi_TRUE@am__append_2921 = font.marker
+-@COND_arm64_efi_TRUE@am__append_2922 = font.module
+-@COND_arm64_efi_TRUE@am__append_2923 = font.module$(EXEEXT)
+-@COND_arm64_efi_TRUE@am__append_2924 = 
+-@COND_arm64_efi_TRUE@am__append_2925 = $(nodist_font_module_SOURCES)
+-@COND_arm64_efi_TRUE@am__append_2926 = $(nodist_font_module_SOURCES) \
++@COND_arm_efi_TRUE@am__append_2913 = font.mod
++@COND_arm_efi_TRUE@am__append_2914 = font.marker
++@COND_arm64_efi_TRUE@am__append_2915 = font.module
++@COND_arm64_efi_TRUE@am__append_2916 = font.module$(EXEEXT)
++@COND_arm64_efi_TRUE@am__append_2917 = 
++@COND_arm64_efi_TRUE@am__append_2918 = $(nodist_font_module_SOURCES)
++@COND_arm64_efi_TRUE@am__append_2919 = $(nodist_font_module_SOURCES) \
+ @COND_arm64_efi_TRUE@ font.marker
+-@COND_arm64_efi_TRUE@am__append_2927 = font.mod
+-@COND_arm64_efi_TRUE@am__append_2928 = font.marker
+-@COND_riscv32_efi_TRUE@am__append_2929 = font.module
+-@COND_riscv32_efi_TRUE@am__append_2930 = font.module$(EXEEXT)
+-@COND_riscv32_efi_TRUE@am__append_2931 = 
+-@COND_riscv32_efi_TRUE@am__append_2932 = $(nodist_font_module_SOURCES)
+-@COND_riscv32_efi_TRUE@am__append_2933 =  \
++@COND_arm64_efi_TRUE@am__append_2920 = font.mod
++@COND_arm64_efi_TRUE@am__append_2921 = font.marker
++@COND_riscv32_efi_TRUE@am__append_2922 = font.module
++@COND_riscv32_efi_TRUE@am__append_2923 = font.module$(EXEEXT)
++@COND_riscv32_efi_TRUE@am__append_2924 = 
++@COND_riscv32_efi_TRUE@am__append_2925 = $(nodist_font_module_SOURCES)
++@COND_riscv32_efi_TRUE@am__append_2926 =  \
+ @COND_riscv32_efi_TRUE@       $(nodist_font_module_SOURCES) \
+ @COND_riscv32_efi_TRUE@       font.marker
+-@COND_riscv32_efi_TRUE@am__append_2934 = font.mod
+-@COND_riscv32_efi_TRUE@am__append_2935 = font.marker
+-@COND_riscv64_efi_TRUE@am__append_2936 = font.module
+-@COND_riscv64_efi_TRUE@am__append_2937 = font.module$(EXEEXT)
+-@COND_riscv64_efi_TRUE@am__append_2938 = 
+-@COND_riscv64_efi_TRUE@am__append_2939 = $(nodist_font_module_SOURCES)
+-@COND_riscv64_efi_TRUE@am__append_2940 =  \
++@COND_riscv32_efi_TRUE@am__append_2927 = font.mod
++@COND_riscv32_efi_TRUE@am__append_2928 = font.marker
++@COND_riscv64_efi_TRUE@am__append_2929 = font.module
++@COND_riscv64_efi_TRUE@am__append_2930 = font.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__append_2931 = 
++@COND_riscv64_efi_TRUE@am__append_2932 = $(nodist_font_module_SOURCES)
++@COND_riscv64_efi_TRUE@am__append_2933 =  \
+ @COND_riscv64_efi_TRUE@       $(nodist_font_module_SOURCES) \
+ @COND_riscv64_efi_TRUE@       font.marker
+-@COND_riscv64_efi_TRUE@am__append_2941 = font.mod
+-@COND_riscv64_efi_TRUE@am__append_2942 = font.marker
+-@COND_i386_pc_TRUE@am__append_2943 = pxe.module
+-@COND_i386_pc_TRUE@am__append_2944 = pxe.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__append_2934 = font.mod
++@COND_riscv64_efi_TRUE@am__append_2935 = font.marker
++@COND_i386_pc_TRUE@am__append_2936 = pxe.module
++@COND_i386_pc_TRUE@am__append_2937 = pxe.module$(EXEEXT)
+ @COND_i386_pc_FALSE@pxe_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_2945 = 
+-@COND_i386_pc_TRUE@am__append_2946 = $(nodist_pxe_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_2947 = $(nodist_pxe_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_2938 = 
++@COND_i386_pc_TRUE@am__append_2939 = $(nodist_pxe_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_2940 = $(nodist_pxe_module_SOURCES) \
+ @COND_i386_pc_TRUE@   pxe.marker
+-@COND_i386_pc_TRUE@am__append_2948 = pxe.mod
+-@COND_i386_pc_TRUE@am__append_2949 = pxe.marker
+-@COND_emu_TRUE@am__append_2950 = bufio.module
+-@COND_emu_TRUE@am__append_2951 = bufio.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__append_2941 = pxe.mod
++@COND_i386_pc_TRUE@am__append_2942 = pxe.marker
++@COND_emu_TRUE@am__append_2943 = bufio.module
++@COND_emu_TRUE@am__append_2944 = bufio.module$(EXEEXT)
+ @COND_arm64_efi_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_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_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_FALSE@bufio_module_DEPENDENCIES =
+-@COND_emu_TRUE@am__append_2952 = 
+-@COND_emu_TRUE@am__append_2953 = $(nodist_bufio_module_SOURCES)
+-@COND_emu_TRUE@am__append_2954 = $(nodist_bufio_module_SOURCES) \
++@COND_emu_TRUE@am__append_2945 = 
++@COND_emu_TRUE@am__append_2946 = $(nodist_bufio_module_SOURCES)
++@COND_emu_TRUE@am__append_2947 = $(nodist_bufio_module_SOURCES) \
+ @COND_emu_TRUE@       bufio.marker
+-@COND_emu_TRUE@am__append_2955 = bufio.mod
+-@COND_emu_TRUE@am__append_2956 = bufio.marker
+-@COND_i386_pc_TRUE@am__append_2957 = bufio.module
+-@COND_i386_pc_TRUE@am__append_2958 = bufio.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__append_2959 = 
+-@COND_i386_pc_TRUE@am__append_2960 = $(nodist_bufio_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_2961 = $(nodist_bufio_module_SOURCES) \
++@COND_emu_TRUE@am__append_2948 = bufio.mod
++@COND_emu_TRUE@am__append_2949 = bufio.marker
++@COND_i386_pc_TRUE@am__append_2950 = bufio.module
++@COND_i386_pc_TRUE@am__append_2951 = bufio.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__append_2952 = 
++@COND_i386_pc_TRUE@am__append_2953 = $(nodist_bufio_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_2954 = $(nodist_bufio_module_SOURCES) \
+ @COND_i386_pc_TRUE@   bufio.marker
+-@COND_i386_pc_TRUE@am__append_2962 = bufio.mod
+-@COND_i386_pc_TRUE@am__append_2963 = bufio.marker
+-@COND_i386_efi_TRUE@am__append_2964 = bufio.module
+-@COND_i386_efi_TRUE@am__append_2965 = bufio.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_2966 = 
+-@COND_i386_efi_TRUE@am__append_2967 = $(nodist_bufio_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_2968 = $(nodist_bufio_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_2955 = bufio.mod
++@COND_i386_pc_TRUE@am__append_2956 = bufio.marker
++@COND_i386_efi_TRUE@am__append_2957 = bufio.module
++@COND_i386_efi_TRUE@am__append_2958 = bufio.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_2959 = 
++@COND_i386_efi_TRUE@am__append_2960 = $(nodist_bufio_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_2961 = $(nodist_bufio_module_SOURCES) \
+ @COND_i386_efi_TRUE@  bufio.marker
+-@COND_i386_efi_TRUE@am__append_2969 = bufio.mod
+-@COND_i386_efi_TRUE@am__append_2970 = bufio.marker
+-@COND_i386_qemu_TRUE@am__append_2971 = bufio.module
+-@COND_i386_qemu_TRUE@am__append_2972 = bufio.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_2973 = 
+-@COND_i386_qemu_TRUE@am__append_2974 = $(nodist_bufio_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_2975 = $(nodist_bufio_module_SOURCES) \
++@COND_i386_efi_TRUE@am__append_2962 = bufio.mod
++@COND_i386_efi_TRUE@am__append_2963 = bufio.marker
++@COND_i386_qemu_TRUE@am__append_2964 = bufio.module
++@COND_i386_qemu_TRUE@am__append_2965 = bufio.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_2966 = 
++@COND_i386_qemu_TRUE@am__append_2967 = $(nodist_bufio_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_2968 = $(nodist_bufio_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ bufio.marker
+-@COND_i386_qemu_TRUE@am__append_2976 = bufio.mod
+-@COND_i386_qemu_TRUE@am__append_2977 = bufio.marker
+-@COND_i386_multiboot_TRUE@am__append_2978 = bufio.module
+-@COND_i386_multiboot_TRUE@am__append_2979 = bufio.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_2980 = 
+-@COND_i386_multiboot_TRUE@am__append_2981 = $(nodist_bufio_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_2982 =  \
++@COND_i386_qemu_TRUE@am__append_2969 = bufio.mod
++@COND_i386_qemu_TRUE@am__append_2970 = bufio.marker
++@COND_i386_multiboot_TRUE@am__append_2971 = bufio.module
++@COND_i386_multiboot_TRUE@am__append_2972 = bufio.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_2973 = 
++@COND_i386_multiboot_TRUE@am__append_2974 = $(nodist_bufio_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_2975 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_bufio_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    bufio.marker
+-@COND_i386_multiboot_TRUE@am__append_2983 = bufio.mod
+-@COND_i386_multiboot_TRUE@am__append_2984 = bufio.marker
+-@COND_i386_ieee1275_TRUE@am__append_2985 = bufio.module
+-@COND_i386_ieee1275_TRUE@am__append_2986 = bufio.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_2987 = 
+-@COND_i386_ieee1275_TRUE@am__append_2988 = $(nodist_bufio_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_2989 =  \
++@COND_i386_multiboot_TRUE@am__append_2976 = bufio.mod
++@COND_i386_multiboot_TRUE@am__append_2977 = bufio.marker
++@COND_i386_ieee1275_TRUE@am__append_2978 = bufio.module
++@COND_i386_ieee1275_TRUE@am__append_2979 = bufio.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_2980 = 
++@COND_i386_ieee1275_TRUE@am__append_2981 = $(nodist_bufio_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_2982 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_bufio_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     bufio.marker
+-@COND_i386_ieee1275_TRUE@am__append_2990 = bufio.mod
+-@COND_i386_ieee1275_TRUE@am__append_2991 = bufio.marker
+-@COND_x86_64_efi_TRUE@am__append_2992 = bufio.module
+-@COND_x86_64_efi_TRUE@am__append_2993 = bufio.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_2994 = 
+-@COND_x86_64_efi_TRUE@am__append_2995 = $(nodist_bufio_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_2996 =  \
++@COND_i386_ieee1275_TRUE@am__append_2983 = bufio.mod
++@COND_i386_ieee1275_TRUE@am__append_2984 = bufio.marker
++@COND_x86_64_efi_TRUE@am__append_2985 = bufio.module
++@COND_x86_64_efi_TRUE@am__append_2986 = bufio.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_2987 = 
++@COND_x86_64_efi_TRUE@am__append_2988 = $(nodist_bufio_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_2989 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_bufio_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        bufio.marker
+-@COND_x86_64_efi_TRUE@am__append_2997 = bufio.mod
+-@COND_x86_64_efi_TRUE@am__append_2998 = bufio.marker
+-@COND_i386_xen_TRUE@am__append_2999 = bufio.module
+-@COND_i386_xen_TRUE@am__append_3000 = bufio.module$(EXEEXT)
+-@COND_i386_xen_TRUE@am__append_3001 = 
+-@COND_i386_xen_TRUE@am__append_3002 = $(nodist_bufio_module_SOURCES)
+-@COND_i386_xen_TRUE@am__append_3003 = $(nodist_bufio_module_SOURCES) \
++@COND_x86_64_efi_TRUE@am__append_2990 = bufio.mod
++@COND_x86_64_efi_TRUE@am__append_2991 = bufio.marker
++@COND_i386_xen_TRUE@am__append_2992 = bufio.module
++@COND_i386_xen_TRUE@am__append_2993 = bufio.module$(EXEEXT)
++@COND_i386_xen_TRUE@am__append_2994 = 
++@COND_i386_xen_TRUE@am__append_2995 = $(nodist_bufio_module_SOURCES)
++@COND_i386_xen_TRUE@am__append_2996 = $(nodist_bufio_module_SOURCES) \
+ @COND_i386_xen_TRUE@  bufio.marker
+-@COND_i386_xen_TRUE@am__append_3004 = bufio.mod
+-@COND_i386_xen_TRUE@am__append_3005 = bufio.marker
+-@COND_x86_64_xen_TRUE@am__append_3006 = bufio.module
+-@COND_x86_64_xen_TRUE@am__append_3007 = bufio.module$(EXEEXT)
+-@COND_x86_64_xen_TRUE@am__append_3008 = 
+-@COND_x86_64_xen_TRUE@am__append_3009 = $(nodist_bufio_module_SOURCES)
+-@COND_x86_64_xen_TRUE@am__append_3010 =  \
++@COND_i386_xen_TRUE@am__append_2997 = bufio.mod
++@COND_i386_xen_TRUE@am__append_2998 = bufio.marker
++@COND_x86_64_xen_TRUE@am__append_2999 = bufio.module
++@COND_x86_64_xen_TRUE@am__append_3000 = bufio.module$(EXEEXT)
++@COND_x86_64_xen_TRUE@am__append_3001 = 
++@COND_x86_64_xen_TRUE@am__append_3002 = $(nodist_bufio_module_SOURCES)
++@COND_x86_64_xen_TRUE@am__append_3003 =  \
+ @COND_x86_64_xen_TRUE@        $(nodist_bufio_module_SOURCES) \
+ @COND_x86_64_xen_TRUE@        bufio.marker
+-@COND_x86_64_xen_TRUE@am__append_3011 = bufio.mod
+-@COND_x86_64_xen_TRUE@am__append_3012 = bufio.marker
+-@COND_i386_xen_pvh_TRUE@am__append_3013 = bufio.module
+-@COND_i386_xen_pvh_TRUE@am__append_3014 = bufio.module$(EXEEXT)
+-@COND_i386_xen_pvh_TRUE@am__append_3015 = 
+-@COND_i386_xen_pvh_TRUE@am__append_3016 = $(nodist_bufio_module_SOURCES)
+-@COND_i386_xen_pvh_TRUE@am__append_3017 =  \
++@COND_x86_64_xen_TRUE@am__append_3004 = bufio.mod
++@COND_x86_64_xen_TRUE@am__append_3005 = bufio.marker
++@COND_i386_xen_pvh_TRUE@am__append_3006 = bufio.module
++@COND_i386_xen_pvh_TRUE@am__append_3007 = bufio.module$(EXEEXT)
++@COND_i386_xen_pvh_TRUE@am__append_3008 = 
++@COND_i386_xen_pvh_TRUE@am__append_3009 = $(nodist_bufio_module_SOURCES)
++@COND_i386_xen_pvh_TRUE@am__append_3010 =  \
+ @COND_i386_xen_pvh_TRUE@      $(nodist_bufio_module_SOURCES) \
+ @COND_i386_xen_pvh_TRUE@      bufio.marker
+-@COND_i386_xen_pvh_TRUE@am__append_3018 = bufio.mod
+-@COND_i386_xen_pvh_TRUE@am__append_3019 = bufio.marker
+-@COND_sparc64_ieee1275_TRUE@am__append_3020 = bufio.module
+-@COND_sparc64_ieee1275_TRUE@am__append_3021 = bufio.module$(EXEEXT)
+-@COND_sparc64_ieee1275_TRUE@am__append_3022 = 
+-@COND_sparc64_ieee1275_TRUE@am__append_3023 = $(nodist_bufio_module_SOURCES)
+-@COND_sparc64_ieee1275_TRUE@am__append_3024 =  \
++@COND_i386_xen_pvh_TRUE@am__append_3011 = bufio.mod
++@COND_i386_xen_pvh_TRUE@am__append_3012 = bufio.marker
++@COND_sparc64_ieee1275_TRUE@am__append_3013 = bufio.module
++@COND_sparc64_ieee1275_TRUE@am__append_3014 = bufio.module$(EXEEXT)
++@COND_sparc64_ieee1275_TRUE@am__append_3015 = 
++@COND_sparc64_ieee1275_TRUE@am__append_3016 = $(nodist_bufio_module_SOURCES)
++@COND_sparc64_ieee1275_TRUE@am__append_3017 =  \
+ @COND_sparc64_ieee1275_TRUE@  $(nodist_bufio_module_SOURCES) \
+ @COND_sparc64_ieee1275_TRUE@  bufio.marker
+-@COND_sparc64_ieee1275_TRUE@am__append_3025 = bufio.mod
+-@COND_sparc64_ieee1275_TRUE@am__append_3026 = bufio.marker
+-@COND_powerpc_ieee1275_TRUE@am__append_3027 = bufio.module
+-@COND_powerpc_ieee1275_TRUE@am__append_3028 = bufio.module$(EXEEXT)
+-@COND_powerpc_ieee1275_TRUE@am__append_3029 = 
+-@COND_powerpc_ieee1275_TRUE@am__append_3030 = $(nodist_bufio_module_SOURCES)
+-@COND_powerpc_ieee1275_TRUE@am__append_3031 =  \
++@COND_sparc64_ieee1275_TRUE@am__append_3018 = bufio.mod
++@COND_sparc64_ieee1275_TRUE@am__append_3019 = bufio.marker
++@COND_powerpc_ieee1275_TRUE@am__append_3020 = bufio.module
++@COND_powerpc_ieee1275_TRUE@am__append_3021 = bufio.module$(EXEEXT)
++@COND_powerpc_ieee1275_TRUE@am__append_3022 = 
++@COND_powerpc_ieee1275_TRUE@am__append_3023 = $(nodist_bufio_module_SOURCES)
++@COND_powerpc_ieee1275_TRUE@am__append_3024 =  \
+ @COND_powerpc_ieee1275_TRUE@  $(nodist_bufio_module_SOURCES) \
+ @COND_powerpc_ieee1275_TRUE@  bufio.marker
+-@COND_powerpc_ieee1275_TRUE@am__append_3032 = bufio.mod
+-@COND_powerpc_ieee1275_TRUE@am__append_3033 = bufio.marker
+-@COND_mips_arc_TRUE@am__append_3034 = bufio.module
+-@COND_mips_arc_TRUE@am__append_3035 = bufio.module$(EXEEXT)
+-@COND_mips_arc_TRUE@am__append_3036 = 
+-@COND_mips_arc_TRUE@am__append_3037 = $(nodist_bufio_module_SOURCES)
+-@COND_mips_arc_TRUE@am__append_3038 = $(nodist_bufio_module_SOURCES) \
++@COND_powerpc_ieee1275_TRUE@am__append_3025 = bufio.mod
++@COND_powerpc_ieee1275_TRUE@am__append_3026 = bufio.marker
++@COND_mips_arc_TRUE@am__append_3027 = bufio.module
++@COND_mips_arc_TRUE@am__append_3028 = bufio.module$(EXEEXT)
++@COND_mips_arc_TRUE@am__append_3029 = 
++@COND_mips_arc_TRUE@am__append_3030 = $(nodist_bufio_module_SOURCES)
++@COND_mips_arc_TRUE@am__append_3031 = $(nodist_bufio_module_SOURCES) \
+ @COND_mips_arc_TRUE@  bufio.marker
+-@COND_mips_arc_TRUE@am__append_3039 = bufio.mod
+-@COND_mips_arc_TRUE@am__append_3040 = bufio.marker
+-@COND_ia64_efi_TRUE@am__append_3041 = bufio.module
+-@COND_ia64_efi_TRUE@am__append_3042 = bufio.module$(EXEEXT)
+-@COND_ia64_efi_TRUE@am__append_3043 = 
+-@COND_ia64_efi_TRUE@am__append_3044 = $(nodist_bufio_module_SOURCES)
+-@COND_ia64_efi_TRUE@am__append_3045 = $(nodist_bufio_module_SOURCES) \
++@COND_mips_arc_TRUE@am__append_3032 = bufio.mod
++@COND_mips_arc_TRUE@am__append_3033 = bufio.marker
++@COND_ia64_efi_TRUE@am__append_3034 = bufio.module
++@COND_ia64_efi_TRUE@am__append_3035 = bufio.module$(EXEEXT)
++@COND_ia64_efi_TRUE@am__append_3036 = 
++@COND_ia64_efi_TRUE@am__append_3037 = $(nodist_bufio_module_SOURCES)
++@COND_ia64_efi_TRUE@am__append_3038 = $(nodist_bufio_module_SOURCES) \
+ @COND_ia64_efi_TRUE@  bufio.marker
+-@COND_ia64_efi_TRUE@am__append_3046 = bufio.mod
+-@COND_ia64_efi_TRUE@am__append_3047 = bufio.marker
+-@COND_mips_qemu_mips_TRUE@am__append_3048 = bufio.module
+-@COND_mips_qemu_mips_TRUE@am__append_3049 = bufio.module$(EXEEXT)
+-@COND_mips_qemu_mips_TRUE@am__append_3050 = 
+-@COND_mips_qemu_mips_TRUE@am__append_3051 = $(nodist_bufio_module_SOURCES)
+-@COND_mips_qemu_mips_TRUE@am__append_3052 =  \
++@COND_ia64_efi_TRUE@am__append_3039 = bufio.mod
++@COND_ia64_efi_TRUE@am__append_3040 = bufio.marker
++@COND_mips_qemu_mips_TRUE@am__append_3041 = bufio.module
++@COND_mips_qemu_mips_TRUE@am__append_3042 = bufio.module$(EXEEXT)
++@COND_mips_qemu_mips_TRUE@am__append_3043 = 
++@COND_mips_qemu_mips_TRUE@am__append_3044 = $(nodist_bufio_module_SOURCES)
++@COND_mips_qemu_mips_TRUE@am__append_3045 =  \
+ @COND_mips_qemu_mips_TRUE@    $(nodist_bufio_module_SOURCES) \
+ @COND_mips_qemu_mips_TRUE@    bufio.marker
+-@COND_mips_qemu_mips_TRUE@am__append_3053 = bufio.mod
+-@COND_mips_qemu_mips_TRUE@am__append_3054 = bufio.marker
+-@COND_arm_uboot_TRUE@am__append_3055 = bufio.module
+-@COND_arm_uboot_TRUE@am__append_3056 = bufio.module$(EXEEXT)
+-@COND_arm_uboot_TRUE@am__append_3057 = 
+-@COND_arm_uboot_TRUE@am__append_3058 = $(nodist_bufio_module_SOURCES)
+-@COND_arm_uboot_TRUE@am__append_3059 = $(nodist_bufio_module_SOURCES) \
++@COND_mips_qemu_mips_TRUE@am__append_3046 = bufio.mod
++@COND_mips_qemu_mips_TRUE@am__append_3047 = bufio.marker
++@COND_arm_uboot_TRUE@am__append_3048 = bufio.module
++@COND_arm_uboot_TRUE@am__append_3049 = bufio.module$(EXEEXT)
++@COND_arm_uboot_TRUE@am__append_3050 = 
++@COND_arm_uboot_TRUE@am__append_3051 = $(nodist_bufio_module_SOURCES)
++@COND_arm_uboot_TRUE@am__append_3052 = $(nodist_bufio_module_SOURCES) \
+ @COND_arm_uboot_TRUE@ bufio.marker
+-@COND_arm_uboot_TRUE@am__append_3060 = bufio.mod
+-@COND_arm_uboot_TRUE@am__append_3061 = bufio.marker
+-@COND_arm_efi_TRUE@am__append_3062 = bufio.module
+-@COND_arm_efi_TRUE@am__append_3063 = bufio.module$(EXEEXT)
+-@COND_arm_efi_TRUE@am__append_3064 = 
+-@COND_arm_efi_TRUE@am__append_3065 = $(nodist_bufio_module_SOURCES)
+-@COND_arm_efi_TRUE@am__append_3066 = $(nodist_bufio_module_SOURCES) \
++@COND_arm_uboot_TRUE@am__append_3053 = bufio.mod
++@COND_arm_uboot_TRUE@am__append_3054 = bufio.marker
++@COND_arm_efi_TRUE@am__append_3055 = bufio.module
++@COND_arm_efi_TRUE@am__append_3056 = bufio.module$(EXEEXT)
++@COND_arm_efi_TRUE@am__append_3057 = 
++@COND_arm_efi_TRUE@am__append_3058 = $(nodist_bufio_module_SOURCES)
++@COND_arm_efi_TRUE@am__append_3059 = $(nodist_bufio_module_SOURCES) \
+ @COND_arm_efi_TRUE@   bufio.marker
+-@COND_arm_efi_TRUE@am__append_3067 = bufio.mod
+-@COND_arm_efi_TRUE@am__append_3068 = bufio.marker
+-@COND_arm64_efi_TRUE@am__append_3069 = bufio.module
+-@COND_arm64_efi_TRUE@am__append_3070 = bufio.module$(EXEEXT)
+-@COND_arm64_efi_TRUE@am__append_3071 = 
+-@COND_arm64_efi_TRUE@am__append_3072 = $(nodist_bufio_module_SOURCES)
+-@COND_arm64_efi_TRUE@am__append_3073 = $(nodist_bufio_module_SOURCES) \
++@COND_arm_efi_TRUE@am__append_3060 = bufio.mod
++@COND_arm_efi_TRUE@am__append_3061 = bufio.marker
++@COND_arm64_efi_TRUE@am__append_3062 = bufio.module
++@COND_arm64_efi_TRUE@am__append_3063 = bufio.module$(EXEEXT)
++@COND_arm64_efi_TRUE@am__append_3064 = 
++@COND_arm64_efi_TRUE@am__append_3065 = $(nodist_bufio_module_SOURCES)
++@COND_arm64_efi_TRUE@am__append_3066 = $(nodist_bufio_module_SOURCES) \
+ @COND_arm64_efi_TRUE@ bufio.marker
+-@COND_arm64_efi_TRUE@am__append_3074 = bufio.mod
+-@COND_arm64_efi_TRUE@am__append_3075 = bufio.marker
+-@COND_riscv32_efi_TRUE@am__append_3076 = bufio.module
+-@COND_riscv32_efi_TRUE@am__append_3077 = bufio.module$(EXEEXT)
+-@COND_riscv32_efi_TRUE@am__append_3078 = 
+-@COND_riscv32_efi_TRUE@am__append_3079 = $(nodist_bufio_module_SOURCES)
+-@COND_riscv32_efi_TRUE@am__append_3080 =  \
++@COND_arm64_efi_TRUE@am__append_3067 = bufio.mod
++@COND_arm64_efi_TRUE@am__append_3068 = bufio.marker
++@COND_riscv32_efi_TRUE@am__append_3069 = bufio.module
++@COND_riscv32_efi_TRUE@am__append_3070 = bufio.module$(EXEEXT)
++@COND_riscv32_efi_TRUE@am__append_3071 = 
++@COND_riscv32_efi_TRUE@am__append_3072 = $(nodist_bufio_module_SOURCES)
++@COND_riscv32_efi_TRUE@am__append_3073 =  \
+ @COND_riscv32_efi_TRUE@       $(nodist_bufio_module_SOURCES) \
+ @COND_riscv32_efi_TRUE@       bufio.marker
+-@COND_riscv32_efi_TRUE@am__append_3081 = bufio.mod
+-@COND_riscv32_efi_TRUE@am__append_3082 = bufio.marker
+-@COND_riscv64_efi_TRUE@am__append_3083 = bufio.module
+-@COND_riscv64_efi_TRUE@am__append_3084 = bufio.module$(EXEEXT)
+-@COND_riscv64_efi_TRUE@am__append_3085 = 
+-@COND_riscv64_efi_TRUE@am__append_3086 = $(nodist_bufio_module_SOURCES)
+-@COND_riscv64_efi_TRUE@am__append_3087 =  \
++@COND_riscv32_efi_TRUE@am__append_3074 = bufio.mod
++@COND_riscv32_efi_TRUE@am__append_3075 = bufio.marker
++@COND_riscv64_efi_TRUE@am__append_3076 = bufio.module
++@COND_riscv64_efi_TRUE@am__append_3077 = bufio.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__append_3078 = 
++@COND_riscv64_efi_TRUE@am__append_3079 = $(nodist_bufio_module_SOURCES)
++@COND_riscv64_efi_TRUE@am__append_3080 =  \
+ @COND_riscv64_efi_TRUE@       $(nodist_bufio_module_SOURCES) \
+ @COND_riscv64_efi_TRUE@       bufio.marker
+-@COND_riscv64_efi_TRUE@am__append_3088 = bufio.mod
+-@COND_riscv64_efi_TRUE@am__append_3089 = bufio.marker
+-@COND_i386_pc_TRUE@am__append_3090 = relocator.module
+-@COND_i386_pc_TRUE@am__append_3091 = relocator.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__append_3081 = bufio.mod
++@COND_riscv64_efi_TRUE@am__append_3082 = bufio.marker
++@COND_i386_pc_TRUE@am__append_3083 = relocator.module
++@COND_i386_pc_TRUE@am__append_3084 = relocator.module$(EXEEXT)
+ @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_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_FALSE@relocator_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_3092 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S 
+-@COND_i386_pc_TRUE@am__append_3093 = $(nodist_relocator_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_3094 =  \
++@COND_i386_pc_TRUE@am__append_3085 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S 
++@COND_i386_pc_TRUE@am__append_3086 = $(nodist_relocator_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_3087 =  \
+ @COND_i386_pc_TRUE@   $(nodist_relocator_module_SOURCES) \
+ @COND_i386_pc_TRUE@   relocator.marker
+-@COND_i386_pc_TRUE@am__append_3095 = relocator.mod
+-@COND_i386_pc_TRUE@am__append_3096 = relocator.marker
+-@COND_i386_efi_TRUE@am__append_3097 = relocator.module
+-@COND_i386_efi_TRUE@am__append_3098 = relocator.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_3099 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S 
+-@COND_i386_efi_TRUE@am__append_3100 = $(nodist_relocator_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_3101 =  \
++@COND_i386_pc_TRUE@am__append_3088 = relocator.mod
++@COND_i386_pc_TRUE@am__append_3089 = relocator.marker
++@COND_i386_efi_TRUE@am__append_3090 = relocator.module
++@COND_i386_efi_TRUE@am__append_3091 = relocator.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_3092 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S 
++@COND_i386_efi_TRUE@am__append_3093 = $(nodist_relocator_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_3094 =  \
+ @COND_i386_efi_TRUE@  $(nodist_relocator_module_SOURCES) \
+ @COND_i386_efi_TRUE@  relocator.marker
+-@COND_i386_efi_TRUE@am__append_3102 = relocator.mod
+-@COND_i386_efi_TRUE@am__append_3103 = relocator.marker
+-@COND_i386_qemu_TRUE@am__append_3104 = relocator.module
+-@COND_i386_qemu_TRUE@am__append_3105 = relocator.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_3106 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S 
+-@COND_i386_qemu_TRUE@am__append_3107 = $(nodist_relocator_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_3108 =  \
++@COND_i386_efi_TRUE@am__append_3095 = relocator.mod
++@COND_i386_efi_TRUE@am__append_3096 = relocator.marker
++@COND_i386_qemu_TRUE@am__append_3097 = relocator.module
++@COND_i386_qemu_TRUE@am__append_3098 = relocator.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_3099 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S 
++@COND_i386_qemu_TRUE@am__append_3100 = $(nodist_relocator_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_3101 =  \
+ @COND_i386_qemu_TRUE@ $(nodist_relocator_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ relocator.marker
+-@COND_i386_qemu_TRUE@am__append_3109 = relocator.mod
+-@COND_i386_qemu_TRUE@am__append_3110 = relocator.marker
+-@COND_i386_coreboot_TRUE@am__append_3111 = relocator.module
+-@COND_i386_coreboot_TRUE@am__append_3112 = relocator.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_3113 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S 
+-@COND_i386_coreboot_TRUE@am__append_3114 = $(nodist_relocator_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_3115 =  \
++@COND_i386_qemu_TRUE@am__append_3102 = relocator.mod
++@COND_i386_qemu_TRUE@am__append_3103 = relocator.marker
++@COND_i386_coreboot_TRUE@am__append_3104 = relocator.module
++@COND_i386_coreboot_TRUE@am__append_3105 = relocator.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_3106 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S 
++@COND_i386_coreboot_TRUE@am__append_3107 = $(nodist_relocator_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_3108 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_relocator_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     relocator.marker
+-@COND_i386_coreboot_TRUE@am__append_3116 = relocator.mod
+-@COND_i386_coreboot_TRUE@am__append_3117 = relocator.marker
+-@COND_i386_multiboot_TRUE@am__append_3118 = relocator.module
+-@COND_i386_multiboot_TRUE@am__append_3119 = relocator.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_3120 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S 
+-@COND_i386_multiboot_TRUE@am__append_3121 = $(nodist_relocator_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_3122 =  \
++@COND_i386_coreboot_TRUE@am__append_3109 = relocator.mod
++@COND_i386_coreboot_TRUE@am__append_3110 = relocator.marker
++@COND_i386_multiboot_TRUE@am__append_3111 = relocator.module
++@COND_i386_multiboot_TRUE@am__append_3112 = relocator.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_3113 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S 
++@COND_i386_multiboot_TRUE@am__append_3114 = $(nodist_relocator_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_3115 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_relocator_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    relocator.marker
+-@COND_i386_multiboot_TRUE@am__append_3123 = relocator.mod
+-@COND_i386_multiboot_TRUE@am__append_3124 = relocator.marker
+-@COND_i386_ieee1275_TRUE@am__append_3125 = relocator.module
+-@COND_i386_ieee1275_TRUE@am__append_3126 = relocator.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_3127 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S 
+-@COND_i386_ieee1275_TRUE@am__append_3128 = $(nodist_relocator_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_3129 =  \
++@COND_i386_multiboot_TRUE@am__append_3116 = relocator.mod
++@COND_i386_multiboot_TRUE@am__append_3117 = relocator.marker
++@COND_i386_ieee1275_TRUE@am__append_3118 = relocator.module
++@COND_i386_ieee1275_TRUE@am__append_3119 = relocator.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_3120 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S 
++@COND_i386_ieee1275_TRUE@am__append_3121 = $(nodist_relocator_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_3122 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_relocator_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     relocator.marker
+-@COND_i386_ieee1275_TRUE@am__append_3130 = relocator.mod
+-@COND_i386_ieee1275_TRUE@am__append_3131 = relocator.marker
+-@COND_x86_64_efi_TRUE@am__append_3132 = relocator.module
+-@COND_x86_64_efi_TRUE@am__append_3133 = relocator.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_3134 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S 
+-@COND_x86_64_efi_TRUE@am__append_3135 = $(nodist_relocator_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_3136 =  \
++@COND_i386_ieee1275_TRUE@am__append_3123 = relocator.mod
++@COND_i386_ieee1275_TRUE@am__append_3124 = relocator.marker
++@COND_x86_64_efi_TRUE@am__append_3125 = relocator.module
++@COND_x86_64_efi_TRUE@am__append_3126 = relocator.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_3127 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S 
++@COND_x86_64_efi_TRUE@am__append_3128 = $(nodist_relocator_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_3129 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_relocator_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        relocator.marker
+-@COND_x86_64_efi_TRUE@am__append_3137 = relocator.mod
+-@COND_x86_64_efi_TRUE@am__append_3138 = relocator.marker
+-@COND_i386_xen_TRUE@am__append_3139 = relocator.module
+-@COND_i386_xen_TRUE@am__append_3140 = relocator.module$(EXEEXT)
+-@COND_i386_xen_TRUE@am__append_3141 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S 
+-@COND_i386_xen_TRUE@am__append_3142 = $(nodist_relocator_module_SOURCES)
+-@COND_i386_xen_TRUE@am__append_3143 =  \
++@COND_x86_64_efi_TRUE@am__append_3130 = relocator.mod
++@COND_x86_64_efi_TRUE@am__append_3131 = relocator.marker
++@COND_i386_xen_TRUE@am__append_3132 = relocator.module
++@COND_i386_xen_TRUE@am__append_3133 = relocator.module$(EXEEXT)
++@COND_i386_xen_TRUE@am__append_3134 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S 
++@COND_i386_xen_TRUE@am__append_3135 = $(nodist_relocator_module_SOURCES)
++@COND_i386_xen_TRUE@am__append_3136 =  \
+ @COND_i386_xen_TRUE@  $(nodist_relocator_module_SOURCES) \
+ @COND_i386_xen_TRUE@  relocator.marker
+-@COND_i386_xen_TRUE@am__append_3144 = relocator.mod
+-@COND_i386_xen_TRUE@am__append_3145 = relocator.marker
+-@COND_x86_64_xen_TRUE@am__append_3146 = relocator.module
+-@COND_x86_64_xen_TRUE@am__append_3147 = relocator.module$(EXEEXT)
+-@COND_x86_64_xen_TRUE@am__append_3148 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S 
+-@COND_x86_64_xen_TRUE@am__append_3149 = $(nodist_relocator_module_SOURCES)
+-@COND_x86_64_xen_TRUE@am__append_3150 =  \
++@COND_i386_xen_TRUE@am__append_3137 = relocator.mod
++@COND_i386_xen_TRUE@am__append_3138 = relocator.marker
++@COND_x86_64_xen_TRUE@am__append_3139 = relocator.module
++@COND_x86_64_xen_TRUE@am__append_3140 = relocator.module$(EXEEXT)
++@COND_x86_64_xen_TRUE@am__append_3141 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S 
++@COND_x86_64_xen_TRUE@am__append_3142 = $(nodist_relocator_module_SOURCES)
++@COND_x86_64_xen_TRUE@am__append_3143 =  \
+ @COND_x86_64_xen_TRUE@        $(nodist_relocator_module_SOURCES) \
+ @COND_x86_64_xen_TRUE@        relocator.marker
+-@COND_x86_64_xen_TRUE@am__append_3151 = relocator.mod
+-@COND_x86_64_xen_TRUE@am__append_3152 = relocator.marker
+-@COND_i386_xen_pvh_TRUE@am__append_3153 = relocator.module
+-@COND_i386_xen_pvh_TRUE@am__append_3154 = relocator.module$(EXEEXT)
+-@COND_i386_xen_pvh_TRUE@am__append_3155 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S 
+-@COND_i386_xen_pvh_TRUE@am__append_3156 = $(nodist_relocator_module_SOURCES)
+-@COND_i386_xen_pvh_TRUE@am__append_3157 =  \
++@COND_x86_64_xen_TRUE@am__append_3144 = relocator.mod
++@COND_x86_64_xen_TRUE@am__append_3145 = relocator.marker
++@COND_i386_xen_pvh_TRUE@am__append_3146 = relocator.module
++@COND_i386_xen_pvh_TRUE@am__append_3147 = relocator.module$(EXEEXT)
++@COND_i386_xen_pvh_TRUE@am__append_3148 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S 
++@COND_i386_xen_pvh_TRUE@am__append_3149 = $(nodist_relocator_module_SOURCES)
++@COND_i386_xen_pvh_TRUE@am__append_3150 =  \
+ @COND_i386_xen_pvh_TRUE@      $(nodist_relocator_module_SOURCES) \
+ @COND_i386_xen_pvh_TRUE@      relocator.marker
+-@COND_i386_xen_pvh_TRUE@am__append_3158 = relocator.mod
+-@COND_i386_xen_pvh_TRUE@am__append_3159 = relocator.marker
+-@COND_mips_loongson_TRUE@am__append_3160 = relocator.module
+-@COND_mips_loongson_TRUE@am__append_3161 = relocator.module$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__append_3162 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S 
+-@COND_mips_loongson_TRUE@am__append_3163 = $(nodist_relocator_module_SOURCES)
+-@COND_mips_loongson_TRUE@am__append_3164 =  \
++@COND_i386_xen_pvh_TRUE@am__append_3151 = relocator.mod
++@COND_i386_xen_pvh_TRUE@am__append_3152 = relocator.marker
++@COND_mips_loongson_TRUE@am__append_3153 = relocator.module
++@COND_mips_loongson_TRUE@am__append_3154 = relocator.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__append_3155 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S 
++@COND_mips_loongson_TRUE@am__append_3156 = $(nodist_relocator_module_SOURCES)
++@COND_mips_loongson_TRUE@am__append_3157 =  \
+ @COND_mips_loongson_TRUE@     $(nodist_relocator_module_SOURCES) \
+ @COND_mips_loongson_TRUE@     relocator.marker
+-@COND_mips_loongson_TRUE@am__append_3165 = relocator.mod
+-@COND_mips_loongson_TRUE@am__append_3166 = relocator.marker
+-@COND_powerpc_ieee1275_TRUE@am__append_3167 = relocator.module
+-@COND_powerpc_ieee1275_TRUE@am__append_3168 = relocator.module$(EXEEXT)
+-@COND_powerpc_ieee1275_TRUE@am__append_3169 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S 
+-@COND_powerpc_ieee1275_TRUE@am__append_3170 = $(nodist_relocator_module_SOURCES)
+-@COND_powerpc_ieee1275_TRUE@am__append_3171 = $(nodist_relocator_module_SOURCES) \
++@COND_mips_loongson_TRUE@am__append_3158 = relocator.mod
++@COND_mips_loongson_TRUE@am__append_3159 = relocator.marker
++@COND_powerpc_ieee1275_TRUE@am__append_3160 = relocator.module
++@COND_powerpc_ieee1275_TRUE@am__append_3161 = relocator.module$(EXEEXT)
++@COND_powerpc_ieee1275_TRUE@am__append_3162 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S 
++@COND_powerpc_ieee1275_TRUE@am__append_3163 = $(nodist_relocator_module_SOURCES)
++@COND_powerpc_ieee1275_TRUE@am__append_3164 = $(nodist_relocator_module_SOURCES) \
+ @COND_powerpc_ieee1275_TRUE@  relocator.marker
+-@COND_powerpc_ieee1275_TRUE@am__append_3172 = relocator.mod
+-@COND_powerpc_ieee1275_TRUE@am__append_3173 = relocator.marker
+-@COND_mips_arc_TRUE@am__append_3174 = relocator.module
+-@COND_mips_arc_TRUE@am__append_3175 = relocator.module$(EXEEXT)
+-@COND_mips_arc_TRUE@am__append_3176 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S 
+-@COND_mips_arc_TRUE@am__append_3177 = $(nodist_relocator_module_SOURCES)
+-@COND_mips_arc_TRUE@am__append_3178 =  \
++@COND_powerpc_ieee1275_TRUE@am__append_3165 = relocator.mod
++@COND_powerpc_ieee1275_TRUE@am__append_3166 = relocator.marker
++@COND_mips_arc_TRUE@am__append_3167 = relocator.module
++@COND_mips_arc_TRUE@am__append_3168 = relocator.module$(EXEEXT)
++@COND_mips_arc_TRUE@am__append_3169 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S 
++@COND_mips_arc_TRUE@am__append_3170 = $(nodist_relocator_module_SOURCES)
++@COND_mips_arc_TRUE@am__append_3171 =  \
+ @COND_mips_arc_TRUE@  $(nodist_relocator_module_SOURCES) \
+ @COND_mips_arc_TRUE@  relocator.marker
+-@COND_mips_arc_TRUE@am__append_3179 = relocator.mod
+-@COND_mips_arc_TRUE@am__append_3180 = relocator.marker
+-@COND_mips_qemu_mips_TRUE@am__append_3181 = relocator.module
+-@COND_mips_qemu_mips_TRUE@am__append_3182 = relocator.module$(EXEEXT)
+-@COND_mips_qemu_mips_TRUE@am__append_3183 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S 
+-@COND_mips_qemu_mips_TRUE@am__append_3184 = $(nodist_relocator_module_SOURCES)
+-@COND_mips_qemu_mips_TRUE@am__append_3185 =  \
++@COND_mips_arc_TRUE@am__append_3172 = relocator.mod
++@COND_mips_arc_TRUE@am__append_3173 = relocator.marker
++@COND_mips_qemu_mips_TRUE@am__append_3174 = relocator.module
++@COND_mips_qemu_mips_TRUE@am__append_3175 = relocator.module$(EXEEXT)
++@COND_mips_qemu_mips_TRUE@am__append_3176 = lib/i386/relocator_common.S kern/powerpc/cache_flush.S 
++@COND_mips_qemu_mips_TRUE@am__append_3177 = $(nodist_relocator_module_SOURCES)
++@COND_mips_qemu_mips_TRUE@am__append_3178 =  \
+ @COND_mips_qemu_mips_TRUE@    $(nodist_relocator_module_SOURCES) \
+ @COND_mips_qemu_mips_TRUE@    relocator.marker
+-@COND_mips_qemu_mips_TRUE@am__append_3186 = relocator.mod
+-@COND_mips_qemu_mips_TRUE@am__append_3187 = relocator.marker
+-@COND_i386_pc_TRUE@am__append_3188 = datetime.module
+-@COND_i386_pc_TRUE@am__append_3189 = datetime.module$(EXEEXT)
++@COND_mips_qemu_mips_TRUE@am__append_3179 = relocator.mod
++@COND_mips_qemu_mips_TRUE@am__append_3180 = relocator.marker
++@COND_i386_pc_TRUE@am__append_3181 = datetime.module
++@COND_i386_pc_TRUE@am__append_3182 = datetime.module$(EXEEXT)
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_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_FALSE@@COND_x86_64_xen_FALSE@datetime_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_3190 = 
+-@COND_i386_pc_TRUE@am__append_3191 = $(nodist_datetime_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_3192 =  \
++@COND_i386_pc_TRUE@am__append_3183 = 
++@COND_i386_pc_TRUE@am__append_3184 = $(nodist_datetime_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_3185 =  \
+ @COND_i386_pc_TRUE@   $(nodist_datetime_module_SOURCES) \
+ @COND_i386_pc_TRUE@   datetime.marker
+-@COND_i386_pc_TRUE@am__append_3193 = datetime.mod
+-@COND_i386_pc_TRUE@am__append_3194 = datetime.marker
+-@COND_i386_efi_TRUE@am__append_3195 = datetime.module
+-@COND_i386_efi_TRUE@am__append_3196 = datetime.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_3197 = 
+-@COND_i386_efi_TRUE@am__append_3198 = $(nodist_datetime_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_3199 =  \
++@COND_i386_pc_TRUE@am__append_3186 = datetime.mod
++@COND_i386_pc_TRUE@am__append_3187 = datetime.marker
++@COND_i386_efi_TRUE@am__append_3188 = datetime.module
++@COND_i386_efi_TRUE@am__append_3189 = datetime.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_3190 = 
++@COND_i386_efi_TRUE@am__append_3191 = $(nodist_datetime_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_3192 =  \
+ @COND_i386_efi_TRUE@  $(nodist_datetime_module_SOURCES) \
+ @COND_i386_efi_TRUE@  datetime.marker
+-@COND_i386_efi_TRUE@am__append_3200 = datetime.mod
+-@COND_i386_efi_TRUE@am__append_3201 = datetime.marker
+-@COND_i386_qemu_TRUE@am__append_3202 = datetime.module
+-@COND_i386_qemu_TRUE@am__append_3203 = datetime.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_3204 = 
+-@COND_i386_qemu_TRUE@am__append_3205 = $(nodist_datetime_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_3206 =  \
++@COND_i386_efi_TRUE@am__append_3193 = datetime.mod
++@COND_i386_efi_TRUE@am__append_3194 = datetime.marker
++@COND_i386_qemu_TRUE@am__append_3195 = datetime.module
++@COND_i386_qemu_TRUE@am__append_3196 = datetime.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_3197 = 
++@COND_i386_qemu_TRUE@am__append_3198 = $(nodist_datetime_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_3199 =  \
+ @COND_i386_qemu_TRUE@ $(nodist_datetime_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ datetime.marker
+-@COND_i386_qemu_TRUE@am__append_3207 = datetime.mod
+-@COND_i386_qemu_TRUE@am__append_3208 = datetime.marker
+-@COND_i386_coreboot_TRUE@am__append_3209 = datetime.module
+-@COND_i386_coreboot_TRUE@am__append_3210 = datetime.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_3211 = 
+-@COND_i386_coreboot_TRUE@am__append_3212 = $(nodist_datetime_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_3213 =  \
++@COND_i386_qemu_TRUE@am__append_3200 = datetime.mod
++@COND_i386_qemu_TRUE@am__append_3201 = datetime.marker
++@COND_i386_coreboot_TRUE@am__append_3202 = datetime.module
++@COND_i386_coreboot_TRUE@am__append_3203 = datetime.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_3204 = 
++@COND_i386_coreboot_TRUE@am__append_3205 = $(nodist_datetime_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_3206 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_datetime_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     datetime.marker
+-@COND_i386_coreboot_TRUE@am__append_3214 = datetime.mod
+-@COND_i386_coreboot_TRUE@am__append_3215 = datetime.marker
+-@COND_i386_multiboot_TRUE@am__append_3216 = datetime.module
+-@COND_i386_multiboot_TRUE@am__append_3217 = datetime.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_3218 = 
+-@COND_i386_multiboot_TRUE@am__append_3219 = $(nodist_datetime_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_3220 =  \
++@COND_i386_coreboot_TRUE@am__append_3207 = datetime.mod
++@COND_i386_coreboot_TRUE@am__append_3208 = datetime.marker
++@COND_i386_multiboot_TRUE@am__append_3209 = datetime.module
++@COND_i386_multiboot_TRUE@am__append_3210 = datetime.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_3211 = 
++@COND_i386_multiboot_TRUE@am__append_3212 = $(nodist_datetime_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_3213 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_datetime_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    datetime.marker
+-@COND_i386_multiboot_TRUE@am__append_3221 = datetime.mod
+-@COND_i386_multiboot_TRUE@am__append_3222 = datetime.marker
+-@COND_i386_ieee1275_TRUE@am__append_3223 = datetime.module
+-@COND_i386_ieee1275_TRUE@am__append_3224 = datetime.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_3225 = 
+-@COND_i386_ieee1275_TRUE@am__append_3226 = $(nodist_datetime_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_3227 =  \
++@COND_i386_multiboot_TRUE@am__append_3214 = datetime.mod
++@COND_i386_multiboot_TRUE@am__append_3215 = datetime.marker
++@COND_i386_ieee1275_TRUE@am__append_3216 = datetime.module
++@COND_i386_ieee1275_TRUE@am__append_3217 = datetime.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_3218 = 
++@COND_i386_ieee1275_TRUE@am__append_3219 = $(nodist_datetime_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_3220 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_datetime_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     datetime.marker
+-@COND_i386_ieee1275_TRUE@am__append_3228 = datetime.mod
+-@COND_i386_ieee1275_TRUE@am__append_3229 = datetime.marker
+-@COND_x86_64_efi_TRUE@am__append_3230 = datetime.module
+-@COND_x86_64_efi_TRUE@am__append_3231 = datetime.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_3232 = 
+-@COND_x86_64_efi_TRUE@am__append_3233 = $(nodist_datetime_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_3234 =  \
++@COND_i386_ieee1275_TRUE@am__append_3221 = datetime.mod
++@COND_i386_ieee1275_TRUE@am__append_3222 = datetime.marker
++@COND_x86_64_efi_TRUE@am__append_3223 = datetime.module
++@COND_x86_64_efi_TRUE@am__append_3224 = datetime.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_3225 = 
++@COND_x86_64_efi_TRUE@am__append_3226 = $(nodist_datetime_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_3227 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_datetime_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        datetime.marker
+-@COND_x86_64_efi_TRUE@am__append_3235 = datetime.mod
+-@COND_x86_64_efi_TRUE@am__append_3236 = datetime.marker
+-@COND_i386_xen_TRUE@am__append_3237 = datetime.module
+-@COND_i386_xen_TRUE@am__append_3238 = datetime.module$(EXEEXT)
+-@COND_i386_xen_TRUE@am__append_3239 = 
+-@COND_i386_xen_TRUE@am__append_3240 = $(nodist_datetime_module_SOURCES)
+-@COND_i386_xen_TRUE@am__append_3241 =  \
++@COND_x86_64_efi_TRUE@am__append_3228 = datetime.mod
++@COND_x86_64_efi_TRUE@am__append_3229 = datetime.marker
++@COND_i386_xen_TRUE@am__append_3230 = datetime.module
++@COND_i386_xen_TRUE@am__append_3231 = datetime.module$(EXEEXT)
++@COND_i386_xen_TRUE@am__append_3232 = 
++@COND_i386_xen_TRUE@am__append_3233 = $(nodist_datetime_module_SOURCES)
++@COND_i386_xen_TRUE@am__append_3234 =  \
+ @COND_i386_xen_TRUE@  $(nodist_datetime_module_SOURCES) \
+ @COND_i386_xen_TRUE@  datetime.marker
+-@COND_i386_xen_TRUE@am__append_3242 = datetime.mod
+-@COND_i386_xen_TRUE@am__append_3243 = datetime.marker
+-@COND_x86_64_xen_TRUE@am__append_3244 = datetime.module
+-@COND_x86_64_xen_TRUE@am__append_3245 = datetime.module$(EXEEXT)
+-@COND_x86_64_xen_TRUE@am__append_3246 = 
+-@COND_x86_64_xen_TRUE@am__append_3247 = $(nodist_datetime_module_SOURCES)
+-@COND_x86_64_xen_TRUE@am__append_3248 =  \
++@COND_i386_xen_TRUE@am__append_3235 = datetime.mod
++@COND_i386_xen_TRUE@am__append_3236 = datetime.marker
++@COND_x86_64_xen_TRUE@am__append_3237 = datetime.module
++@COND_x86_64_xen_TRUE@am__append_3238 = datetime.module$(EXEEXT)
++@COND_x86_64_xen_TRUE@am__append_3239 = 
++@COND_x86_64_xen_TRUE@am__append_3240 = $(nodist_datetime_module_SOURCES)
++@COND_x86_64_xen_TRUE@am__append_3241 =  \
+ @COND_x86_64_xen_TRUE@        $(nodist_datetime_module_SOURCES) \
+ @COND_x86_64_xen_TRUE@        datetime.marker
+-@COND_x86_64_xen_TRUE@am__append_3249 = datetime.mod
+-@COND_x86_64_xen_TRUE@am__append_3250 = datetime.marker
+-@COND_i386_xen_pvh_TRUE@am__append_3251 = datetime.module
+-@COND_i386_xen_pvh_TRUE@am__append_3252 = datetime.module$(EXEEXT)
+-@COND_i386_xen_pvh_TRUE@am__append_3253 = 
+-@COND_i386_xen_pvh_TRUE@am__append_3254 = $(nodist_datetime_module_SOURCES)
+-@COND_i386_xen_pvh_TRUE@am__append_3255 =  \
++@COND_x86_64_xen_TRUE@am__append_3242 = datetime.mod
++@COND_x86_64_xen_TRUE@am__append_3243 = datetime.marker
++@COND_i386_xen_pvh_TRUE@am__append_3244 = datetime.module
++@COND_i386_xen_pvh_TRUE@am__append_3245 = datetime.module$(EXEEXT)
++@COND_i386_xen_pvh_TRUE@am__append_3246 = 
++@COND_i386_xen_pvh_TRUE@am__append_3247 = $(nodist_datetime_module_SOURCES)
++@COND_i386_xen_pvh_TRUE@am__append_3248 =  \
+ @COND_i386_xen_pvh_TRUE@      $(nodist_datetime_module_SOURCES) \
+ @COND_i386_xen_pvh_TRUE@      datetime.marker
+-@COND_i386_xen_pvh_TRUE@am__append_3256 = datetime.mod
+-@COND_i386_xen_pvh_TRUE@am__append_3257 = datetime.marker
+-@COND_mips_loongson_TRUE@am__append_3258 = datetime.module
+-@COND_mips_loongson_TRUE@am__append_3259 = datetime.module$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__append_3260 = 
+-@COND_mips_loongson_TRUE@am__append_3261 = $(nodist_datetime_module_SOURCES)
+-@COND_mips_loongson_TRUE@am__append_3262 =  \
++@COND_i386_xen_pvh_TRUE@am__append_3249 = datetime.mod
++@COND_i386_xen_pvh_TRUE@am__append_3250 = datetime.marker
++@COND_mips_loongson_TRUE@am__append_3251 = datetime.module
++@COND_mips_loongson_TRUE@am__append_3252 = datetime.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__append_3253 = 
++@COND_mips_loongson_TRUE@am__append_3254 = $(nodist_datetime_module_SOURCES)
++@COND_mips_loongson_TRUE@am__append_3255 =  \
+ @COND_mips_loongson_TRUE@     $(nodist_datetime_module_SOURCES) \
+ @COND_mips_loongson_TRUE@     datetime.marker
+-@COND_mips_loongson_TRUE@am__append_3263 = datetime.mod
+-@COND_mips_loongson_TRUE@am__append_3264 = datetime.marker
+-@COND_sparc64_ieee1275_TRUE@am__append_3265 = datetime.module
+-@COND_sparc64_ieee1275_TRUE@am__append_3266 = datetime.module$(EXEEXT)
+-@COND_sparc64_ieee1275_TRUE@am__append_3267 = 
+-@COND_sparc64_ieee1275_TRUE@am__append_3268 = $(nodist_datetime_module_SOURCES)
+-@COND_sparc64_ieee1275_TRUE@am__append_3269 =  \
++@COND_mips_loongson_TRUE@am__append_3256 = datetime.mod
++@COND_mips_loongson_TRUE@am__append_3257 = datetime.marker
++@COND_sparc64_ieee1275_TRUE@am__append_3258 = datetime.module
++@COND_sparc64_ieee1275_TRUE@am__append_3259 = datetime.module$(EXEEXT)
++@COND_sparc64_ieee1275_TRUE@am__append_3260 = 
++@COND_sparc64_ieee1275_TRUE@am__append_3261 = $(nodist_datetime_module_SOURCES)
++@COND_sparc64_ieee1275_TRUE@am__append_3262 =  \
+ @COND_sparc64_ieee1275_TRUE@  $(nodist_datetime_module_SOURCES) \
+ @COND_sparc64_ieee1275_TRUE@  datetime.marker
+-@COND_sparc64_ieee1275_TRUE@am__append_3270 = datetime.mod
+-@COND_sparc64_ieee1275_TRUE@am__append_3271 = datetime.marker
+-@COND_powerpc_ieee1275_TRUE@am__append_3272 = datetime.module
+-@COND_powerpc_ieee1275_TRUE@am__append_3273 = datetime.module$(EXEEXT)
+-@COND_powerpc_ieee1275_TRUE@am__append_3274 = 
+-@COND_powerpc_ieee1275_TRUE@am__append_3275 = $(nodist_datetime_module_SOURCES)
+-@COND_powerpc_ieee1275_TRUE@am__append_3276 =  \
++@COND_sparc64_ieee1275_TRUE@am__append_3263 = datetime.mod
++@COND_sparc64_ieee1275_TRUE@am__append_3264 = datetime.marker
++@COND_powerpc_ieee1275_TRUE@am__append_3265 = datetime.module
++@COND_powerpc_ieee1275_TRUE@am__append_3266 = datetime.module$(EXEEXT)
++@COND_powerpc_ieee1275_TRUE@am__append_3267 = 
++@COND_powerpc_ieee1275_TRUE@am__append_3268 = $(nodist_datetime_module_SOURCES)
++@COND_powerpc_ieee1275_TRUE@am__append_3269 =  \
+ @COND_powerpc_ieee1275_TRUE@  $(nodist_datetime_module_SOURCES) \
+ @COND_powerpc_ieee1275_TRUE@  datetime.marker
+-@COND_powerpc_ieee1275_TRUE@am__append_3277 = datetime.mod
+-@COND_powerpc_ieee1275_TRUE@am__append_3278 = datetime.marker
+-@COND_mips_arc_TRUE@am__append_3279 = datetime.module
+-@COND_mips_arc_TRUE@am__append_3280 = datetime.module$(EXEEXT)
+-@COND_mips_arc_TRUE@am__append_3281 = 
+-@COND_mips_arc_TRUE@am__append_3282 = $(nodist_datetime_module_SOURCES)
+-@COND_mips_arc_TRUE@am__append_3283 =  \
++@COND_powerpc_ieee1275_TRUE@am__append_3270 = datetime.mod
++@COND_powerpc_ieee1275_TRUE@am__append_3271 = datetime.marker
++@COND_mips_arc_TRUE@am__append_3272 = datetime.module
++@COND_mips_arc_TRUE@am__append_3273 = datetime.module$(EXEEXT)
++@COND_mips_arc_TRUE@am__append_3274 = 
++@COND_mips_arc_TRUE@am__append_3275 = $(nodist_datetime_module_SOURCES)
++@COND_mips_arc_TRUE@am__append_3276 =  \
+ @COND_mips_arc_TRUE@  $(nodist_datetime_module_SOURCES) \
+ @COND_mips_arc_TRUE@  datetime.marker
+-@COND_mips_arc_TRUE@am__append_3284 = datetime.mod
+-@COND_mips_arc_TRUE@am__append_3285 = datetime.marker
+-@COND_ia64_efi_TRUE@am__append_3286 = datetime.module
+-@COND_ia64_efi_TRUE@am__append_3287 = datetime.module$(EXEEXT)
+-@COND_ia64_efi_TRUE@am__append_3288 = 
+-@COND_ia64_efi_TRUE@am__append_3289 = $(nodist_datetime_module_SOURCES)
+-@COND_ia64_efi_TRUE@am__append_3290 =  \
++@COND_mips_arc_TRUE@am__append_3277 = datetime.mod
++@COND_mips_arc_TRUE@am__append_3278 = datetime.marker
++@COND_ia64_efi_TRUE@am__append_3279 = datetime.module
++@COND_ia64_efi_TRUE@am__append_3280 = datetime.module$(EXEEXT)
++@COND_ia64_efi_TRUE@am__append_3281 = 
++@COND_ia64_efi_TRUE@am__append_3282 = $(nodist_datetime_module_SOURCES)
++@COND_ia64_efi_TRUE@am__append_3283 =  \
+ @COND_ia64_efi_TRUE@  $(nodist_datetime_module_SOURCES) \
+ @COND_ia64_efi_TRUE@  datetime.marker
+-@COND_ia64_efi_TRUE@am__append_3291 = datetime.mod
+-@COND_ia64_efi_TRUE@am__append_3292 = datetime.marker
+-@COND_mips_qemu_mips_TRUE@am__append_3293 = datetime.module
+-@COND_mips_qemu_mips_TRUE@am__append_3294 = datetime.module$(EXEEXT)
+-@COND_mips_qemu_mips_TRUE@am__append_3295 = 
+-@COND_mips_qemu_mips_TRUE@am__append_3296 = $(nodist_datetime_module_SOURCES)
+-@COND_mips_qemu_mips_TRUE@am__append_3297 =  \
++@COND_ia64_efi_TRUE@am__append_3284 = datetime.mod
++@COND_ia64_efi_TRUE@am__append_3285 = datetime.marker
++@COND_mips_qemu_mips_TRUE@am__append_3286 = datetime.module
++@COND_mips_qemu_mips_TRUE@am__append_3287 = datetime.module$(EXEEXT)
++@COND_mips_qemu_mips_TRUE@am__append_3288 = 
++@COND_mips_qemu_mips_TRUE@am__append_3289 = $(nodist_datetime_module_SOURCES)
++@COND_mips_qemu_mips_TRUE@am__append_3290 =  \
+ @COND_mips_qemu_mips_TRUE@    $(nodist_datetime_module_SOURCES) \
+ @COND_mips_qemu_mips_TRUE@    datetime.marker
+-@COND_mips_qemu_mips_TRUE@am__append_3298 = datetime.mod
+-@COND_mips_qemu_mips_TRUE@am__append_3299 = datetime.marker
+-@COND_arm_uboot_TRUE@am__append_3300 = datetime.module
+-@COND_arm_uboot_TRUE@am__append_3301 = datetime.module$(EXEEXT)
+-@COND_arm_uboot_TRUE@am__append_3302 = 
+-@COND_arm_uboot_TRUE@am__append_3303 = $(nodist_datetime_module_SOURCES)
+-@COND_arm_uboot_TRUE@am__append_3304 =  \
++@COND_mips_qemu_mips_TRUE@am__append_3291 = datetime.mod
++@COND_mips_qemu_mips_TRUE@am__append_3292 = datetime.marker
++@COND_arm_uboot_TRUE@am__append_3293 = datetime.module
++@COND_arm_uboot_TRUE@am__append_3294 = datetime.module$(EXEEXT)
++@COND_arm_uboot_TRUE@am__append_3295 = 
++@COND_arm_uboot_TRUE@am__append_3296 = $(nodist_datetime_module_SOURCES)
++@COND_arm_uboot_TRUE@am__append_3297 =  \
+ @COND_arm_uboot_TRUE@ $(nodist_datetime_module_SOURCES) \
+ @COND_arm_uboot_TRUE@ datetime.marker
+-@COND_arm_uboot_TRUE@am__append_3305 = datetime.mod
+-@COND_arm_uboot_TRUE@am__append_3306 = datetime.marker
+-@COND_arm_efi_TRUE@am__append_3307 = datetime.module
+-@COND_arm_efi_TRUE@am__append_3308 = datetime.module$(EXEEXT)
+-@COND_arm_efi_TRUE@am__append_3309 = 
+-@COND_arm_efi_TRUE@am__append_3310 = $(nodist_datetime_module_SOURCES)
+-@COND_arm_efi_TRUE@am__append_3311 =  \
++@COND_arm_uboot_TRUE@am__append_3298 = datetime.mod
++@COND_arm_uboot_TRUE@am__append_3299 = datetime.marker
++@COND_arm_efi_TRUE@am__append_3300 = datetime.module
++@COND_arm_efi_TRUE@am__append_3301 = datetime.module$(EXEEXT)
++@COND_arm_efi_TRUE@am__append_3302 = 
++@COND_arm_efi_TRUE@am__append_3303 = $(nodist_datetime_module_SOURCES)
++@COND_arm_efi_TRUE@am__append_3304 =  \
+ @COND_arm_efi_TRUE@   $(nodist_datetime_module_SOURCES) \
+ @COND_arm_efi_TRUE@   datetime.marker
+-@COND_arm_efi_TRUE@am__append_3312 = datetime.mod
+-@COND_arm_efi_TRUE@am__append_3313 = datetime.marker
+-@COND_arm64_efi_TRUE@am__append_3314 = datetime.module
+-@COND_arm64_efi_TRUE@am__append_3315 = datetime.module$(EXEEXT)
+-@COND_arm64_efi_TRUE@am__append_3316 = 
+-@COND_arm64_efi_TRUE@am__append_3317 = $(nodist_datetime_module_SOURCES)
+-@COND_arm64_efi_TRUE@am__append_3318 =  \
++@COND_arm_efi_TRUE@am__append_3305 = datetime.mod
++@COND_arm_efi_TRUE@am__append_3306 = datetime.marker
++@COND_arm64_efi_TRUE@am__append_3307 = datetime.module
++@COND_arm64_efi_TRUE@am__append_3308 = datetime.module$(EXEEXT)
++@COND_arm64_efi_TRUE@am__append_3309 = 
++@COND_arm64_efi_TRUE@am__append_3310 = $(nodist_datetime_module_SOURCES)
++@COND_arm64_efi_TRUE@am__append_3311 =  \
+ @COND_arm64_efi_TRUE@ $(nodist_datetime_module_SOURCES) \
+ @COND_arm64_efi_TRUE@ datetime.marker
+-@COND_arm64_efi_TRUE@am__append_3319 = datetime.mod
+-@COND_arm64_efi_TRUE@am__append_3320 = datetime.marker
+-@COND_arm_coreboot_TRUE@am__append_3321 = datetime.module
+-@COND_arm_coreboot_TRUE@am__append_3322 = datetime.module$(EXEEXT)
+-@COND_arm_coreboot_TRUE@am__append_3323 = 
+-@COND_arm_coreboot_TRUE@am__append_3324 = $(nodist_datetime_module_SOURCES)
+-@COND_arm_coreboot_TRUE@am__append_3325 =  \
++@COND_arm64_efi_TRUE@am__append_3312 = datetime.mod
++@COND_arm64_efi_TRUE@am__append_3313 = datetime.marker
++@COND_arm_coreboot_TRUE@am__append_3314 = datetime.module
++@COND_arm_coreboot_TRUE@am__append_3315 = datetime.module$(EXEEXT)
++@COND_arm_coreboot_TRUE@am__append_3316 = 
++@COND_arm_coreboot_TRUE@am__append_3317 = $(nodist_datetime_module_SOURCES)
++@COND_arm_coreboot_TRUE@am__append_3318 =  \
+ @COND_arm_coreboot_TRUE@      $(nodist_datetime_module_SOURCES) \
+ @COND_arm_coreboot_TRUE@      datetime.marker
+-@COND_arm_coreboot_TRUE@am__append_3326 = datetime.mod
+-@COND_arm_coreboot_TRUE@am__append_3327 = datetime.marker
+-@COND_riscv32_efi_TRUE@am__append_3328 = datetime.module
+-@COND_riscv32_efi_TRUE@am__append_3329 = datetime.module$(EXEEXT)
+-@COND_riscv32_efi_TRUE@am__append_3330 = 
+-@COND_riscv32_efi_TRUE@am__append_3331 = $(nodist_datetime_module_SOURCES)
+-@COND_riscv32_efi_TRUE@am__append_3332 =  \
++@COND_arm_coreboot_TRUE@am__append_3319 = datetime.mod
++@COND_arm_coreboot_TRUE@am__append_3320 = datetime.marker
++@COND_riscv32_efi_TRUE@am__append_3321 = datetime.module
++@COND_riscv32_efi_TRUE@am__append_3322 = datetime.module$(EXEEXT)
++@COND_riscv32_efi_TRUE@am__append_3323 = 
++@COND_riscv32_efi_TRUE@am__append_3324 = $(nodist_datetime_module_SOURCES)
++@COND_riscv32_efi_TRUE@am__append_3325 =  \
+ @COND_riscv32_efi_TRUE@       $(nodist_datetime_module_SOURCES) \
+ @COND_riscv32_efi_TRUE@       datetime.marker
+-@COND_riscv32_efi_TRUE@am__append_3333 = datetime.mod
+-@COND_riscv32_efi_TRUE@am__append_3334 = datetime.marker
+-@COND_riscv64_efi_TRUE@am__append_3335 = datetime.module
+-@COND_riscv64_efi_TRUE@am__append_3336 = datetime.module$(EXEEXT)
+-@COND_riscv64_efi_TRUE@am__append_3337 = 
+-@COND_riscv64_efi_TRUE@am__append_3338 = $(nodist_datetime_module_SOURCES)
+-@COND_riscv64_efi_TRUE@am__append_3339 =  \
++@COND_riscv32_efi_TRUE@am__append_3326 = datetime.mod
++@COND_riscv32_efi_TRUE@am__append_3327 = datetime.marker
++@COND_riscv64_efi_TRUE@am__append_3328 = datetime.module
++@COND_riscv64_efi_TRUE@am__append_3329 = datetime.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__append_3330 = 
++@COND_riscv64_efi_TRUE@am__append_3331 = $(nodist_datetime_module_SOURCES)
++@COND_riscv64_efi_TRUE@am__append_3332 =  \
+ @COND_riscv64_efi_TRUE@       $(nodist_datetime_module_SOURCES) \
+ @COND_riscv64_efi_TRUE@       datetime.marker
+-@COND_riscv64_efi_TRUE@am__append_3340 = datetime.mod
+-@COND_riscv64_efi_TRUE@am__append_3341 = datetime.marker
+-@COND_i386_pc_TRUE@am__append_3342 = aout.module
+-@COND_i386_pc_TRUE@am__append_3343 = aout.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__append_3333 = datetime.mod
++@COND_riscv64_efi_TRUE@am__append_3334 = datetime.marker
++@COND_i386_pc_TRUE@am__append_3335 = aout.module
++@COND_i386_pc_TRUE@am__append_3336 = aout.module$(EXEEXT)
+ @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_x86_64_efi_FALSE@aout_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_3344 = 
+-@COND_i386_pc_TRUE@am__append_3345 = $(nodist_aout_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_3346 = $(nodist_aout_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_3337 = 
++@COND_i386_pc_TRUE@am__append_3338 = $(nodist_aout_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_3339 = $(nodist_aout_module_SOURCES) \
+ @COND_i386_pc_TRUE@   aout.marker
+-@COND_i386_pc_TRUE@am__append_3347 = aout.mod
+-@COND_i386_pc_TRUE@am__append_3348 = aout.marker
+-@COND_i386_efi_TRUE@am__append_3349 = aout.module
+-@COND_i386_efi_TRUE@am__append_3350 = aout.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_3351 = 
+-@COND_i386_efi_TRUE@am__append_3352 = $(nodist_aout_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_3353 = $(nodist_aout_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_3340 = aout.mod
++@COND_i386_pc_TRUE@am__append_3341 = aout.marker
++@COND_i386_efi_TRUE@am__append_3342 = aout.module
++@COND_i386_efi_TRUE@am__append_3343 = aout.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_3344 = 
++@COND_i386_efi_TRUE@am__append_3345 = $(nodist_aout_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_3346 = $(nodist_aout_module_SOURCES) \
+ @COND_i386_efi_TRUE@  aout.marker
+-@COND_i386_efi_TRUE@am__append_3354 = aout.mod
+-@COND_i386_efi_TRUE@am__append_3355 = aout.marker
+-@COND_i386_qemu_TRUE@am__append_3356 = aout.module
+-@COND_i386_qemu_TRUE@am__append_3357 = aout.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_3358 = 
+-@COND_i386_qemu_TRUE@am__append_3359 = $(nodist_aout_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_3360 = $(nodist_aout_module_SOURCES) \
++@COND_i386_efi_TRUE@am__append_3347 = aout.mod
++@COND_i386_efi_TRUE@am__append_3348 = aout.marker
++@COND_i386_qemu_TRUE@am__append_3349 = aout.module
++@COND_i386_qemu_TRUE@am__append_3350 = aout.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_3351 = 
++@COND_i386_qemu_TRUE@am__append_3352 = $(nodist_aout_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_3353 = $(nodist_aout_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ aout.marker
+-@COND_i386_qemu_TRUE@am__append_3361 = aout.mod
+-@COND_i386_qemu_TRUE@am__append_3362 = aout.marker
+-@COND_i386_coreboot_TRUE@am__append_3363 = aout.module
+-@COND_i386_coreboot_TRUE@am__append_3364 = aout.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_3365 = 
+-@COND_i386_coreboot_TRUE@am__append_3366 = $(nodist_aout_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_3367 =  \
++@COND_i386_qemu_TRUE@am__append_3354 = aout.mod
++@COND_i386_qemu_TRUE@am__append_3355 = aout.marker
++@COND_i386_coreboot_TRUE@am__append_3356 = aout.module
++@COND_i386_coreboot_TRUE@am__append_3357 = aout.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_3358 = 
++@COND_i386_coreboot_TRUE@am__append_3359 = $(nodist_aout_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_3360 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_aout_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     aout.marker
+-@COND_i386_coreboot_TRUE@am__append_3368 = aout.mod
+-@COND_i386_coreboot_TRUE@am__append_3369 = aout.marker
+-@COND_i386_multiboot_TRUE@am__append_3370 = aout.module
+-@COND_i386_multiboot_TRUE@am__append_3371 = aout.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_3372 = 
+-@COND_i386_multiboot_TRUE@am__append_3373 = $(nodist_aout_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_3374 =  \
++@COND_i386_coreboot_TRUE@am__append_3361 = aout.mod
++@COND_i386_coreboot_TRUE@am__append_3362 = aout.marker
++@COND_i386_multiboot_TRUE@am__append_3363 = aout.module
++@COND_i386_multiboot_TRUE@am__append_3364 = aout.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_3365 = 
++@COND_i386_multiboot_TRUE@am__append_3366 = $(nodist_aout_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_3367 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_aout_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    aout.marker
+-@COND_i386_multiboot_TRUE@am__append_3375 = aout.mod
+-@COND_i386_multiboot_TRUE@am__append_3376 = aout.marker
+-@COND_i386_ieee1275_TRUE@am__append_3377 = aout.module
+-@COND_i386_ieee1275_TRUE@am__append_3378 = aout.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_3379 = 
+-@COND_i386_ieee1275_TRUE@am__append_3380 = $(nodist_aout_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_3381 =  \
++@COND_i386_multiboot_TRUE@am__append_3368 = aout.mod
++@COND_i386_multiboot_TRUE@am__append_3369 = aout.marker
++@COND_i386_ieee1275_TRUE@am__append_3370 = aout.module
++@COND_i386_ieee1275_TRUE@am__append_3371 = aout.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_3372 = 
++@COND_i386_ieee1275_TRUE@am__append_3373 = $(nodist_aout_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_3374 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_aout_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     aout.marker
+-@COND_i386_ieee1275_TRUE@am__append_3382 = aout.mod
+-@COND_i386_ieee1275_TRUE@am__append_3383 = aout.marker
+-@COND_x86_64_efi_TRUE@am__append_3384 = aout.module
+-@COND_x86_64_efi_TRUE@am__append_3385 = aout.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_3386 = 
+-@COND_x86_64_efi_TRUE@am__append_3387 = $(nodist_aout_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_3388 = $(nodist_aout_module_SOURCES) \
++@COND_i386_ieee1275_TRUE@am__append_3375 = aout.mod
++@COND_i386_ieee1275_TRUE@am__append_3376 = aout.marker
++@COND_x86_64_efi_TRUE@am__append_3377 = aout.module
++@COND_x86_64_efi_TRUE@am__append_3378 = aout.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_3379 = 
++@COND_x86_64_efi_TRUE@am__append_3380 = $(nodist_aout_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_3381 = $(nodist_aout_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        aout.marker
+-@COND_x86_64_efi_TRUE@am__append_3389 = aout.mod
+-@COND_x86_64_efi_TRUE@am__append_3390 = aout.marker
+-@COND_i386_pc_TRUE@am__append_3391 = bsd.module
+-@COND_i386_pc_TRUE@am__append_3392 = bsd.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_3382 = aout.mod
++@COND_x86_64_efi_TRUE@am__append_3383 = aout.marker
++@COND_i386_pc_TRUE@am__append_3384 = bsd.module
++@COND_i386_pc_TRUE@am__append_3385 = bsd.module$(EXEEXT)
+ @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_x86_64_efi_FALSE@bsd_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_3393 = loader/i386/bsdXX.c loader/i386/bsd_pagetable.c 
+-@COND_i386_pc_TRUE@am__append_3394 = $(nodist_bsd_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_3395 = $(nodist_bsd_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_3386 = loader/i386/bsdXX.c loader/i386/bsd_pagetable.c 
++@COND_i386_pc_TRUE@am__append_3387 = $(nodist_bsd_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_3388 = $(nodist_bsd_module_SOURCES) \
+ @COND_i386_pc_TRUE@   bsd.marker
+-@COND_i386_pc_TRUE@am__append_3396 = bsd.mod
+-@COND_i386_pc_TRUE@am__append_3397 = bsd.marker
+-@COND_i386_efi_TRUE@am__append_3398 = bsd.module
+-@COND_i386_efi_TRUE@am__append_3399 = bsd.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_3400 = loader/i386/bsdXX.c loader/i386/bsd_pagetable.c 
+-@COND_i386_efi_TRUE@am__append_3401 = $(nodist_bsd_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_3402 = $(nodist_bsd_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_3389 = bsd.mod
++@COND_i386_pc_TRUE@am__append_3390 = bsd.marker
++@COND_i386_efi_TRUE@am__append_3391 = bsd.module
++@COND_i386_efi_TRUE@am__append_3392 = bsd.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_3393 = loader/i386/bsdXX.c loader/i386/bsd_pagetable.c 
++@COND_i386_efi_TRUE@am__append_3394 = $(nodist_bsd_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_3395 = $(nodist_bsd_module_SOURCES) \
+ @COND_i386_efi_TRUE@  bsd.marker
+-@COND_i386_efi_TRUE@am__append_3403 = bsd.mod
+-@COND_i386_efi_TRUE@am__append_3404 = bsd.marker
+-@COND_i386_qemu_TRUE@am__append_3405 = bsd.module
+-@COND_i386_qemu_TRUE@am__append_3406 = bsd.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_3407 = loader/i386/bsdXX.c loader/i386/bsd_pagetable.c 
+-@COND_i386_qemu_TRUE@am__append_3408 = $(nodist_bsd_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_3409 = $(nodist_bsd_module_SOURCES) \
++@COND_i386_efi_TRUE@am__append_3396 = bsd.mod
++@COND_i386_efi_TRUE@am__append_3397 = bsd.marker
++@COND_i386_qemu_TRUE@am__append_3398 = bsd.module
++@COND_i386_qemu_TRUE@am__append_3399 = bsd.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_3400 = loader/i386/bsdXX.c loader/i386/bsd_pagetable.c 
++@COND_i386_qemu_TRUE@am__append_3401 = $(nodist_bsd_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_3402 = $(nodist_bsd_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ bsd.marker
+-@COND_i386_qemu_TRUE@am__append_3410 = bsd.mod
+-@COND_i386_qemu_TRUE@am__append_3411 = bsd.marker
+-@COND_i386_coreboot_TRUE@am__append_3412 = bsd.module
+-@COND_i386_coreboot_TRUE@am__append_3413 = bsd.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_3414 = loader/i386/bsdXX.c loader/i386/bsd_pagetable.c 
+-@COND_i386_coreboot_TRUE@am__append_3415 = $(nodist_bsd_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_3416 =  \
++@COND_i386_qemu_TRUE@am__append_3403 = bsd.mod
++@COND_i386_qemu_TRUE@am__append_3404 = bsd.marker
++@COND_i386_coreboot_TRUE@am__append_3405 = bsd.module
++@COND_i386_coreboot_TRUE@am__append_3406 = bsd.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_3407 = loader/i386/bsdXX.c loader/i386/bsd_pagetable.c 
++@COND_i386_coreboot_TRUE@am__append_3408 = $(nodist_bsd_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_3409 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_bsd_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     bsd.marker
+-@COND_i386_coreboot_TRUE@am__append_3417 = bsd.mod
+-@COND_i386_coreboot_TRUE@am__append_3418 = bsd.marker
+-@COND_i386_multiboot_TRUE@am__append_3419 = bsd.module
+-@COND_i386_multiboot_TRUE@am__append_3420 = bsd.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_3421 = loader/i386/bsdXX.c loader/i386/bsd_pagetable.c 
+-@COND_i386_multiboot_TRUE@am__append_3422 = $(nodist_bsd_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_3423 =  \
++@COND_i386_coreboot_TRUE@am__append_3410 = bsd.mod
++@COND_i386_coreboot_TRUE@am__append_3411 = bsd.marker
++@COND_i386_multiboot_TRUE@am__append_3412 = bsd.module
++@COND_i386_multiboot_TRUE@am__append_3413 = bsd.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_3414 = loader/i386/bsdXX.c loader/i386/bsd_pagetable.c 
++@COND_i386_multiboot_TRUE@am__append_3415 = $(nodist_bsd_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_3416 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_bsd_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    bsd.marker
+-@COND_i386_multiboot_TRUE@am__append_3424 = bsd.mod
+-@COND_i386_multiboot_TRUE@am__append_3425 = bsd.marker
+-@COND_i386_ieee1275_TRUE@am__append_3426 = bsd.module
+-@COND_i386_ieee1275_TRUE@am__append_3427 = bsd.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_3428 = loader/i386/bsdXX.c loader/i386/bsd_pagetable.c 
+-@COND_i386_ieee1275_TRUE@am__append_3429 = $(nodist_bsd_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_3430 =  \
++@COND_i386_multiboot_TRUE@am__append_3417 = bsd.mod
++@COND_i386_multiboot_TRUE@am__append_3418 = bsd.marker
++@COND_i386_ieee1275_TRUE@am__append_3419 = bsd.module
++@COND_i386_ieee1275_TRUE@am__append_3420 = bsd.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_3421 = loader/i386/bsdXX.c loader/i386/bsd_pagetable.c 
++@COND_i386_ieee1275_TRUE@am__append_3422 = $(nodist_bsd_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_3423 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_bsd_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     bsd.marker
+-@COND_i386_ieee1275_TRUE@am__append_3431 = bsd.mod
+-@COND_i386_ieee1275_TRUE@am__append_3432 = bsd.marker
+-@COND_x86_64_efi_TRUE@am__append_3433 = bsd.module
+-@COND_x86_64_efi_TRUE@am__append_3434 = bsd.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_3435 = loader/i386/bsdXX.c loader/i386/bsd_pagetable.c 
+-@COND_x86_64_efi_TRUE@am__append_3436 = $(nodist_bsd_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_3437 = $(nodist_bsd_module_SOURCES) \
++@COND_i386_ieee1275_TRUE@am__append_3424 = bsd.mod
++@COND_i386_ieee1275_TRUE@am__append_3425 = bsd.marker
++@COND_x86_64_efi_TRUE@am__append_3426 = bsd.module
++@COND_x86_64_efi_TRUE@am__append_3427 = bsd.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_3428 = loader/i386/bsdXX.c loader/i386/bsd_pagetable.c 
++@COND_x86_64_efi_TRUE@am__append_3429 = $(nodist_bsd_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_3430 = $(nodist_bsd_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        bsd.marker
+-@COND_x86_64_efi_TRUE@am__append_3438 = bsd.mod
+-@COND_x86_64_efi_TRUE@am__append_3439 = bsd.marker
+-@COND_i386_pc_TRUE@am__append_3440 = plan9.module linux16.module
+-@COND_i386_pc_TRUE@am__append_3441 = plan9.module$(EXEEXT) \
++@COND_x86_64_efi_TRUE@am__append_3431 = bsd.mod
++@COND_x86_64_efi_TRUE@am__append_3432 = bsd.marker
++@COND_i386_pc_TRUE@am__append_3433 = plan9.module linux16.module
++@COND_i386_pc_TRUE@am__append_3434 = plan9.module$(EXEEXT) \
+ @COND_i386_pc_TRUE@   linux16.module$(EXEEXT)
+ @COND_i386_pc_FALSE@plan9_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_3442 =
+-@COND_i386_pc_TRUE@am__append_3443 = $(nodist_plan9_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_3435 =
++@COND_i386_pc_TRUE@am__append_3436 = $(nodist_plan9_module_SOURCES) \
+ @COND_i386_pc_TRUE@   $(nodist_linux16_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_3444 = $(nodist_plan9_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_3437 = $(nodist_plan9_module_SOURCES) \
+ @COND_i386_pc_TRUE@   plan9.marker \
+ @COND_i386_pc_TRUE@   $(nodist_linux16_module_SOURCES) \
+ @COND_i386_pc_TRUE@   linux16.marker
+-@COND_i386_pc_TRUE@am__append_3445 = plan9.mod linux16.mod
+-@COND_i386_pc_TRUE@am__append_3446 = plan9.marker linux16.marker
++@COND_i386_pc_TRUE@am__append_3438 = plan9.mod linux16.mod
++@COND_i386_pc_TRUE@am__append_3439 = plan9.marker linux16.marker
+ @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_x86_64_efi_FALSE@linux16_module_DEPENDENCIES =
+-@COND_i386_efi_TRUE@am__append_3447 = linux16.module
+-@COND_i386_efi_TRUE@am__append_3448 = linux16.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_3449 = 
+-@COND_i386_efi_TRUE@am__append_3450 = $(nodist_linux16_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_3451 =  \
++@COND_i386_efi_TRUE@am__append_3440 = linux16.module
++@COND_i386_efi_TRUE@am__append_3441 = linux16.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_3442 = 
++@COND_i386_efi_TRUE@am__append_3443 = $(nodist_linux16_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_3444 =  \
+ @COND_i386_efi_TRUE@  $(nodist_linux16_module_SOURCES) \
+ @COND_i386_efi_TRUE@  linux16.marker
+-@COND_i386_efi_TRUE@am__append_3452 = linux16.mod
+-@COND_i386_efi_TRUE@am__append_3453 = linux16.marker
+-@COND_i386_qemu_TRUE@am__append_3454 = linux16.module
+-@COND_i386_qemu_TRUE@am__append_3455 = linux16.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_3456 = 
+-@COND_i386_qemu_TRUE@am__append_3457 = $(nodist_linux16_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_3458 =  \
++@COND_i386_efi_TRUE@am__append_3445 = linux16.mod
++@COND_i386_efi_TRUE@am__append_3446 = linux16.marker
++@COND_i386_qemu_TRUE@am__append_3447 = linux16.module
++@COND_i386_qemu_TRUE@am__append_3448 = linux16.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_3449 = 
++@COND_i386_qemu_TRUE@am__append_3450 = $(nodist_linux16_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_3451 =  \
+ @COND_i386_qemu_TRUE@ $(nodist_linux16_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ linux16.marker
+-@COND_i386_qemu_TRUE@am__append_3459 = linux16.mod
+-@COND_i386_qemu_TRUE@am__append_3460 = linux16.marker
+-@COND_i386_coreboot_TRUE@am__append_3461 = linux16.module
+-@COND_i386_coreboot_TRUE@am__append_3462 = linux16.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_3463 = 
+-@COND_i386_coreboot_TRUE@am__append_3464 = $(nodist_linux16_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_3465 =  \
++@COND_i386_qemu_TRUE@am__append_3452 = linux16.mod
++@COND_i386_qemu_TRUE@am__append_3453 = linux16.marker
++@COND_i386_coreboot_TRUE@am__append_3454 = linux16.module
++@COND_i386_coreboot_TRUE@am__append_3455 = linux16.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_3456 = 
++@COND_i386_coreboot_TRUE@am__append_3457 = $(nodist_linux16_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_3458 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_linux16_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     linux16.marker
+-@COND_i386_coreboot_TRUE@am__append_3466 = linux16.mod
+-@COND_i386_coreboot_TRUE@am__append_3467 = linux16.marker
+-@COND_i386_multiboot_TRUE@am__append_3468 = linux16.module
+-@COND_i386_multiboot_TRUE@am__append_3469 = linux16.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_3470 = 
+-@COND_i386_multiboot_TRUE@am__append_3471 = $(nodist_linux16_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_3472 =  \
++@COND_i386_coreboot_TRUE@am__append_3459 = linux16.mod
++@COND_i386_coreboot_TRUE@am__append_3460 = linux16.marker
++@COND_i386_multiboot_TRUE@am__append_3461 = linux16.module
++@COND_i386_multiboot_TRUE@am__append_3462 = linux16.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_3463 = 
++@COND_i386_multiboot_TRUE@am__append_3464 = $(nodist_linux16_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_3465 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_linux16_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    linux16.marker
+-@COND_i386_multiboot_TRUE@am__append_3473 = linux16.mod
+-@COND_i386_multiboot_TRUE@am__append_3474 = linux16.marker
+-@COND_i386_ieee1275_TRUE@am__append_3475 = linux16.module
+-@COND_i386_ieee1275_TRUE@am__append_3476 = linux16.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_3477 = 
+-@COND_i386_ieee1275_TRUE@am__append_3478 = $(nodist_linux16_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_3479 =  \
++@COND_i386_multiboot_TRUE@am__append_3466 = linux16.mod
++@COND_i386_multiboot_TRUE@am__append_3467 = linux16.marker
++@COND_i386_ieee1275_TRUE@am__append_3468 = linux16.module
++@COND_i386_ieee1275_TRUE@am__append_3469 = linux16.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_3470 = 
++@COND_i386_ieee1275_TRUE@am__append_3471 = $(nodist_linux16_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_3472 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_linux16_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     linux16.marker
+-@COND_i386_ieee1275_TRUE@am__append_3480 = linux16.mod
+-@COND_i386_ieee1275_TRUE@am__append_3481 = linux16.marker
+-@COND_x86_64_efi_TRUE@am__append_3482 = linux16.module
+-@COND_x86_64_efi_TRUE@am__append_3483 = linux16.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_3484 = 
+-@COND_x86_64_efi_TRUE@am__append_3485 = $(nodist_linux16_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_3486 =  \
++@COND_i386_ieee1275_TRUE@am__append_3473 = linux16.mod
++@COND_i386_ieee1275_TRUE@am__append_3474 = linux16.marker
++@COND_x86_64_efi_TRUE@am__append_3475 = linux16.module
++@COND_x86_64_efi_TRUE@am__append_3476 = linux16.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_3477 = 
++@COND_x86_64_efi_TRUE@am__append_3478 = $(nodist_linux16_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_3479 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_linux16_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        linux16.marker
+-@COND_x86_64_efi_TRUE@am__append_3487 = linux16.mod
+-@COND_x86_64_efi_TRUE@am__append_3488 = linux16.marker
+-@COND_i386_pc_TRUE@am__append_3489 = ntldr.module truecrypt.module \
++@COND_x86_64_efi_TRUE@am__append_3480 = linux16.mod
++@COND_x86_64_efi_TRUE@am__append_3481 = linux16.marker
++@COND_i386_pc_TRUE@am__append_3482 = ntldr.module truecrypt.module \
+ @COND_i386_pc_TRUE@   freedos.module pxechain.module \
+ @COND_i386_pc_TRUE@   multiboot2.module
+-@COND_i386_pc_TRUE@am__append_3490 = ntldr.module$(EXEEXT) \
++@COND_i386_pc_TRUE@am__append_3483 = ntldr.module$(EXEEXT) \
+ @COND_i386_pc_TRUE@   truecrypt.module$(EXEEXT) \
+ @COND_i386_pc_TRUE@   freedos.module$(EXEEXT) \
+ @COND_i386_pc_TRUE@   pxechain.module$(EXEEXT) \
+ @COND_i386_pc_TRUE@   multiboot2.module$(EXEEXT)
+ @COND_i386_pc_FALSE@ntldr_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_3491 =
+-@COND_i386_pc_TRUE@am__append_3492 = $(nodist_ntldr_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_3484 =
++@COND_i386_pc_TRUE@am__append_3485 = $(nodist_ntldr_module_SOURCES) \
+ @COND_i386_pc_TRUE@   $(nodist_truecrypt_module_SOURCES) \
+ @COND_i386_pc_TRUE@   $(nodist_freedos_module_SOURCES) \
+ @COND_i386_pc_TRUE@   $(nodist_pxechain_module_SOURCES) \
+ @COND_i386_pc_TRUE@   $(nodist_multiboot2_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_3493 = $(nodist_ntldr_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_3486 = $(nodist_ntldr_module_SOURCES) \
+ @COND_i386_pc_TRUE@   ntldr.marker \
+ @COND_i386_pc_TRUE@   $(nodist_truecrypt_module_SOURCES) \
+ @COND_i386_pc_TRUE@   truecrypt.marker \
+@@ -4863,2969 +4853,2969 @@ TESTS =
+ @COND_i386_pc_TRUE@   pxechain.marker \
+ @COND_i386_pc_TRUE@   $(nodist_multiboot2_module_SOURCES) \
+ @COND_i386_pc_TRUE@   multiboot2.marker
+-@COND_i386_pc_TRUE@am__append_3494 = ntldr.mod truecrypt.mod \
++@COND_i386_pc_TRUE@am__append_3487 = ntldr.mod truecrypt.mod \
+ @COND_i386_pc_TRUE@   freedos.mod pxechain.mod multiboot2.mod
+-@COND_i386_pc_TRUE@am__append_3495 = ntldr.marker truecrypt.marker \
++@COND_i386_pc_TRUE@am__append_3488 = ntldr.marker truecrypt.marker \
+ @COND_i386_pc_TRUE@   freedos.marker pxechain.marker \
+ @COND_i386_pc_TRUE@   multiboot2.marker
+ @COND_i386_pc_FALSE@truecrypt_module_DEPENDENCIES =
+ @COND_i386_pc_FALSE@freedos_module_DEPENDENCIES =
+ @COND_i386_pc_FALSE@pxechain_module_DEPENDENCIES =
+ @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_pvh_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_x86_64_efi_FALSE@multiboot2_module_DEPENDENCIES =
+-@COND_i386_efi_TRUE@am__append_3496 = multiboot2.module
+-@COND_i386_efi_TRUE@am__append_3497 = multiboot2.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_3498 = 
+-@COND_i386_efi_TRUE@am__append_3499 = $(nodist_multiboot2_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_3500 =  \
++@COND_i386_efi_TRUE@am__append_3489 = multiboot2.module
++@COND_i386_efi_TRUE@am__append_3490 = multiboot2.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_3491 = 
++@COND_i386_efi_TRUE@am__append_3492 = $(nodist_multiboot2_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_3493 =  \
+ @COND_i386_efi_TRUE@  $(nodist_multiboot2_module_SOURCES) \
+ @COND_i386_efi_TRUE@  multiboot2.marker
+-@COND_i386_efi_TRUE@am__append_3501 = multiboot2.mod
+-@COND_i386_efi_TRUE@am__append_3502 = multiboot2.marker
+-@COND_i386_qemu_TRUE@am__append_3503 = multiboot2.module
+-@COND_i386_qemu_TRUE@am__append_3504 = multiboot2.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_3505 = 
+-@COND_i386_qemu_TRUE@am__append_3506 = $(nodist_multiboot2_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_3507 =  \
++@COND_i386_efi_TRUE@am__append_3494 = multiboot2.mod
++@COND_i386_efi_TRUE@am__append_3495 = multiboot2.marker
++@COND_i386_qemu_TRUE@am__append_3496 = multiboot2.module
++@COND_i386_qemu_TRUE@am__append_3497 = multiboot2.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_3498 = 
++@COND_i386_qemu_TRUE@am__append_3499 = $(nodist_multiboot2_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_3500 =  \
+ @COND_i386_qemu_TRUE@ $(nodist_multiboot2_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ multiboot2.marker
+-@COND_i386_qemu_TRUE@am__append_3508 = multiboot2.mod
+-@COND_i386_qemu_TRUE@am__append_3509 = multiboot2.marker
+-@COND_i386_coreboot_TRUE@am__append_3510 = multiboot2.module
+-@COND_i386_coreboot_TRUE@am__append_3511 = multiboot2.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_3512 = 
+-@COND_i386_coreboot_TRUE@am__append_3513 = $(nodist_multiboot2_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_3514 =  \
++@COND_i386_qemu_TRUE@am__append_3501 = multiboot2.mod
++@COND_i386_qemu_TRUE@am__append_3502 = multiboot2.marker
++@COND_i386_coreboot_TRUE@am__append_3503 = multiboot2.module
++@COND_i386_coreboot_TRUE@am__append_3504 = multiboot2.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_3505 = 
++@COND_i386_coreboot_TRUE@am__append_3506 = $(nodist_multiboot2_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_3507 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_multiboot2_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     multiboot2.marker
+-@COND_i386_coreboot_TRUE@am__append_3515 = multiboot2.mod
+-@COND_i386_coreboot_TRUE@am__append_3516 = multiboot2.marker
+-@COND_i386_multiboot_TRUE@am__append_3517 = multiboot2.module
+-@COND_i386_multiboot_TRUE@am__append_3518 = multiboot2.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_3519 = 
+-@COND_i386_multiboot_TRUE@am__append_3520 = $(nodist_multiboot2_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_3521 =  \
++@COND_i386_coreboot_TRUE@am__append_3508 = multiboot2.mod
++@COND_i386_coreboot_TRUE@am__append_3509 = multiboot2.marker
++@COND_i386_multiboot_TRUE@am__append_3510 = multiboot2.module
++@COND_i386_multiboot_TRUE@am__append_3511 = multiboot2.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_3512 = 
++@COND_i386_multiboot_TRUE@am__append_3513 = $(nodist_multiboot2_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_3514 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_multiboot2_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    multiboot2.marker
+-@COND_i386_multiboot_TRUE@am__append_3522 = multiboot2.mod
+-@COND_i386_multiboot_TRUE@am__append_3523 = multiboot2.marker
+-@COND_i386_ieee1275_TRUE@am__append_3524 = multiboot2.module
+-@COND_i386_ieee1275_TRUE@am__append_3525 = multiboot2.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_3526 = 
+-@COND_i386_ieee1275_TRUE@am__append_3527 = $(nodist_multiboot2_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_3528 =  \
++@COND_i386_multiboot_TRUE@am__append_3515 = multiboot2.mod
++@COND_i386_multiboot_TRUE@am__append_3516 = multiboot2.marker
++@COND_i386_ieee1275_TRUE@am__append_3517 = multiboot2.module
++@COND_i386_ieee1275_TRUE@am__append_3518 = multiboot2.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_3519 = 
++@COND_i386_ieee1275_TRUE@am__append_3520 = $(nodist_multiboot2_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_3521 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_multiboot2_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     multiboot2.marker
+-@COND_i386_ieee1275_TRUE@am__append_3529 = multiboot2.mod
+-@COND_i386_ieee1275_TRUE@am__append_3530 = multiboot2.marker
+-@COND_x86_64_efi_TRUE@am__append_3531 = multiboot2.module
+-@COND_x86_64_efi_TRUE@am__append_3532 = multiboot2.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_3533 = 
+-@COND_x86_64_efi_TRUE@am__append_3534 = $(nodist_multiboot2_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_3535 =  \
++@COND_i386_ieee1275_TRUE@am__append_3522 = multiboot2.mod
++@COND_i386_ieee1275_TRUE@am__append_3523 = multiboot2.marker
++@COND_x86_64_efi_TRUE@am__append_3524 = multiboot2.module
++@COND_x86_64_efi_TRUE@am__append_3525 = multiboot2.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_3526 = 
++@COND_x86_64_efi_TRUE@am__append_3527 = $(nodist_multiboot2_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_3528 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_multiboot2_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        multiboot2.marker
+-@COND_x86_64_efi_TRUE@am__append_3536 = multiboot2.mod
+-@COND_x86_64_efi_TRUE@am__append_3537 = multiboot2.marker
+-@COND_i386_xen_pvh_TRUE@am__append_3538 = multiboot2.module
+-@COND_i386_xen_pvh_TRUE@am__append_3539 = multiboot2.module$(EXEEXT)
+-@COND_i386_xen_pvh_TRUE@am__append_3540 = 
+-@COND_i386_xen_pvh_TRUE@am__append_3541 = $(nodist_multiboot2_module_SOURCES)
+-@COND_i386_xen_pvh_TRUE@am__append_3542 =  \
++@COND_x86_64_efi_TRUE@am__append_3529 = multiboot2.mod
++@COND_x86_64_efi_TRUE@am__append_3530 = multiboot2.marker
++@COND_i386_xen_pvh_TRUE@am__append_3531 = multiboot2.module
++@COND_i386_xen_pvh_TRUE@am__append_3532 = multiboot2.module$(EXEEXT)
++@COND_i386_xen_pvh_TRUE@am__append_3533 = 
++@COND_i386_xen_pvh_TRUE@am__append_3534 = $(nodist_multiboot2_module_SOURCES)
++@COND_i386_xen_pvh_TRUE@am__append_3535 =  \
+ @COND_i386_xen_pvh_TRUE@      $(nodist_multiboot2_module_SOURCES) \
+ @COND_i386_xen_pvh_TRUE@      multiboot2.marker
+-@COND_i386_xen_pvh_TRUE@am__append_3543 = multiboot2.mod
+-@COND_i386_xen_pvh_TRUE@am__append_3544 = multiboot2.marker
+-@COND_mips_loongson_TRUE@am__append_3545 = multiboot2.module
+-@COND_mips_loongson_TRUE@am__append_3546 = multiboot2.module$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__append_3547 = 
+-@COND_mips_loongson_TRUE@am__append_3548 = $(nodist_multiboot2_module_SOURCES)
+-@COND_mips_loongson_TRUE@am__append_3549 =  \
++@COND_i386_xen_pvh_TRUE@am__append_3536 = multiboot2.mod
++@COND_i386_xen_pvh_TRUE@am__append_3537 = multiboot2.marker
++@COND_mips_loongson_TRUE@am__append_3538 = multiboot2.module
++@COND_mips_loongson_TRUE@am__append_3539 = multiboot2.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__append_3540 = 
++@COND_mips_loongson_TRUE@am__append_3541 = $(nodist_multiboot2_module_SOURCES)
++@COND_mips_loongson_TRUE@am__append_3542 =  \
+ @COND_mips_loongson_TRUE@     $(nodist_multiboot2_module_SOURCES) \
+ @COND_mips_loongson_TRUE@     multiboot2.marker
+-@COND_mips_loongson_TRUE@am__append_3550 = multiboot2.mod
+-@COND_mips_loongson_TRUE@am__append_3551 = multiboot2.marker
+-@COND_mips_arc_TRUE@am__append_3552 = multiboot2.module
+-@COND_mips_arc_TRUE@am__append_3553 = multiboot2.module$(EXEEXT)
+-@COND_mips_arc_TRUE@am__append_3554 = 
+-@COND_mips_arc_TRUE@am__append_3555 = $(nodist_multiboot2_module_SOURCES)
+-@COND_mips_arc_TRUE@am__append_3556 =  \
++@COND_mips_loongson_TRUE@am__append_3543 = multiboot2.mod
++@COND_mips_loongson_TRUE@am__append_3544 = multiboot2.marker
++@COND_mips_arc_TRUE@am__append_3545 = multiboot2.module
++@COND_mips_arc_TRUE@am__append_3546 = multiboot2.module$(EXEEXT)
++@COND_mips_arc_TRUE@am__append_3547 = 
++@COND_mips_arc_TRUE@am__append_3548 = $(nodist_multiboot2_module_SOURCES)
++@COND_mips_arc_TRUE@am__append_3549 =  \
+ @COND_mips_arc_TRUE@  $(nodist_multiboot2_module_SOURCES) \
+ @COND_mips_arc_TRUE@  multiboot2.marker
+-@COND_mips_arc_TRUE@am__append_3557 = multiboot2.mod
+-@COND_mips_arc_TRUE@am__append_3558 = multiboot2.marker
+-@COND_mips_qemu_mips_TRUE@am__append_3559 = multiboot2.module
+-@COND_mips_qemu_mips_TRUE@am__append_3560 = multiboot2.module$(EXEEXT)
+-@COND_mips_qemu_mips_TRUE@am__append_3561 = 
+-@COND_mips_qemu_mips_TRUE@am__append_3562 = $(nodist_multiboot2_module_SOURCES)
+-@COND_mips_qemu_mips_TRUE@am__append_3563 =  \
++@COND_mips_arc_TRUE@am__append_3550 = multiboot2.mod
++@COND_mips_arc_TRUE@am__append_3551 = multiboot2.marker
++@COND_mips_qemu_mips_TRUE@am__append_3552 = multiboot2.module
++@COND_mips_qemu_mips_TRUE@am__append_3553 = multiboot2.module$(EXEEXT)
++@COND_mips_qemu_mips_TRUE@am__append_3554 = 
++@COND_mips_qemu_mips_TRUE@am__append_3555 = $(nodist_multiboot2_module_SOURCES)
++@COND_mips_qemu_mips_TRUE@am__append_3556 =  \
+ @COND_mips_qemu_mips_TRUE@    $(nodist_multiboot2_module_SOURCES) \
+ @COND_mips_qemu_mips_TRUE@    multiboot2.marker
+-@COND_mips_qemu_mips_TRUE@am__append_3564 = multiboot2.mod
+-@COND_mips_qemu_mips_TRUE@am__append_3565 = multiboot2.marker
+-@COND_i386_pc_TRUE@am__append_3566 = multiboot.module
+-@COND_i386_pc_TRUE@am__append_3567 = multiboot.module$(EXEEXT)
++@COND_mips_qemu_mips_TRUE@am__append_3557 = multiboot2.mod
++@COND_mips_qemu_mips_TRUE@am__append_3558 = multiboot2.marker
++@COND_i386_pc_TRUE@am__append_3559 = multiboot.module
++@COND_i386_pc_TRUE@am__append_3560 = multiboot.module$(EXEEXT)
+ @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_pvh_FALSE@@COND_x86_64_efi_FALSE@multiboot_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_3568 = loader/multiboot_elfxx.c 
+-@COND_i386_pc_TRUE@am__append_3569 = $(nodist_multiboot_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_3570 =  \
++@COND_i386_pc_TRUE@am__append_3561 = loader/multiboot_elfxx.c 
++@COND_i386_pc_TRUE@am__append_3562 = $(nodist_multiboot_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_3563 =  \
+ @COND_i386_pc_TRUE@   $(nodist_multiboot_module_SOURCES) \
+ @COND_i386_pc_TRUE@   multiboot.marker
+-@COND_i386_pc_TRUE@am__append_3571 = multiboot.mod
+-@COND_i386_pc_TRUE@am__append_3572 = multiboot.marker
+-@COND_i386_efi_TRUE@am__append_3573 = multiboot.module
+-@COND_i386_efi_TRUE@am__append_3574 = multiboot.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_3575 = loader/multiboot_elfxx.c 
+-@COND_i386_efi_TRUE@am__append_3576 = $(nodist_multiboot_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_3577 =  \
++@COND_i386_pc_TRUE@am__append_3564 = multiboot.mod
++@COND_i386_pc_TRUE@am__append_3565 = multiboot.marker
++@COND_i386_efi_TRUE@am__append_3566 = multiboot.module
++@COND_i386_efi_TRUE@am__append_3567 = multiboot.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_3568 = loader/multiboot_elfxx.c 
++@COND_i386_efi_TRUE@am__append_3569 = $(nodist_multiboot_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_3570 =  \
+ @COND_i386_efi_TRUE@  $(nodist_multiboot_module_SOURCES) \
+ @COND_i386_efi_TRUE@  multiboot.marker
+-@COND_i386_efi_TRUE@am__append_3578 = multiboot.mod
+-@COND_i386_efi_TRUE@am__append_3579 = multiboot.marker
+-@COND_i386_qemu_TRUE@am__append_3580 = multiboot.module
+-@COND_i386_qemu_TRUE@am__append_3581 = multiboot.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_3582 = loader/multiboot_elfxx.c 
+-@COND_i386_qemu_TRUE@am__append_3583 = $(nodist_multiboot_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_3584 =  \
++@COND_i386_efi_TRUE@am__append_3571 = multiboot.mod
++@COND_i386_efi_TRUE@am__append_3572 = multiboot.marker
++@COND_i386_qemu_TRUE@am__append_3573 = multiboot.module
++@COND_i386_qemu_TRUE@am__append_3574 = multiboot.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_3575 = loader/multiboot_elfxx.c 
++@COND_i386_qemu_TRUE@am__append_3576 = $(nodist_multiboot_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_3577 =  \
+ @COND_i386_qemu_TRUE@ $(nodist_multiboot_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ multiboot.marker
+-@COND_i386_qemu_TRUE@am__append_3585 = multiboot.mod
+-@COND_i386_qemu_TRUE@am__append_3586 = multiboot.marker
+-@COND_i386_coreboot_TRUE@am__append_3587 = multiboot.module
+-@COND_i386_coreboot_TRUE@am__append_3588 = multiboot.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_3589 = loader/multiboot_elfxx.c 
+-@COND_i386_coreboot_TRUE@am__append_3590 = $(nodist_multiboot_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_3591 =  \
++@COND_i386_qemu_TRUE@am__append_3578 = multiboot.mod
++@COND_i386_qemu_TRUE@am__append_3579 = multiboot.marker
++@COND_i386_coreboot_TRUE@am__append_3580 = multiboot.module
++@COND_i386_coreboot_TRUE@am__append_3581 = multiboot.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_3582 = loader/multiboot_elfxx.c 
++@COND_i386_coreboot_TRUE@am__append_3583 = $(nodist_multiboot_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_3584 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_multiboot_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     multiboot.marker
+-@COND_i386_coreboot_TRUE@am__append_3592 = multiboot.mod
+-@COND_i386_coreboot_TRUE@am__append_3593 = multiboot.marker
+-@COND_i386_multiboot_TRUE@am__append_3594 = multiboot.module
+-@COND_i386_multiboot_TRUE@am__append_3595 = multiboot.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_3596 = loader/multiboot_elfxx.c 
+-@COND_i386_multiboot_TRUE@am__append_3597 = $(nodist_multiboot_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_3598 =  \
++@COND_i386_coreboot_TRUE@am__append_3585 = multiboot.mod
++@COND_i386_coreboot_TRUE@am__append_3586 = multiboot.marker
++@COND_i386_multiboot_TRUE@am__append_3587 = multiboot.module
++@COND_i386_multiboot_TRUE@am__append_3588 = multiboot.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_3589 = loader/multiboot_elfxx.c 
++@COND_i386_multiboot_TRUE@am__append_3590 = $(nodist_multiboot_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_3591 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_multiboot_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    multiboot.marker
+-@COND_i386_multiboot_TRUE@am__append_3599 = multiboot.mod
+-@COND_i386_multiboot_TRUE@am__append_3600 = multiboot.marker
+-@COND_i386_ieee1275_TRUE@am__append_3601 = multiboot.module
+-@COND_i386_ieee1275_TRUE@am__append_3602 = multiboot.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_3603 = loader/multiboot_elfxx.c 
+-@COND_i386_ieee1275_TRUE@am__append_3604 = $(nodist_multiboot_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_3605 =  \
++@COND_i386_multiboot_TRUE@am__append_3592 = multiboot.mod
++@COND_i386_multiboot_TRUE@am__append_3593 = multiboot.marker
++@COND_i386_ieee1275_TRUE@am__append_3594 = multiboot.module
++@COND_i386_ieee1275_TRUE@am__append_3595 = multiboot.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_3596 = loader/multiboot_elfxx.c 
++@COND_i386_ieee1275_TRUE@am__append_3597 = $(nodist_multiboot_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_3598 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_multiboot_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     multiboot.marker
+-@COND_i386_ieee1275_TRUE@am__append_3606 = multiboot.mod
+-@COND_i386_ieee1275_TRUE@am__append_3607 = multiboot.marker
+-@COND_x86_64_efi_TRUE@am__append_3608 = multiboot.module
+-@COND_x86_64_efi_TRUE@am__append_3609 = multiboot.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_3610 = loader/multiboot_elfxx.c 
+-@COND_x86_64_efi_TRUE@am__append_3611 = $(nodist_multiboot_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_3612 =  \
++@COND_i386_ieee1275_TRUE@am__append_3599 = multiboot.mod
++@COND_i386_ieee1275_TRUE@am__append_3600 = multiboot.marker
++@COND_x86_64_efi_TRUE@am__append_3601 = multiboot.module
++@COND_x86_64_efi_TRUE@am__append_3602 = multiboot.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_3603 = loader/multiboot_elfxx.c 
++@COND_x86_64_efi_TRUE@am__append_3604 = $(nodist_multiboot_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_3605 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_multiboot_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        multiboot.marker
+-@COND_x86_64_efi_TRUE@am__append_3613 = multiboot.mod
+-@COND_x86_64_efi_TRUE@am__append_3614 = multiboot.marker
+-@COND_i386_xen_pvh_TRUE@am__append_3615 = multiboot.module
+-@COND_i386_xen_pvh_TRUE@am__append_3616 = multiboot.module$(EXEEXT)
+-@COND_i386_xen_pvh_TRUE@am__append_3617 = loader/multiboot_elfxx.c 
+-@COND_i386_xen_pvh_TRUE@am__append_3618 = $(nodist_multiboot_module_SOURCES)
+-@COND_i386_xen_pvh_TRUE@am__append_3619 =  \
++@COND_x86_64_efi_TRUE@am__append_3606 = multiboot.mod
++@COND_x86_64_efi_TRUE@am__append_3607 = multiboot.marker
++@COND_i386_xen_pvh_TRUE@am__append_3608 = multiboot.module
++@COND_i386_xen_pvh_TRUE@am__append_3609 = multiboot.module$(EXEEXT)
++@COND_i386_xen_pvh_TRUE@am__append_3610 = loader/multiboot_elfxx.c 
++@COND_i386_xen_pvh_TRUE@am__append_3611 = $(nodist_multiboot_module_SOURCES)
++@COND_i386_xen_pvh_TRUE@am__append_3612 =  \
+ @COND_i386_xen_pvh_TRUE@      $(nodist_multiboot_module_SOURCES) \
+ @COND_i386_xen_pvh_TRUE@      multiboot.marker
+-@COND_i386_xen_pvh_TRUE@am__append_3620 = multiboot.mod
+-@COND_i386_xen_pvh_TRUE@am__append_3621 = multiboot.marker
+-@COND_arm64_efi_TRUE@am__append_3622 = xen_boot.module
+-@COND_arm64_efi_TRUE@am__append_3623 = xen_boot.module$(EXEEXT)
++@COND_i386_xen_pvh_TRUE@am__append_3613 = multiboot.mod
++@COND_i386_xen_pvh_TRUE@am__append_3614 = multiboot.marker
++@COND_arm64_efi_TRUE@am__append_3615 = xen_boot.module
++@COND_arm64_efi_TRUE@am__append_3616 = xen_boot.module$(EXEEXT)
+ @COND_arm64_efi_FALSE@xen_boot_module_DEPENDENCIES =
+-@COND_arm64_efi_TRUE@am__append_3624 = 
+-@COND_arm64_efi_TRUE@am__append_3625 = $(nodist_xen_boot_module_SOURCES)
+-@COND_arm64_efi_TRUE@am__append_3626 =  \
++@COND_arm64_efi_TRUE@am__append_3617 = 
++@COND_arm64_efi_TRUE@am__append_3618 = $(nodist_xen_boot_module_SOURCES)
++@COND_arm64_efi_TRUE@am__append_3619 =  \
+ @COND_arm64_efi_TRUE@ $(nodist_xen_boot_module_SOURCES) \
+ @COND_arm64_efi_TRUE@ xen_boot.marker
+-@COND_arm64_efi_TRUE@am__append_3627 = xen_boot.mod
+-@COND_arm64_efi_TRUE@am__append_3628 = xen_boot.marker
+-@COND_i386_pc_TRUE@am__append_3629 = linux.module
+-@COND_i386_pc_TRUE@am__append_3630 = linux.module$(EXEEXT)
++@COND_arm64_efi_TRUE@am__append_3620 = xen_boot.mod
++@COND_arm64_efi_TRUE@am__append_3621 = xen_boot.marker
++@COND_i386_pc_TRUE@am__append_3622 = linux.module
++@COND_i386_pc_TRUE@am__append_3623 = linux.module$(EXEEXT)
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_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_FALSE@@COND_x86_64_xen_FALSE@linux_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_3631 = 
+-@COND_i386_pc_TRUE@am__append_3632 = $(nodist_linux_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_3633 = $(nodist_linux_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_3624 = 
++@COND_i386_pc_TRUE@am__append_3625 = $(nodist_linux_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_3626 = $(nodist_linux_module_SOURCES) \
+ @COND_i386_pc_TRUE@   linux.marker
+-@COND_i386_pc_TRUE@am__append_3634 = linux.mod
+-@COND_i386_pc_TRUE@am__append_3635 = linux.marker
+-@COND_i386_efi_TRUE@am__append_3636 = linux.module
+-@COND_i386_efi_TRUE@am__append_3637 = linux.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_3638 = 
+-@COND_i386_efi_TRUE@am__append_3639 = $(nodist_linux_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_3640 = $(nodist_linux_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_3627 = linux.mod
++@COND_i386_pc_TRUE@am__append_3628 = linux.marker
++@COND_i386_efi_TRUE@am__append_3629 = linux.module
++@COND_i386_efi_TRUE@am__append_3630 = linux.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_3631 = 
++@COND_i386_efi_TRUE@am__append_3632 = $(nodist_linux_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_3633 = $(nodist_linux_module_SOURCES) \
+ @COND_i386_efi_TRUE@  linux.marker
+-@COND_i386_efi_TRUE@am__append_3641 = linux.mod
+-@COND_i386_efi_TRUE@am__append_3642 = linux.marker
+-@COND_i386_qemu_TRUE@am__append_3643 = linux.module
+-@COND_i386_qemu_TRUE@am__append_3644 = linux.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_3645 = 
+-@COND_i386_qemu_TRUE@am__append_3646 = $(nodist_linux_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_3647 = $(nodist_linux_module_SOURCES) \
++@COND_i386_efi_TRUE@am__append_3634 = linux.mod
++@COND_i386_efi_TRUE@am__append_3635 = linux.marker
++@COND_i386_qemu_TRUE@am__append_3636 = linux.module
++@COND_i386_qemu_TRUE@am__append_3637 = linux.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_3638 = 
++@COND_i386_qemu_TRUE@am__append_3639 = $(nodist_linux_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_3640 = $(nodist_linux_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ linux.marker
+-@COND_i386_qemu_TRUE@am__append_3648 = linux.mod
+-@COND_i386_qemu_TRUE@am__append_3649 = linux.marker
+-@COND_i386_coreboot_TRUE@am__append_3650 = linux.module
+-@COND_i386_coreboot_TRUE@am__append_3651 = linux.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_3652 = 
+-@COND_i386_coreboot_TRUE@am__append_3653 = $(nodist_linux_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_3654 =  \
++@COND_i386_qemu_TRUE@am__append_3641 = linux.mod
++@COND_i386_qemu_TRUE@am__append_3642 = linux.marker
++@COND_i386_coreboot_TRUE@am__append_3643 = linux.module
++@COND_i386_coreboot_TRUE@am__append_3644 = linux.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_3645 = 
++@COND_i386_coreboot_TRUE@am__append_3646 = $(nodist_linux_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_3647 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_linux_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     linux.marker
+-@COND_i386_coreboot_TRUE@am__append_3655 = linux.mod
+-@COND_i386_coreboot_TRUE@am__append_3656 = linux.marker
+-@COND_i386_multiboot_TRUE@am__append_3657 = linux.module
+-@COND_i386_multiboot_TRUE@am__append_3658 = linux.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_3659 = 
+-@COND_i386_multiboot_TRUE@am__append_3660 = $(nodist_linux_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_3661 =  \
++@COND_i386_coreboot_TRUE@am__append_3648 = linux.mod
++@COND_i386_coreboot_TRUE@am__append_3649 = linux.marker
++@COND_i386_multiboot_TRUE@am__append_3650 = linux.module
++@COND_i386_multiboot_TRUE@am__append_3651 = linux.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_3652 = 
++@COND_i386_multiboot_TRUE@am__append_3653 = $(nodist_linux_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_3654 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_linux_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    linux.marker
+-@COND_i386_multiboot_TRUE@am__append_3662 = linux.mod
+-@COND_i386_multiboot_TRUE@am__append_3663 = linux.marker
+-@COND_i386_ieee1275_TRUE@am__append_3664 = linux.module
+-@COND_i386_ieee1275_TRUE@am__append_3665 = linux.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_3666 = 
+-@COND_i386_ieee1275_TRUE@am__append_3667 = $(nodist_linux_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_3668 =  \
++@COND_i386_multiboot_TRUE@am__append_3655 = linux.mod
++@COND_i386_multiboot_TRUE@am__append_3656 = linux.marker
++@COND_i386_ieee1275_TRUE@am__append_3657 = linux.module
++@COND_i386_ieee1275_TRUE@am__append_3658 = linux.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_3659 = 
++@COND_i386_ieee1275_TRUE@am__append_3660 = $(nodist_linux_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_3661 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_linux_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     linux.marker
+-@COND_i386_ieee1275_TRUE@am__append_3669 = linux.mod
+-@COND_i386_ieee1275_TRUE@am__append_3670 = linux.marker
+-@COND_x86_64_efi_TRUE@am__append_3671 = linux.module
+-@COND_x86_64_efi_TRUE@am__append_3672 = linux.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_3673 = 
+-@COND_x86_64_efi_TRUE@am__append_3674 = $(nodist_linux_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_3675 =  \
++@COND_i386_ieee1275_TRUE@am__append_3662 = linux.mod
++@COND_i386_ieee1275_TRUE@am__append_3663 = linux.marker
++@COND_x86_64_efi_TRUE@am__append_3664 = linux.module
++@COND_x86_64_efi_TRUE@am__append_3665 = linux.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_3666 = 
++@COND_x86_64_efi_TRUE@am__append_3667 = $(nodist_linux_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_3668 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_linux_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        linux.marker
+-@COND_x86_64_efi_TRUE@am__append_3676 = linux.mod
+-@COND_x86_64_efi_TRUE@am__append_3677 = linux.marker
+-@COND_i386_xen_TRUE@am__append_3678 = linux.module
+-@COND_i386_xen_TRUE@am__append_3679 = linux.module$(EXEEXT)
+-@COND_i386_xen_TRUE@am__append_3680 = 
+-@COND_i386_xen_TRUE@am__append_3681 = $(nodist_linux_module_SOURCES)
+-@COND_i386_xen_TRUE@am__append_3682 = $(nodist_linux_module_SOURCES) \
++@COND_x86_64_efi_TRUE@am__append_3669 = linux.mod
++@COND_x86_64_efi_TRUE@am__append_3670 = linux.marker
++@COND_i386_xen_TRUE@am__append_3671 = linux.module
++@COND_i386_xen_TRUE@am__append_3672 = linux.module$(EXEEXT)
++@COND_i386_xen_TRUE@am__append_3673 = 
++@COND_i386_xen_TRUE@am__append_3674 = $(nodist_linux_module_SOURCES)
++@COND_i386_xen_TRUE@am__append_3675 = $(nodist_linux_module_SOURCES) \
+ @COND_i386_xen_TRUE@  linux.marker
+-@COND_i386_xen_TRUE@am__append_3683 = linux.mod
+-@COND_i386_xen_TRUE@am__append_3684 = linux.marker
+-@COND_x86_64_xen_TRUE@am__append_3685 = linux.module
+-@COND_x86_64_xen_TRUE@am__append_3686 = linux.module$(EXEEXT)
+-@COND_x86_64_xen_TRUE@am__append_3687 = 
+-@COND_x86_64_xen_TRUE@am__append_3688 = $(nodist_linux_module_SOURCES)
+-@COND_x86_64_xen_TRUE@am__append_3689 =  \
++@COND_i386_xen_TRUE@am__append_3676 = linux.mod
++@COND_i386_xen_TRUE@am__append_3677 = linux.marker
++@COND_x86_64_xen_TRUE@am__append_3678 = linux.module
++@COND_x86_64_xen_TRUE@am__append_3679 = linux.module$(EXEEXT)
++@COND_x86_64_xen_TRUE@am__append_3680 = 
++@COND_x86_64_xen_TRUE@am__append_3681 = $(nodist_linux_module_SOURCES)
++@COND_x86_64_xen_TRUE@am__append_3682 =  \
+ @COND_x86_64_xen_TRUE@        $(nodist_linux_module_SOURCES) \
+ @COND_x86_64_xen_TRUE@        linux.marker
+-@COND_x86_64_xen_TRUE@am__append_3690 = linux.mod
+-@COND_x86_64_xen_TRUE@am__append_3691 = linux.marker
+-@COND_i386_xen_pvh_TRUE@am__append_3692 = linux.module
+-@COND_i386_xen_pvh_TRUE@am__append_3693 = linux.module$(EXEEXT)
+-@COND_i386_xen_pvh_TRUE@am__append_3694 = 
+-@COND_i386_xen_pvh_TRUE@am__append_3695 = $(nodist_linux_module_SOURCES)
+-@COND_i386_xen_pvh_TRUE@am__append_3696 =  \
++@COND_x86_64_xen_TRUE@am__append_3683 = linux.mod
++@COND_x86_64_xen_TRUE@am__append_3684 = linux.marker
++@COND_i386_xen_pvh_TRUE@am__append_3685 = linux.module
++@COND_i386_xen_pvh_TRUE@am__append_3686 = linux.module$(EXEEXT)
++@COND_i386_xen_pvh_TRUE@am__append_3687 = 
++@COND_i386_xen_pvh_TRUE@am__append_3688 = $(nodist_linux_module_SOURCES)
++@COND_i386_xen_pvh_TRUE@am__append_3689 =  \
+ @COND_i386_xen_pvh_TRUE@      $(nodist_linux_module_SOURCES) \
+ @COND_i386_xen_pvh_TRUE@      linux.marker
+-@COND_i386_xen_pvh_TRUE@am__append_3697 = linux.mod
+-@COND_i386_xen_pvh_TRUE@am__append_3698 = linux.marker
+-@COND_mips_loongson_TRUE@am__append_3699 = linux.module
+-@COND_mips_loongson_TRUE@am__append_3700 = linux.module$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__append_3701 = 
+-@COND_mips_loongson_TRUE@am__append_3702 = $(nodist_linux_module_SOURCES)
+-@COND_mips_loongson_TRUE@am__append_3703 =  \
++@COND_i386_xen_pvh_TRUE@am__append_3690 = linux.mod
++@COND_i386_xen_pvh_TRUE@am__append_3691 = linux.marker
++@COND_mips_loongson_TRUE@am__append_3692 = linux.module
++@COND_mips_loongson_TRUE@am__append_3693 = linux.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__append_3694 = 
++@COND_mips_loongson_TRUE@am__append_3695 = $(nodist_linux_module_SOURCES)
++@COND_mips_loongson_TRUE@am__append_3696 =  \
+ @COND_mips_loongson_TRUE@     $(nodist_linux_module_SOURCES) \
+ @COND_mips_loongson_TRUE@     linux.marker
+-@COND_mips_loongson_TRUE@am__append_3704 = linux.mod
+-@COND_mips_loongson_TRUE@am__append_3705 = linux.marker
+-@COND_sparc64_ieee1275_TRUE@am__append_3706 = linux.module
+-@COND_sparc64_ieee1275_TRUE@am__append_3707 = linux.module$(EXEEXT)
+-@COND_sparc64_ieee1275_TRUE@am__append_3708 = 
+-@COND_sparc64_ieee1275_TRUE@am__append_3709 = $(nodist_linux_module_SOURCES)
+-@COND_sparc64_ieee1275_TRUE@am__append_3710 =  \
++@COND_mips_loongson_TRUE@am__append_3697 = linux.mod
++@COND_mips_loongson_TRUE@am__append_3698 = linux.marker
++@COND_sparc64_ieee1275_TRUE@am__append_3699 = linux.module
++@COND_sparc64_ieee1275_TRUE@am__append_3700 = linux.module$(EXEEXT)
++@COND_sparc64_ieee1275_TRUE@am__append_3701 = 
++@COND_sparc64_ieee1275_TRUE@am__append_3702 = $(nodist_linux_module_SOURCES)
++@COND_sparc64_ieee1275_TRUE@am__append_3703 =  \
+ @COND_sparc64_ieee1275_TRUE@  $(nodist_linux_module_SOURCES) \
+ @COND_sparc64_ieee1275_TRUE@  linux.marker
+-@COND_sparc64_ieee1275_TRUE@am__append_3711 = linux.mod
+-@COND_sparc64_ieee1275_TRUE@am__append_3712 = linux.marker
+-@COND_powerpc_ieee1275_TRUE@am__append_3713 = linux.module
+-@COND_powerpc_ieee1275_TRUE@am__append_3714 = linux.module$(EXEEXT)
+-@COND_powerpc_ieee1275_TRUE@am__append_3715 = 
+-@COND_powerpc_ieee1275_TRUE@am__append_3716 = $(nodist_linux_module_SOURCES)
+-@COND_powerpc_ieee1275_TRUE@am__append_3717 =  \
++@COND_sparc64_ieee1275_TRUE@am__append_3704 = linux.mod
++@COND_sparc64_ieee1275_TRUE@am__append_3705 = linux.marker
++@COND_powerpc_ieee1275_TRUE@am__append_3706 = linux.module
++@COND_powerpc_ieee1275_TRUE@am__append_3707 = linux.module$(EXEEXT)
++@COND_powerpc_ieee1275_TRUE@am__append_3708 = 
++@COND_powerpc_ieee1275_TRUE@am__append_3709 = $(nodist_linux_module_SOURCES)
++@COND_powerpc_ieee1275_TRUE@am__append_3710 =  \
+ @COND_powerpc_ieee1275_TRUE@  $(nodist_linux_module_SOURCES) \
+ @COND_powerpc_ieee1275_TRUE@  linux.marker
+-@COND_powerpc_ieee1275_TRUE@am__append_3718 = linux.mod
+-@COND_powerpc_ieee1275_TRUE@am__append_3719 = linux.marker
+-@COND_mips_arc_TRUE@am__append_3720 = linux.module
+-@COND_mips_arc_TRUE@am__append_3721 = linux.module$(EXEEXT)
+-@COND_mips_arc_TRUE@am__append_3722 = 
+-@COND_mips_arc_TRUE@am__append_3723 = $(nodist_linux_module_SOURCES)
+-@COND_mips_arc_TRUE@am__append_3724 = $(nodist_linux_module_SOURCES) \
++@COND_powerpc_ieee1275_TRUE@am__append_3711 = linux.mod
++@COND_powerpc_ieee1275_TRUE@am__append_3712 = linux.marker
++@COND_mips_arc_TRUE@am__append_3713 = linux.module
++@COND_mips_arc_TRUE@am__append_3714 = linux.module$(EXEEXT)
++@COND_mips_arc_TRUE@am__append_3715 = 
++@COND_mips_arc_TRUE@am__append_3716 = $(nodist_linux_module_SOURCES)
++@COND_mips_arc_TRUE@am__append_3717 = $(nodist_linux_module_SOURCES) \
+ @COND_mips_arc_TRUE@  linux.marker
+-@COND_mips_arc_TRUE@am__append_3725 = linux.mod
+-@COND_mips_arc_TRUE@am__append_3726 = linux.marker
+-@COND_ia64_efi_TRUE@am__append_3727 = linux.module
+-@COND_ia64_efi_TRUE@am__append_3728 = linux.module$(EXEEXT)
+-@COND_ia64_efi_TRUE@am__append_3729 = 
+-@COND_ia64_efi_TRUE@am__append_3730 = $(nodist_linux_module_SOURCES)
+-@COND_ia64_efi_TRUE@am__append_3731 = $(nodist_linux_module_SOURCES) \
++@COND_mips_arc_TRUE@am__append_3718 = linux.mod
++@COND_mips_arc_TRUE@am__append_3719 = linux.marker
++@COND_ia64_efi_TRUE@am__append_3720 = linux.module
++@COND_ia64_efi_TRUE@am__append_3721 = linux.module$(EXEEXT)
++@COND_ia64_efi_TRUE@am__append_3722 = 
++@COND_ia64_efi_TRUE@am__append_3723 = $(nodist_linux_module_SOURCES)
++@COND_ia64_efi_TRUE@am__append_3724 = $(nodist_linux_module_SOURCES) \
+ @COND_ia64_efi_TRUE@  linux.marker
+-@COND_ia64_efi_TRUE@am__append_3732 = linux.mod
+-@COND_ia64_efi_TRUE@am__append_3733 = linux.marker
+-@COND_mips_qemu_mips_TRUE@am__append_3734 = linux.module
+-@COND_mips_qemu_mips_TRUE@am__append_3735 = linux.module$(EXEEXT)
+-@COND_mips_qemu_mips_TRUE@am__append_3736 = 
+-@COND_mips_qemu_mips_TRUE@am__append_3737 = $(nodist_linux_module_SOURCES)
+-@COND_mips_qemu_mips_TRUE@am__append_3738 =  \
++@COND_ia64_efi_TRUE@am__append_3725 = linux.mod
++@COND_ia64_efi_TRUE@am__append_3726 = linux.marker
++@COND_mips_qemu_mips_TRUE@am__append_3727 = linux.module
++@COND_mips_qemu_mips_TRUE@am__append_3728 = linux.module$(EXEEXT)
++@COND_mips_qemu_mips_TRUE@am__append_3729 = 
++@COND_mips_qemu_mips_TRUE@am__append_3730 = $(nodist_linux_module_SOURCES)
++@COND_mips_qemu_mips_TRUE@am__append_3731 =  \
+ @COND_mips_qemu_mips_TRUE@    $(nodist_linux_module_SOURCES) \
+ @COND_mips_qemu_mips_TRUE@    linux.marker
+-@COND_mips_qemu_mips_TRUE@am__append_3739 = linux.mod
+-@COND_mips_qemu_mips_TRUE@am__append_3740 = linux.marker
+-@COND_arm_uboot_TRUE@am__append_3741 = linux.module
+-@COND_arm_uboot_TRUE@am__append_3742 = linux.module$(EXEEXT)
+-@COND_arm_uboot_TRUE@am__append_3743 = 
+-@COND_arm_uboot_TRUE@am__append_3744 = $(nodist_linux_module_SOURCES)
+-@COND_arm_uboot_TRUE@am__append_3745 = $(nodist_linux_module_SOURCES) \
++@COND_mips_qemu_mips_TRUE@am__append_3732 = linux.mod
++@COND_mips_qemu_mips_TRUE@am__append_3733 = linux.marker
++@COND_arm_uboot_TRUE@am__append_3734 = linux.module
++@COND_arm_uboot_TRUE@am__append_3735 = linux.module$(EXEEXT)
++@COND_arm_uboot_TRUE@am__append_3736 = 
++@COND_arm_uboot_TRUE@am__append_3737 = $(nodist_linux_module_SOURCES)
++@COND_arm_uboot_TRUE@am__append_3738 = $(nodist_linux_module_SOURCES) \
+ @COND_arm_uboot_TRUE@ linux.marker
+-@COND_arm_uboot_TRUE@am__append_3746 = linux.mod
+-@COND_arm_uboot_TRUE@am__append_3747 = linux.marker
+-@COND_arm_efi_TRUE@am__append_3748 = linux.module
+-@COND_arm_efi_TRUE@am__append_3749 = linux.module$(EXEEXT)
+-@COND_arm_efi_TRUE@am__append_3750 = 
+-@COND_arm_efi_TRUE@am__append_3751 = $(nodist_linux_module_SOURCES)
+-@COND_arm_efi_TRUE@am__append_3752 = $(nodist_linux_module_SOURCES) \
++@COND_arm_uboot_TRUE@am__append_3739 = linux.mod
++@COND_arm_uboot_TRUE@am__append_3740 = linux.marker
++@COND_arm_efi_TRUE@am__append_3741 = linux.module
++@COND_arm_efi_TRUE@am__append_3742 = linux.module$(EXEEXT)
++@COND_arm_efi_TRUE@am__append_3743 = 
++@COND_arm_efi_TRUE@am__append_3744 = $(nodist_linux_module_SOURCES)
++@COND_arm_efi_TRUE@am__append_3745 = $(nodist_linux_module_SOURCES) \
+ @COND_arm_efi_TRUE@   linux.marker
+-@COND_arm_efi_TRUE@am__append_3753 = linux.mod
+-@COND_arm_efi_TRUE@am__append_3754 = linux.marker
+-@COND_arm64_efi_TRUE@am__append_3755 = linux.module
+-@COND_arm64_efi_TRUE@am__append_3756 = linux.module$(EXEEXT)
+-@COND_arm64_efi_TRUE@am__append_3757 = 
+-@COND_arm64_efi_TRUE@am__append_3758 = $(nodist_linux_module_SOURCES)
+-@COND_arm64_efi_TRUE@am__append_3759 = $(nodist_linux_module_SOURCES) \
++@COND_arm_efi_TRUE@am__append_3746 = linux.mod
++@COND_arm_efi_TRUE@am__append_3747 = linux.marker
++@COND_arm64_efi_TRUE@am__append_3748 = linux.module
++@COND_arm64_efi_TRUE@am__append_3749 = linux.module$(EXEEXT)
++@COND_arm64_efi_TRUE@am__append_3750 = 
++@COND_arm64_efi_TRUE@am__append_3751 = $(nodist_linux_module_SOURCES)
++@COND_arm64_efi_TRUE@am__append_3752 = $(nodist_linux_module_SOURCES) \
+ @COND_arm64_efi_TRUE@ linux.marker
+-@COND_arm64_efi_TRUE@am__append_3760 = linux.mod
+-@COND_arm64_efi_TRUE@am__append_3761 = linux.marker
+-@COND_arm_coreboot_TRUE@am__append_3762 = linux.module
+-@COND_arm_coreboot_TRUE@am__append_3763 = linux.module$(EXEEXT)
+-@COND_arm_coreboot_TRUE@am__append_3764 = 
+-@COND_arm_coreboot_TRUE@am__append_3765 = $(nodist_linux_module_SOURCES)
+-@COND_arm_coreboot_TRUE@am__append_3766 =  \
++@COND_arm64_efi_TRUE@am__append_3753 = linux.mod
++@COND_arm64_efi_TRUE@am__append_3754 = linux.marker
++@COND_arm_coreboot_TRUE@am__append_3755 = linux.module
++@COND_arm_coreboot_TRUE@am__append_3756 = linux.module$(EXEEXT)
++@COND_arm_coreboot_TRUE@am__append_3757 = 
++@COND_arm_coreboot_TRUE@am__append_3758 = $(nodist_linux_module_SOURCES)
++@COND_arm_coreboot_TRUE@am__append_3759 =  \
+ @COND_arm_coreboot_TRUE@      $(nodist_linux_module_SOURCES) \
+ @COND_arm_coreboot_TRUE@      linux.marker
+-@COND_arm_coreboot_TRUE@am__append_3767 = linux.mod
+-@COND_arm_coreboot_TRUE@am__append_3768 = linux.marker
+-@COND_riscv32_efi_TRUE@am__append_3769 = linux.module
+-@COND_riscv32_efi_TRUE@am__append_3770 = linux.module$(EXEEXT)
+-@COND_riscv32_efi_TRUE@am__append_3771 = 
+-@COND_riscv32_efi_TRUE@am__append_3772 = $(nodist_linux_module_SOURCES)
+-@COND_riscv32_efi_TRUE@am__append_3773 =  \
++@COND_arm_coreboot_TRUE@am__append_3760 = linux.mod
++@COND_arm_coreboot_TRUE@am__append_3761 = linux.marker
++@COND_riscv32_efi_TRUE@am__append_3762 = linux.module
++@COND_riscv32_efi_TRUE@am__append_3763 = linux.module$(EXEEXT)
++@COND_riscv32_efi_TRUE@am__append_3764 = 
++@COND_riscv32_efi_TRUE@am__append_3765 = $(nodist_linux_module_SOURCES)
++@COND_riscv32_efi_TRUE@am__append_3766 =  \
+ @COND_riscv32_efi_TRUE@       $(nodist_linux_module_SOURCES) \
+ @COND_riscv32_efi_TRUE@       linux.marker
+-@COND_riscv32_efi_TRUE@am__append_3774 = linux.mod
+-@COND_riscv32_efi_TRUE@am__append_3775 = linux.marker
+-@COND_riscv64_efi_TRUE@am__append_3776 = linux.module
+-@COND_riscv64_efi_TRUE@am__append_3777 = linux.module$(EXEEXT)
+-@COND_riscv64_efi_TRUE@am__append_3778 = 
+-@COND_riscv64_efi_TRUE@am__append_3779 = $(nodist_linux_module_SOURCES)
+-@COND_riscv64_efi_TRUE@am__append_3780 =  \
++@COND_riscv32_efi_TRUE@am__append_3767 = linux.mod
++@COND_riscv32_efi_TRUE@am__append_3768 = linux.marker
++@COND_riscv64_efi_TRUE@am__append_3769 = linux.module
++@COND_riscv64_efi_TRUE@am__append_3770 = linux.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__append_3771 = 
++@COND_riscv64_efi_TRUE@am__append_3772 = $(nodist_linux_module_SOURCES)
++@COND_riscv64_efi_TRUE@am__append_3773 =  \
+ @COND_riscv64_efi_TRUE@       $(nodist_linux_module_SOURCES) \
+ @COND_riscv64_efi_TRUE@       linux.marker
+-@COND_riscv64_efi_TRUE@am__append_3781 = linux.mod
+-@COND_riscv64_efi_TRUE@am__append_3782 = linux.marker
+-@COND_arm_uboot_TRUE@am__append_3783 = fdt.module
+-@COND_arm_uboot_TRUE@am__append_3784 = fdt.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__append_3774 = linux.mod
++@COND_riscv64_efi_TRUE@am__append_3775 = linux.marker
++@COND_arm_uboot_TRUE@am__append_3776 = fdt.module
++@COND_arm_uboot_TRUE@am__append_3777 = fdt.module$(EXEEXT)
+ @COND_arm64_efi_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@fdt_module_DEPENDENCIES =
+-@COND_arm_uboot_TRUE@am__append_3785 = 
+-@COND_arm_uboot_TRUE@am__append_3786 = $(nodist_fdt_module_SOURCES)
+-@COND_arm_uboot_TRUE@am__append_3787 = $(nodist_fdt_module_SOURCES) \
++@COND_arm_uboot_TRUE@am__append_3778 = 
++@COND_arm_uboot_TRUE@am__append_3779 = $(nodist_fdt_module_SOURCES)
++@COND_arm_uboot_TRUE@am__append_3780 = $(nodist_fdt_module_SOURCES) \
+ @COND_arm_uboot_TRUE@ fdt.marker
+-@COND_arm_uboot_TRUE@am__append_3788 = fdt.mod
+-@COND_arm_uboot_TRUE@am__append_3789 = fdt.marker
+-@COND_arm_efi_TRUE@am__append_3790 = fdt.module
+-@COND_arm_efi_TRUE@am__append_3791 = fdt.module$(EXEEXT)
+-@COND_arm_efi_TRUE@am__append_3792 = 
+-@COND_arm_efi_TRUE@am__append_3793 = $(nodist_fdt_module_SOURCES)
+-@COND_arm_efi_TRUE@am__append_3794 = $(nodist_fdt_module_SOURCES) \
++@COND_arm_uboot_TRUE@am__append_3781 = fdt.mod
++@COND_arm_uboot_TRUE@am__append_3782 = fdt.marker
++@COND_arm_efi_TRUE@am__append_3783 = fdt.module
++@COND_arm_efi_TRUE@am__append_3784 = fdt.module$(EXEEXT)
++@COND_arm_efi_TRUE@am__append_3785 = 
++@COND_arm_efi_TRUE@am__append_3786 = $(nodist_fdt_module_SOURCES)
++@COND_arm_efi_TRUE@am__append_3787 = $(nodist_fdt_module_SOURCES) \
+ @COND_arm_efi_TRUE@   fdt.marker
+-@COND_arm_efi_TRUE@am__append_3795 = fdt.mod
+-@COND_arm_efi_TRUE@am__append_3796 = fdt.marker
+-@COND_arm64_efi_TRUE@am__append_3797 = fdt.module
+-@COND_arm64_efi_TRUE@am__append_3798 = fdt.module$(EXEEXT)
+-@COND_arm64_efi_TRUE@am__append_3799 = 
+-@COND_arm64_efi_TRUE@am__append_3800 = $(nodist_fdt_module_SOURCES)
+-@COND_arm64_efi_TRUE@am__append_3801 = $(nodist_fdt_module_SOURCES) \
++@COND_arm_efi_TRUE@am__append_3788 = fdt.mod
++@COND_arm_efi_TRUE@am__append_3789 = fdt.marker
++@COND_arm64_efi_TRUE@am__append_3790 = fdt.module
++@COND_arm64_efi_TRUE@am__append_3791 = fdt.module$(EXEEXT)
++@COND_arm64_efi_TRUE@am__append_3792 = 
++@COND_arm64_efi_TRUE@am__append_3793 = $(nodist_fdt_module_SOURCES)
++@COND_arm64_efi_TRUE@am__append_3794 = $(nodist_fdt_module_SOURCES) \
+ @COND_arm64_efi_TRUE@ fdt.marker
+-@COND_arm64_efi_TRUE@am__append_3802 = fdt.mod
+-@COND_arm64_efi_TRUE@am__append_3803 = fdt.marker
+-@COND_riscv32_efi_TRUE@am__append_3804 = fdt.module
+-@COND_riscv32_efi_TRUE@am__append_3805 = fdt.module$(EXEEXT)
+-@COND_riscv32_efi_TRUE@am__append_3806 = 
+-@COND_riscv32_efi_TRUE@am__append_3807 = $(nodist_fdt_module_SOURCES)
+-@COND_riscv32_efi_TRUE@am__append_3808 = $(nodist_fdt_module_SOURCES) \
++@COND_arm64_efi_TRUE@am__append_3795 = fdt.mod
++@COND_arm64_efi_TRUE@am__append_3796 = fdt.marker
++@COND_riscv32_efi_TRUE@am__append_3797 = fdt.module
++@COND_riscv32_efi_TRUE@am__append_3798 = fdt.module$(EXEEXT)
++@COND_riscv32_efi_TRUE@am__append_3799 = 
++@COND_riscv32_efi_TRUE@am__append_3800 = $(nodist_fdt_module_SOURCES)
++@COND_riscv32_efi_TRUE@am__append_3801 = $(nodist_fdt_module_SOURCES) \
+ @COND_riscv32_efi_TRUE@       fdt.marker
+-@COND_riscv32_efi_TRUE@am__append_3809 = fdt.mod
+-@COND_riscv32_efi_TRUE@am__append_3810 = fdt.marker
+-@COND_riscv64_efi_TRUE@am__append_3811 = fdt.module
+-@COND_riscv64_efi_TRUE@am__append_3812 = fdt.module$(EXEEXT)
+-@COND_riscv64_efi_TRUE@am__append_3813 = 
+-@COND_riscv64_efi_TRUE@am__append_3814 = $(nodist_fdt_module_SOURCES)
+-@COND_riscv64_efi_TRUE@am__append_3815 = $(nodist_fdt_module_SOURCES) \
++@COND_riscv32_efi_TRUE@am__append_3802 = fdt.mod
++@COND_riscv32_efi_TRUE@am__append_3803 = fdt.marker
++@COND_riscv64_efi_TRUE@am__append_3804 = fdt.module
++@COND_riscv64_efi_TRUE@am__append_3805 = fdt.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__append_3806 = 
++@COND_riscv64_efi_TRUE@am__append_3807 = $(nodist_fdt_module_SOURCES)
++@COND_riscv64_efi_TRUE@am__append_3808 = $(nodist_fdt_module_SOURCES) \
+ @COND_riscv64_efi_TRUE@       fdt.marker
+-@COND_riscv64_efi_TRUE@am__append_3816 = fdt.mod
+-@COND_riscv64_efi_TRUE@am__append_3817 = fdt.marker
+-@COND_i386_pc_TRUE@am__append_3818 = xnu.module
+-@COND_i386_pc_TRUE@am__append_3819 = xnu.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__append_3809 = fdt.mod
++@COND_riscv64_efi_TRUE@am__append_3810 = fdt.marker
++@COND_i386_pc_TRUE@am__append_3811 = xnu.module
++@COND_i386_pc_TRUE@am__append_3812 = xnu.module$(EXEEXT)
+ @COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_x86_64_efi_FALSE@xnu_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_3820 = 
+-@COND_i386_pc_TRUE@am__append_3821 = $(nodist_xnu_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_3822 = $(nodist_xnu_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_3813 = 
++@COND_i386_pc_TRUE@am__append_3814 = $(nodist_xnu_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_3815 = $(nodist_xnu_module_SOURCES) \
+ @COND_i386_pc_TRUE@   xnu.marker
+-@COND_i386_pc_TRUE@am__append_3823 = xnu.mod
+-@COND_i386_pc_TRUE@am__append_3824 = xnu.marker
+-@COND_i386_efi_TRUE@am__append_3825 = xnu.module
+-@COND_i386_efi_TRUE@am__append_3826 = xnu.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_3827 = 
+-@COND_i386_efi_TRUE@am__append_3828 = $(nodist_xnu_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_3829 = $(nodist_xnu_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_3816 = xnu.mod
++@COND_i386_pc_TRUE@am__append_3817 = xnu.marker
++@COND_i386_efi_TRUE@am__append_3818 = xnu.module
++@COND_i386_efi_TRUE@am__append_3819 = xnu.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_3820 = 
++@COND_i386_efi_TRUE@am__append_3821 = $(nodist_xnu_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_3822 = $(nodist_xnu_module_SOURCES) \
+ @COND_i386_efi_TRUE@  xnu.marker
+-@COND_i386_efi_TRUE@am__append_3830 = xnu.mod
+-@COND_i386_efi_TRUE@am__append_3831 = xnu.marker
+-@COND_i386_coreboot_TRUE@am__append_3832 = xnu.module
+-@COND_i386_coreboot_TRUE@am__append_3833 = xnu.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_3834 = 
+-@COND_i386_coreboot_TRUE@am__append_3835 = $(nodist_xnu_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_3836 =  \
++@COND_i386_efi_TRUE@am__append_3823 = xnu.mod
++@COND_i386_efi_TRUE@am__append_3824 = xnu.marker
++@COND_i386_coreboot_TRUE@am__append_3825 = xnu.module
++@COND_i386_coreboot_TRUE@am__append_3826 = xnu.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_3827 = 
++@COND_i386_coreboot_TRUE@am__append_3828 = $(nodist_xnu_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_3829 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_xnu_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     xnu.marker
+-@COND_i386_coreboot_TRUE@am__append_3837 = xnu.mod
+-@COND_i386_coreboot_TRUE@am__append_3838 = xnu.marker
+-@COND_i386_multiboot_TRUE@am__append_3839 = xnu.module
+-@COND_i386_multiboot_TRUE@am__append_3840 = xnu.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_3841 = 
+-@COND_i386_multiboot_TRUE@am__append_3842 = $(nodist_xnu_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_3843 =  \
++@COND_i386_coreboot_TRUE@am__append_3830 = xnu.mod
++@COND_i386_coreboot_TRUE@am__append_3831 = xnu.marker
++@COND_i386_multiboot_TRUE@am__append_3832 = xnu.module
++@COND_i386_multiboot_TRUE@am__append_3833 = xnu.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_3834 = 
++@COND_i386_multiboot_TRUE@am__append_3835 = $(nodist_xnu_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_3836 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_xnu_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    xnu.marker
+-@COND_i386_multiboot_TRUE@am__append_3844 = xnu.mod
+-@COND_i386_multiboot_TRUE@am__append_3845 = xnu.marker
+-@COND_x86_64_efi_TRUE@am__append_3846 = xnu.module
+-@COND_x86_64_efi_TRUE@am__append_3847 = xnu.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_3848 = 
+-@COND_x86_64_efi_TRUE@am__append_3849 = $(nodist_xnu_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_3850 = $(nodist_xnu_module_SOURCES) \
++@COND_i386_multiboot_TRUE@am__append_3837 = xnu.mod
++@COND_i386_multiboot_TRUE@am__append_3838 = xnu.marker
++@COND_x86_64_efi_TRUE@am__append_3839 = xnu.module
++@COND_x86_64_efi_TRUE@am__append_3840 = xnu.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_3841 = 
++@COND_x86_64_efi_TRUE@am__append_3842 = $(nodist_xnu_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_3843 = $(nodist_xnu_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        xnu.marker
+-@COND_x86_64_efi_TRUE@am__append_3851 = xnu.mod
+-@COND_x86_64_efi_TRUE@am__append_3852 = xnu.marker
+-@COND_i386_pc_TRUE@am__append_3853 = random.module
+-@COND_i386_pc_TRUE@am__append_3854 = random.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_3844 = xnu.mod
++@COND_x86_64_efi_TRUE@am__append_3845 = xnu.marker
++@COND_i386_pc_TRUE@am__append_3846 = random.module
++@COND_i386_pc_TRUE@am__append_3847 = random.module$(EXEEXT)
+ @COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_x86_64_efi_FALSE@random_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_3855 = 
+-@COND_i386_pc_TRUE@am__append_3856 = $(nodist_random_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_3857 = $(nodist_random_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_3848 = 
++@COND_i386_pc_TRUE@am__append_3849 = $(nodist_random_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_3850 = $(nodist_random_module_SOURCES) \
+ @COND_i386_pc_TRUE@   random.marker
+-@COND_i386_pc_TRUE@am__append_3858 = random.mod
+-@COND_i386_pc_TRUE@am__append_3859 = random.marker
+-@COND_i386_efi_TRUE@am__append_3860 = random.module
+-@COND_i386_efi_TRUE@am__append_3861 = random.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_3862 = 
+-@COND_i386_efi_TRUE@am__append_3863 = $(nodist_random_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_3864 = $(nodist_random_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_3851 = random.mod
++@COND_i386_pc_TRUE@am__append_3852 = random.marker
++@COND_i386_efi_TRUE@am__append_3853 = random.module
++@COND_i386_efi_TRUE@am__append_3854 = random.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_3855 = 
++@COND_i386_efi_TRUE@am__append_3856 = $(nodist_random_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_3857 = $(nodist_random_module_SOURCES) \
+ @COND_i386_efi_TRUE@  random.marker
+-@COND_i386_efi_TRUE@am__append_3865 = random.mod
+-@COND_i386_efi_TRUE@am__append_3866 = random.marker
+-@COND_i386_coreboot_TRUE@am__append_3867 = random.module
+-@COND_i386_coreboot_TRUE@am__append_3868 = random.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_3869 = 
+-@COND_i386_coreboot_TRUE@am__append_3870 = $(nodist_random_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_3871 =  \
++@COND_i386_efi_TRUE@am__append_3858 = random.mod
++@COND_i386_efi_TRUE@am__append_3859 = random.marker
++@COND_i386_coreboot_TRUE@am__append_3860 = random.module
++@COND_i386_coreboot_TRUE@am__append_3861 = random.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_3862 = 
++@COND_i386_coreboot_TRUE@am__append_3863 = $(nodist_random_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_3864 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_random_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     random.marker
+-@COND_i386_coreboot_TRUE@am__append_3872 = random.mod
+-@COND_i386_coreboot_TRUE@am__append_3873 = random.marker
+-@COND_i386_multiboot_TRUE@am__append_3874 = random.module
+-@COND_i386_multiboot_TRUE@am__append_3875 = random.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_3876 = 
+-@COND_i386_multiboot_TRUE@am__append_3877 = $(nodist_random_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_3878 =  \
++@COND_i386_coreboot_TRUE@am__append_3865 = random.mod
++@COND_i386_coreboot_TRUE@am__append_3866 = random.marker
++@COND_i386_multiboot_TRUE@am__append_3867 = random.module
++@COND_i386_multiboot_TRUE@am__append_3868 = random.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_3869 = 
++@COND_i386_multiboot_TRUE@am__append_3870 = $(nodist_random_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_3871 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_random_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    random.marker
+-@COND_i386_multiboot_TRUE@am__append_3879 = random.mod
+-@COND_i386_multiboot_TRUE@am__append_3880 = random.marker
+-@COND_x86_64_efi_TRUE@am__append_3881 = random.module
+-@COND_x86_64_efi_TRUE@am__append_3882 = random.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_3883 = 
+-@COND_x86_64_efi_TRUE@am__append_3884 = $(nodist_random_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_3885 =  \
++@COND_i386_multiboot_TRUE@am__append_3872 = random.mod
++@COND_i386_multiboot_TRUE@am__append_3873 = random.marker
++@COND_x86_64_efi_TRUE@am__append_3874 = random.module
++@COND_x86_64_efi_TRUE@am__append_3875 = random.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_3876 = 
++@COND_x86_64_efi_TRUE@am__append_3877 = $(nodist_random_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_3878 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_random_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        random.marker
+-@COND_x86_64_efi_TRUE@am__append_3886 = random.mod
+-@COND_x86_64_efi_TRUE@am__append_3887 = random.marker
+-@COND_i386_efi_TRUE@am__append_3888 = appleldr.module
+-@COND_i386_efi_TRUE@am__append_3889 = appleldr.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_3879 = random.mod
++@COND_x86_64_efi_TRUE@am__append_3880 = random.marker
++@COND_i386_efi_TRUE@am__append_3881 = appleldr.module
++@COND_i386_efi_TRUE@am__append_3882 = appleldr.module$(EXEEXT)
+ @COND_i386_efi_FALSE@@COND_x86_64_efi_FALSE@appleldr_module_DEPENDENCIES =
+-@COND_i386_efi_TRUE@am__append_3890 = 
+-@COND_i386_efi_TRUE@am__append_3891 = $(nodist_appleldr_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_3892 =  \
++@COND_i386_efi_TRUE@am__append_3883 = 
++@COND_i386_efi_TRUE@am__append_3884 = $(nodist_appleldr_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_3885 =  \
+ @COND_i386_efi_TRUE@  $(nodist_appleldr_module_SOURCES) \
+ @COND_i386_efi_TRUE@  appleldr.marker
+-@COND_i386_efi_TRUE@am__append_3893 = appleldr.mod
+-@COND_i386_efi_TRUE@am__append_3894 = appleldr.marker
+-@COND_x86_64_efi_TRUE@am__append_3895 = appleldr.module
+-@COND_x86_64_efi_TRUE@am__append_3896 = appleldr.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_3897 = 
+-@COND_x86_64_efi_TRUE@am__append_3898 = $(nodist_appleldr_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_3899 =  \
++@COND_i386_efi_TRUE@am__append_3886 = appleldr.mod
++@COND_i386_efi_TRUE@am__append_3887 = appleldr.marker
++@COND_x86_64_efi_TRUE@am__append_3888 = appleldr.module
++@COND_x86_64_efi_TRUE@am__append_3889 = appleldr.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_3890 = 
++@COND_x86_64_efi_TRUE@am__append_3891 = $(nodist_appleldr_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_3892 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_appleldr_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        appleldr.marker
+-@COND_x86_64_efi_TRUE@am__append_3900 = appleldr.mod
+-@COND_x86_64_efi_TRUE@am__append_3901 = appleldr.marker
+-@COND_i386_pc_TRUE@am__append_3902 = chain.module
+-@COND_i386_pc_TRUE@am__append_3903 = chain.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_3893 = appleldr.mod
++@COND_x86_64_efi_TRUE@am__append_3894 = appleldr.marker
++@COND_i386_pc_TRUE@am__append_3895 = chain.module
++@COND_i386_pc_TRUE@am__append_3896 = chain.module$(EXEEXT)
+ @COND_arm64_efi_FALSE@@COND_arm_efi_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_pc_FALSE@@COND_ia64_efi_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_x86_64_efi_FALSE@chain_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_3904 = 
+-@COND_i386_pc_TRUE@am__append_3905 = $(nodist_chain_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_3906 = $(nodist_chain_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_3897 = 
++@COND_i386_pc_TRUE@am__append_3898 = $(nodist_chain_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_3899 = $(nodist_chain_module_SOURCES) \
+ @COND_i386_pc_TRUE@   chain.marker
+-@COND_i386_pc_TRUE@am__append_3907 = chain.mod
+-@COND_i386_pc_TRUE@am__append_3908 = chain.marker
+-@COND_i386_efi_TRUE@am__append_3909 = chain.module
+-@COND_i386_efi_TRUE@am__append_3910 = chain.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_3911 = 
+-@COND_i386_efi_TRUE@am__append_3912 = $(nodist_chain_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_3913 = $(nodist_chain_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_3900 = chain.mod
++@COND_i386_pc_TRUE@am__append_3901 = chain.marker
++@COND_i386_efi_TRUE@am__append_3902 = chain.module
++@COND_i386_efi_TRUE@am__append_3903 = chain.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_3904 = 
++@COND_i386_efi_TRUE@am__append_3905 = $(nodist_chain_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_3906 = $(nodist_chain_module_SOURCES) \
+ @COND_i386_efi_TRUE@  chain.marker
+-@COND_i386_efi_TRUE@am__append_3914 = chain.mod
+-@COND_i386_efi_TRUE@am__append_3915 = chain.marker
+-@COND_i386_coreboot_TRUE@am__append_3916 = chain.module
+-@COND_i386_coreboot_TRUE@am__append_3917 = chain.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_3918 = 
+-@COND_i386_coreboot_TRUE@am__append_3919 = $(nodist_chain_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_3920 =  \
++@COND_i386_efi_TRUE@am__append_3907 = chain.mod
++@COND_i386_efi_TRUE@am__append_3908 = chain.marker
++@COND_i386_coreboot_TRUE@am__append_3909 = chain.module
++@COND_i386_coreboot_TRUE@am__append_3910 = chain.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_3911 = 
++@COND_i386_coreboot_TRUE@am__append_3912 = $(nodist_chain_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_3913 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_chain_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     chain.marker
+-@COND_i386_coreboot_TRUE@am__append_3921 = chain.mod
+-@COND_i386_coreboot_TRUE@am__append_3922 = chain.marker
+-@COND_x86_64_efi_TRUE@am__append_3923 = chain.module
+-@COND_x86_64_efi_TRUE@am__append_3924 = chain.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_3925 = 
+-@COND_x86_64_efi_TRUE@am__append_3926 = $(nodist_chain_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_3927 =  \
++@COND_i386_coreboot_TRUE@am__append_3914 = chain.mod
++@COND_i386_coreboot_TRUE@am__append_3915 = chain.marker
++@COND_x86_64_efi_TRUE@am__append_3916 = chain.module
++@COND_x86_64_efi_TRUE@am__append_3917 = chain.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_3918 = 
++@COND_x86_64_efi_TRUE@am__append_3919 = $(nodist_chain_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_3920 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_chain_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        chain.marker
+-@COND_x86_64_efi_TRUE@am__append_3928 = chain.mod
+-@COND_x86_64_efi_TRUE@am__append_3929 = chain.marker
+-@COND_ia64_efi_TRUE@am__append_3930 = chain.module
+-@COND_ia64_efi_TRUE@am__append_3931 = chain.module$(EXEEXT)
+-@COND_ia64_efi_TRUE@am__append_3932 = 
+-@COND_ia64_efi_TRUE@am__append_3933 = $(nodist_chain_module_SOURCES)
+-@COND_ia64_efi_TRUE@am__append_3934 = $(nodist_chain_module_SOURCES) \
++@COND_x86_64_efi_TRUE@am__append_3921 = chain.mod
++@COND_x86_64_efi_TRUE@am__append_3922 = chain.marker
++@COND_ia64_efi_TRUE@am__append_3923 = chain.module
++@COND_ia64_efi_TRUE@am__append_3924 = chain.module$(EXEEXT)
++@COND_ia64_efi_TRUE@am__append_3925 = 
++@COND_ia64_efi_TRUE@am__append_3926 = $(nodist_chain_module_SOURCES)
++@COND_ia64_efi_TRUE@am__append_3927 = $(nodist_chain_module_SOURCES) \
+ @COND_ia64_efi_TRUE@  chain.marker
+-@COND_ia64_efi_TRUE@am__append_3935 = chain.mod
+-@COND_ia64_efi_TRUE@am__append_3936 = chain.marker
+-@COND_arm_efi_TRUE@am__append_3937 = chain.module
+-@COND_arm_efi_TRUE@am__append_3938 = chain.module$(EXEEXT)
+-@COND_arm_efi_TRUE@am__append_3939 = 
+-@COND_arm_efi_TRUE@am__append_3940 = $(nodist_chain_module_SOURCES)
+-@COND_arm_efi_TRUE@am__append_3941 = $(nodist_chain_module_SOURCES) \
++@COND_ia64_efi_TRUE@am__append_3928 = chain.mod
++@COND_ia64_efi_TRUE@am__append_3929 = chain.marker
++@COND_arm_efi_TRUE@am__append_3930 = chain.module
++@COND_arm_efi_TRUE@am__append_3931 = chain.module$(EXEEXT)
++@COND_arm_efi_TRUE@am__append_3932 = 
++@COND_arm_efi_TRUE@am__append_3933 = $(nodist_chain_module_SOURCES)
++@COND_arm_efi_TRUE@am__append_3934 = $(nodist_chain_module_SOURCES) \
+ @COND_arm_efi_TRUE@   chain.marker
+-@COND_arm_efi_TRUE@am__append_3942 = chain.mod
+-@COND_arm_efi_TRUE@am__append_3943 = chain.marker
+-@COND_arm64_efi_TRUE@am__append_3944 = chain.module
+-@COND_arm64_efi_TRUE@am__append_3945 = chain.module$(EXEEXT)
+-@COND_arm64_efi_TRUE@am__append_3946 = 
+-@COND_arm64_efi_TRUE@am__append_3947 = $(nodist_chain_module_SOURCES)
+-@COND_arm64_efi_TRUE@am__append_3948 = $(nodist_chain_module_SOURCES) \
++@COND_arm_efi_TRUE@am__append_3935 = chain.mod
++@COND_arm_efi_TRUE@am__append_3936 = chain.marker
++@COND_arm64_efi_TRUE@am__append_3937 = chain.module
++@COND_arm64_efi_TRUE@am__append_3938 = chain.module$(EXEEXT)
++@COND_arm64_efi_TRUE@am__append_3939 = 
++@COND_arm64_efi_TRUE@am__append_3940 = $(nodist_chain_module_SOURCES)
++@COND_arm64_efi_TRUE@am__append_3941 = $(nodist_chain_module_SOURCES) \
+ @COND_arm64_efi_TRUE@ chain.marker
+-@COND_arm64_efi_TRUE@am__append_3949 = chain.mod
+-@COND_arm64_efi_TRUE@am__append_3950 = chain.marker
+-@COND_riscv32_efi_TRUE@am__append_3951 = chain.module
+-@COND_riscv32_efi_TRUE@am__append_3952 = chain.module$(EXEEXT)
+-@COND_riscv32_efi_TRUE@am__append_3953 = 
+-@COND_riscv32_efi_TRUE@am__append_3954 = $(nodist_chain_module_SOURCES)
+-@COND_riscv32_efi_TRUE@am__append_3955 =  \
++@COND_arm64_efi_TRUE@am__append_3942 = chain.mod
++@COND_arm64_efi_TRUE@am__append_3943 = chain.marker
++@COND_riscv32_efi_TRUE@am__append_3944 = chain.module
++@COND_riscv32_efi_TRUE@am__append_3945 = chain.module$(EXEEXT)
++@COND_riscv32_efi_TRUE@am__append_3946 = 
++@COND_riscv32_efi_TRUE@am__append_3947 = $(nodist_chain_module_SOURCES)
++@COND_riscv32_efi_TRUE@am__append_3948 =  \
+ @COND_riscv32_efi_TRUE@       $(nodist_chain_module_SOURCES) \
+ @COND_riscv32_efi_TRUE@       chain.marker
+-@COND_riscv32_efi_TRUE@am__append_3956 = chain.mod
+-@COND_riscv32_efi_TRUE@am__append_3957 = chain.marker
+-@COND_riscv64_efi_TRUE@am__append_3958 = chain.module
+-@COND_riscv64_efi_TRUE@am__append_3959 = chain.module$(EXEEXT)
+-@COND_riscv64_efi_TRUE@am__append_3960 = 
+-@COND_riscv64_efi_TRUE@am__append_3961 = $(nodist_chain_module_SOURCES)
+-@COND_riscv64_efi_TRUE@am__append_3962 =  \
++@COND_riscv32_efi_TRUE@am__append_3949 = chain.mod
++@COND_riscv32_efi_TRUE@am__append_3950 = chain.marker
++@COND_riscv64_efi_TRUE@am__append_3951 = chain.module
++@COND_riscv64_efi_TRUE@am__append_3952 = chain.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__append_3953 = 
++@COND_riscv64_efi_TRUE@am__append_3954 = $(nodist_chain_module_SOURCES)
++@COND_riscv64_efi_TRUE@am__append_3955 =  \
+ @COND_riscv64_efi_TRUE@       $(nodist_chain_module_SOURCES) \
+ @COND_riscv64_efi_TRUE@       chain.marker
+-@COND_riscv64_efi_TRUE@am__append_3963 = chain.mod
+-@COND_riscv64_efi_TRUE@am__append_3964 = chain.marker
+-@COND_i386_pc_TRUE@am__append_3965 = mmap.module
+-@COND_i386_pc_TRUE@am__append_3966 = mmap.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__append_3956 = chain.mod
++@COND_riscv64_efi_TRUE@am__append_3957 = chain.marker
++@COND_i386_pc_TRUE@am__append_3958 = mmap.module
++@COND_i386_pc_TRUE@am__append_3959 = mmap.module$(EXEEXT)
+ @COND_arm64_efi_FALSE@@COND_arm_efi_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_pvh_FALSE@@COND_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_x86_64_efi_FALSE@mmap_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_3967 = 
+-@COND_i386_pc_TRUE@am__append_3968 = $(nodist_mmap_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_3969 = $(nodist_mmap_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_3960 = 
++@COND_i386_pc_TRUE@am__append_3961 = $(nodist_mmap_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_3962 = $(nodist_mmap_module_SOURCES) \
+ @COND_i386_pc_TRUE@   mmap.marker
+-@COND_i386_pc_TRUE@am__append_3970 = mmap.mod
+-@COND_i386_pc_TRUE@am__append_3971 = mmap.marker
+-@COND_i386_efi_TRUE@am__append_3972 = mmap.module
+-@COND_i386_efi_TRUE@am__append_3973 = mmap.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_3974 = 
+-@COND_i386_efi_TRUE@am__append_3975 = $(nodist_mmap_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_3976 = $(nodist_mmap_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_3963 = mmap.mod
++@COND_i386_pc_TRUE@am__append_3964 = mmap.marker
++@COND_i386_efi_TRUE@am__append_3965 = mmap.module
++@COND_i386_efi_TRUE@am__append_3966 = mmap.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_3967 = 
++@COND_i386_efi_TRUE@am__append_3968 = $(nodist_mmap_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_3969 = $(nodist_mmap_module_SOURCES) \
+ @COND_i386_efi_TRUE@  mmap.marker
+-@COND_i386_efi_TRUE@am__append_3977 = mmap.mod
+-@COND_i386_efi_TRUE@am__append_3978 = mmap.marker
+-@COND_i386_qemu_TRUE@am__append_3979 = mmap.module
+-@COND_i386_qemu_TRUE@am__append_3980 = mmap.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_3981 = 
+-@COND_i386_qemu_TRUE@am__append_3982 = $(nodist_mmap_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_3983 = $(nodist_mmap_module_SOURCES) \
++@COND_i386_efi_TRUE@am__append_3970 = mmap.mod
++@COND_i386_efi_TRUE@am__append_3971 = mmap.marker
++@COND_i386_qemu_TRUE@am__append_3972 = mmap.module
++@COND_i386_qemu_TRUE@am__append_3973 = mmap.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_3974 = 
++@COND_i386_qemu_TRUE@am__append_3975 = $(nodist_mmap_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_3976 = $(nodist_mmap_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ mmap.marker
+-@COND_i386_qemu_TRUE@am__append_3984 = mmap.mod
+-@COND_i386_qemu_TRUE@am__append_3985 = mmap.marker
+-@COND_i386_coreboot_TRUE@am__append_3986 = mmap.module
+-@COND_i386_coreboot_TRUE@am__append_3987 = mmap.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_3988 = 
+-@COND_i386_coreboot_TRUE@am__append_3989 = $(nodist_mmap_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_3990 =  \
++@COND_i386_qemu_TRUE@am__append_3977 = mmap.mod
++@COND_i386_qemu_TRUE@am__append_3978 = mmap.marker
++@COND_i386_coreboot_TRUE@am__append_3979 = mmap.module
++@COND_i386_coreboot_TRUE@am__append_3980 = mmap.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_3981 = 
++@COND_i386_coreboot_TRUE@am__append_3982 = $(nodist_mmap_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_3983 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_mmap_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     mmap.marker
+-@COND_i386_coreboot_TRUE@am__append_3991 = mmap.mod
+-@COND_i386_coreboot_TRUE@am__append_3992 = mmap.marker
+-@COND_i386_multiboot_TRUE@am__append_3993 = mmap.module
+-@COND_i386_multiboot_TRUE@am__append_3994 = mmap.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_3995 = 
+-@COND_i386_multiboot_TRUE@am__append_3996 = $(nodist_mmap_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_3997 =  \
++@COND_i386_coreboot_TRUE@am__append_3984 = mmap.mod
++@COND_i386_coreboot_TRUE@am__append_3985 = mmap.marker
++@COND_i386_multiboot_TRUE@am__append_3986 = mmap.module
++@COND_i386_multiboot_TRUE@am__append_3987 = mmap.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_3988 = 
++@COND_i386_multiboot_TRUE@am__append_3989 = $(nodist_mmap_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_3990 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_mmap_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    mmap.marker
+-@COND_i386_multiboot_TRUE@am__append_3998 = mmap.mod
+-@COND_i386_multiboot_TRUE@am__append_3999 = mmap.marker
+-@COND_i386_ieee1275_TRUE@am__append_4000 = mmap.module
+-@COND_i386_ieee1275_TRUE@am__append_4001 = mmap.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_4002 = 
+-@COND_i386_ieee1275_TRUE@am__append_4003 = $(nodist_mmap_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_4004 =  \
++@COND_i386_multiboot_TRUE@am__append_3991 = mmap.mod
++@COND_i386_multiboot_TRUE@am__append_3992 = mmap.marker
++@COND_i386_ieee1275_TRUE@am__append_3993 = mmap.module
++@COND_i386_ieee1275_TRUE@am__append_3994 = mmap.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_3995 = 
++@COND_i386_ieee1275_TRUE@am__append_3996 = $(nodist_mmap_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_3997 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_mmap_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     mmap.marker
+-@COND_i386_ieee1275_TRUE@am__append_4005 = mmap.mod
+-@COND_i386_ieee1275_TRUE@am__append_4006 = mmap.marker
+-@COND_x86_64_efi_TRUE@am__append_4007 = mmap.module
+-@COND_x86_64_efi_TRUE@am__append_4008 = mmap.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_4009 = 
+-@COND_x86_64_efi_TRUE@am__append_4010 = $(nodist_mmap_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_4011 = $(nodist_mmap_module_SOURCES) \
++@COND_i386_ieee1275_TRUE@am__append_3998 = mmap.mod
++@COND_i386_ieee1275_TRUE@am__append_3999 = mmap.marker
++@COND_x86_64_efi_TRUE@am__append_4000 = mmap.module
++@COND_x86_64_efi_TRUE@am__append_4001 = mmap.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_4002 = 
++@COND_x86_64_efi_TRUE@am__append_4003 = $(nodist_mmap_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_4004 = $(nodist_mmap_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        mmap.marker
+-@COND_x86_64_efi_TRUE@am__append_4012 = mmap.mod
+-@COND_x86_64_efi_TRUE@am__append_4013 = mmap.marker
+-@COND_i386_xen_pvh_TRUE@am__append_4014 = mmap.module
+-@COND_i386_xen_pvh_TRUE@am__append_4015 = mmap.module$(EXEEXT)
+-@COND_i386_xen_pvh_TRUE@am__append_4016 = 
+-@COND_i386_xen_pvh_TRUE@am__append_4017 = $(nodist_mmap_module_SOURCES)
+-@COND_i386_xen_pvh_TRUE@am__append_4018 =  \
++@COND_x86_64_efi_TRUE@am__append_4005 = mmap.mod
++@COND_x86_64_efi_TRUE@am__append_4006 = mmap.marker
++@COND_i386_xen_pvh_TRUE@am__append_4007 = mmap.module
++@COND_i386_xen_pvh_TRUE@am__append_4008 = mmap.module$(EXEEXT)
++@COND_i386_xen_pvh_TRUE@am__append_4009 = 
++@COND_i386_xen_pvh_TRUE@am__append_4010 = $(nodist_mmap_module_SOURCES)
++@COND_i386_xen_pvh_TRUE@am__append_4011 =  \
+ @COND_i386_xen_pvh_TRUE@      $(nodist_mmap_module_SOURCES) \
+ @COND_i386_xen_pvh_TRUE@      mmap.marker
+-@COND_i386_xen_pvh_TRUE@am__append_4019 = mmap.mod
+-@COND_i386_xen_pvh_TRUE@am__append_4020 = mmap.marker
+-@COND_mips_loongson_TRUE@am__append_4021 = mmap.module
+-@COND_mips_loongson_TRUE@am__append_4022 = mmap.module$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__append_4023 = 
+-@COND_mips_loongson_TRUE@am__append_4024 = $(nodist_mmap_module_SOURCES)
+-@COND_mips_loongson_TRUE@am__append_4025 =  \
++@COND_i386_xen_pvh_TRUE@am__append_4012 = mmap.mod
++@COND_i386_xen_pvh_TRUE@am__append_4013 = mmap.marker
++@COND_mips_loongson_TRUE@am__append_4014 = mmap.module
++@COND_mips_loongson_TRUE@am__append_4015 = mmap.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__append_4016 = 
++@COND_mips_loongson_TRUE@am__append_4017 = $(nodist_mmap_module_SOURCES)
++@COND_mips_loongson_TRUE@am__append_4018 =  \
+ @COND_mips_loongson_TRUE@     $(nodist_mmap_module_SOURCES) \
+ @COND_mips_loongson_TRUE@     mmap.marker
+-@COND_mips_loongson_TRUE@am__append_4026 = mmap.mod
+-@COND_mips_loongson_TRUE@am__append_4027 = mmap.marker
+-@COND_mips_arc_TRUE@am__append_4028 = mmap.module
+-@COND_mips_arc_TRUE@am__append_4029 = mmap.module$(EXEEXT)
+-@COND_mips_arc_TRUE@am__append_4030 = 
+-@COND_mips_arc_TRUE@am__append_4031 = $(nodist_mmap_module_SOURCES)
+-@COND_mips_arc_TRUE@am__append_4032 = $(nodist_mmap_module_SOURCES) \
++@COND_mips_loongson_TRUE@am__append_4019 = mmap.mod
++@COND_mips_loongson_TRUE@am__append_4020 = mmap.marker
++@COND_mips_arc_TRUE@am__append_4021 = mmap.module
++@COND_mips_arc_TRUE@am__append_4022 = mmap.module$(EXEEXT)
++@COND_mips_arc_TRUE@am__append_4023 = 
++@COND_mips_arc_TRUE@am__append_4024 = $(nodist_mmap_module_SOURCES)
++@COND_mips_arc_TRUE@am__append_4025 = $(nodist_mmap_module_SOURCES) \
+ @COND_mips_arc_TRUE@  mmap.marker
+-@COND_mips_arc_TRUE@am__append_4033 = mmap.mod
+-@COND_mips_arc_TRUE@am__append_4034 = mmap.marker
+-@COND_ia64_efi_TRUE@am__append_4035 = mmap.module
+-@COND_ia64_efi_TRUE@am__append_4036 = mmap.module$(EXEEXT)
+-@COND_ia64_efi_TRUE@am__append_4037 = 
+-@COND_ia64_efi_TRUE@am__append_4038 = $(nodist_mmap_module_SOURCES)
+-@COND_ia64_efi_TRUE@am__append_4039 = $(nodist_mmap_module_SOURCES) \
++@COND_mips_arc_TRUE@am__append_4026 = mmap.mod
++@COND_mips_arc_TRUE@am__append_4027 = mmap.marker
++@COND_ia64_efi_TRUE@am__append_4028 = mmap.module
++@COND_ia64_efi_TRUE@am__append_4029 = mmap.module$(EXEEXT)
++@COND_ia64_efi_TRUE@am__append_4030 = 
++@COND_ia64_efi_TRUE@am__append_4031 = $(nodist_mmap_module_SOURCES)
++@COND_ia64_efi_TRUE@am__append_4032 = $(nodist_mmap_module_SOURCES) \
+ @COND_ia64_efi_TRUE@  mmap.marker
+-@COND_ia64_efi_TRUE@am__append_4040 = mmap.mod
+-@COND_ia64_efi_TRUE@am__append_4041 = mmap.marker
+-@COND_mips_qemu_mips_TRUE@am__append_4042 = mmap.module
+-@COND_mips_qemu_mips_TRUE@am__append_4043 = mmap.module$(EXEEXT)
+-@COND_mips_qemu_mips_TRUE@am__append_4044 = 
+-@COND_mips_qemu_mips_TRUE@am__append_4045 = $(nodist_mmap_module_SOURCES)
+-@COND_mips_qemu_mips_TRUE@am__append_4046 =  \
++@COND_ia64_efi_TRUE@am__append_4033 = mmap.mod
++@COND_ia64_efi_TRUE@am__append_4034 = mmap.marker
++@COND_mips_qemu_mips_TRUE@am__append_4035 = mmap.module
++@COND_mips_qemu_mips_TRUE@am__append_4036 = mmap.module$(EXEEXT)
++@COND_mips_qemu_mips_TRUE@am__append_4037 = 
++@COND_mips_qemu_mips_TRUE@am__append_4038 = $(nodist_mmap_module_SOURCES)
++@COND_mips_qemu_mips_TRUE@am__append_4039 =  \
+ @COND_mips_qemu_mips_TRUE@    $(nodist_mmap_module_SOURCES) \
+ @COND_mips_qemu_mips_TRUE@    mmap.marker
+-@COND_mips_qemu_mips_TRUE@am__append_4047 = mmap.mod
+-@COND_mips_qemu_mips_TRUE@am__append_4048 = mmap.marker
+-@COND_arm_efi_TRUE@am__append_4049 = mmap.module
+-@COND_arm_efi_TRUE@am__append_4050 = mmap.module$(EXEEXT)
+-@COND_arm_efi_TRUE@am__append_4051 = 
+-@COND_arm_efi_TRUE@am__append_4052 = $(nodist_mmap_module_SOURCES)
+-@COND_arm_efi_TRUE@am__append_4053 = $(nodist_mmap_module_SOURCES) \
++@COND_mips_qemu_mips_TRUE@am__append_4040 = mmap.mod
++@COND_mips_qemu_mips_TRUE@am__append_4041 = mmap.marker
++@COND_arm_efi_TRUE@am__append_4042 = mmap.module
++@COND_arm_efi_TRUE@am__append_4043 = mmap.module$(EXEEXT)
++@COND_arm_efi_TRUE@am__append_4044 = 
++@COND_arm_efi_TRUE@am__append_4045 = $(nodist_mmap_module_SOURCES)
++@COND_arm_efi_TRUE@am__append_4046 = $(nodist_mmap_module_SOURCES) \
+ @COND_arm_efi_TRUE@   mmap.marker
+-@COND_arm_efi_TRUE@am__append_4054 = mmap.mod
+-@COND_arm_efi_TRUE@am__append_4055 = mmap.marker
+-@COND_arm64_efi_TRUE@am__append_4056 = mmap.module
+-@COND_arm64_efi_TRUE@am__append_4057 = mmap.module$(EXEEXT)
+-@COND_arm64_efi_TRUE@am__append_4058 = 
+-@COND_arm64_efi_TRUE@am__append_4059 = $(nodist_mmap_module_SOURCES)
+-@COND_arm64_efi_TRUE@am__append_4060 = $(nodist_mmap_module_SOURCES) \
++@COND_arm_efi_TRUE@am__append_4047 = mmap.mod
++@COND_arm_efi_TRUE@am__append_4048 = mmap.marker
++@COND_arm64_efi_TRUE@am__append_4049 = mmap.module
++@COND_arm64_efi_TRUE@am__append_4050 = mmap.module$(EXEEXT)
++@COND_arm64_efi_TRUE@am__append_4051 = 
++@COND_arm64_efi_TRUE@am__append_4052 = $(nodist_mmap_module_SOURCES)
++@COND_arm64_efi_TRUE@am__append_4053 = $(nodist_mmap_module_SOURCES) \
+ @COND_arm64_efi_TRUE@ mmap.marker
+-@COND_arm64_efi_TRUE@am__append_4061 = mmap.mod
+-@COND_arm64_efi_TRUE@am__append_4062 = mmap.marker
+-@COND_riscv32_efi_TRUE@am__append_4063 = mmap.module
+-@COND_riscv32_efi_TRUE@am__append_4064 = mmap.module$(EXEEXT)
+-@COND_riscv32_efi_TRUE@am__append_4065 = 
+-@COND_riscv32_efi_TRUE@am__append_4066 = $(nodist_mmap_module_SOURCES)
+-@COND_riscv32_efi_TRUE@am__append_4067 =  \
++@COND_arm64_efi_TRUE@am__append_4054 = mmap.mod
++@COND_arm64_efi_TRUE@am__append_4055 = mmap.marker
++@COND_riscv32_efi_TRUE@am__append_4056 = mmap.module
++@COND_riscv32_efi_TRUE@am__append_4057 = mmap.module$(EXEEXT)
++@COND_riscv32_efi_TRUE@am__append_4058 = 
++@COND_riscv32_efi_TRUE@am__append_4059 = $(nodist_mmap_module_SOURCES)
++@COND_riscv32_efi_TRUE@am__append_4060 =  \
+ @COND_riscv32_efi_TRUE@       $(nodist_mmap_module_SOURCES) \
+ @COND_riscv32_efi_TRUE@       mmap.marker
+-@COND_riscv32_efi_TRUE@am__append_4068 = mmap.mod
+-@COND_riscv32_efi_TRUE@am__append_4069 = mmap.marker
+-@COND_riscv64_efi_TRUE@am__append_4070 = mmap.module
+-@COND_riscv64_efi_TRUE@am__append_4071 = mmap.module$(EXEEXT)
+-@COND_riscv64_efi_TRUE@am__append_4072 = 
+-@COND_riscv64_efi_TRUE@am__append_4073 = $(nodist_mmap_module_SOURCES)
+-@COND_riscv64_efi_TRUE@am__append_4074 =  \
++@COND_riscv32_efi_TRUE@am__append_4061 = mmap.mod
++@COND_riscv32_efi_TRUE@am__append_4062 = mmap.marker
++@COND_riscv64_efi_TRUE@am__append_4063 = mmap.module
++@COND_riscv64_efi_TRUE@am__append_4064 = mmap.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__append_4065 = 
++@COND_riscv64_efi_TRUE@am__append_4066 = $(nodist_mmap_module_SOURCES)
++@COND_riscv64_efi_TRUE@am__append_4067 =  \
+ @COND_riscv64_efi_TRUE@       $(nodist_mmap_module_SOURCES) \
+ @COND_riscv64_efi_TRUE@       mmap.marker
+-@COND_riscv64_efi_TRUE@am__append_4075 = mmap.mod
+-@COND_riscv64_efi_TRUE@am__append_4076 = mmap.marker
+-@COND_i386_pc_TRUE@am__append_4077 = at_keyboard.module
+-@COND_i386_pc_TRUE@am__append_4078 = at_keyboard.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__append_4068 = mmap.mod
++@COND_riscv64_efi_TRUE@am__append_4069 = mmap.marker
++@COND_i386_pc_TRUE@am__append_4070 = at_keyboard.module
++@COND_i386_pc_TRUE@am__append_4071 = at_keyboard.module$(EXEEXT)
+ @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_x86_64_efi_FALSE@at_keyboard_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_4079 = 
+-@COND_i386_pc_TRUE@am__append_4080 = $(nodist_at_keyboard_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_4081 =  \
++@COND_i386_pc_TRUE@am__append_4072 = 
++@COND_i386_pc_TRUE@am__append_4073 = $(nodist_at_keyboard_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_4074 =  \
+ @COND_i386_pc_TRUE@   $(nodist_at_keyboard_module_SOURCES) \
+ @COND_i386_pc_TRUE@   at_keyboard.marker
+-@COND_i386_pc_TRUE@am__append_4082 = at_keyboard.mod
+-@COND_i386_pc_TRUE@am__append_4083 = at_keyboard.marker
+-@COND_i386_efi_TRUE@am__append_4084 = at_keyboard.module
+-@COND_i386_efi_TRUE@am__append_4085 = at_keyboard.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_4086 = 
+-@COND_i386_efi_TRUE@am__append_4087 = $(nodist_at_keyboard_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_4088 =  \
++@COND_i386_pc_TRUE@am__append_4075 = at_keyboard.mod
++@COND_i386_pc_TRUE@am__append_4076 = at_keyboard.marker
++@COND_i386_efi_TRUE@am__append_4077 = at_keyboard.module
++@COND_i386_efi_TRUE@am__append_4078 = at_keyboard.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_4079 = 
++@COND_i386_efi_TRUE@am__append_4080 = $(nodist_at_keyboard_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_4081 =  \
+ @COND_i386_efi_TRUE@  $(nodist_at_keyboard_module_SOURCES) \
+ @COND_i386_efi_TRUE@  at_keyboard.marker
+-@COND_i386_efi_TRUE@am__append_4089 = at_keyboard.mod
+-@COND_i386_efi_TRUE@am__append_4090 = at_keyboard.marker
+-@COND_i386_qemu_TRUE@am__append_4091 = at_keyboard.module
+-@COND_i386_qemu_TRUE@am__append_4092 = at_keyboard.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_4093 = 
+-@COND_i386_qemu_TRUE@am__append_4094 = $(nodist_at_keyboard_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_4095 =  \
++@COND_i386_efi_TRUE@am__append_4082 = at_keyboard.mod
++@COND_i386_efi_TRUE@am__append_4083 = at_keyboard.marker
++@COND_i386_qemu_TRUE@am__append_4084 = at_keyboard.module
++@COND_i386_qemu_TRUE@am__append_4085 = at_keyboard.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_4086 = 
++@COND_i386_qemu_TRUE@am__append_4087 = $(nodist_at_keyboard_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_4088 =  \
+ @COND_i386_qemu_TRUE@ $(nodist_at_keyboard_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ at_keyboard.marker
+-@COND_i386_qemu_TRUE@am__append_4096 = at_keyboard.mod
+-@COND_i386_qemu_TRUE@am__append_4097 = at_keyboard.marker
+-@COND_i386_coreboot_TRUE@am__append_4098 = at_keyboard.module
+-@COND_i386_coreboot_TRUE@am__append_4099 = at_keyboard.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_4100 = 
+-@COND_i386_coreboot_TRUE@am__append_4101 = $(nodist_at_keyboard_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_4102 =  \
++@COND_i386_qemu_TRUE@am__append_4089 = at_keyboard.mod
++@COND_i386_qemu_TRUE@am__append_4090 = at_keyboard.marker
++@COND_i386_coreboot_TRUE@am__append_4091 = at_keyboard.module
++@COND_i386_coreboot_TRUE@am__append_4092 = at_keyboard.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_4093 = 
++@COND_i386_coreboot_TRUE@am__append_4094 = $(nodist_at_keyboard_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_4095 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_at_keyboard_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     at_keyboard.marker
+-@COND_i386_coreboot_TRUE@am__append_4103 = at_keyboard.mod
+-@COND_i386_coreboot_TRUE@am__append_4104 = at_keyboard.marker
+-@COND_i386_multiboot_TRUE@am__append_4105 = at_keyboard.module
+-@COND_i386_multiboot_TRUE@am__append_4106 = at_keyboard.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_4107 = 
+-@COND_i386_multiboot_TRUE@am__append_4108 = $(nodist_at_keyboard_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_4109 = $(nodist_at_keyboard_module_SOURCES) \
++@COND_i386_coreboot_TRUE@am__append_4096 = at_keyboard.mod
++@COND_i386_coreboot_TRUE@am__append_4097 = at_keyboard.marker
++@COND_i386_multiboot_TRUE@am__append_4098 = at_keyboard.module
++@COND_i386_multiboot_TRUE@am__append_4099 = at_keyboard.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_4100 = 
++@COND_i386_multiboot_TRUE@am__append_4101 = $(nodist_at_keyboard_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_4102 = $(nodist_at_keyboard_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    at_keyboard.marker
+-@COND_i386_multiboot_TRUE@am__append_4110 = at_keyboard.mod
+-@COND_i386_multiboot_TRUE@am__append_4111 = at_keyboard.marker
+-@COND_i386_ieee1275_TRUE@am__append_4112 = at_keyboard.module
+-@COND_i386_ieee1275_TRUE@am__append_4113 = at_keyboard.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_4114 = 
+-@COND_i386_ieee1275_TRUE@am__append_4115 = $(nodist_at_keyboard_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_4116 =  \
++@COND_i386_multiboot_TRUE@am__append_4103 = at_keyboard.mod
++@COND_i386_multiboot_TRUE@am__append_4104 = at_keyboard.marker
++@COND_i386_ieee1275_TRUE@am__append_4105 = at_keyboard.module
++@COND_i386_ieee1275_TRUE@am__append_4106 = at_keyboard.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_4107 = 
++@COND_i386_ieee1275_TRUE@am__append_4108 = $(nodist_at_keyboard_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_4109 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_at_keyboard_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     at_keyboard.marker
+-@COND_i386_ieee1275_TRUE@am__append_4117 = at_keyboard.mod
+-@COND_i386_ieee1275_TRUE@am__append_4118 = at_keyboard.marker
+-@COND_x86_64_efi_TRUE@am__append_4119 = at_keyboard.module
+-@COND_x86_64_efi_TRUE@am__append_4120 = at_keyboard.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_4121 = 
+-@COND_x86_64_efi_TRUE@am__append_4122 = $(nodist_at_keyboard_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_4123 =  \
++@COND_i386_ieee1275_TRUE@am__append_4110 = at_keyboard.mod
++@COND_i386_ieee1275_TRUE@am__append_4111 = at_keyboard.marker
++@COND_x86_64_efi_TRUE@am__append_4112 = at_keyboard.module
++@COND_x86_64_efi_TRUE@am__append_4113 = at_keyboard.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_4114 = 
++@COND_x86_64_efi_TRUE@am__append_4115 = $(nodist_at_keyboard_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_4116 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_at_keyboard_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        at_keyboard.marker
+-@COND_x86_64_efi_TRUE@am__append_4124 = at_keyboard.mod
+-@COND_x86_64_efi_TRUE@am__append_4125 = at_keyboard.marker
+-@COND_emu_TRUE@am__append_4126 = gfxterm.module
+-@COND_emu_TRUE@am__append_4127 = gfxterm.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_4117 = at_keyboard.mod
++@COND_x86_64_efi_TRUE@am__append_4118 = at_keyboard.marker
++@COND_emu_TRUE@am__append_4119 = gfxterm.module
++@COND_emu_TRUE@am__append_4120 = gfxterm.module$(EXEEXT)
+ @COND_arm64_efi_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_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_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_FALSE@gfxterm_module_DEPENDENCIES =
+-@COND_emu_TRUE@am__append_4128 = 
+-@COND_emu_TRUE@am__append_4129 = $(nodist_gfxterm_module_SOURCES)
+-@COND_emu_TRUE@am__append_4130 = $(nodist_gfxterm_module_SOURCES) \
++@COND_emu_TRUE@am__append_4121 = 
++@COND_emu_TRUE@am__append_4122 = $(nodist_gfxterm_module_SOURCES)
++@COND_emu_TRUE@am__append_4123 = $(nodist_gfxterm_module_SOURCES) \
+ @COND_emu_TRUE@       gfxterm.marker
+-@COND_emu_TRUE@am__append_4131 = gfxterm.mod
+-@COND_emu_TRUE@am__append_4132 = gfxterm.marker
+-@COND_i386_pc_TRUE@am__append_4133 = gfxterm.module
+-@COND_i386_pc_TRUE@am__append_4134 = gfxterm.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__append_4135 = 
+-@COND_i386_pc_TRUE@am__append_4136 = $(nodist_gfxterm_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_4137 = $(nodist_gfxterm_module_SOURCES) \
++@COND_emu_TRUE@am__append_4124 = gfxterm.mod
++@COND_emu_TRUE@am__append_4125 = gfxterm.marker
++@COND_i386_pc_TRUE@am__append_4126 = gfxterm.module
++@COND_i386_pc_TRUE@am__append_4127 = gfxterm.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__append_4128 = 
++@COND_i386_pc_TRUE@am__append_4129 = $(nodist_gfxterm_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_4130 = $(nodist_gfxterm_module_SOURCES) \
+ @COND_i386_pc_TRUE@   gfxterm.marker
+-@COND_i386_pc_TRUE@am__append_4138 = gfxterm.mod
+-@COND_i386_pc_TRUE@am__append_4139 = gfxterm.marker
+-@COND_i386_efi_TRUE@am__append_4140 = gfxterm.module
+-@COND_i386_efi_TRUE@am__append_4141 = gfxterm.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_4142 = 
+-@COND_i386_efi_TRUE@am__append_4143 = $(nodist_gfxterm_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_4144 =  \
++@COND_i386_pc_TRUE@am__append_4131 = gfxterm.mod
++@COND_i386_pc_TRUE@am__append_4132 = gfxterm.marker
++@COND_i386_efi_TRUE@am__append_4133 = gfxterm.module
++@COND_i386_efi_TRUE@am__append_4134 = gfxterm.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_4135 = 
++@COND_i386_efi_TRUE@am__append_4136 = $(nodist_gfxterm_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_4137 =  \
+ @COND_i386_efi_TRUE@  $(nodist_gfxterm_module_SOURCES) \
+ @COND_i386_efi_TRUE@  gfxterm.marker
+-@COND_i386_efi_TRUE@am__append_4145 = gfxterm.mod
+-@COND_i386_efi_TRUE@am__append_4146 = gfxterm.marker
+-@COND_i386_qemu_TRUE@am__append_4147 = gfxterm.module
+-@COND_i386_qemu_TRUE@am__append_4148 = gfxterm.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_4149 = 
+-@COND_i386_qemu_TRUE@am__append_4150 = $(nodist_gfxterm_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_4151 =  \
++@COND_i386_efi_TRUE@am__append_4138 = gfxterm.mod
++@COND_i386_efi_TRUE@am__append_4139 = gfxterm.marker
++@COND_i386_qemu_TRUE@am__append_4140 = gfxterm.module
++@COND_i386_qemu_TRUE@am__append_4141 = gfxterm.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_4142 = 
++@COND_i386_qemu_TRUE@am__append_4143 = $(nodist_gfxterm_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_4144 =  \
+ @COND_i386_qemu_TRUE@ $(nodist_gfxterm_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ gfxterm.marker
+-@COND_i386_qemu_TRUE@am__append_4152 = gfxterm.mod
+-@COND_i386_qemu_TRUE@am__append_4153 = gfxterm.marker
+-@COND_i386_multiboot_TRUE@am__append_4154 = gfxterm.module
+-@COND_i386_multiboot_TRUE@am__append_4155 = gfxterm.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_4156 = 
+-@COND_i386_multiboot_TRUE@am__append_4157 = $(nodist_gfxterm_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_4158 =  \
++@COND_i386_qemu_TRUE@am__append_4145 = gfxterm.mod
++@COND_i386_qemu_TRUE@am__append_4146 = gfxterm.marker
++@COND_i386_multiboot_TRUE@am__append_4147 = gfxterm.module
++@COND_i386_multiboot_TRUE@am__append_4148 = gfxterm.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_4149 = 
++@COND_i386_multiboot_TRUE@am__append_4150 = $(nodist_gfxterm_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_4151 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_gfxterm_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    gfxterm.marker
+-@COND_i386_multiboot_TRUE@am__append_4159 = gfxterm.mod
+-@COND_i386_multiboot_TRUE@am__append_4160 = gfxterm.marker
+-@COND_i386_ieee1275_TRUE@am__append_4161 = gfxterm.module
+-@COND_i386_ieee1275_TRUE@am__append_4162 = gfxterm.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_4163 = 
+-@COND_i386_ieee1275_TRUE@am__append_4164 = $(nodist_gfxterm_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_4165 =  \
++@COND_i386_multiboot_TRUE@am__append_4152 = gfxterm.mod
++@COND_i386_multiboot_TRUE@am__append_4153 = gfxterm.marker
++@COND_i386_ieee1275_TRUE@am__append_4154 = gfxterm.module
++@COND_i386_ieee1275_TRUE@am__append_4155 = gfxterm.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_4156 = 
++@COND_i386_ieee1275_TRUE@am__append_4157 = $(nodist_gfxterm_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_4158 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_gfxterm_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     gfxterm.marker
+-@COND_i386_ieee1275_TRUE@am__append_4166 = gfxterm.mod
+-@COND_i386_ieee1275_TRUE@am__append_4167 = gfxterm.marker
+-@COND_x86_64_efi_TRUE@am__append_4168 = gfxterm.module
+-@COND_x86_64_efi_TRUE@am__append_4169 = gfxterm.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_4170 = 
+-@COND_x86_64_efi_TRUE@am__append_4171 = $(nodist_gfxterm_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_4172 =  \
++@COND_i386_ieee1275_TRUE@am__append_4159 = gfxterm.mod
++@COND_i386_ieee1275_TRUE@am__append_4160 = gfxterm.marker
++@COND_x86_64_efi_TRUE@am__append_4161 = gfxterm.module
++@COND_x86_64_efi_TRUE@am__append_4162 = gfxterm.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_4163 = 
++@COND_x86_64_efi_TRUE@am__append_4164 = $(nodist_gfxterm_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_4165 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_gfxterm_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        gfxterm.marker
+-@COND_x86_64_efi_TRUE@am__append_4173 = gfxterm.mod
+-@COND_x86_64_efi_TRUE@am__append_4174 = gfxterm.marker
+-@COND_i386_xen_TRUE@am__append_4175 = gfxterm.module
+-@COND_i386_xen_TRUE@am__append_4176 = gfxterm.module$(EXEEXT)
+-@COND_i386_xen_TRUE@am__append_4177 = 
+-@COND_i386_xen_TRUE@am__append_4178 = $(nodist_gfxterm_module_SOURCES)
+-@COND_i386_xen_TRUE@am__append_4179 =  \
++@COND_x86_64_efi_TRUE@am__append_4166 = gfxterm.mod
++@COND_x86_64_efi_TRUE@am__append_4167 = gfxterm.marker
++@COND_i386_xen_TRUE@am__append_4168 = gfxterm.module
++@COND_i386_xen_TRUE@am__append_4169 = gfxterm.module$(EXEEXT)
++@COND_i386_xen_TRUE@am__append_4170 = 
++@COND_i386_xen_TRUE@am__append_4171 = $(nodist_gfxterm_module_SOURCES)
++@COND_i386_xen_TRUE@am__append_4172 =  \
+ @COND_i386_xen_TRUE@  $(nodist_gfxterm_module_SOURCES) \
+ @COND_i386_xen_TRUE@  gfxterm.marker
+-@COND_i386_xen_TRUE@am__append_4180 = gfxterm.mod
+-@COND_i386_xen_TRUE@am__append_4181 = gfxterm.marker
+-@COND_x86_64_xen_TRUE@am__append_4182 = gfxterm.module
+-@COND_x86_64_xen_TRUE@am__append_4183 = gfxterm.module$(EXEEXT)
+-@COND_x86_64_xen_TRUE@am__append_4184 = 
+-@COND_x86_64_xen_TRUE@am__append_4185 = $(nodist_gfxterm_module_SOURCES)
+-@COND_x86_64_xen_TRUE@am__append_4186 =  \
++@COND_i386_xen_TRUE@am__append_4173 = gfxterm.mod
++@COND_i386_xen_TRUE@am__append_4174 = gfxterm.marker
++@COND_x86_64_xen_TRUE@am__append_4175 = gfxterm.module
++@COND_x86_64_xen_TRUE@am__append_4176 = gfxterm.module$(EXEEXT)
++@COND_x86_64_xen_TRUE@am__append_4177 = 
++@COND_x86_64_xen_TRUE@am__append_4178 = $(nodist_gfxterm_module_SOURCES)
++@COND_x86_64_xen_TRUE@am__append_4179 =  \
+ @COND_x86_64_xen_TRUE@        $(nodist_gfxterm_module_SOURCES) \
+ @COND_x86_64_xen_TRUE@        gfxterm.marker
+-@COND_x86_64_xen_TRUE@am__append_4187 = gfxterm.mod
+-@COND_x86_64_xen_TRUE@am__append_4188 = gfxterm.marker
+-@COND_i386_xen_pvh_TRUE@am__append_4189 = gfxterm.module
+-@COND_i386_xen_pvh_TRUE@am__append_4190 = gfxterm.module$(EXEEXT)
+-@COND_i386_xen_pvh_TRUE@am__append_4191 = 
+-@COND_i386_xen_pvh_TRUE@am__append_4192 = $(nodist_gfxterm_module_SOURCES)
+-@COND_i386_xen_pvh_TRUE@am__append_4193 =  \
++@COND_x86_64_xen_TRUE@am__append_4180 = gfxterm.mod
++@COND_x86_64_xen_TRUE@am__append_4181 = gfxterm.marker
++@COND_i386_xen_pvh_TRUE@am__append_4182 = gfxterm.module
++@COND_i386_xen_pvh_TRUE@am__append_4183 = gfxterm.module$(EXEEXT)
++@COND_i386_xen_pvh_TRUE@am__append_4184 = 
++@COND_i386_xen_pvh_TRUE@am__append_4185 = $(nodist_gfxterm_module_SOURCES)
++@COND_i386_xen_pvh_TRUE@am__append_4186 =  \
+ @COND_i386_xen_pvh_TRUE@      $(nodist_gfxterm_module_SOURCES) \
+ @COND_i386_xen_pvh_TRUE@      gfxterm.marker
+-@COND_i386_xen_pvh_TRUE@am__append_4194 = gfxterm.mod
+-@COND_i386_xen_pvh_TRUE@am__append_4195 = gfxterm.marker
+-@COND_sparc64_ieee1275_TRUE@am__append_4196 = gfxterm.module
+-@COND_sparc64_ieee1275_TRUE@am__append_4197 = gfxterm.module$(EXEEXT)
+-@COND_sparc64_ieee1275_TRUE@am__append_4198 = 
+-@COND_sparc64_ieee1275_TRUE@am__append_4199 = $(nodist_gfxterm_module_SOURCES)
+-@COND_sparc64_ieee1275_TRUE@am__append_4200 =  \
++@COND_i386_xen_pvh_TRUE@am__append_4187 = gfxterm.mod
++@COND_i386_xen_pvh_TRUE@am__append_4188 = gfxterm.marker
++@COND_sparc64_ieee1275_TRUE@am__append_4189 = gfxterm.module
++@COND_sparc64_ieee1275_TRUE@am__append_4190 = gfxterm.module$(EXEEXT)
++@COND_sparc64_ieee1275_TRUE@am__append_4191 = 
++@COND_sparc64_ieee1275_TRUE@am__append_4192 = $(nodist_gfxterm_module_SOURCES)
++@COND_sparc64_ieee1275_TRUE@am__append_4193 =  \
+ @COND_sparc64_ieee1275_TRUE@  $(nodist_gfxterm_module_SOURCES) \
+ @COND_sparc64_ieee1275_TRUE@  gfxterm.marker
+-@COND_sparc64_ieee1275_TRUE@am__append_4201 = gfxterm.mod
+-@COND_sparc64_ieee1275_TRUE@am__append_4202 = gfxterm.marker
+-@COND_powerpc_ieee1275_TRUE@am__append_4203 = gfxterm.module
+-@COND_powerpc_ieee1275_TRUE@am__append_4204 = gfxterm.module$(EXEEXT)
+-@COND_powerpc_ieee1275_TRUE@am__append_4205 = 
+-@COND_powerpc_ieee1275_TRUE@am__append_4206 = $(nodist_gfxterm_module_SOURCES)
+-@COND_powerpc_ieee1275_TRUE@am__append_4207 =  \
++@COND_sparc64_ieee1275_TRUE@am__append_4194 = gfxterm.mod
++@COND_sparc64_ieee1275_TRUE@am__append_4195 = gfxterm.marker
++@COND_powerpc_ieee1275_TRUE@am__append_4196 = gfxterm.module
++@COND_powerpc_ieee1275_TRUE@am__append_4197 = gfxterm.module$(EXEEXT)
++@COND_powerpc_ieee1275_TRUE@am__append_4198 = 
++@COND_powerpc_ieee1275_TRUE@am__append_4199 = $(nodist_gfxterm_module_SOURCES)
++@COND_powerpc_ieee1275_TRUE@am__append_4200 =  \
+ @COND_powerpc_ieee1275_TRUE@  $(nodist_gfxterm_module_SOURCES) \
+ @COND_powerpc_ieee1275_TRUE@  gfxterm.marker
+-@COND_powerpc_ieee1275_TRUE@am__append_4208 = gfxterm.mod
+-@COND_powerpc_ieee1275_TRUE@am__append_4209 = gfxterm.marker
+-@COND_mips_arc_TRUE@am__append_4210 = gfxterm.module
+-@COND_mips_arc_TRUE@am__append_4211 = gfxterm.module$(EXEEXT)
+-@COND_mips_arc_TRUE@am__append_4212 = 
+-@COND_mips_arc_TRUE@am__append_4213 = $(nodist_gfxterm_module_SOURCES)
+-@COND_mips_arc_TRUE@am__append_4214 =  \
++@COND_powerpc_ieee1275_TRUE@am__append_4201 = gfxterm.mod
++@COND_powerpc_ieee1275_TRUE@am__append_4202 = gfxterm.marker
++@COND_mips_arc_TRUE@am__append_4203 = gfxterm.module
++@COND_mips_arc_TRUE@am__append_4204 = gfxterm.module$(EXEEXT)
++@COND_mips_arc_TRUE@am__append_4205 = 
++@COND_mips_arc_TRUE@am__append_4206 = $(nodist_gfxterm_module_SOURCES)
++@COND_mips_arc_TRUE@am__append_4207 =  \
+ @COND_mips_arc_TRUE@  $(nodist_gfxterm_module_SOURCES) \
+ @COND_mips_arc_TRUE@  gfxterm.marker
+-@COND_mips_arc_TRUE@am__append_4215 = gfxterm.mod
+-@COND_mips_arc_TRUE@am__append_4216 = gfxterm.marker
+-@COND_ia64_efi_TRUE@am__append_4217 = gfxterm.module
+-@COND_ia64_efi_TRUE@am__append_4218 = gfxterm.module$(EXEEXT)
+-@COND_ia64_efi_TRUE@am__append_4219 = 
+-@COND_ia64_efi_TRUE@am__append_4220 = $(nodist_gfxterm_module_SOURCES)
+-@COND_ia64_efi_TRUE@am__append_4221 =  \
++@COND_mips_arc_TRUE@am__append_4208 = gfxterm.mod
++@COND_mips_arc_TRUE@am__append_4209 = gfxterm.marker
++@COND_ia64_efi_TRUE@am__append_4210 = gfxterm.module
++@COND_ia64_efi_TRUE@am__append_4211 = gfxterm.module$(EXEEXT)
++@COND_ia64_efi_TRUE@am__append_4212 = 
++@COND_ia64_efi_TRUE@am__append_4213 = $(nodist_gfxterm_module_SOURCES)
++@COND_ia64_efi_TRUE@am__append_4214 =  \
+ @COND_ia64_efi_TRUE@  $(nodist_gfxterm_module_SOURCES) \
+ @COND_ia64_efi_TRUE@  gfxterm.marker
+-@COND_ia64_efi_TRUE@am__append_4222 = gfxterm.mod
+-@COND_ia64_efi_TRUE@am__append_4223 = gfxterm.marker
+-@COND_mips_qemu_mips_TRUE@am__append_4224 = gfxterm.module
+-@COND_mips_qemu_mips_TRUE@am__append_4225 = gfxterm.module$(EXEEXT)
+-@COND_mips_qemu_mips_TRUE@am__append_4226 = 
+-@COND_mips_qemu_mips_TRUE@am__append_4227 = $(nodist_gfxterm_module_SOURCES)
+-@COND_mips_qemu_mips_TRUE@am__append_4228 =  \
++@COND_ia64_efi_TRUE@am__append_4215 = gfxterm.mod
++@COND_ia64_efi_TRUE@am__append_4216 = gfxterm.marker
++@COND_mips_qemu_mips_TRUE@am__append_4217 = gfxterm.module
++@COND_mips_qemu_mips_TRUE@am__append_4218 = gfxterm.module$(EXEEXT)
++@COND_mips_qemu_mips_TRUE@am__append_4219 = 
++@COND_mips_qemu_mips_TRUE@am__append_4220 = $(nodist_gfxterm_module_SOURCES)
++@COND_mips_qemu_mips_TRUE@am__append_4221 =  \
+ @COND_mips_qemu_mips_TRUE@    $(nodist_gfxterm_module_SOURCES) \
+ @COND_mips_qemu_mips_TRUE@    gfxterm.marker
+-@COND_mips_qemu_mips_TRUE@am__append_4229 = gfxterm.mod
+-@COND_mips_qemu_mips_TRUE@am__append_4230 = gfxterm.marker
+-@COND_arm_uboot_TRUE@am__append_4231 = gfxterm.module
+-@COND_arm_uboot_TRUE@am__append_4232 = gfxterm.module$(EXEEXT)
+-@COND_arm_uboot_TRUE@am__append_4233 = 
+-@COND_arm_uboot_TRUE@am__append_4234 = $(nodist_gfxterm_module_SOURCES)
+-@COND_arm_uboot_TRUE@am__append_4235 =  \
++@COND_mips_qemu_mips_TRUE@am__append_4222 = gfxterm.mod
++@COND_mips_qemu_mips_TRUE@am__append_4223 = gfxterm.marker
++@COND_arm_uboot_TRUE@am__append_4224 = gfxterm.module
++@COND_arm_uboot_TRUE@am__append_4225 = gfxterm.module$(EXEEXT)
++@COND_arm_uboot_TRUE@am__append_4226 = 
++@COND_arm_uboot_TRUE@am__append_4227 = $(nodist_gfxterm_module_SOURCES)
++@COND_arm_uboot_TRUE@am__append_4228 =  \
+ @COND_arm_uboot_TRUE@ $(nodist_gfxterm_module_SOURCES) \
+ @COND_arm_uboot_TRUE@ gfxterm.marker
+-@COND_arm_uboot_TRUE@am__append_4236 = gfxterm.mod
+-@COND_arm_uboot_TRUE@am__append_4237 = gfxterm.marker
+-@COND_arm_efi_TRUE@am__append_4238 = gfxterm.module
+-@COND_arm_efi_TRUE@am__append_4239 = gfxterm.module$(EXEEXT)
+-@COND_arm_efi_TRUE@am__append_4240 = 
+-@COND_arm_efi_TRUE@am__append_4241 = $(nodist_gfxterm_module_SOURCES)
+-@COND_arm_efi_TRUE@am__append_4242 = $(nodist_gfxterm_module_SOURCES) \
++@COND_arm_uboot_TRUE@am__append_4229 = gfxterm.mod
++@COND_arm_uboot_TRUE@am__append_4230 = gfxterm.marker
++@COND_arm_efi_TRUE@am__append_4231 = gfxterm.module
++@COND_arm_efi_TRUE@am__append_4232 = gfxterm.module$(EXEEXT)
++@COND_arm_efi_TRUE@am__append_4233 = 
++@COND_arm_efi_TRUE@am__append_4234 = $(nodist_gfxterm_module_SOURCES)
++@COND_arm_efi_TRUE@am__append_4235 = $(nodist_gfxterm_module_SOURCES) \
+ @COND_arm_efi_TRUE@   gfxterm.marker
+-@COND_arm_efi_TRUE@am__append_4243 = gfxterm.mod
+-@COND_arm_efi_TRUE@am__append_4244 = gfxterm.marker
+-@COND_arm64_efi_TRUE@am__append_4245 = gfxterm.module
+-@COND_arm64_efi_TRUE@am__append_4246 = gfxterm.module$(EXEEXT)
+-@COND_arm64_efi_TRUE@am__append_4247 = 
+-@COND_arm64_efi_TRUE@am__append_4248 = $(nodist_gfxterm_module_SOURCES)
+-@COND_arm64_efi_TRUE@am__append_4249 =  \
++@COND_arm_efi_TRUE@am__append_4236 = gfxterm.mod
++@COND_arm_efi_TRUE@am__append_4237 = gfxterm.marker
++@COND_arm64_efi_TRUE@am__append_4238 = gfxterm.module
++@COND_arm64_efi_TRUE@am__append_4239 = gfxterm.module$(EXEEXT)
++@COND_arm64_efi_TRUE@am__append_4240 = 
++@COND_arm64_efi_TRUE@am__append_4241 = $(nodist_gfxterm_module_SOURCES)
++@COND_arm64_efi_TRUE@am__append_4242 =  \
+ @COND_arm64_efi_TRUE@ $(nodist_gfxterm_module_SOURCES) \
+ @COND_arm64_efi_TRUE@ gfxterm.marker
+-@COND_arm64_efi_TRUE@am__append_4250 = gfxterm.mod
+-@COND_arm64_efi_TRUE@am__append_4251 = gfxterm.marker
+-@COND_riscv32_efi_TRUE@am__append_4252 = gfxterm.module
+-@COND_riscv32_efi_TRUE@am__append_4253 = gfxterm.module$(EXEEXT)
+-@COND_riscv32_efi_TRUE@am__append_4254 = 
+-@COND_riscv32_efi_TRUE@am__append_4255 = $(nodist_gfxterm_module_SOURCES)
+-@COND_riscv32_efi_TRUE@am__append_4256 =  \
++@COND_arm64_efi_TRUE@am__append_4243 = gfxterm.mod
++@COND_arm64_efi_TRUE@am__append_4244 = gfxterm.marker
++@COND_riscv32_efi_TRUE@am__append_4245 = gfxterm.module
++@COND_riscv32_efi_TRUE@am__append_4246 = gfxterm.module$(EXEEXT)
++@COND_riscv32_efi_TRUE@am__append_4247 = 
++@COND_riscv32_efi_TRUE@am__append_4248 = $(nodist_gfxterm_module_SOURCES)
++@COND_riscv32_efi_TRUE@am__append_4249 =  \
+ @COND_riscv32_efi_TRUE@       $(nodist_gfxterm_module_SOURCES) \
+ @COND_riscv32_efi_TRUE@       gfxterm.marker
+-@COND_riscv32_efi_TRUE@am__append_4257 = gfxterm.mod
+-@COND_riscv32_efi_TRUE@am__append_4258 = gfxterm.marker
+-@COND_riscv64_efi_TRUE@am__append_4259 = gfxterm.module
+-@COND_riscv64_efi_TRUE@am__append_4260 = gfxterm.module$(EXEEXT)
+-@COND_riscv64_efi_TRUE@am__append_4261 = 
+-@COND_riscv64_efi_TRUE@am__append_4262 = $(nodist_gfxterm_module_SOURCES)
+-@COND_riscv64_efi_TRUE@am__append_4263 =  \
++@COND_riscv32_efi_TRUE@am__append_4250 = gfxterm.mod
++@COND_riscv32_efi_TRUE@am__append_4251 = gfxterm.marker
++@COND_riscv64_efi_TRUE@am__append_4252 = gfxterm.module
++@COND_riscv64_efi_TRUE@am__append_4253 = gfxterm.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__append_4254 = 
++@COND_riscv64_efi_TRUE@am__append_4255 = $(nodist_gfxterm_module_SOURCES)
++@COND_riscv64_efi_TRUE@am__append_4256 =  \
+ @COND_riscv64_efi_TRUE@       $(nodist_gfxterm_module_SOURCES) \
+ @COND_riscv64_efi_TRUE@       gfxterm.marker
+-@COND_riscv64_efi_TRUE@am__append_4264 = gfxterm.mod
+-@COND_riscv64_efi_TRUE@am__append_4265 = gfxterm.marker
+-@COND_i386_pc_TRUE@am__append_4266 = serial.module
+-@COND_i386_pc_TRUE@am__append_4267 = serial.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__append_4257 = gfxterm.mod
++@COND_riscv64_efi_TRUE@am__append_4258 = gfxterm.marker
++@COND_i386_pc_TRUE@am__append_4259 = serial.module
++@COND_i386_pc_TRUE@am__append_4260 = serial.module$(EXEEXT)
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_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_ia64_efi_FALSE@@COND_mips_arc_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_FALSE@serial_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_4268 = 
+-@COND_i386_pc_TRUE@am__append_4269 = $(nodist_serial_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_4270 = $(nodist_serial_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_4261 = 
++@COND_i386_pc_TRUE@am__append_4262 = $(nodist_serial_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_4263 = $(nodist_serial_module_SOURCES) \
+ @COND_i386_pc_TRUE@   serial.marker
+-@COND_i386_pc_TRUE@am__append_4271 = serial.mod
+-@COND_i386_pc_TRUE@am__append_4272 = serial.marker
+-@COND_i386_efi_TRUE@am__append_4273 = serial.module
+-@COND_i386_efi_TRUE@am__append_4274 = serial.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_4275 = 
+-@COND_i386_efi_TRUE@am__append_4276 = $(nodist_serial_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_4277 = $(nodist_serial_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_4264 = serial.mod
++@COND_i386_pc_TRUE@am__append_4265 = serial.marker
++@COND_i386_efi_TRUE@am__append_4266 = serial.module
++@COND_i386_efi_TRUE@am__append_4267 = serial.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_4268 = 
++@COND_i386_efi_TRUE@am__append_4269 = $(nodist_serial_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_4270 = $(nodist_serial_module_SOURCES) \
+ @COND_i386_efi_TRUE@  serial.marker
+-@COND_i386_efi_TRUE@am__append_4278 = serial.mod
+-@COND_i386_efi_TRUE@am__append_4279 = serial.marker
+-@COND_i386_qemu_TRUE@am__append_4280 = serial.module
+-@COND_i386_qemu_TRUE@am__append_4281 = serial.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_4282 = 
+-@COND_i386_qemu_TRUE@am__append_4283 = $(nodist_serial_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_4284 =  \
++@COND_i386_efi_TRUE@am__append_4271 = serial.mod
++@COND_i386_efi_TRUE@am__append_4272 = serial.marker
++@COND_i386_qemu_TRUE@am__append_4273 = serial.module
++@COND_i386_qemu_TRUE@am__append_4274 = serial.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_4275 = 
++@COND_i386_qemu_TRUE@am__append_4276 = $(nodist_serial_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_4277 =  \
+ @COND_i386_qemu_TRUE@ $(nodist_serial_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ serial.marker
+-@COND_i386_qemu_TRUE@am__append_4285 = serial.mod
+-@COND_i386_qemu_TRUE@am__append_4286 = serial.marker
+-@COND_i386_coreboot_TRUE@am__append_4287 = serial.module
+-@COND_i386_coreboot_TRUE@am__append_4288 = serial.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_4289 = 
+-@COND_i386_coreboot_TRUE@am__append_4290 = $(nodist_serial_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_4291 =  \
++@COND_i386_qemu_TRUE@am__append_4278 = serial.mod
++@COND_i386_qemu_TRUE@am__append_4279 = serial.marker
++@COND_i386_coreboot_TRUE@am__append_4280 = serial.module
++@COND_i386_coreboot_TRUE@am__append_4281 = serial.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_4282 = 
++@COND_i386_coreboot_TRUE@am__append_4283 = $(nodist_serial_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_4284 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_serial_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     serial.marker
+-@COND_i386_coreboot_TRUE@am__append_4292 = serial.mod
+-@COND_i386_coreboot_TRUE@am__append_4293 = serial.marker
+-@COND_i386_multiboot_TRUE@am__append_4294 = serial.module
+-@COND_i386_multiboot_TRUE@am__append_4295 = serial.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_4296 = 
+-@COND_i386_multiboot_TRUE@am__append_4297 = $(nodist_serial_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_4298 =  \
++@COND_i386_coreboot_TRUE@am__append_4285 = serial.mod
++@COND_i386_coreboot_TRUE@am__append_4286 = serial.marker
++@COND_i386_multiboot_TRUE@am__append_4287 = serial.module
++@COND_i386_multiboot_TRUE@am__append_4288 = serial.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_4289 = 
++@COND_i386_multiboot_TRUE@am__append_4290 = $(nodist_serial_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_4291 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_serial_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    serial.marker
+-@COND_i386_multiboot_TRUE@am__append_4299 = serial.mod
+-@COND_i386_multiboot_TRUE@am__append_4300 = serial.marker
+-@COND_i386_ieee1275_TRUE@am__append_4301 = serial.module
+-@COND_i386_ieee1275_TRUE@am__append_4302 = serial.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_4303 = 
+-@COND_i386_ieee1275_TRUE@am__append_4304 = $(nodist_serial_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_4305 =  \
++@COND_i386_multiboot_TRUE@am__append_4292 = serial.mod
++@COND_i386_multiboot_TRUE@am__append_4293 = serial.marker
++@COND_i386_ieee1275_TRUE@am__append_4294 = serial.module
++@COND_i386_ieee1275_TRUE@am__append_4295 = serial.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_4296 = 
++@COND_i386_ieee1275_TRUE@am__append_4297 = $(nodist_serial_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_4298 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_serial_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     serial.marker
+-@COND_i386_ieee1275_TRUE@am__append_4306 = serial.mod
+-@COND_i386_ieee1275_TRUE@am__append_4307 = serial.marker
+-@COND_x86_64_efi_TRUE@am__append_4308 = serial.module
+-@COND_x86_64_efi_TRUE@am__append_4309 = serial.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_4310 = 
+-@COND_x86_64_efi_TRUE@am__append_4311 = $(nodist_serial_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_4312 =  \
++@COND_i386_ieee1275_TRUE@am__append_4299 = serial.mod
++@COND_i386_ieee1275_TRUE@am__append_4300 = serial.marker
++@COND_x86_64_efi_TRUE@am__append_4301 = serial.module
++@COND_x86_64_efi_TRUE@am__append_4302 = serial.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_4303 = 
++@COND_x86_64_efi_TRUE@am__append_4304 = $(nodist_serial_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_4305 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_serial_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        serial.marker
+-@COND_x86_64_efi_TRUE@am__append_4313 = serial.mod
+-@COND_x86_64_efi_TRUE@am__append_4314 = serial.marker
+-@COND_sparc64_ieee1275_TRUE@am__append_4315 = serial.module
+-@COND_sparc64_ieee1275_TRUE@am__append_4316 = serial.module$(EXEEXT)
+-@COND_sparc64_ieee1275_TRUE@am__append_4317 = 
+-@COND_sparc64_ieee1275_TRUE@am__append_4318 = $(nodist_serial_module_SOURCES)
+-@COND_sparc64_ieee1275_TRUE@am__append_4319 =  \
++@COND_x86_64_efi_TRUE@am__append_4306 = serial.mod
++@COND_x86_64_efi_TRUE@am__append_4307 = serial.marker
++@COND_sparc64_ieee1275_TRUE@am__append_4308 = serial.module
++@COND_sparc64_ieee1275_TRUE@am__append_4309 = serial.module$(EXEEXT)
++@COND_sparc64_ieee1275_TRUE@am__append_4310 = 
++@COND_sparc64_ieee1275_TRUE@am__append_4311 = $(nodist_serial_module_SOURCES)
++@COND_sparc64_ieee1275_TRUE@am__append_4312 =  \
+ @COND_sparc64_ieee1275_TRUE@  $(nodist_serial_module_SOURCES) \
+ @COND_sparc64_ieee1275_TRUE@  serial.marker
+-@COND_sparc64_ieee1275_TRUE@am__append_4320 = serial.mod
+-@COND_sparc64_ieee1275_TRUE@am__append_4321 = serial.marker
+-@COND_powerpc_ieee1275_TRUE@am__append_4322 = serial.module
+-@COND_powerpc_ieee1275_TRUE@am__append_4323 = serial.module$(EXEEXT)
+-@COND_powerpc_ieee1275_TRUE@am__append_4324 = 
+-@COND_powerpc_ieee1275_TRUE@am__append_4325 = $(nodist_serial_module_SOURCES)
+-@COND_powerpc_ieee1275_TRUE@am__append_4326 =  \
++@COND_sparc64_ieee1275_TRUE@am__append_4313 = serial.mod
++@COND_sparc64_ieee1275_TRUE@am__append_4314 = serial.marker
++@COND_powerpc_ieee1275_TRUE@am__append_4315 = serial.module
++@COND_powerpc_ieee1275_TRUE@am__append_4316 = serial.module$(EXEEXT)
++@COND_powerpc_ieee1275_TRUE@am__append_4317 = 
++@COND_powerpc_ieee1275_TRUE@am__append_4318 = $(nodist_serial_module_SOURCES)
++@COND_powerpc_ieee1275_TRUE@am__append_4319 =  \
+ @COND_powerpc_ieee1275_TRUE@  $(nodist_serial_module_SOURCES) \
+ @COND_powerpc_ieee1275_TRUE@  serial.marker
+-@COND_powerpc_ieee1275_TRUE@am__append_4327 = serial.mod
+-@COND_powerpc_ieee1275_TRUE@am__append_4328 = serial.marker
+-@COND_mips_arc_TRUE@am__append_4329 = serial.module
+-@COND_mips_arc_TRUE@am__append_4330 = serial.module$(EXEEXT)
+-@COND_mips_arc_TRUE@am__append_4331 = 
+-@COND_mips_arc_TRUE@am__append_4332 = $(nodist_serial_module_SOURCES)
+-@COND_mips_arc_TRUE@am__append_4333 = $(nodist_serial_module_SOURCES) \
++@COND_powerpc_ieee1275_TRUE@am__append_4320 = serial.mod
++@COND_powerpc_ieee1275_TRUE@am__append_4321 = serial.marker
++@COND_mips_arc_TRUE@am__append_4322 = serial.module
++@COND_mips_arc_TRUE@am__append_4323 = serial.module$(EXEEXT)
++@COND_mips_arc_TRUE@am__append_4324 = 
++@COND_mips_arc_TRUE@am__append_4325 = $(nodist_serial_module_SOURCES)
++@COND_mips_arc_TRUE@am__append_4326 = $(nodist_serial_module_SOURCES) \
+ @COND_mips_arc_TRUE@  serial.marker
+-@COND_mips_arc_TRUE@am__append_4334 = serial.mod
+-@COND_mips_arc_TRUE@am__append_4335 = serial.marker
+-@COND_ia64_efi_TRUE@am__append_4336 = serial.module
+-@COND_ia64_efi_TRUE@am__append_4337 = serial.module$(EXEEXT)
+-@COND_ia64_efi_TRUE@am__append_4338 = 
+-@COND_ia64_efi_TRUE@am__append_4339 = $(nodist_serial_module_SOURCES)
+-@COND_ia64_efi_TRUE@am__append_4340 = $(nodist_serial_module_SOURCES) \
++@COND_mips_arc_TRUE@am__append_4327 = serial.mod
++@COND_mips_arc_TRUE@am__append_4328 = serial.marker
++@COND_ia64_efi_TRUE@am__append_4329 = serial.module
++@COND_ia64_efi_TRUE@am__append_4330 = serial.module$(EXEEXT)
++@COND_ia64_efi_TRUE@am__append_4331 = 
++@COND_ia64_efi_TRUE@am__append_4332 = $(nodist_serial_module_SOURCES)
++@COND_ia64_efi_TRUE@am__append_4333 = $(nodist_serial_module_SOURCES) \
+ @COND_ia64_efi_TRUE@  serial.marker
+-@COND_ia64_efi_TRUE@am__append_4341 = serial.mod
+-@COND_ia64_efi_TRUE@am__append_4342 = serial.marker
+-@COND_arm_efi_TRUE@am__append_4343 = serial.module
+-@COND_arm_efi_TRUE@am__append_4344 = serial.module$(EXEEXT)
+-@COND_arm_efi_TRUE@am__append_4345 = 
+-@COND_arm_efi_TRUE@am__append_4346 = $(nodist_serial_module_SOURCES)
+-@COND_arm_efi_TRUE@am__append_4347 = $(nodist_serial_module_SOURCES) \
++@COND_ia64_efi_TRUE@am__append_4334 = serial.mod
++@COND_ia64_efi_TRUE@am__append_4335 = serial.marker
++@COND_arm_efi_TRUE@am__append_4336 = serial.module
++@COND_arm_efi_TRUE@am__append_4337 = serial.module$(EXEEXT)
++@COND_arm_efi_TRUE@am__append_4338 = 
++@COND_arm_efi_TRUE@am__append_4339 = $(nodist_serial_module_SOURCES)
++@COND_arm_efi_TRUE@am__append_4340 = $(nodist_serial_module_SOURCES) \
+ @COND_arm_efi_TRUE@   serial.marker
+-@COND_arm_efi_TRUE@am__append_4348 = serial.mod
+-@COND_arm_efi_TRUE@am__append_4349 = serial.marker
+-@COND_arm64_efi_TRUE@am__append_4350 = serial.module
+-@COND_arm64_efi_TRUE@am__append_4351 = serial.module$(EXEEXT)
+-@COND_arm64_efi_TRUE@am__append_4352 = 
+-@COND_arm64_efi_TRUE@am__append_4353 = $(nodist_serial_module_SOURCES)
+-@COND_arm64_efi_TRUE@am__append_4354 =  \
++@COND_arm_efi_TRUE@am__append_4341 = serial.mod
++@COND_arm_efi_TRUE@am__append_4342 = serial.marker
++@COND_arm64_efi_TRUE@am__append_4343 = serial.module
++@COND_arm64_efi_TRUE@am__append_4344 = serial.module$(EXEEXT)
++@COND_arm64_efi_TRUE@am__append_4345 = 
++@COND_arm64_efi_TRUE@am__append_4346 = $(nodist_serial_module_SOURCES)
++@COND_arm64_efi_TRUE@am__append_4347 =  \
+ @COND_arm64_efi_TRUE@ $(nodist_serial_module_SOURCES) \
+ @COND_arm64_efi_TRUE@ serial.marker
+-@COND_arm64_efi_TRUE@am__append_4355 = serial.mod
+-@COND_arm64_efi_TRUE@am__append_4356 = serial.marker
+-@COND_arm_coreboot_TRUE@am__append_4357 = serial.module
+-@COND_arm_coreboot_TRUE@am__append_4358 = serial.module$(EXEEXT)
+-@COND_arm_coreboot_TRUE@am__append_4359 = 
+-@COND_arm_coreboot_TRUE@am__append_4360 = $(nodist_serial_module_SOURCES)
+-@COND_arm_coreboot_TRUE@am__append_4361 =  \
++@COND_arm64_efi_TRUE@am__append_4348 = serial.mod
++@COND_arm64_efi_TRUE@am__append_4349 = serial.marker
++@COND_arm_coreboot_TRUE@am__append_4350 = serial.module
++@COND_arm_coreboot_TRUE@am__append_4351 = serial.module$(EXEEXT)
++@COND_arm_coreboot_TRUE@am__append_4352 = 
++@COND_arm_coreboot_TRUE@am__append_4353 = $(nodist_serial_module_SOURCES)
++@COND_arm_coreboot_TRUE@am__append_4354 =  \
+ @COND_arm_coreboot_TRUE@      $(nodist_serial_module_SOURCES) \
+ @COND_arm_coreboot_TRUE@      serial.marker
+-@COND_arm_coreboot_TRUE@am__append_4362 = serial.mod
+-@COND_arm_coreboot_TRUE@am__append_4363 = serial.marker
+-@COND_riscv32_efi_TRUE@am__append_4364 = serial.module
+-@COND_riscv32_efi_TRUE@am__append_4365 = serial.module$(EXEEXT)
+-@COND_riscv32_efi_TRUE@am__append_4366 = 
+-@COND_riscv32_efi_TRUE@am__append_4367 = $(nodist_serial_module_SOURCES)
+-@COND_riscv32_efi_TRUE@am__append_4368 =  \
++@COND_arm_coreboot_TRUE@am__append_4355 = serial.mod
++@COND_arm_coreboot_TRUE@am__append_4356 = serial.marker
++@COND_riscv32_efi_TRUE@am__append_4357 = serial.module
++@COND_riscv32_efi_TRUE@am__append_4358 = serial.module$(EXEEXT)
++@COND_riscv32_efi_TRUE@am__append_4359 = 
++@COND_riscv32_efi_TRUE@am__append_4360 = $(nodist_serial_module_SOURCES)
++@COND_riscv32_efi_TRUE@am__append_4361 =  \
+ @COND_riscv32_efi_TRUE@       $(nodist_serial_module_SOURCES) \
+ @COND_riscv32_efi_TRUE@       serial.marker
+-@COND_riscv32_efi_TRUE@am__append_4369 = serial.mod
+-@COND_riscv32_efi_TRUE@am__append_4370 = serial.marker
+-@COND_riscv64_efi_TRUE@am__append_4371 = serial.module
+-@COND_riscv64_efi_TRUE@am__append_4372 = serial.module$(EXEEXT)
+-@COND_riscv64_efi_TRUE@am__append_4373 = 
+-@COND_riscv64_efi_TRUE@am__append_4374 = $(nodist_serial_module_SOURCES)
+-@COND_riscv64_efi_TRUE@am__append_4375 =  \
++@COND_riscv32_efi_TRUE@am__append_4362 = serial.mod
++@COND_riscv32_efi_TRUE@am__append_4363 = serial.marker
++@COND_riscv64_efi_TRUE@am__append_4364 = serial.module
++@COND_riscv64_efi_TRUE@am__append_4365 = serial.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__append_4366 = 
++@COND_riscv64_efi_TRUE@am__append_4367 = $(nodist_serial_module_SOURCES)
++@COND_riscv64_efi_TRUE@am__append_4368 =  \
+ @COND_riscv64_efi_TRUE@       $(nodist_serial_module_SOURCES) \
+ @COND_riscv64_efi_TRUE@       serial.marker
+-@COND_riscv64_efi_TRUE@am__append_4376 = serial.mod
+-@COND_riscv64_efi_TRUE@am__append_4377 = serial.marker
+-@COND_i386_pc_TRUE@am__append_4378 = sendkey.module terminfo.module
+-@COND_i386_pc_TRUE@am__append_4379 = sendkey.module$(EXEEXT) \
++@COND_riscv64_efi_TRUE@am__append_4369 = serial.mod
++@COND_riscv64_efi_TRUE@am__append_4370 = serial.marker
++@COND_i386_pc_TRUE@am__append_4371 = sendkey.module terminfo.module
++@COND_i386_pc_TRUE@am__append_4372 = sendkey.module$(EXEEXT) \
+ @COND_i386_pc_TRUE@   terminfo.module$(EXEEXT)
+ @COND_i386_pc_FALSE@sendkey_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_4380 =
+-@COND_i386_pc_TRUE@am__append_4381 = $(nodist_sendkey_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_4373 =
++@COND_i386_pc_TRUE@am__append_4374 = $(nodist_sendkey_module_SOURCES) \
+ @COND_i386_pc_TRUE@   $(nodist_terminfo_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_4382 = $(nodist_sendkey_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_4375 = $(nodist_sendkey_module_SOURCES) \
+ @COND_i386_pc_TRUE@   sendkey.marker \
+ @COND_i386_pc_TRUE@   $(nodist_terminfo_module_SOURCES) \
+ @COND_i386_pc_TRUE@   terminfo.marker
+-@COND_i386_pc_TRUE@am__append_4383 = sendkey.mod terminfo.mod
+-@COND_i386_pc_TRUE@am__append_4384 = sendkey.marker terminfo.marker
++@COND_i386_pc_TRUE@am__append_4376 = sendkey.mod terminfo.mod
++@COND_i386_pc_TRUE@am__append_4377 = sendkey.marker terminfo.marker
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@@COND_ia64_efi_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_x86_64_efi_FALSE@terminfo_module_DEPENDENCIES =
+-@COND_i386_efi_TRUE@am__append_4385 = terminfo.module
+-@COND_i386_efi_TRUE@am__append_4386 = terminfo.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_4387 = 
+-@COND_i386_efi_TRUE@am__append_4388 = $(nodist_terminfo_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_4389 =  \
++@COND_i386_efi_TRUE@am__append_4378 = terminfo.module
++@COND_i386_efi_TRUE@am__append_4379 = terminfo.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_4380 = 
++@COND_i386_efi_TRUE@am__append_4381 = $(nodist_terminfo_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_4382 =  \
+ @COND_i386_efi_TRUE@  $(nodist_terminfo_module_SOURCES) \
+ @COND_i386_efi_TRUE@  terminfo.marker
+-@COND_i386_efi_TRUE@am__append_4390 = terminfo.mod
+-@COND_i386_efi_TRUE@am__append_4391 = terminfo.marker
+-@COND_i386_qemu_TRUE@am__append_4392 = terminfo.module
+-@COND_i386_qemu_TRUE@am__append_4393 = terminfo.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_4394 = 
+-@COND_i386_qemu_TRUE@am__append_4395 = $(nodist_terminfo_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_4396 =  \
++@COND_i386_efi_TRUE@am__append_4383 = terminfo.mod
++@COND_i386_efi_TRUE@am__append_4384 = terminfo.marker
++@COND_i386_qemu_TRUE@am__append_4385 = terminfo.module
++@COND_i386_qemu_TRUE@am__append_4386 = terminfo.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_4387 = 
++@COND_i386_qemu_TRUE@am__append_4388 = $(nodist_terminfo_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_4389 =  \
+ @COND_i386_qemu_TRUE@ $(nodist_terminfo_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ terminfo.marker
+-@COND_i386_qemu_TRUE@am__append_4397 = terminfo.mod
+-@COND_i386_qemu_TRUE@am__append_4398 = terminfo.marker
+-@COND_i386_coreboot_TRUE@am__append_4399 = terminfo.module
+-@COND_i386_coreboot_TRUE@am__append_4400 = terminfo.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_4401 = 
+-@COND_i386_coreboot_TRUE@am__append_4402 = $(nodist_terminfo_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_4403 =  \
++@COND_i386_qemu_TRUE@am__append_4390 = terminfo.mod
++@COND_i386_qemu_TRUE@am__append_4391 = terminfo.marker
++@COND_i386_coreboot_TRUE@am__append_4392 = terminfo.module
++@COND_i386_coreboot_TRUE@am__append_4393 = terminfo.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_4394 = 
++@COND_i386_coreboot_TRUE@am__append_4395 = $(nodist_terminfo_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_4396 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_terminfo_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     terminfo.marker
+-@COND_i386_coreboot_TRUE@am__append_4404 = terminfo.mod
+-@COND_i386_coreboot_TRUE@am__append_4405 = terminfo.marker
+-@COND_i386_multiboot_TRUE@am__append_4406 = terminfo.module
+-@COND_i386_multiboot_TRUE@am__append_4407 = terminfo.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_4408 = 
+-@COND_i386_multiboot_TRUE@am__append_4409 = $(nodist_terminfo_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_4410 =  \
++@COND_i386_coreboot_TRUE@am__append_4397 = terminfo.mod
++@COND_i386_coreboot_TRUE@am__append_4398 = terminfo.marker
++@COND_i386_multiboot_TRUE@am__append_4399 = terminfo.module
++@COND_i386_multiboot_TRUE@am__append_4400 = terminfo.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_4401 = 
++@COND_i386_multiboot_TRUE@am__append_4402 = $(nodist_terminfo_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_4403 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_terminfo_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    terminfo.marker
+-@COND_i386_multiboot_TRUE@am__append_4411 = terminfo.mod
+-@COND_i386_multiboot_TRUE@am__append_4412 = terminfo.marker
+-@COND_x86_64_efi_TRUE@am__append_4413 = terminfo.module
+-@COND_x86_64_efi_TRUE@am__append_4414 = terminfo.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_4415 = 
+-@COND_x86_64_efi_TRUE@am__append_4416 = $(nodist_terminfo_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_4417 =  \
++@COND_i386_multiboot_TRUE@am__append_4404 = terminfo.mod
++@COND_i386_multiboot_TRUE@am__append_4405 = terminfo.marker
++@COND_x86_64_efi_TRUE@am__append_4406 = terminfo.module
++@COND_x86_64_efi_TRUE@am__append_4407 = terminfo.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_4408 = 
++@COND_x86_64_efi_TRUE@am__append_4409 = $(nodist_terminfo_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_4410 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_terminfo_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        terminfo.marker
+-@COND_x86_64_efi_TRUE@am__append_4418 = terminfo.mod
+-@COND_x86_64_efi_TRUE@am__append_4419 = terminfo.marker
+-@COND_ia64_efi_TRUE@am__append_4420 = terminfo.module
+-@COND_ia64_efi_TRUE@am__append_4421 = terminfo.module$(EXEEXT)
+-@COND_ia64_efi_TRUE@am__append_4422 = 
+-@COND_ia64_efi_TRUE@am__append_4423 = $(nodist_terminfo_module_SOURCES)
+-@COND_ia64_efi_TRUE@am__append_4424 =  \
++@COND_x86_64_efi_TRUE@am__append_4411 = terminfo.mod
++@COND_x86_64_efi_TRUE@am__append_4412 = terminfo.marker
++@COND_ia64_efi_TRUE@am__append_4413 = terminfo.module
++@COND_ia64_efi_TRUE@am__append_4414 = terminfo.module$(EXEEXT)
++@COND_ia64_efi_TRUE@am__append_4415 = 
++@COND_ia64_efi_TRUE@am__append_4416 = $(nodist_terminfo_module_SOURCES)
++@COND_ia64_efi_TRUE@am__append_4417 =  \
+ @COND_ia64_efi_TRUE@  $(nodist_terminfo_module_SOURCES) \
+ @COND_ia64_efi_TRUE@  terminfo.marker
+-@COND_ia64_efi_TRUE@am__append_4425 = terminfo.mod
+-@COND_ia64_efi_TRUE@am__append_4426 = terminfo.marker
+-@COND_arm_efi_TRUE@am__append_4427 = terminfo.module
+-@COND_arm_efi_TRUE@am__append_4428 = terminfo.module$(EXEEXT)
+-@COND_arm_efi_TRUE@am__append_4429 = 
+-@COND_arm_efi_TRUE@am__append_4430 = $(nodist_terminfo_module_SOURCES)
+-@COND_arm_efi_TRUE@am__append_4431 =  \
++@COND_ia64_efi_TRUE@am__append_4418 = terminfo.mod
++@COND_ia64_efi_TRUE@am__append_4419 = terminfo.marker
++@COND_arm_efi_TRUE@am__append_4420 = terminfo.module
++@COND_arm_efi_TRUE@am__append_4421 = terminfo.module$(EXEEXT)
++@COND_arm_efi_TRUE@am__append_4422 = 
++@COND_arm_efi_TRUE@am__append_4423 = $(nodist_terminfo_module_SOURCES)
++@COND_arm_efi_TRUE@am__append_4424 =  \
+ @COND_arm_efi_TRUE@   $(nodist_terminfo_module_SOURCES) \
+ @COND_arm_efi_TRUE@   terminfo.marker
+-@COND_arm_efi_TRUE@am__append_4432 = terminfo.mod
+-@COND_arm_efi_TRUE@am__append_4433 = terminfo.marker
+-@COND_arm64_efi_TRUE@am__append_4434 = terminfo.module
+-@COND_arm64_efi_TRUE@am__append_4435 = terminfo.module$(EXEEXT)
+-@COND_arm64_efi_TRUE@am__append_4436 = 
+-@COND_arm64_efi_TRUE@am__append_4437 = $(nodist_terminfo_module_SOURCES)
+-@COND_arm64_efi_TRUE@am__append_4438 =  \
++@COND_arm_efi_TRUE@am__append_4425 = terminfo.mod
++@COND_arm_efi_TRUE@am__append_4426 = terminfo.marker
++@COND_arm64_efi_TRUE@am__append_4427 = terminfo.module
++@COND_arm64_efi_TRUE@am__append_4428 = terminfo.module$(EXEEXT)
++@COND_arm64_efi_TRUE@am__append_4429 = 
++@COND_arm64_efi_TRUE@am__append_4430 = $(nodist_terminfo_module_SOURCES)
++@COND_arm64_efi_TRUE@am__append_4431 =  \
+ @COND_arm64_efi_TRUE@ $(nodist_terminfo_module_SOURCES) \
+ @COND_arm64_efi_TRUE@ terminfo.marker
+-@COND_arm64_efi_TRUE@am__append_4439 = terminfo.mod
+-@COND_arm64_efi_TRUE@am__append_4440 = terminfo.marker
+-@COND_arm_coreboot_TRUE@am__append_4441 = terminfo.module
+-@COND_arm_coreboot_TRUE@am__append_4442 = terminfo.module$(EXEEXT)
+-@COND_arm_coreboot_TRUE@am__append_4443 = 
+-@COND_arm_coreboot_TRUE@am__append_4444 = $(nodist_terminfo_module_SOURCES)
+-@COND_arm_coreboot_TRUE@am__append_4445 =  \
++@COND_arm64_efi_TRUE@am__append_4432 = terminfo.mod
++@COND_arm64_efi_TRUE@am__append_4433 = terminfo.marker
++@COND_arm_coreboot_TRUE@am__append_4434 = terminfo.module
++@COND_arm_coreboot_TRUE@am__append_4435 = terminfo.module$(EXEEXT)
++@COND_arm_coreboot_TRUE@am__append_4436 = 
++@COND_arm_coreboot_TRUE@am__append_4437 = $(nodist_terminfo_module_SOURCES)
++@COND_arm_coreboot_TRUE@am__append_4438 =  \
+ @COND_arm_coreboot_TRUE@      $(nodist_terminfo_module_SOURCES) \
+ @COND_arm_coreboot_TRUE@      terminfo.marker
+-@COND_arm_coreboot_TRUE@am__append_4446 = terminfo.mod
+-@COND_arm_coreboot_TRUE@am__append_4447 = terminfo.marker
+-@COND_riscv32_efi_TRUE@am__append_4448 = terminfo.module
+-@COND_riscv32_efi_TRUE@am__append_4449 = terminfo.module$(EXEEXT)
+-@COND_riscv32_efi_TRUE@am__append_4450 = 
+-@COND_riscv32_efi_TRUE@am__append_4451 = $(nodist_terminfo_module_SOURCES)
+-@COND_riscv32_efi_TRUE@am__append_4452 =  \
++@COND_arm_coreboot_TRUE@am__append_4439 = terminfo.mod
++@COND_arm_coreboot_TRUE@am__append_4440 = terminfo.marker
++@COND_riscv32_efi_TRUE@am__append_4441 = terminfo.module
++@COND_riscv32_efi_TRUE@am__append_4442 = terminfo.module$(EXEEXT)
++@COND_riscv32_efi_TRUE@am__append_4443 = 
++@COND_riscv32_efi_TRUE@am__append_4444 = $(nodist_terminfo_module_SOURCES)
++@COND_riscv32_efi_TRUE@am__append_4445 =  \
+ @COND_riscv32_efi_TRUE@       $(nodist_terminfo_module_SOURCES) \
+ @COND_riscv32_efi_TRUE@       terminfo.marker
+-@COND_riscv32_efi_TRUE@am__append_4453 = terminfo.mod
+-@COND_riscv32_efi_TRUE@am__append_4454 = terminfo.marker
+-@COND_riscv64_efi_TRUE@am__append_4455 = terminfo.module
+-@COND_riscv64_efi_TRUE@am__append_4456 = terminfo.module$(EXEEXT)
+-@COND_riscv64_efi_TRUE@am__append_4457 = 
+-@COND_riscv64_efi_TRUE@am__append_4458 = $(nodist_terminfo_module_SOURCES)
+-@COND_riscv64_efi_TRUE@am__append_4459 =  \
++@COND_riscv32_efi_TRUE@am__append_4446 = terminfo.mod
++@COND_riscv32_efi_TRUE@am__append_4447 = terminfo.marker
++@COND_riscv64_efi_TRUE@am__append_4448 = terminfo.module
++@COND_riscv64_efi_TRUE@am__append_4449 = terminfo.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__append_4450 = 
++@COND_riscv64_efi_TRUE@am__append_4451 = $(nodist_terminfo_module_SOURCES)
++@COND_riscv64_efi_TRUE@am__append_4452 =  \
+ @COND_riscv64_efi_TRUE@       $(nodist_terminfo_module_SOURCES) \
+ @COND_riscv64_efi_TRUE@       terminfo.marker
+-@COND_riscv64_efi_TRUE@am__append_4460 = terminfo.mod
+-@COND_riscv64_efi_TRUE@am__append_4461 = terminfo.marker
+-@COND_i386_pc_TRUE@am__append_4462 = usb_keyboard.module
+-@COND_i386_pc_TRUE@am__append_4463 = usb_keyboard.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__append_4453 = terminfo.mod
++@COND_riscv64_efi_TRUE@am__append_4454 = terminfo.marker
++@COND_i386_pc_TRUE@am__append_4455 = usb_keyboard.module
++@COND_i386_pc_TRUE@am__append_4456 = usb_keyboard.module$(EXEEXT)
+ @COND_arm_coreboot_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_mips_loongson_FALSE@@COND_x86_64_efi_FALSE@usb_keyboard_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_4464 = 
+-@COND_i386_pc_TRUE@am__append_4465 = $(nodist_usb_keyboard_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_4466 =  \
++@COND_i386_pc_TRUE@am__append_4457 = 
++@COND_i386_pc_TRUE@am__append_4458 = $(nodist_usb_keyboard_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_4459 =  \
+ @COND_i386_pc_TRUE@   $(nodist_usb_keyboard_module_SOURCES) \
+ @COND_i386_pc_TRUE@   usb_keyboard.marker
+-@COND_i386_pc_TRUE@am__append_4467 = usb_keyboard.mod
+-@COND_i386_pc_TRUE@am__append_4468 = usb_keyboard.marker
+-@COND_i386_efi_TRUE@am__append_4469 = usb_keyboard.module
+-@COND_i386_efi_TRUE@am__append_4470 = usb_keyboard.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_4471 = 
+-@COND_i386_efi_TRUE@am__append_4472 = $(nodist_usb_keyboard_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_4473 =  \
++@COND_i386_pc_TRUE@am__append_4460 = usb_keyboard.mod
++@COND_i386_pc_TRUE@am__append_4461 = usb_keyboard.marker
++@COND_i386_efi_TRUE@am__append_4462 = usb_keyboard.module
++@COND_i386_efi_TRUE@am__append_4463 = usb_keyboard.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_4464 = 
++@COND_i386_efi_TRUE@am__append_4465 = $(nodist_usb_keyboard_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_4466 =  \
+ @COND_i386_efi_TRUE@  $(nodist_usb_keyboard_module_SOURCES) \
+ @COND_i386_efi_TRUE@  usb_keyboard.marker
+-@COND_i386_efi_TRUE@am__append_4474 = usb_keyboard.mod
+-@COND_i386_efi_TRUE@am__append_4475 = usb_keyboard.marker
+-@COND_i386_qemu_TRUE@am__append_4476 = usb_keyboard.module
+-@COND_i386_qemu_TRUE@am__append_4477 = usb_keyboard.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_4478 = 
+-@COND_i386_qemu_TRUE@am__append_4479 = $(nodist_usb_keyboard_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_4480 =  \
++@COND_i386_efi_TRUE@am__append_4467 = usb_keyboard.mod
++@COND_i386_efi_TRUE@am__append_4468 = usb_keyboard.marker
++@COND_i386_qemu_TRUE@am__append_4469 = usb_keyboard.module
++@COND_i386_qemu_TRUE@am__append_4470 = usb_keyboard.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_4471 = 
++@COND_i386_qemu_TRUE@am__append_4472 = $(nodist_usb_keyboard_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_4473 =  \
+ @COND_i386_qemu_TRUE@ $(nodist_usb_keyboard_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ usb_keyboard.marker
+-@COND_i386_qemu_TRUE@am__append_4481 = usb_keyboard.mod
+-@COND_i386_qemu_TRUE@am__append_4482 = usb_keyboard.marker
+-@COND_i386_coreboot_TRUE@am__append_4483 = usb_keyboard.module
+-@COND_i386_coreboot_TRUE@am__append_4484 = usb_keyboard.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_4485 = 
+-@COND_i386_coreboot_TRUE@am__append_4486 = $(nodist_usb_keyboard_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_4487 = $(nodist_usb_keyboard_module_SOURCES) \
++@COND_i386_qemu_TRUE@am__append_4474 = usb_keyboard.mod
++@COND_i386_qemu_TRUE@am__append_4475 = usb_keyboard.marker
++@COND_i386_coreboot_TRUE@am__append_4476 = usb_keyboard.module
++@COND_i386_coreboot_TRUE@am__append_4477 = usb_keyboard.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_4478 = 
++@COND_i386_coreboot_TRUE@am__append_4479 = $(nodist_usb_keyboard_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_4480 = $(nodist_usb_keyboard_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     usb_keyboard.marker
+-@COND_i386_coreboot_TRUE@am__append_4488 = usb_keyboard.mod
+-@COND_i386_coreboot_TRUE@am__append_4489 = usb_keyboard.marker
+-@COND_i386_multiboot_TRUE@am__append_4490 = usb_keyboard.module
+-@COND_i386_multiboot_TRUE@am__append_4491 = usb_keyboard.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_4492 = 
+-@COND_i386_multiboot_TRUE@am__append_4493 = $(nodist_usb_keyboard_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_4494 = $(nodist_usb_keyboard_module_SOURCES) \
++@COND_i386_coreboot_TRUE@am__append_4481 = usb_keyboard.mod
++@COND_i386_coreboot_TRUE@am__append_4482 = usb_keyboard.marker
++@COND_i386_multiboot_TRUE@am__append_4483 = usb_keyboard.module
++@COND_i386_multiboot_TRUE@am__append_4484 = usb_keyboard.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_4485 = 
++@COND_i386_multiboot_TRUE@am__append_4486 = $(nodist_usb_keyboard_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_4487 = $(nodist_usb_keyboard_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    usb_keyboard.marker
+-@COND_i386_multiboot_TRUE@am__append_4495 = usb_keyboard.mod
+-@COND_i386_multiboot_TRUE@am__append_4496 = usb_keyboard.marker
+-@COND_i386_ieee1275_TRUE@am__append_4497 = usb_keyboard.module
+-@COND_i386_ieee1275_TRUE@am__append_4498 = usb_keyboard.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_4499 = 
+-@COND_i386_ieee1275_TRUE@am__append_4500 = $(nodist_usb_keyboard_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_4501 = $(nodist_usb_keyboard_module_SOURCES) \
++@COND_i386_multiboot_TRUE@am__append_4488 = usb_keyboard.mod
++@COND_i386_multiboot_TRUE@am__append_4489 = usb_keyboard.marker
++@COND_i386_ieee1275_TRUE@am__append_4490 = usb_keyboard.module
++@COND_i386_ieee1275_TRUE@am__append_4491 = usb_keyboard.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_4492 = 
++@COND_i386_ieee1275_TRUE@am__append_4493 = $(nodist_usb_keyboard_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_4494 = $(nodist_usb_keyboard_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     usb_keyboard.marker
+-@COND_i386_ieee1275_TRUE@am__append_4502 = usb_keyboard.mod
+-@COND_i386_ieee1275_TRUE@am__append_4503 = usb_keyboard.marker
+-@COND_x86_64_efi_TRUE@am__append_4504 = usb_keyboard.module
+-@COND_x86_64_efi_TRUE@am__append_4505 = usb_keyboard.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_4506 = 
+-@COND_x86_64_efi_TRUE@am__append_4507 = $(nodist_usb_keyboard_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_4508 =  \
++@COND_i386_ieee1275_TRUE@am__append_4495 = usb_keyboard.mod
++@COND_i386_ieee1275_TRUE@am__append_4496 = usb_keyboard.marker
++@COND_x86_64_efi_TRUE@am__append_4497 = usb_keyboard.module
++@COND_x86_64_efi_TRUE@am__append_4498 = usb_keyboard.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_4499 = 
++@COND_x86_64_efi_TRUE@am__append_4500 = $(nodist_usb_keyboard_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_4501 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_usb_keyboard_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        usb_keyboard.marker
+-@COND_x86_64_efi_TRUE@am__append_4509 = usb_keyboard.mod
+-@COND_x86_64_efi_TRUE@am__append_4510 = usb_keyboard.marker
+-@COND_mips_loongson_TRUE@am__append_4511 = usb_keyboard.module
+-@COND_mips_loongson_TRUE@am__append_4512 = usb_keyboard.module$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__append_4513 = 
+-@COND_mips_loongson_TRUE@am__append_4514 = $(nodist_usb_keyboard_module_SOURCES)
+-@COND_mips_loongson_TRUE@am__append_4515 = $(nodist_usb_keyboard_module_SOURCES) \
++@COND_x86_64_efi_TRUE@am__append_4502 = usb_keyboard.mod
++@COND_x86_64_efi_TRUE@am__append_4503 = usb_keyboard.marker
++@COND_mips_loongson_TRUE@am__append_4504 = usb_keyboard.module
++@COND_mips_loongson_TRUE@am__append_4505 = usb_keyboard.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__append_4506 = 
++@COND_mips_loongson_TRUE@am__append_4507 = $(nodist_usb_keyboard_module_SOURCES)
++@COND_mips_loongson_TRUE@am__append_4508 = $(nodist_usb_keyboard_module_SOURCES) \
+ @COND_mips_loongson_TRUE@     usb_keyboard.marker
+-@COND_mips_loongson_TRUE@am__append_4516 = usb_keyboard.mod
+-@COND_mips_loongson_TRUE@am__append_4517 = usb_keyboard.marker
+-@COND_arm_coreboot_TRUE@am__append_4518 = usb_keyboard.module
+-@COND_arm_coreboot_TRUE@am__append_4519 = usb_keyboard.module$(EXEEXT)
+-@COND_arm_coreboot_TRUE@am__append_4520 = 
+-@COND_arm_coreboot_TRUE@am__append_4521 = $(nodist_usb_keyboard_module_SOURCES)
+-@COND_arm_coreboot_TRUE@am__append_4522 =  \
++@COND_mips_loongson_TRUE@am__append_4509 = usb_keyboard.mod
++@COND_mips_loongson_TRUE@am__append_4510 = usb_keyboard.marker
++@COND_arm_coreboot_TRUE@am__append_4511 = usb_keyboard.module
++@COND_arm_coreboot_TRUE@am__append_4512 = usb_keyboard.module$(EXEEXT)
++@COND_arm_coreboot_TRUE@am__append_4513 = 
++@COND_arm_coreboot_TRUE@am__append_4514 = $(nodist_usb_keyboard_module_SOURCES)
++@COND_arm_coreboot_TRUE@am__append_4515 =  \
+ @COND_arm_coreboot_TRUE@      $(nodist_usb_keyboard_module_SOURCES) \
+ @COND_arm_coreboot_TRUE@      usb_keyboard.marker
+-@COND_arm_coreboot_TRUE@am__append_4523 = usb_keyboard.mod
+-@COND_arm_coreboot_TRUE@am__append_4524 = usb_keyboard.marker
+-@COND_i386_pc_TRUE@am__append_4525 = vga.module vga_text.module \
++@COND_arm_coreboot_TRUE@am__append_4516 = usb_keyboard.mod
++@COND_arm_coreboot_TRUE@am__append_4517 = usb_keyboard.marker
++@COND_i386_pc_TRUE@am__append_4518 = vga.module vga_text.module \
+ @COND_i386_pc_TRUE@   mda_text.module
+-@COND_i386_pc_TRUE@am__append_4526 = vga.module$(EXEEXT) \
++@COND_i386_pc_TRUE@am__append_4519 = vga.module$(EXEEXT) \
+ @COND_i386_pc_TRUE@   vga_text.module$(EXEEXT) \
+ @COND_i386_pc_TRUE@   mda_text.module$(EXEEXT)
+ @COND_i386_pc_FALSE@vga_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_4527 =
+-@COND_i386_pc_TRUE@am__append_4528 = $(nodist_vga_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_4520 =
++@COND_i386_pc_TRUE@am__append_4521 = $(nodist_vga_module_SOURCES) \
+ @COND_i386_pc_TRUE@   $(nodist_vga_text_module_SOURCES) \
+ @COND_i386_pc_TRUE@   $(nodist_mda_text_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_4529 = $(nodist_vga_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_4522 = $(nodist_vga_module_SOURCES) \
+ @COND_i386_pc_TRUE@   vga.marker \
+ @COND_i386_pc_TRUE@   $(nodist_vga_text_module_SOURCES) \
+ @COND_i386_pc_TRUE@   vga_text.marker \
+ @COND_i386_pc_TRUE@   $(nodist_mda_text_module_SOURCES) \
+ @COND_i386_pc_TRUE@   mda_text.marker
+-@COND_i386_pc_TRUE@am__append_4530 = vga.mod vga_text.mod mda_text.mod
+-@COND_i386_pc_TRUE@am__append_4531 = vga.marker vga_text.marker \
++@COND_i386_pc_TRUE@am__append_4523 = vga.mod vga_text.mod mda_text.mod
++@COND_i386_pc_TRUE@am__append_4524 = vga.marker vga_text.marker \
+ @COND_i386_pc_TRUE@   mda_text.marker
+ @COND_i386_pc_FALSE@vga_text_module_DEPENDENCIES =
+ @COND_i386_coreboot_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@mda_text_module_DEPENDENCIES =
+-@COND_i386_qemu_TRUE@am__append_4532 = mda_text.module
+-@COND_i386_qemu_TRUE@am__append_4533 = mda_text.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_4534 = 
+-@COND_i386_qemu_TRUE@am__append_4535 = $(nodist_mda_text_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_4536 =  \
++@COND_i386_qemu_TRUE@am__append_4525 = mda_text.module
++@COND_i386_qemu_TRUE@am__append_4526 = mda_text.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_4527 = 
++@COND_i386_qemu_TRUE@am__append_4528 = $(nodist_mda_text_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_4529 =  \
+ @COND_i386_qemu_TRUE@ $(nodist_mda_text_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ mda_text.marker
+-@COND_i386_qemu_TRUE@am__append_4537 = mda_text.mod
+-@COND_i386_qemu_TRUE@am__append_4538 = mda_text.marker
+-@COND_i386_coreboot_TRUE@am__append_4539 = mda_text.module
+-@COND_i386_coreboot_TRUE@am__append_4540 = mda_text.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_4541 = 
+-@COND_i386_coreboot_TRUE@am__append_4542 = $(nodist_mda_text_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_4543 =  \
++@COND_i386_qemu_TRUE@am__append_4530 = mda_text.mod
++@COND_i386_qemu_TRUE@am__append_4531 = mda_text.marker
++@COND_i386_coreboot_TRUE@am__append_4532 = mda_text.module
++@COND_i386_coreboot_TRUE@am__append_4533 = mda_text.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_4534 = 
++@COND_i386_coreboot_TRUE@am__append_4535 = $(nodist_mda_text_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_4536 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_mda_text_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     mda_text.marker
+-@COND_i386_coreboot_TRUE@am__append_4544 = mda_text.mod
+-@COND_i386_coreboot_TRUE@am__append_4545 = mda_text.marker
+-@COND_i386_multiboot_TRUE@am__append_4546 = mda_text.module
+-@COND_i386_multiboot_TRUE@am__append_4547 = mda_text.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_4548 = 
+-@COND_i386_multiboot_TRUE@am__append_4549 = $(nodist_mda_text_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_4550 =  \
++@COND_i386_coreboot_TRUE@am__append_4537 = mda_text.mod
++@COND_i386_coreboot_TRUE@am__append_4538 = mda_text.marker
++@COND_i386_multiboot_TRUE@am__append_4539 = mda_text.module
++@COND_i386_multiboot_TRUE@am__append_4540 = mda_text.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_4541 = 
++@COND_i386_multiboot_TRUE@am__append_4542 = $(nodist_mda_text_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_4543 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_mda_text_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    mda_text.marker
+-@COND_i386_multiboot_TRUE@am__append_4551 = mda_text.mod
+-@COND_i386_multiboot_TRUE@am__append_4552 = mda_text.marker
+-@COND_i386_pc_TRUE@am__append_4553 = video_cirrus.module
+-@COND_i386_pc_TRUE@am__append_4554 = video_cirrus.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_4544 = mda_text.mod
++@COND_i386_multiboot_TRUE@am__append_4545 = mda_text.marker
++@COND_i386_pc_TRUE@am__append_4546 = video_cirrus.module
++@COND_i386_pc_TRUE@am__append_4547 = video_cirrus.module$(EXEEXT)
+ @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_x86_64_efi_FALSE@video_cirrus_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_4555 = 
+-@COND_i386_pc_TRUE@am__append_4556 = $(nodist_video_cirrus_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_4557 =  \
++@COND_i386_pc_TRUE@am__append_4548 = 
++@COND_i386_pc_TRUE@am__append_4549 = $(nodist_video_cirrus_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_4550 =  \
+ @COND_i386_pc_TRUE@   $(nodist_video_cirrus_module_SOURCES) \
+ @COND_i386_pc_TRUE@   video_cirrus.marker
+-@COND_i386_pc_TRUE@am__append_4558 = video_cirrus.mod
+-@COND_i386_pc_TRUE@am__append_4559 = video_cirrus.marker
+-@COND_i386_efi_TRUE@am__append_4560 = video_cirrus.module
+-@COND_i386_efi_TRUE@am__append_4561 = video_cirrus.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_4562 = 
+-@COND_i386_efi_TRUE@am__append_4563 = $(nodist_video_cirrus_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_4564 =  \
++@COND_i386_pc_TRUE@am__append_4551 = video_cirrus.mod
++@COND_i386_pc_TRUE@am__append_4552 = video_cirrus.marker
++@COND_i386_efi_TRUE@am__append_4553 = video_cirrus.module
++@COND_i386_efi_TRUE@am__append_4554 = video_cirrus.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_4555 = 
++@COND_i386_efi_TRUE@am__append_4556 = $(nodist_video_cirrus_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_4557 =  \
+ @COND_i386_efi_TRUE@  $(nodist_video_cirrus_module_SOURCES) \
+ @COND_i386_efi_TRUE@  video_cirrus.marker
+-@COND_i386_efi_TRUE@am__append_4565 = video_cirrus.mod
+-@COND_i386_efi_TRUE@am__append_4566 = video_cirrus.marker
+-@COND_i386_qemu_TRUE@am__append_4567 = video_cirrus.module
+-@COND_i386_qemu_TRUE@am__append_4568 = video_cirrus.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_4569 = 
+-@COND_i386_qemu_TRUE@am__append_4570 = $(nodist_video_cirrus_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_4571 =  \
++@COND_i386_efi_TRUE@am__append_4558 = video_cirrus.mod
++@COND_i386_efi_TRUE@am__append_4559 = video_cirrus.marker
++@COND_i386_qemu_TRUE@am__append_4560 = video_cirrus.module
++@COND_i386_qemu_TRUE@am__append_4561 = video_cirrus.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_4562 = 
++@COND_i386_qemu_TRUE@am__append_4563 = $(nodist_video_cirrus_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_4564 =  \
+ @COND_i386_qemu_TRUE@ $(nodist_video_cirrus_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ video_cirrus.marker
+-@COND_i386_qemu_TRUE@am__append_4572 = video_cirrus.mod
+-@COND_i386_qemu_TRUE@am__append_4573 = video_cirrus.marker
+-@COND_i386_coreboot_TRUE@am__append_4574 = video_cirrus.module
+-@COND_i386_coreboot_TRUE@am__append_4575 = video_cirrus.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_4576 = 
+-@COND_i386_coreboot_TRUE@am__append_4577 = $(nodist_video_cirrus_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_4578 = $(nodist_video_cirrus_module_SOURCES) \
++@COND_i386_qemu_TRUE@am__append_4565 = video_cirrus.mod
++@COND_i386_qemu_TRUE@am__append_4566 = video_cirrus.marker
++@COND_i386_coreboot_TRUE@am__append_4567 = video_cirrus.module
++@COND_i386_coreboot_TRUE@am__append_4568 = video_cirrus.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_4569 = 
++@COND_i386_coreboot_TRUE@am__append_4570 = $(nodist_video_cirrus_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_4571 = $(nodist_video_cirrus_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     video_cirrus.marker
+-@COND_i386_coreboot_TRUE@am__append_4579 = video_cirrus.mod
+-@COND_i386_coreboot_TRUE@am__append_4580 = video_cirrus.marker
+-@COND_i386_multiboot_TRUE@am__append_4581 = video_cirrus.module
+-@COND_i386_multiboot_TRUE@am__append_4582 = video_cirrus.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_4583 = 
+-@COND_i386_multiboot_TRUE@am__append_4584 = $(nodist_video_cirrus_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_4585 = $(nodist_video_cirrus_module_SOURCES) \
++@COND_i386_coreboot_TRUE@am__append_4572 = video_cirrus.mod
++@COND_i386_coreboot_TRUE@am__append_4573 = video_cirrus.marker
++@COND_i386_multiboot_TRUE@am__append_4574 = video_cirrus.module
++@COND_i386_multiboot_TRUE@am__append_4575 = video_cirrus.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_4576 = 
++@COND_i386_multiboot_TRUE@am__append_4577 = $(nodist_video_cirrus_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_4578 = $(nodist_video_cirrus_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    video_cirrus.marker
+-@COND_i386_multiboot_TRUE@am__append_4586 = video_cirrus.mod
+-@COND_i386_multiboot_TRUE@am__append_4587 = video_cirrus.marker
+-@COND_i386_ieee1275_TRUE@am__append_4588 = video_cirrus.module
+-@COND_i386_ieee1275_TRUE@am__append_4589 = video_cirrus.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_4590 = 
+-@COND_i386_ieee1275_TRUE@am__append_4591 = $(nodist_video_cirrus_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_4592 = $(nodist_video_cirrus_module_SOURCES) \
++@COND_i386_multiboot_TRUE@am__append_4579 = video_cirrus.mod
++@COND_i386_multiboot_TRUE@am__append_4580 = video_cirrus.marker
++@COND_i386_ieee1275_TRUE@am__append_4581 = video_cirrus.module
++@COND_i386_ieee1275_TRUE@am__append_4582 = video_cirrus.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_4583 = 
++@COND_i386_ieee1275_TRUE@am__append_4584 = $(nodist_video_cirrus_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_4585 = $(nodist_video_cirrus_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     video_cirrus.marker
+-@COND_i386_ieee1275_TRUE@am__append_4593 = video_cirrus.mod
+-@COND_i386_ieee1275_TRUE@am__append_4594 = video_cirrus.marker
+-@COND_x86_64_efi_TRUE@am__append_4595 = video_cirrus.module
+-@COND_x86_64_efi_TRUE@am__append_4596 = video_cirrus.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_4597 = 
+-@COND_x86_64_efi_TRUE@am__append_4598 = $(nodist_video_cirrus_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_4599 =  \
++@COND_i386_ieee1275_TRUE@am__append_4586 = video_cirrus.mod
++@COND_i386_ieee1275_TRUE@am__append_4587 = video_cirrus.marker
++@COND_x86_64_efi_TRUE@am__append_4588 = video_cirrus.module
++@COND_x86_64_efi_TRUE@am__append_4589 = video_cirrus.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_4590 = 
++@COND_x86_64_efi_TRUE@am__append_4591 = $(nodist_video_cirrus_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_4592 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_video_cirrus_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        video_cirrus.marker
+-@COND_x86_64_efi_TRUE@am__append_4600 = video_cirrus.mod
+-@COND_x86_64_efi_TRUE@am__append_4601 = video_cirrus.marker
+-@COND_i386_pc_TRUE@am__append_4602 = video_bochs.module
+-@COND_i386_pc_TRUE@am__append_4603 = video_bochs.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_4593 = video_cirrus.mod
++@COND_x86_64_efi_TRUE@am__append_4594 = video_cirrus.marker
++@COND_i386_pc_TRUE@am__append_4595 = video_bochs.module
++@COND_i386_pc_TRUE@am__append_4596 = video_bochs.module$(EXEEXT)
+ @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_x86_64_efi_FALSE@video_bochs_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_4604 = 
+-@COND_i386_pc_TRUE@am__append_4605 = $(nodist_video_bochs_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_4606 =  \
++@COND_i386_pc_TRUE@am__append_4597 = 
++@COND_i386_pc_TRUE@am__append_4598 = $(nodist_video_bochs_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_4599 =  \
+ @COND_i386_pc_TRUE@   $(nodist_video_bochs_module_SOURCES) \
+ @COND_i386_pc_TRUE@   video_bochs.marker
+-@COND_i386_pc_TRUE@am__append_4607 = video_bochs.mod
+-@COND_i386_pc_TRUE@am__append_4608 = video_bochs.marker
+-@COND_i386_efi_TRUE@am__append_4609 = video_bochs.module
+-@COND_i386_efi_TRUE@am__append_4610 = video_bochs.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_4611 = 
+-@COND_i386_efi_TRUE@am__append_4612 = $(nodist_video_bochs_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_4613 =  \
++@COND_i386_pc_TRUE@am__append_4600 = video_bochs.mod
++@COND_i386_pc_TRUE@am__append_4601 = video_bochs.marker
++@COND_i386_efi_TRUE@am__append_4602 = video_bochs.module
++@COND_i386_efi_TRUE@am__append_4603 = video_bochs.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_4604 = 
++@COND_i386_efi_TRUE@am__append_4605 = $(nodist_video_bochs_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_4606 =  \
+ @COND_i386_efi_TRUE@  $(nodist_video_bochs_module_SOURCES) \
+ @COND_i386_efi_TRUE@  video_bochs.marker
+-@COND_i386_efi_TRUE@am__append_4614 = video_bochs.mod
+-@COND_i386_efi_TRUE@am__append_4615 = video_bochs.marker
+-@COND_i386_qemu_TRUE@am__append_4616 = video_bochs.module
+-@COND_i386_qemu_TRUE@am__append_4617 = video_bochs.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_4618 = 
+-@COND_i386_qemu_TRUE@am__append_4619 = $(nodist_video_bochs_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_4620 =  \
++@COND_i386_efi_TRUE@am__append_4607 = video_bochs.mod
++@COND_i386_efi_TRUE@am__append_4608 = video_bochs.marker
++@COND_i386_qemu_TRUE@am__append_4609 = video_bochs.module
++@COND_i386_qemu_TRUE@am__append_4610 = video_bochs.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_4611 = 
++@COND_i386_qemu_TRUE@am__append_4612 = $(nodist_video_bochs_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_4613 =  \
+ @COND_i386_qemu_TRUE@ $(nodist_video_bochs_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ video_bochs.marker
+-@COND_i386_qemu_TRUE@am__append_4621 = video_bochs.mod
+-@COND_i386_qemu_TRUE@am__append_4622 = video_bochs.marker
+-@COND_i386_coreboot_TRUE@am__append_4623 = video_bochs.module
+-@COND_i386_coreboot_TRUE@am__append_4624 = video_bochs.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_4625 = 
+-@COND_i386_coreboot_TRUE@am__append_4626 = $(nodist_video_bochs_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_4627 =  \
++@COND_i386_qemu_TRUE@am__append_4614 = video_bochs.mod
++@COND_i386_qemu_TRUE@am__append_4615 = video_bochs.marker
++@COND_i386_coreboot_TRUE@am__append_4616 = video_bochs.module
++@COND_i386_coreboot_TRUE@am__append_4617 = video_bochs.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_4618 = 
++@COND_i386_coreboot_TRUE@am__append_4619 = $(nodist_video_bochs_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_4620 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_video_bochs_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     video_bochs.marker
+-@COND_i386_coreboot_TRUE@am__append_4628 = video_bochs.mod
+-@COND_i386_coreboot_TRUE@am__append_4629 = video_bochs.marker
+-@COND_i386_multiboot_TRUE@am__append_4630 = video_bochs.module
+-@COND_i386_multiboot_TRUE@am__append_4631 = video_bochs.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_4632 = 
+-@COND_i386_multiboot_TRUE@am__append_4633 = $(nodist_video_bochs_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_4634 = $(nodist_video_bochs_module_SOURCES) \
++@COND_i386_coreboot_TRUE@am__append_4621 = video_bochs.mod
++@COND_i386_coreboot_TRUE@am__append_4622 = video_bochs.marker
++@COND_i386_multiboot_TRUE@am__append_4623 = video_bochs.module
++@COND_i386_multiboot_TRUE@am__append_4624 = video_bochs.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_4625 = 
++@COND_i386_multiboot_TRUE@am__append_4626 = $(nodist_video_bochs_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_4627 = $(nodist_video_bochs_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    video_bochs.marker
+-@COND_i386_multiboot_TRUE@am__append_4635 = video_bochs.mod
+-@COND_i386_multiboot_TRUE@am__append_4636 = video_bochs.marker
+-@COND_i386_ieee1275_TRUE@am__append_4637 = video_bochs.module
+-@COND_i386_ieee1275_TRUE@am__append_4638 = video_bochs.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_4639 = 
+-@COND_i386_ieee1275_TRUE@am__append_4640 = $(nodist_video_bochs_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_4641 =  \
++@COND_i386_multiboot_TRUE@am__append_4628 = video_bochs.mod
++@COND_i386_multiboot_TRUE@am__append_4629 = video_bochs.marker
++@COND_i386_ieee1275_TRUE@am__append_4630 = video_bochs.module
++@COND_i386_ieee1275_TRUE@am__append_4631 = video_bochs.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_4632 = 
++@COND_i386_ieee1275_TRUE@am__append_4633 = $(nodist_video_bochs_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_4634 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_video_bochs_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     video_bochs.marker
+-@COND_i386_ieee1275_TRUE@am__append_4642 = video_bochs.mod
+-@COND_i386_ieee1275_TRUE@am__append_4643 = video_bochs.marker
+-@COND_x86_64_efi_TRUE@am__append_4644 = video_bochs.module
+-@COND_x86_64_efi_TRUE@am__append_4645 = video_bochs.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_4646 = 
+-@COND_x86_64_efi_TRUE@am__append_4647 = $(nodist_video_bochs_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_4648 =  \
++@COND_i386_ieee1275_TRUE@am__append_4635 = video_bochs.mod
++@COND_i386_ieee1275_TRUE@am__append_4636 = video_bochs.marker
++@COND_x86_64_efi_TRUE@am__append_4637 = video_bochs.module
++@COND_x86_64_efi_TRUE@am__append_4638 = video_bochs.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_4639 = 
++@COND_x86_64_efi_TRUE@am__append_4640 = $(nodist_video_bochs_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_4641 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_video_bochs_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        video_bochs.marker
+-@COND_x86_64_efi_TRUE@am__append_4649 = video_bochs.mod
+-@COND_x86_64_efi_TRUE@am__append_4650 = video_bochs.marker
+-@COND_emu_TRUE@am__append_4651 = legacy_password_test.module
+-@COND_emu_TRUE@am__append_4652 = legacy_password_test.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_4642 = video_bochs.mod
++@COND_x86_64_efi_TRUE@am__append_4643 = video_bochs.marker
++@COND_emu_TRUE@am__append_4644 = legacy_password_test.module
++@COND_emu_TRUE@am__append_4645 = legacy_password_test.module$(EXEEXT)
+ @COND_emu_FALSE@@COND_i386_efi_FALSE@@COND_i386_pc_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_FALSE@legacy_password_test_module_DEPENDENCIES =
+-@COND_emu_TRUE@am__append_4653 = 
+-@COND_emu_TRUE@am__append_4654 = $(nodist_legacy_password_test_module_SOURCES)
+-@COND_emu_TRUE@am__append_4655 =  \
++@COND_emu_TRUE@am__append_4646 = 
++@COND_emu_TRUE@am__append_4647 = $(nodist_legacy_password_test_module_SOURCES)
++@COND_emu_TRUE@am__append_4648 =  \
+ @COND_emu_TRUE@       $(nodist_legacy_password_test_module_SOURCES) \
+ @COND_emu_TRUE@       legacy_password_test.marker
+-@COND_emu_TRUE@am__append_4656 = legacy_password_test.mod
+-@COND_emu_TRUE@am__append_4657 = legacy_password_test.marker
+-@COND_i386_pc_TRUE@am__append_4658 = legacy_password_test.module
+-@COND_i386_pc_TRUE@am__append_4659 = legacy_password_test.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__append_4660 = 
+-@COND_i386_pc_TRUE@am__append_4661 = $(nodist_legacy_password_test_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_4662 = $(nodist_legacy_password_test_module_SOURCES) \
++@COND_emu_TRUE@am__append_4649 = legacy_password_test.mod
++@COND_emu_TRUE@am__append_4650 = legacy_password_test.marker
++@COND_i386_pc_TRUE@am__append_4651 = legacy_password_test.module
++@COND_i386_pc_TRUE@am__append_4652 = legacy_password_test.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__append_4653 = 
++@COND_i386_pc_TRUE@am__append_4654 = $(nodist_legacy_password_test_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_4655 = $(nodist_legacy_password_test_module_SOURCES) \
+ @COND_i386_pc_TRUE@   legacy_password_test.marker
+-@COND_i386_pc_TRUE@am__append_4663 = legacy_password_test.mod
+-@COND_i386_pc_TRUE@am__append_4664 = legacy_password_test.marker
+-@COND_i386_efi_TRUE@am__append_4665 = legacy_password_test.module
+-@COND_i386_efi_TRUE@am__append_4666 = legacy_password_test.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_4667 = 
+-@COND_i386_efi_TRUE@am__append_4668 = $(nodist_legacy_password_test_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_4669 = $(nodist_legacy_password_test_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_4656 = legacy_password_test.mod
++@COND_i386_pc_TRUE@am__append_4657 = legacy_password_test.marker
++@COND_i386_efi_TRUE@am__append_4658 = legacy_password_test.module
++@COND_i386_efi_TRUE@am__append_4659 = legacy_password_test.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_4660 = 
++@COND_i386_efi_TRUE@am__append_4661 = $(nodist_legacy_password_test_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_4662 = $(nodist_legacy_password_test_module_SOURCES) \
+ @COND_i386_efi_TRUE@  legacy_password_test.marker
+-@COND_i386_efi_TRUE@am__append_4670 = legacy_password_test.mod
+-@COND_i386_efi_TRUE@am__append_4671 = legacy_password_test.marker
+-@COND_x86_64_efi_TRUE@am__append_4672 = legacy_password_test.module
+-@COND_x86_64_efi_TRUE@am__append_4673 = legacy_password_test.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_4674 = 
+-@COND_x86_64_efi_TRUE@am__append_4675 = $(nodist_legacy_password_test_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_4676 = $(nodist_legacy_password_test_module_SOURCES) \
++@COND_i386_efi_TRUE@am__append_4663 = legacy_password_test.mod
++@COND_i386_efi_TRUE@am__append_4664 = legacy_password_test.marker
++@COND_x86_64_efi_TRUE@am__append_4665 = legacy_password_test.module
++@COND_x86_64_efi_TRUE@am__append_4666 = legacy_password_test.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_4667 = 
++@COND_x86_64_efi_TRUE@am__append_4668 = $(nodist_legacy_password_test_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_4669 = $(nodist_legacy_password_test_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        legacy_password_test.marker
+-@COND_x86_64_efi_TRUE@am__append_4677 = legacy_password_test.mod
+-@COND_x86_64_efi_TRUE@am__append_4678 = legacy_password_test.marker
+-@COND_i386_xen_TRUE@am__append_4679 = legacy_password_test.module
+-@COND_i386_xen_TRUE@am__append_4680 = legacy_password_test.module$(EXEEXT)
+-@COND_i386_xen_TRUE@am__append_4681 = 
+-@COND_i386_xen_TRUE@am__append_4682 = $(nodist_legacy_password_test_module_SOURCES)
+-@COND_i386_xen_TRUE@am__append_4683 = $(nodist_legacy_password_test_module_SOURCES) \
++@COND_x86_64_efi_TRUE@am__append_4670 = legacy_password_test.mod
++@COND_x86_64_efi_TRUE@am__append_4671 = legacy_password_test.marker
++@COND_i386_xen_TRUE@am__append_4672 = legacy_password_test.module
++@COND_i386_xen_TRUE@am__append_4673 = legacy_password_test.module$(EXEEXT)
++@COND_i386_xen_TRUE@am__append_4674 = 
++@COND_i386_xen_TRUE@am__append_4675 = $(nodist_legacy_password_test_module_SOURCES)
++@COND_i386_xen_TRUE@am__append_4676 = $(nodist_legacy_password_test_module_SOURCES) \
+ @COND_i386_xen_TRUE@  legacy_password_test.marker
+-@COND_i386_xen_TRUE@am__append_4684 = legacy_password_test.mod
+-@COND_i386_xen_TRUE@am__append_4685 = legacy_password_test.marker
+-@COND_x86_64_xen_TRUE@am__append_4686 = legacy_password_test.module
+-@COND_x86_64_xen_TRUE@am__append_4687 = legacy_password_test.module$(EXEEXT)
+-@COND_x86_64_xen_TRUE@am__append_4688 = 
+-@COND_x86_64_xen_TRUE@am__append_4689 = $(nodist_legacy_password_test_module_SOURCES)
+-@COND_x86_64_xen_TRUE@am__append_4690 = $(nodist_legacy_password_test_module_SOURCES) \
++@COND_i386_xen_TRUE@am__append_4677 = legacy_password_test.mod
++@COND_i386_xen_TRUE@am__append_4678 = legacy_password_test.marker
++@COND_x86_64_xen_TRUE@am__append_4679 = legacy_password_test.module
++@COND_x86_64_xen_TRUE@am__append_4680 = legacy_password_test.module$(EXEEXT)
++@COND_x86_64_xen_TRUE@am__append_4681 = 
++@COND_x86_64_xen_TRUE@am__append_4682 = $(nodist_legacy_password_test_module_SOURCES)
++@COND_x86_64_xen_TRUE@am__append_4683 = $(nodist_legacy_password_test_module_SOURCES) \
+ @COND_x86_64_xen_TRUE@        legacy_password_test.marker
+-@COND_x86_64_xen_TRUE@am__append_4691 = legacy_password_test.mod
+-@COND_x86_64_xen_TRUE@am__append_4692 = legacy_password_test.marker
+-@COND_i386_xen_pvh_TRUE@am__append_4693 = legacy_password_test.module
+-@COND_i386_xen_pvh_TRUE@am__append_4694 = legacy_password_test.module$(EXEEXT)
+-@COND_i386_xen_pvh_TRUE@am__append_4695 = 
+-@COND_i386_xen_pvh_TRUE@am__append_4696 = $(nodist_legacy_password_test_module_SOURCES)
+-@COND_i386_xen_pvh_TRUE@am__append_4697 = $(nodist_legacy_password_test_module_SOURCES) \
++@COND_x86_64_xen_TRUE@am__append_4684 = legacy_password_test.mod
++@COND_x86_64_xen_TRUE@am__append_4685 = legacy_password_test.marker
++@COND_i386_xen_pvh_TRUE@am__append_4686 = legacy_password_test.module
++@COND_i386_xen_pvh_TRUE@am__append_4687 = legacy_password_test.module$(EXEEXT)
++@COND_i386_xen_pvh_TRUE@am__append_4688 = 
++@COND_i386_xen_pvh_TRUE@am__append_4689 = $(nodist_legacy_password_test_module_SOURCES)
++@COND_i386_xen_pvh_TRUE@am__append_4690 = $(nodist_legacy_password_test_module_SOURCES) \
+ @COND_i386_xen_pvh_TRUE@      legacy_password_test.marker
+-@COND_i386_xen_pvh_TRUE@am__append_4698 = legacy_password_test.mod
+-@COND_i386_xen_pvh_TRUE@am__append_4699 = legacy_password_test.marker
+-@COND_emu_TRUE@am__append_4700 = div.module
+-@COND_emu_TRUE@am__append_4701 = div.module$(EXEEXT)
++@COND_i386_xen_pvh_TRUE@am__append_4691 = legacy_password_test.mod
++@COND_i386_xen_pvh_TRUE@am__append_4692 = legacy_password_test.marker
++@COND_emu_TRUE@am__append_4693 = div.module
++@COND_emu_TRUE@am__append_4694 = div.module$(EXEEXT)
+ @COND_arm64_efi_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_mips_arc_FALSE@@COND_mips_loongson_FALSE@@COND_mips_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_FALSE@div_module_DEPENDENCIES =
+-@COND_emu_TRUE@am__append_4702 = 
+-@COND_emu_TRUE@am__append_4703 = $(nodist_div_module_SOURCES)
+-@COND_emu_TRUE@am__append_4704 = $(nodist_div_module_SOURCES) \
++@COND_emu_TRUE@am__append_4695 = 
++@COND_emu_TRUE@am__append_4696 = $(nodist_div_module_SOURCES)
++@COND_emu_TRUE@am__append_4697 = $(nodist_div_module_SOURCES) \
+ @COND_emu_TRUE@       div.marker
+-@COND_emu_TRUE@am__append_4705 = div.mod
+-@COND_emu_TRUE@am__append_4706 = div.marker
+-@COND_i386_pc_TRUE@am__append_4707 = div.module
+-@COND_i386_pc_TRUE@am__append_4708 = div.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__append_4709 = 
+-@COND_i386_pc_TRUE@am__append_4710 = $(nodist_div_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_4711 = $(nodist_div_module_SOURCES) \
++@COND_emu_TRUE@am__append_4698 = div.mod
++@COND_emu_TRUE@am__append_4699 = div.marker
++@COND_i386_pc_TRUE@am__append_4700 = div.module
++@COND_i386_pc_TRUE@am__append_4701 = div.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__append_4702 = 
++@COND_i386_pc_TRUE@am__append_4703 = $(nodist_div_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_4704 = $(nodist_div_module_SOURCES) \
+ @COND_i386_pc_TRUE@   div.marker
+-@COND_i386_pc_TRUE@am__append_4712 = div.mod
+-@COND_i386_pc_TRUE@am__append_4713 = div.marker
+-@COND_i386_efi_TRUE@am__append_4714 = div.module
+-@COND_i386_efi_TRUE@am__append_4715 = div.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_4716 = 
+-@COND_i386_efi_TRUE@am__append_4717 = $(nodist_div_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_4718 = $(nodist_div_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_4705 = div.mod
++@COND_i386_pc_TRUE@am__append_4706 = div.marker
++@COND_i386_efi_TRUE@am__append_4707 = div.module
++@COND_i386_efi_TRUE@am__append_4708 = div.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_4709 = 
++@COND_i386_efi_TRUE@am__append_4710 = $(nodist_div_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_4711 = $(nodist_div_module_SOURCES) \
+ @COND_i386_efi_TRUE@  div.marker
+-@COND_i386_efi_TRUE@am__append_4719 = div.mod
+-@COND_i386_efi_TRUE@am__append_4720 = div.marker
+-@COND_i386_qemu_TRUE@am__append_4721 = div.module
+-@COND_i386_qemu_TRUE@am__append_4722 = div.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_4723 = 
+-@COND_i386_qemu_TRUE@am__append_4724 = $(nodist_div_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_4725 = $(nodist_div_module_SOURCES) \
++@COND_i386_efi_TRUE@am__append_4712 = div.mod
++@COND_i386_efi_TRUE@am__append_4713 = div.marker
++@COND_i386_qemu_TRUE@am__append_4714 = div.module
++@COND_i386_qemu_TRUE@am__append_4715 = div.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_4716 = 
++@COND_i386_qemu_TRUE@am__append_4717 = $(nodist_div_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_4718 = $(nodist_div_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ div.marker
+-@COND_i386_qemu_TRUE@am__append_4726 = div.mod
+-@COND_i386_qemu_TRUE@am__append_4727 = div.marker
+-@COND_i386_coreboot_TRUE@am__append_4728 = div.module
+-@COND_i386_coreboot_TRUE@am__append_4729 = div.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_4730 = 
+-@COND_i386_coreboot_TRUE@am__append_4731 = $(nodist_div_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_4732 =  \
++@COND_i386_qemu_TRUE@am__append_4719 = div.mod
++@COND_i386_qemu_TRUE@am__append_4720 = div.marker
++@COND_i386_coreboot_TRUE@am__append_4721 = div.module
++@COND_i386_coreboot_TRUE@am__append_4722 = div.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_4723 = 
++@COND_i386_coreboot_TRUE@am__append_4724 = $(nodist_div_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_4725 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_div_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     div.marker
+-@COND_i386_coreboot_TRUE@am__append_4733 = div.mod
+-@COND_i386_coreboot_TRUE@am__append_4734 = div.marker
+-@COND_i386_multiboot_TRUE@am__append_4735 = div.module
+-@COND_i386_multiboot_TRUE@am__append_4736 = div.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_4737 = 
+-@COND_i386_multiboot_TRUE@am__append_4738 = $(nodist_div_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_4739 =  \
++@COND_i386_coreboot_TRUE@am__append_4726 = div.mod
++@COND_i386_coreboot_TRUE@am__append_4727 = div.marker
++@COND_i386_multiboot_TRUE@am__append_4728 = div.module
++@COND_i386_multiboot_TRUE@am__append_4729 = div.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_4730 = 
++@COND_i386_multiboot_TRUE@am__append_4731 = $(nodist_div_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_4732 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_div_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    div.marker
+-@COND_i386_multiboot_TRUE@am__append_4740 = div.mod
+-@COND_i386_multiboot_TRUE@am__append_4741 = div.marker
+-@COND_i386_ieee1275_TRUE@am__append_4742 = div.module
+-@COND_i386_ieee1275_TRUE@am__append_4743 = div.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_4744 = 
+-@COND_i386_ieee1275_TRUE@am__append_4745 = $(nodist_div_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_4746 =  \
++@COND_i386_multiboot_TRUE@am__append_4733 = div.mod
++@COND_i386_multiboot_TRUE@am__append_4734 = div.marker
++@COND_i386_ieee1275_TRUE@am__append_4735 = div.module
++@COND_i386_ieee1275_TRUE@am__append_4736 = div.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_4737 = 
++@COND_i386_ieee1275_TRUE@am__append_4738 = $(nodist_div_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_4739 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_div_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     div.marker
+-@COND_i386_ieee1275_TRUE@am__append_4747 = div.mod
+-@COND_i386_ieee1275_TRUE@am__append_4748 = div.marker
+-@COND_x86_64_efi_TRUE@am__append_4749 = div.module
+-@COND_x86_64_efi_TRUE@am__append_4750 = div.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_4751 = 
+-@COND_x86_64_efi_TRUE@am__append_4752 = $(nodist_div_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_4753 = $(nodist_div_module_SOURCES) \
++@COND_i386_ieee1275_TRUE@am__append_4740 = div.mod
++@COND_i386_ieee1275_TRUE@am__append_4741 = div.marker
++@COND_x86_64_efi_TRUE@am__append_4742 = div.module
++@COND_x86_64_efi_TRUE@am__append_4743 = div.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_4744 = 
++@COND_x86_64_efi_TRUE@am__append_4745 = $(nodist_div_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_4746 = $(nodist_div_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        div.marker
+-@COND_x86_64_efi_TRUE@am__append_4754 = div.mod
+-@COND_x86_64_efi_TRUE@am__append_4755 = div.marker
+-@COND_i386_xen_TRUE@am__append_4756 = div.module
+-@COND_i386_xen_TRUE@am__append_4757 = div.module$(EXEEXT)
+-@COND_i386_xen_TRUE@am__append_4758 = 
+-@COND_i386_xen_TRUE@am__append_4759 = $(nodist_div_module_SOURCES)
+-@COND_i386_xen_TRUE@am__append_4760 = $(nodist_div_module_SOURCES) \
++@COND_x86_64_efi_TRUE@am__append_4747 = div.mod
++@COND_x86_64_efi_TRUE@am__append_4748 = div.marker
++@COND_i386_xen_TRUE@am__append_4749 = div.module
++@COND_i386_xen_TRUE@am__append_4750 = div.module$(EXEEXT)
++@COND_i386_xen_TRUE@am__append_4751 = 
++@COND_i386_xen_TRUE@am__append_4752 = $(nodist_div_module_SOURCES)
++@COND_i386_xen_TRUE@am__append_4753 = $(nodist_div_module_SOURCES) \
+ @COND_i386_xen_TRUE@  div.marker
+-@COND_i386_xen_TRUE@am__append_4761 = div.mod
+-@COND_i386_xen_TRUE@am__append_4762 = div.marker
+-@COND_x86_64_xen_TRUE@am__append_4763 = div.module
+-@COND_x86_64_xen_TRUE@am__append_4764 = div.module$(EXEEXT)
+-@COND_x86_64_xen_TRUE@am__append_4765 = 
+-@COND_x86_64_xen_TRUE@am__append_4766 = $(nodist_div_module_SOURCES)
+-@COND_x86_64_xen_TRUE@am__append_4767 = $(nodist_div_module_SOURCES) \
++@COND_i386_xen_TRUE@am__append_4754 = div.mod
++@COND_i386_xen_TRUE@am__append_4755 = div.marker
++@COND_x86_64_xen_TRUE@am__append_4756 = div.module
++@COND_x86_64_xen_TRUE@am__append_4757 = div.module$(EXEEXT)
++@COND_x86_64_xen_TRUE@am__append_4758 = 
++@COND_x86_64_xen_TRUE@am__append_4759 = $(nodist_div_module_SOURCES)
++@COND_x86_64_xen_TRUE@am__append_4760 = $(nodist_div_module_SOURCES) \
+ @COND_x86_64_xen_TRUE@        div.marker
+-@COND_x86_64_xen_TRUE@am__append_4768 = div.mod
+-@COND_x86_64_xen_TRUE@am__append_4769 = div.marker
+-@COND_i386_xen_pvh_TRUE@am__append_4770 = div.module
+-@COND_i386_xen_pvh_TRUE@am__append_4771 = div.module$(EXEEXT)
+-@COND_i386_xen_pvh_TRUE@am__append_4772 = 
+-@COND_i386_xen_pvh_TRUE@am__append_4773 = $(nodist_div_module_SOURCES)
+-@COND_i386_xen_pvh_TRUE@am__append_4774 =  \
++@COND_x86_64_xen_TRUE@am__append_4761 = div.mod
++@COND_x86_64_xen_TRUE@am__append_4762 = div.marker
++@COND_i386_xen_pvh_TRUE@am__append_4763 = div.module
++@COND_i386_xen_pvh_TRUE@am__append_4764 = div.module$(EXEEXT)
++@COND_i386_xen_pvh_TRUE@am__append_4765 = 
++@COND_i386_xen_pvh_TRUE@am__append_4766 = $(nodist_div_module_SOURCES)
++@COND_i386_xen_pvh_TRUE@am__append_4767 =  \
+ @COND_i386_xen_pvh_TRUE@      $(nodist_div_module_SOURCES) \
+ @COND_i386_xen_pvh_TRUE@      div.marker
+-@COND_i386_xen_pvh_TRUE@am__append_4775 = div.mod
+-@COND_i386_xen_pvh_TRUE@am__append_4776 = div.marker
+-@COND_mips_loongson_TRUE@am__append_4777 = div.module
+-@COND_mips_loongson_TRUE@am__append_4778 = div.module$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__append_4779 = 
+-@COND_mips_loongson_TRUE@am__append_4780 = $(nodist_div_module_SOURCES)
+-@COND_mips_loongson_TRUE@am__append_4781 =  \
++@COND_i386_xen_pvh_TRUE@am__append_4768 = div.mod
++@COND_i386_xen_pvh_TRUE@am__append_4769 = div.marker
++@COND_mips_loongson_TRUE@am__append_4770 = div.module
++@COND_mips_loongson_TRUE@am__append_4771 = div.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__append_4772 = 
++@COND_mips_loongson_TRUE@am__append_4773 = $(nodist_div_module_SOURCES)
++@COND_mips_loongson_TRUE@am__append_4774 =  \
+ @COND_mips_loongson_TRUE@     $(nodist_div_module_SOURCES) \
+ @COND_mips_loongson_TRUE@     div.marker
+-@COND_mips_loongson_TRUE@am__append_4782 = div.mod
+-@COND_mips_loongson_TRUE@am__append_4783 = div.marker
+-@COND_sparc64_ieee1275_TRUE@am__append_4784 = div.module
+-@COND_sparc64_ieee1275_TRUE@am__append_4785 = div.module$(EXEEXT)
+-@COND_sparc64_ieee1275_TRUE@am__append_4786 = 
+-@COND_sparc64_ieee1275_TRUE@am__append_4787 = $(nodist_div_module_SOURCES)
+-@COND_sparc64_ieee1275_TRUE@am__append_4788 =  \
++@COND_mips_loongson_TRUE@am__append_4775 = div.mod
++@COND_mips_loongson_TRUE@am__append_4776 = div.marker
++@COND_sparc64_ieee1275_TRUE@am__append_4777 = div.module
++@COND_sparc64_ieee1275_TRUE@am__append_4778 = div.module$(EXEEXT)
++@COND_sparc64_ieee1275_TRUE@am__append_4779 = 
++@COND_sparc64_ieee1275_TRUE@am__append_4780 = $(nodist_div_module_SOURCES)
++@COND_sparc64_ieee1275_TRUE@am__append_4781 =  \
+ @COND_sparc64_ieee1275_TRUE@  $(nodist_div_module_SOURCES) \
+ @COND_sparc64_ieee1275_TRUE@  div.marker
+-@COND_sparc64_ieee1275_TRUE@am__append_4789 = div.mod
+-@COND_sparc64_ieee1275_TRUE@am__append_4790 = div.marker
+-@COND_powerpc_ieee1275_TRUE@am__append_4791 = div.module
+-@COND_powerpc_ieee1275_TRUE@am__append_4792 = div.module$(EXEEXT)
+-@COND_powerpc_ieee1275_TRUE@am__append_4793 = 
+-@COND_powerpc_ieee1275_TRUE@am__append_4794 = $(nodist_div_module_SOURCES)
+-@COND_powerpc_ieee1275_TRUE@am__append_4795 =  \
++@COND_sparc64_ieee1275_TRUE@am__append_4782 = div.mod
++@COND_sparc64_ieee1275_TRUE@am__append_4783 = div.marker
++@COND_powerpc_ieee1275_TRUE@am__append_4784 = div.module
++@COND_powerpc_ieee1275_TRUE@am__append_4785 = div.module$(EXEEXT)
++@COND_powerpc_ieee1275_TRUE@am__append_4786 = 
++@COND_powerpc_ieee1275_TRUE@am__append_4787 = $(nodist_div_module_SOURCES)
++@COND_powerpc_ieee1275_TRUE@am__append_4788 =  \
+ @COND_powerpc_ieee1275_TRUE@  $(nodist_div_module_SOURCES) \
+ @COND_powerpc_ieee1275_TRUE@  div.marker
+-@COND_powerpc_ieee1275_TRUE@am__append_4796 = div.mod
+-@COND_powerpc_ieee1275_TRUE@am__append_4797 = div.marker
+-@COND_mips_arc_TRUE@am__append_4798 = div.module
+-@COND_mips_arc_TRUE@am__append_4799 = div.module$(EXEEXT)
+-@COND_mips_arc_TRUE@am__append_4800 = 
+-@COND_mips_arc_TRUE@am__append_4801 = $(nodist_div_module_SOURCES)
+-@COND_mips_arc_TRUE@am__append_4802 = $(nodist_div_module_SOURCES) \
++@COND_powerpc_ieee1275_TRUE@am__append_4789 = div.mod
++@COND_powerpc_ieee1275_TRUE@am__append_4790 = div.marker
++@COND_mips_arc_TRUE@am__append_4791 = div.module
++@COND_mips_arc_TRUE@am__append_4792 = div.module$(EXEEXT)
++@COND_mips_arc_TRUE@am__append_4793 = 
++@COND_mips_arc_TRUE@am__append_4794 = $(nodist_div_module_SOURCES)
++@COND_mips_arc_TRUE@am__append_4795 = $(nodist_div_module_SOURCES) \
+ @COND_mips_arc_TRUE@  div.marker
+-@COND_mips_arc_TRUE@am__append_4803 = div.mod
+-@COND_mips_arc_TRUE@am__append_4804 = div.marker
+-@COND_mips_qemu_mips_TRUE@am__append_4805 = div.module
+-@COND_mips_qemu_mips_TRUE@am__append_4806 = div.module$(EXEEXT)
+-@COND_mips_qemu_mips_TRUE@am__append_4807 = 
+-@COND_mips_qemu_mips_TRUE@am__append_4808 = $(nodist_div_module_SOURCES)
+-@COND_mips_qemu_mips_TRUE@am__append_4809 =  \
++@COND_mips_arc_TRUE@am__append_4796 = div.mod
++@COND_mips_arc_TRUE@am__append_4797 = div.marker
++@COND_mips_qemu_mips_TRUE@am__append_4798 = div.module
++@COND_mips_qemu_mips_TRUE@am__append_4799 = div.module$(EXEEXT)
++@COND_mips_qemu_mips_TRUE@am__append_4800 = 
++@COND_mips_qemu_mips_TRUE@am__append_4801 = $(nodist_div_module_SOURCES)
++@COND_mips_qemu_mips_TRUE@am__append_4802 =  \
+ @COND_mips_qemu_mips_TRUE@    $(nodist_div_module_SOURCES) \
+ @COND_mips_qemu_mips_TRUE@    div.marker
+-@COND_mips_qemu_mips_TRUE@am__append_4810 = div.mod
+-@COND_mips_qemu_mips_TRUE@am__append_4811 = div.marker
+-@COND_arm64_efi_TRUE@am__append_4812 = div.module
+-@COND_arm64_efi_TRUE@am__append_4813 = div.module$(EXEEXT)
+-@COND_arm64_efi_TRUE@am__append_4814 = 
+-@COND_arm64_efi_TRUE@am__append_4815 = $(nodist_div_module_SOURCES)
+-@COND_arm64_efi_TRUE@am__append_4816 = $(nodist_div_module_SOURCES) \
++@COND_mips_qemu_mips_TRUE@am__append_4803 = div.mod
++@COND_mips_qemu_mips_TRUE@am__append_4804 = div.marker
++@COND_arm64_efi_TRUE@am__append_4805 = div.module
++@COND_arm64_efi_TRUE@am__append_4806 = div.module$(EXEEXT)
++@COND_arm64_efi_TRUE@am__append_4807 = 
++@COND_arm64_efi_TRUE@am__append_4808 = $(nodist_div_module_SOURCES)
++@COND_arm64_efi_TRUE@am__append_4809 = $(nodist_div_module_SOURCES) \
+ @COND_arm64_efi_TRUE@ div.marker
+-@COND_arm64_efi_TRUE@am__append_4817 = div.mod
+-@COND_arm64_efi_TRUE@am__append_4818 = div.marker
+-@COND_riscv64_efi_TRUE@am__append_4819 = div.module
+-@COND_riscv64_efi_TRUE@am__append_4820 = div.module$(EXEEXT)
+-@COND_riscv64_efi_TRUE@am__append_4821 = 
+-@COND_riscv64_efi_TRUE@am__append_4822 = $(nodist_div_module_SOURCES)
+-@COND_riscv64_efi_TRUE@am__append_4823 = $(nodist_div_module_SOURCES) \
++@COND_arm64_efi_TRUE@am__append_4810 = div.mod
++@COND_arm64_efi_TRUE@am__append_4811 = div.marker
++@COND_riscv64_efi_TRUE@am__append_4812 = div.module
++@COND_riscv64_efi_TRUE@am__append_4813 = div.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__append_4814 = 
++@COND_riscv64_efi_TRUE@am__append_4815 = $(nodist_div_module_SOURCES)
++@COND_riscv64_efi_TRUE@am__append_4816 = $(nodist_div_module_SOURCES) \
+ @COND_riscv64_efi_TRUE@       div.marker
+-@COND_riscv64_efi_TRUE@am__append_4824 = div.mod
+-@COND_riscv64_efi_TRUE@am__append_4825 = div.marker
+-@COND_i386_efi_TRUE@am__append_4826 = efi_gop.module
+-@COND_i386_efi_TRUE@am__append_4827 = efi_gop.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__append_4817 = div.mod
++@COND_riscv64_efi_TRUE@am__append_4818 = div.marker
++@COND_i386_efi_TRUE@am__append_4819 = efi_gop.module
++@COND_i386_efi_TRUE@am__append_4820 = efi_gop.module$(EXEEXT)
+ @COND_arm64_efi_FALSE@@COND_arm_efi_FALSE@@COND_i386_efi_FALSE@@COND_ia64_efi_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_x86_64_efi_FALSE@efi_gop_module_DEPENDENCIES =
+-@COND_i386_efi_TRUE@am__append_4828 = 
+-@COND_i386_efi_TRUE@am__append_4829 = $(nodist_efi_gop_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_4830 =  \
++@COND_i386_efi_TRUE@am__append_4821 = 
++@COND_i386_efi_TRUE@am__append_4822 = $(nodist_efi_gop_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_4823 =  \
+ @COND_i386_efi_TRUE@  $(nodist_efi_gop_module_SOURCES) \
+ @COND_i386_efi_TRUE@  efi_gop.marker
+-@COND_i386_efi_TRUE@am__append_4831 = efi_gop.mod
+-@COND_i386_efi_TRUE@am__append_4832 = efi_gop.marker
+-@COND_x86_64_efi_TRUE@am__append_4833 = efi_gop.module
+-@COND_x86_64_efi_TRUE@am__append_4834 = efi_gop.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_4835 = 
+-@COND_x86_64_efi_TRUE@am__append_4836 = $(nodist_efi_gop_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_4837 =  \
++@COND_i386_efi_TRUE@am__append_4824 = efi_gop.mod
++@COND_i386_efi_TRUE@am__append_4825 = efi_gop.marker
++@COND_x86_64_efi_TRUE@am__append_4826 = efi_gop.module
++@COND_x86_64_efi_TRUE@am__append_4827 = efi_gop.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_4828 = 
++@COND_x86_64_efi_TRUE@am__append_4829 = $(nodist_efi_gop_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_4830 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_efi_gop_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        efi_gop.marker
+-@COND_x86_64_efi_TRUE@am__append_4838 = efi_gop.mod
+-@COND_x86_64_efi_TRUE@am__append_4839 = efi_gop.marker
+-@COND_ia64_efi_TRUE@am__append_4840 = efi_gop.module
+-@COND_ia64_efi_TRUE@am__append_4841 = efi_gop.module$(EXEEXT)
+-@COND_ia64_efi_TRUE@am__append_4842 = 
+-@COND_ia64_efi_TRUE@am__append_4843 = $(nodist_efi_gop_module_SOURCES)
+-@COND_ia64_efi_TRUE@am__append_4844 =  \
++@COND_x86_64_efi_TRUE@am__append_4831 = efi_gop.mod
++@COND_x86_64_efi_TRUE@am__append_4832 = efi_gop.marker
++@COND_ia64_efi_TRUE@am__append_4833 = efi_gop.module
++@COND_ia64_efi_TRUE@am__append_4834 = efi_gop.module$(EXEEXT)
++@COND_ia64_efi_TRUE@am__append_4835 = 
++@COND_ia64_efi_TRUE@am__append_4836 = $(nodist_efi_gop_module_SOURCES)
++@COND_ia64_efi_TRUE@am__append_4837 =  \
+ @COND_ia64_efi_TRUE@  $(nodist_efi_gop_module_SOURCES) \
+ @COND_ia64_efi_TRUE@  efi_gop.marker
+-@COND_ia64_efi_TRUE@am__append_4845 = efi_gop.mod
+-@COND_ia64_efi_TRUE@am__append_4846 = efi_gop.marker
+-@COND_arm_efi_TRUE@am__append_4847 = efi_gop.module
+-@COND_arm_efi_TRUE@am__append_4848 = efi_gop.module$(EXEEXT)
+-@COND_arm_efi_TRUE@am__append_4849 = 
+-@COND_arm_efi_TRUE@am__append_4850 = $(nodist_efi_gop_module_SOURCES)
+-@COND_arm_efi_TRUE@am__append_4851 = $(nodist_efi_gop_module_SOURCES) \
++@COND_ia64_efi_TRUE@am__append_4838 = efi_gop.mod
++@COND_ia64_efi_TRUE@am__append_4839 = efi_gop.marker
++@COND_arm_efi_TRUE@am__append_4840 = efi_gop.module
++@COND_arm_efi_TRUE@am__append_4841 = efi_gop.module$(EXEEXT)
++@COND_arm_efi_TRUE@am__append_4842 = 
++@COND_arm_efi_TRUE@am__append_4843 = $(nodist_efi_gop_module_SOURCES)
++@COND_arm_efi_TRUE@am__append_4844 = $(nodist_efi_gop_module_SOURCES) \
+ @COND_arm_efi_TRUE@   efi_gop.marker
+-@COND_arm_efi_TRUE@am__append_4852 = efi_gop.mod
+-@COND_arm_efi_TRUE@am__append_4853 = efi_gop.marker
+-@COND_arm64_efi_TRUE@am__append_4854 = efi_gop.module
+-@COND_arm64_efi_TRUE@am__append_4855 = efi_gop.module$(EXEEXT)
+-@COND_arm64_efi_TRUE@am__append_4856 = 
+-@COND_arm64_efi_TRUE@am__append_4857 = $(nodist_efi_gop_module_SOURCES)
+-@COND_arm64_efi_TRUE@am__append_4858 =  \
++@COND_arm_efi_TRUE@am__append_4845 = efi_gop.mod
++@COND_arm_efi_TRUE@am__append_4846 = efi_gop.marker
++@COND_arm64_efi_TRUE@am__append_4847 = efi_gop.module
++@COND_arm64_efi_TRUE@am__append_4848 = efi_gop.module$(EXEEXT)
++@COND_arm64_efi_TRUE@am__append_4849 = 
++@COND_arm64_efi_TRUE@am__append_4850 = $(nodist_efi_gop_module_SOURCES)
++@COND_arm64_efi_TRUE@am__append_4851 =  \
+ @COND_arm64_efi_TRUE@ $(nodist_efi_gop_module_SOURCES) \
+ @COND_arm64_efi_TRUE@ efi_gop.marker
+-@COND_arm64_efi_TRUE@am__append_4859 = efi_gop.mod
+-@COND_arm64_efi_TRUE@am__append_4860 = efi_gop.marker
+-@COND_riscv32_efi_TRUE@am__append_4861 = efi_gop.module
+-@COND_riscv32_efi_TRUE@am__append_4862 = efi_gop.module$(EXEEXT)
+-@COND_riscv32_efi_TRUE@am__append_4863 = 
+-@COND_riscv32_efi_TRUE@am__append_4864 = $(nodist_efi_gop_module_SOURCES)
+-@COND_riscv32_efi_TRUE@am__append_4865 =  \
++@COND_arm64_efi_TRUE@am__append_4852 = efi_gop.mod
++@COND_arm64_efi_TRUE@am__append_4853 = efi_gop.marker
++@COND_riscv32_efi_TRUE@am__append_4854 = efi_gop.module
++@COND_riscv32_efi_TRUE@am__append_4855 = efi_gop.module$(EXEEXT)
++@COND_riscv32_efi_TRUE@am__append_4856 = 
++@COND_riscv32_efi_TRUE@am__append_4857 = $(nodist_efi_gop_module_SOURCES)
++@COND_riscv32_efi_TRUE@am__append_4858 =  \
+ @COND_riscv32_efi_TRUE@       $(nodist_efi_gop_module_SOURCES) \
+ @COND_riscv32_efi_TRUE@       efi_gop.marker
+-@COND_riscv32_efi_TRUE@am__append_4866 = efi_gop.mod
+-@COND_riscv32_efi_TRUE@am__append_4867 = efi_gop.marker
+-@COND_riscv64_efi_TRUE@am__append_4868 = efi_gop.module
+-@COND_riscv64_efi_TRUE@am__append_4869 = efi_gop.module$(EXEEXT)
+-@COND_riscv64_efi_TRUE@am__append_4870 = 
+-@COND_riscv64_efi_TRUE@am__append_4871 = $(nodist_efi_gop_module_SOURCES)
+-@COND_riscv64_efi_TRUE@am__append_4872 =  \
++@COND_riscv32_efi_TRUE@am__append_4859 = efi_gop.mod
++@COND_riscv32_efi_TRUE@am__append_4860 = efi_gop.marker
++@COND_riscv64_efi_TRUE@am__append_4861 = efi_gop.module
++@COND_riscv64_efi_TRUE@am__append_4862 = efi_gop.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__append_4863 = 
++@COND_riscv64_efi_TRUE@am__append_4864 = $(nodist_efi_gop_module_SOURCES)
++@COND_riscv64_efi_TRUE@am__append_4865 =  \
+ @COND_riscv64_efi_TRUE@       $(nodist_efi_gop_module_SOURCES) \
+ @COND_riscv64_efi_TRUE@       efi_gop.marker
+-@COND_riscv64_efi_TRUE@am__append_4873 = efi_gop.mod
+-@COND_riscv64_efi_TRUE@am__append_4874 = efi_gop.marker
+-@COND_i386_efi_TRUE@am__append_4875 = efi_uga.module
+-@COND_i386_efi_TRUE@am__append_4876 = efi_uga.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__append_4866 = efi_gop.mod
++@COND_riscv64_efi_TRUE@am__append_4867 = efi_gop.marker
++@COND_i386_efi_TRUE@am__append_4868 = efi_uga.module
++@COND_i386_efi_TRUE@am__append_4869 = efi_uga.module$(EXEEXT)
+ @COND_i386_efi_FALSE@@COND_x86_64_efi_FALSE@efi_uga_module_DEPENDENCIES =
+-@COND_i386_efi_TRUE@am__append_4877 = 
+-@COND_i386_efi_TRUE@am__append_4878 = $(nodist_efi_uga_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_4879 =  \
++@COND_i386_efi_TRUE@am__append_4870 = 
++@COND_i386_efi_TRUE@am__append_4871 = $(nodist_efi_uga_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_4872 =  \
+ @COND_i386_efi_TRUE@  $(nodist_efi_uga_module_SOURCES) \
+ @COND_i386_efi_TRUE@  efi_uga.marker
+-@COND_i386_efi_TRUE@am__append_4880 = efi_uga.mod
+-@COND_i386_efi_TRUE@am__append_4881 = efi_uga.marker
+-@COND_x86_64_efi_TRUE@am__append_4882 = efi_uga.module
+-@COND_x86_64_efi_TRUE@am__append_4883 = efi_uga.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_4884 = 
+-@COND_x86_64_efi_TRUE@am__append_4885 = $(nodist_efi_uga_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_4886 =  \
++@COND_i386_efi_TRUE@am__append_4873 = efi_uga.mod
++@COND_i386_efi_TRUE@am__append_4874 = efi_uga.marker
++@COND_x86_64_efi_TRUE@am__append_4875 = efi_uga.module
++@COND_x86_64_efi_TRUE@am__append_4876 = efi_uga.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_4877 = 
++@COND_x86_64_efi_TRUE@am__append_4878 = $(nodist_efi_uga_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_4879 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_efi_uga_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        efi_uga.marker
+-@COND_x86_64_efi_TRUE@am__append_4887 = efi_uga.mod
+-@COND_x86_64_efi_TRUE@am__append_4888 = efi_uga.marker
+-@COND_i386_pc_TRUE@am__append_4889 = vbe.module
+-@COND_i386_pc_TRUE@am__append_4890 = vbe.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_4880 = efi_uga.mod
++@COND_x86_64_efi_TRUE@am__append_4881 = efi_uga.marker
++@COND_i386_pc_TRUE@am__append_4882 = vbe.module
++@COND_i386_pc_TRUE@am__append_4883 = vbe.module$(EXEEXT)
+ @COND_i386_pc_FALSE@vbe_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_4891 = 
+-@COND_i386_pc_TRUE@am__append_4892 = $(nodist_vbe_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_4893 = $(nodist_vbe_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_4884 = 
++@COND_i386_pc_TRUE@am__append_4885 = $(nodist_vbe_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_4886 = $(nodist_vbe_module_SOURCES) \
+ @COND_i386_pc_TRUE@   vbe.marker
+-@COND_i386_pc_TRUE@am__append_4894 = vbe.mod
+-@COND_i386_pc_TRUE@am__append_4895 = vbe.marker
+-@COND_emu_TRUE@am__append_4896 = video_fb.module
+-@COND_emu_TRUE@am__append_4897 = video_fb.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__append_4887 = vbe.mod
++@COND_i386_pc_TRUE@am__append_4888 = vbe.marker
++@COND_emu_TRUE@am__append_4889 = video_fb.module
++@COND_emu_TRUE@am__append_4890 = video_fb.module$(EXEEXT)
+ @COND_arm64_efi_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_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_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_FALSE@video_fb_module_DEPENDENCIES =
+-@COND_emu_TRUE@am__append_4898 = 
+-@COND_emu_TRUE@am__append_4899 = $(nodist_video_fb_module_SOURCES)
+-@COND_emu_TRUE@am__append_4900 = $(nodist_video_fb_module_SOURCES) \
++@COND_emu_TRUE@am__append_4891 = 
++@COND_emu_TRUE@am__append_4892 = $(nodist_video_fb_module_SOURCES)
++@COND_emu_TRUE@am__append_4893 = $(nodist_video_fb_module_SOURCES) \
+ @COND_emu_TRUE@       video_fb.marker
+-@COND_emu_TRUE@am__append_4901 = video_fb.mod
+-@COND_emu_TRUE@am__append_4902 = video_fb.marker
+-@COND_i386_pc_TRUE@am__append_4903 = video_fb.module
+-@COND_i386_pc_TRUE@am__append_4904 = video_fb.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__append_4905 = 
+-@COND_i386_pc_TRUE@am__append_4906 = $(nodist_video_fb_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_4907 =  \
++@COND_emu_TRUE@am__append_4894 = video_fb.mod
++@COND_emu_TRUE@am__append_4895 = video_fb.marker
++@COND_i386_pc_TRUE@am__append_4896 = video_fb.module
++@COND_i386_pc_TRUE@am__append_4897 = video_fb.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__append_4898 = 
++@COND_i386_pc_TRUE@am__append_4899 = $(nodist_video_fb_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_4900 =  \
+ @COND_i386_pc_TRUE@   $(nodist_video_fb_module_SOURCES) \
+ @COND_i386_pc_TRUE@   video_fb.marker
+-@COND_i386_pc_TRUE@am__append_4908 = video_fb.mod
+-@COND_i386_pc_TRUE@am__append_4909 = video_fb.marker
+-@COND_i386_efi_TRUE@am__append_4910 = video_fb.module
+-@COND_i386_efi_TRUE@am__append_4911 = video_fb.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_4912 = 
+-@COND_i386_efi_TRUE@am__append_4913 = $(nodist_video_fb_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_4914 =  \
++@COND_i386_pc_TRUE@am__append_4901 = video_fb.mod
++@COND_i386_pc_TRUE@am__append_4902 = video_fb.marker
++@COND_i386_efi_TRUE@am__append_4903 = video_fb.module
++@COND_i386_efi_TRUE@am__append_4904 = video_fb.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_4905 = 
++@COND_i386_efi_TRUE@am__append_4906 = $(nodist_video_fb_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_4907 =  \
+ @COND_i386_efi_TRUE@  $(nodist_video_fb_module_SOURCES) \
+ @COND_i386_efi_TRUE@  video_fb.marker
+-@COND_i386_efi_TRUE@am__append_4915 = video_fb.mod
+-@COND_i386_efi_TRUE@am__append_4916 = video_fb.marker
+-@COND_i386_qemu_TRUE@am__append_4917 = video_fb.module
+-@COND_i386_qemu_TRUE@am__append_4918 = video_fb.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_4919 = 
+-@COND_i386_qemu_TRUE@am__append_4920 = $(nodist_video_fb_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_4921 =  \
++@COND_i386_efi_TRUE@am__append_4908 = video_fb.mod
++@COND_i386_efi_TRUE@am__append_4909 = video_fb.marker
++@COND_i386_qemu_TRUE@am__append_4910 = video_fb.module
++@COND_i386_qemu_TRUE@am__append_4911 = video_fb.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_4912 = 
++@COND_i386_qemu_TRUE@am__append_4913 = $(nodist_video_fb_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_4914 =  \
+ @COND_i386_qemu_TRUE@ $(nodist_video_fb_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ video_fb.marker
+-@COND_i386_qemu_TRUE@am__append_4922 = video_fb.mod
+-@COND_i386_qemu_TRUE@am__append_4923 = video_fb.marker
+-@COND_i386_multiboot_TRUE@am__append_4924 = video_fb.module
+-@COND_i386_multiboot_TRUE@am__append_4925 = video_fb.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_4926 = 
+-@COND_i386_multiboot_TRUE@am__append_4927 = $(nodist_video_fb_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_4928 =  \
++@COND_i386_qemu_TRUE@am__append_4915 = video_fb.mod
++@COND_i386_qemu_TRUE@am__append_4916 = video_fb.marker
++@COND_i386_multiboot_TRUE@am__append_4917 = video_fb.module
++@COND_i386_multiboot_TRUE@am__append_4918 = video_fb.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_4919 = 
++@COND_i386_multiboot_TRUE@am__append_4920 = $(nodist_video_fb_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_4921 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_video_fb_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    video_fb.marker
+-@COND_i386_multiboot_TRUE@am__append_4929 = video_fb.mod
+-@COND_i386_multiboot_TRUE@am__append_4930 = video_fb.marker
+-@COND_i386_ieee1275_TRUE@am__append_4931 = video_fb.module
+-@COND_i386_ieee1275_TRUE@am__append_4932 = video_fb.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_4933 = 
+-@COND_i386_ieee1275_TRUE@am__append_4934 = $(nodist_video_fb_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_4935 =  \
++@COND_i386_multiboot_TRUE@am__append_4922 = video_fb.mod
++@COND_i386_multiboot_TRUE@am__append_4923 = video_fb.marker
++@COND_i386_ieee1275_TRUE@am__append_4924 = video_fb.module
++@COND_i386_ieee1275_TRUE@am__append_4925 = video_fb.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_4926 = 
++@COND_i386_ieee1275_TRUE@am__append_4927 = $(nodist_video_fb_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_4928 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_video_fb_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     video_fb.marker
+-@COND_i386_ieee1275_TRUE@am__append_4936 = video_fb.mod
+-@COND_i386_ieee1275_TRUE@am__append_4937 = video_fb.marker
+-@COND_x86_64_efi_TRUE@am__append_4938 = video_fb.module
+-@COND_x86_64_efi_TRUE@am__append_4939 = video_fb.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_4940 = 
+-@COND_x86_64_efi_TRUE@am__append_4941 = $(nodist_video_fb_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_4942 =  \
++@COND_i386_ieee1275_TRUE@am__append_4929 = video_fb.mod
++@COND_i386_ieee1275_TRUE@am__append_4930 = video_fb.marker
++@COND_x86_64_efi_TRUE@am__append_4931 = video_fb.module
++@COND_x86_64_efi_TRUE@am__append_4932 = video_fb.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_4933 = 
++@COND_x86_64_efi_TRUE@am__append_4934 = $(nodist_video_fb_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_4935 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_video_fb_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        video_fb.marker
+-@COND_x86_64_efi_TRUE@am__append_4943 = video_fb.mod
+-@COND_x86_64_efi_TRUE@am__append_4944 = video_fb.marker
+-@COND_i386_xen_TRUE@am__append_4945 = video_fb.module
+-@COND_i386_xen_TRUE@am__append_4946 = video_fb.module$(EXEEXT)
+-@COND_i386_xen_TRUE@am__append_4947 = 
+-@COND_i386_xen_TRUE@am__append_4948 = $(nodist_video_fb_module_SOURCES)
+-@COND_i386_xen_TRUE@am__append_4949 =  \
++@COND_x86_64_efi_TRUE@am__append_4936 = video_fb.mod
++@COND_x86_64_efi_TRUE@am__append_4937 = video_fb.marker
++@COND_i386_xen_TRUE@am__append_4938 = video_fb.module
++@COND_i386_xen_TRUE@am__append_4939 = video_fb.module$(EXEEXT)
++@COND_i386_xen_TRUE@am__append_4940 = 
++@COND_i386_xen_TRUE@am__append_4941 = $(nodist_video_fb_module_SOURCES)
++@COND_i386_xen_TRUE@am__append_4942 =  \
+ @COND_i386_xen_TRUE@  $(nodist_video_fb_module_SOURCES) \
+ @COND_i386_xen_TRUE@  video_fb.marker
+-@COND_i386_xen_TRUE@am__append_4950 = video_fb.mod
+-@COND_i386_xen_TRUE@am__append_4951 = video_fb.marker
+-@COND_x86_64_xen_TRUE@am__append_4952 = video_fb.module
+-@COND_x86_64_xen_TRUE@am__append_4953 = video_fb.module$(EXEEXT)
+-@COND_x86_64_xen_TRUE@am__append_4954 = 
+-@COND_x86_64_xen_TRUE@am__append_4955 = $(nodist_video_fb_module_SOURCES)
+-@COND_x86_64_xen_TRUE@am__append_4956 =  \
++@COND_i386_xen_TRUE@am__append_4943 = video_fb.mod
++@COND_i386_xen_TRUE@am__append_4944 = video_fb.marker
++@COND_x86_64_xen_TRUE@am__append_4945 = video_fb.module
++@COND_x86_64_xen_TRUE@am__append_4946 = video_fb.module$(EXEEXT)
++@COND_x86_64_xen_TRUE@am__append_4947 = 
++@COND_x86_64_xen_TRUE@am__append_4948 = $(nodist_video_fb_module_SOURCES)
++@COND_x86_64_xen_TRUE@am__append_4949 =  \
+ @COND_x86_64_xen_TRUE@        $(nodist_video_fb_module_SOURCES) \
+ @COND_x86_64_xen_TRUE@        video_fb.marker
+-@COND_x86_64_xen_TRUE@am__append_4957 = video_fb.mod
+-@COND_x86_64_xen_TRUE@am__append_4958 = video_fb.marker
+-@COND_i386_xen_pvh_TRUE@am__append_4959 = video_fb.module
+-@COND_i386_xen_pvh_TRUE@am__append_4960 = video_fb.module$(EXEEXT)
+-@COND_i386_xen_pvh_TRUE@am__append_4961 = 
+-@COND_i386_xen_pvh_TRUE@am__append_4962 = $(nodist_video_fb_module_SOURCES)
+-@COND_i386_xen_pvh_TRUE@am__append_4963 =  \
++@COND_x86_64_xen_TRUE@am__append_4950 = video_fb.mod
++@COND_x86_64_xen_TRUE@am__append_4951 = video_fb.marker
++@COND_i386_xen_pvh_TRUE@am__append_4952 = video_fb.module
++@COND_i386_xen_pvh_TRUE@am__append_4953 = video_fb.module$(EXEEXT)
++@COND_i386_xen_pvh_TRUE@am__append_4954 = 
++@COND_i386_xen_pvh_TRUE@am__append_4955 = $(nodist_video_fb_module_SOURCES)
++@COND_i386_xen_pvh_TRUE@am__append_4956 =  \
+ @COND_i386_xen_pvh_TRUE@      $(nodist_video_fb_module_SOURCES) \
+ @COND_i386_xen_pvh_TRUE@      video_fb.marker
+-@COND_i386_xen_pvh_TRUE@am__append_4964 = video_fb.mod
+-@COND_i386_xen_pvh_TRUE@am__append_4965 = video_fb.marker
+-@COND_sparc64_ieee1275_TRUE@am__append_4966 = video_fb.module
+-@COND_sparc64_ieee1275_TRUE@am__append_4967 = video_fb.module$(EXEEXT)
+-@COND_sparc64_ieee1275_TRUE@am__append_4968 = 
+-@COND_sparc64_ieee1275_TRUE@am__append_4969 = $(nodist_video_fb_module_SOURCES)
+-@COND_sparc64_ieee1275_TRUE@am__append_4970 =  \
++@COND_i386_xen_pvh_TRUE@am__append_4957 = video_fb.mod
++@COND_i386_xen_pvh_TRUE@am__append_4958 = video_fb.marker
++@COND_sparc64_ieee1275_TRUE@am__append_4959 = video_fb.module
++@COND_sparc64_ieee1275_TRUE@am__append_4960 = video_fb.module$(EXEEXT)
++@COND_sparc64_ieee1275_TRUE@am__append_4961 = 
++@COND_sparc64_ieee1275_TRUE@am__append_4962 = $(nodist_video_fb_module_SOURCES)
++@COND_sparc64_ieee1275_TRUE@am__append_4963 =  \
+ @COND_sparc64_ieee1275_TRUE@  $(nodist_video_fb_module_SOURCES) \
+ @COND_sparc64_ieee1275_TRUE@  video_fb.marker
+-@COND_sparc64_ieee1275_TRUE@am__append_4971 = video_fb.mod
+-@COND_sparc64_ieee1275_TRUE@am__append_4972 = video_fb.marker
+-@COND_powerpc_ieee1275_TRUE@am__append_4973 = video_fb.module
+-@COND_powerpc_ieee1275_TRUE@am__append_4974 = video_fb.module$(EXEEXT)
+-@COND_powerpc_ieee1275_TRUE@am__append_4975 = 
+-@COND_powerpc_ieee1275_TRUE@am__append_4976 = $(nodist_video_fb_module_SOURCES)
+-@COND_powerpc_ieee1275_TRUE@am__append_4977 =  \
++@COND_sparc64_ieee1275_TRUE@am__append_4964 = video_fb.mod
++@COND_sparc64_ieee1275_TRUE@am__append_4965 = video_fb.marker
++@COND_powerpc_ieee1275_TRUE@am__append_4966 = video_fb.module
++@COND_powerpc_ieee1275_TRUE@am__append_4967 = video_fb.module$(EXEEXT)
++@COND_powerpc_ieee1275_TRUE@am__append_4968 = 
++@COND_powerpc_ieee1275_TRUE@am__append_4969 = $(nodist_video_fb_module_SOURCES)
++@COND_powerpc_ieee1275_TRUE@am__append_4970 =  \
+ @COND_powerpc_ieee1275_TRUE@  $(nodist_video_fb_module_SOURCES) \
+ @COND_powerpc_ieee1275_TRUE@  video_fb.marker
+-@COND_powerpc_ieee1275_TRUE@am__append_4978 = video_fb.mod
+-@COND_powerpc_ieee1275_TRUE@am__append_4979 = video_fb.marker
+-@COND_mips_arc_TRUE@am__append_4980 = video_fb.module
+-@COND_mips_arc_TRUE@am__append_4981 = video_fb.module$(EXEEXT)
+-@COND_mips_arc_TRUE@am__append_4982 = 
+-@COND_mips_arc_TRUE@am__append_4983 = $(nodist_video_fb_module_SOURCES)
+-@COND_mips_arc_TRUE@am__append_4984 =  \
++@COND_powerpc_ieee1275_TRUE@am__append_4971 = video_fb.mod
++@COND_powerpc_ieee1275_TRUE@am__append_4972 = video_fb.marker
++@COND_mips_arc_TRUE@am__append_4973 = video_fb.module
++@COND_mips_arc_TRUE@am__append_4974 = video_fb.module$(EXEEXT)
++@COND_mips_arc_TRUE@am__append_4975 = 
++@COND_mips_arc_TRUE@am__append_4976 = $(nodist_video_fb_module_SOURCES)
++@COND_mips_arc_TRUE@am__append_4977 =  \
+ @COND_mips_arc_TRUE@  $(nodist_video_fb_module_SOURCES) \
+ @COND_mips_arc_TRUE@  video_fb.marker
+-@COND_mips_arc_TRUE@am__append_4985 = video_fb.mod
+-@COND_mips_arc_TRUE@am__append_4986 = video_fb.marker
+-@COND_ia64_efi_TRUE@am__append_4987 = video_fb.module
+-@COND_ia64_efi_TRUE@am__append_4988 = video_fb.module$(EXEEXT)
+-@COND_ia64_efi_TRUE@am__append_4989 = 
+-@COND_ia64_efi_TRUE@am__append_4990 = $(nodist_video_fb_module_SOURCES)
+-@COND_ia64_efi_TRUE@am__append_4991 =  \
++@COND_mips_arc_TRUE@am__append_4978 = video_fb.mod
++@COND_mips_arc_TRUE@am__append_4979 = video_fb.marker
++@COND_ia64_efi_TRUE@am__append_4980 = video_fb.module
++@COND_ia64_efi_TRUE@am__append_4981 = video_fb.module$(EXEEXT)
++@COND_ia64_efi_TRUE@am__append_4982 = 
++@COND_ia64_efi_TRUE@am__append_4983 = $(nodist_video_fb_module_SOURCES)
++@COND_ia64_efi_TRUE@am__append_4984 =  \
+ @COND_ia64_efi_TRUE@  $(nodist_video_fb_module_SOURCES) \
+ @COND_ia64_efi_TRUE@  video_fb.marker
+-@COND_ia64_efi_TRUE@am__append_4992 = video_fb.mod
+-@COND_ia64_efi_TRUE@am__append_4993 = video_fb.marker
+-@COND_mips_qemu_mips_TRUE@am__append_4994 = video_fb.module
+-@COND_mips_qemu_mips_TRUE@am__append_4995 = video_fb.module$(EXEEXT)
+-@COND_mips_qemu_mips_TRUE@am__append_4996 = 
+-@COND_mips_qemu_mips_TRUE@am__append_4997 = $(nodist_video_fb_module_SOURCES)
+-@COND_mips_qemu_mips_TRUE@am__append_4998 =  \
++@COND_ia64_efi_TRUE@am__append_4985 = video_fb.mod
++@COND_ia64_efi_TRUE@am__append_4986 = video_fb.marker
++@COND_mips_qemu_mips_TRUE@am__append_4987 = video_fb.module
++@COND_mips_qemu_mips_TRUE@am__append_4988 = video_fb.module$(EXEEXT)
++@COND_mips_qemu_mips_TRUE@am__append_4989 = 
++@COND_mips_qemu_mips_TRUE@am__append_4990 = $(nodist_video_fb_module_SOURCES)
++@COND_mips_qemu_mips_TRUE@am__append_4991 =  \
+ @COND_mips_qemu_mips_TRUE@    $(nodist_video_fb_module_SOURCES) \
+ @COND_mips_qemu_mips_TRUE@    video_fb.marker
+-@COND_mips_qemu_mips_TRUE@am__append_4999 = video_fb.mod
+-@COND_mips_qemu_mips_TRUE@am__append_5000 = video_fb.marker
+-@COND_arm_uboot_TRUE@am__append_5001 = video_fb.module
+-@COND_arm_uboot_TRUE@am__append_5002 = video_fb.module$(EXEEXT)
+-@COND_arm_uboot_TRUE@am__append_5003 = 
+-@COND_arm_uboot_TRUE@am__append_5004 = $(nodist_video_fb_module_SOURCES)
+-@COND_arm_uboot_TRUE@am__append_5005 =  \
++@COND_mips_qemu_mips_TRUE@am__append_4992 = video_fb.mod
++@COND_mips_qemu_mips_TRUE@am__append_4993 = video_fb.marker
++@COND_arm_uboot_TRUE@am__append_4994 = video_fb.module
++@COND_arm_uboot_TRUE@am__append_4995 = video_fb.module$(EXEEXT)
++@COND_arm_uboot_TRUE@am__append_4996 = 
++@COND_arm_uboot_TRUE@am__append_4997 = $(nodist_video_fb_module_SOURCES)
++@COND_arm_uboot_TRUE@am__append_4998 =  \
+ @COND_arm_uboot_TRUE@ $(nodist_video_fb_module_SOURCES) \
+ @COND_arm_uboot_TRUE@ video_fb.marker
+-@COND_arm_uboot_TRUE@am__append_5006 = video_fb.mod
+-@COND_arm_uboot_TRUE@am__append_5007 = video_fb.marker
+-@COND_arm_efi_TRUE@am__append_5008 = video_fb.module
+-@COND_arm_efi_TRUE@am__append_5009 = video_fb.module$(EXEEXT)
+-@COND_arm_efi_TRUE@am__append_5010 = 
+-@COND_arm_efi_TRUE@am__append_5011 = $(nodist_video_fb_module_SOURCES)
+-@COND_arm_efi_TRUE@am__append_5012 =  \
++@COND_arm_uboot_TRUE@am__append_4999 = video_fb.mod
++@COND_arm_uboot_TRUE@am__append_5000 = video_fb.marker
++@COND_arm_efi_TRUE@am__append_5001 = video_fb.module
++@COND_arm_efi_TRUE@am__append_5002 = video_fb.module$(EXEEXT)
++@COND_arm_efi_TRUE@am__append_5003 = 
++@COND_arm_efi_TRUE@am__append_5004 = $(nodist_video_fb_module_SOURCES)
++@COND_arm_efi_TRUE@am__append_5005 =  \
+ @COND_arm_efi_TRUE@   $(nodist_video_fb_module_SOURCES) \
+ @COND_arm_efi_TRUE@   video_fb.marker
+-@COND_arm_efi_TRUE@am__append_5013 = video_fb.mod
+-@COND_arm_efi_TRUE@am__append_5014 = video_fb.marker
+-@COND_arm64_efi_TRUE@am__append_5015 = video_fb.module
+-@COND_arm64_efi_TRUE@am__append_5016 = video_fb.module$(EXEEXT)
+-@COND_arm64_efi_TRUE@am__append_5017 = 
+-@COND_arm64_efi_TRUE@am__append_5018 = $(nodist_video_fb_module_SOURCES)
+-@COND_arm64_efi_TRUE@am__append_5019 =  \
++@COND_arm_efi_TRUE@am__append_5006 = video_fb.mod
++@COND_arm_efi_TRUE@am__append_5007 = video_fb.marker
++@COND_arm64_efi_TRUE@am__append_5008 = video_fb.module
++@COND_arm64_efi_TRUE@am__append_5009 = video_fb.module$(EXEEXT)
++@COND_arm64_efi_TRUE@am__append_5010 = 
++@COND_arm64_efi_TRUE@am__append_5011 = $(nodist_video_fb_module_SOURCES)
++@COND_arm64_efi_TRUE@am__append_5012 =  \
+ @COND_arm64_efi_TRUE@ $(nodist_video_fb_module_SOURCES) \
+ @COND_arm64_efi_TRUE@ video_fb.marker
+-@COND_arm64_efi_TRUE@am__append_5020 = video_fb.mod
+-@COND_arm64_efi_TRUE@am__append_5021 = video_fb.marker
+-@COND_riscv32_efi_TRUE@am__append_5022 = video_fb.module
+-@COND_riscv32_efi_TRUE@am__append_5023 = video_fb.module$(EXEEXT)
+-@COND_riscv32_efi_TRUE@am__append_5024 = 
+-@COND_riscv32_efi_TRUE@am__append_5025 = $(nodist_video_fb_module_SOURCES)
+-@COND_riscv32_efi_TRUE@am__append_5026 =  \
++@COND_arm64_efi_TRUE@am__append_5013 = video_fb.mod
++@COND_arm64_efi_TRUE@am__append_5014 = video_fb.marker
++@COND_riscv32_efi_TRUE@am__append_5015 = video_fb.module
++@COND_riscv32_efi_TRUE@am__append_5016 = video_fb.module$(EXEEXT)
++@COND_riscv32_efi_TRUE@am__append_5017 = 
++@COND_riscv32_efi_TRUE@am__append_5018 = $(nodist_video_fb_module_SOURCES)
++@COND_riscv32_efi_TRUE@am__append_5019 =  \
+ @COND_riscv32_efi_TRUE@       $(nodist_video_fb_module_SOURCES) \
+ @COND_riscv32_efi_TRUE@       video_fb.marker
+-@COND_riscv32_efi_TRUE@am__append_5027 = video_fb.mod
+-@COND_riscv32_efi_TRUE@am__append_5028 = video_fb.marker
+-@COND_riscv64_efi_TRUE@am__append_5029 = video_fb.module
+-@COND_riscv64_efi_TRUE@am__append_5030 = video_fb.module$(EXEEXT)
+-@COND_riscv64_efi_TRUE@am__append_5031 = 
+-@COND_riscv64_efi_TRUE@am__append_5032 = $(nodist_video_fb_module_SOURCES)
+-@COND_riscv64_efi_TRUE@am__append_5033 =  \
++@COND_riscv32_efi_TRUE@am__append_5020 = video_fb.mod
++@COND_riscv32_efi_TRUE@am__append_5021 = video_fb.marker
++@COND_riscv64_efi_TRUE@am__append_5022 = video_fb.module
++@COND_riscv64_efi_TRUE@am__append_5023 = video_fb.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__append_5024 = 
++@COND_riscv64_efi_TRUE@am__append_5025 = $(nodist_video_fb_module_SOURCES)
++@COND_riscv64_efi_TRUE@am__append_5026 =  \
+ @COND_riscv64_efi_TRUE@       $(nodist_video_fb_module_SOURCES) \
+ @COND_riscv64_efi_TRUE@       video_fb.marker
+-@COND_riscv64_efi_TRUE@am__append_5034 = video_fb.mod
+-@COND_riscv64_efi_TRUE@am__append_5035 = video_fb.marker
+-@COND_emu_TRUE@am__append_5036 = video.module
+-@COND_emu_TRUE@am__append_5037 = video.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__append_5027 = video_fb.mod
++@COND_riscv64_efi_TRUE@am__append_5028 = video_fb.marker
++@COND_emu_TRUE@am__append_5029 = video.module
++@COND_emu_TRUE@am__append_5030 = video.module$(EXEEXT)
+ @COND_arm64_efi_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_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_qemu_mips_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_sparc64_ieee1275_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_FALSE@video_module_DEPENDENCIES =
+-@COND_emu_TRUE@am__append_5038 = 
+-@COND_emu_TRUE@am__append_5039 = $(nodist_video_module_SOURCES)
+-@COND_emu_TRUE@am__append_5040 = $(nodist_video_module_SOURCES) \
++@COND_emu_TRUE@am__append_5031 = 
++@COND_emu_TRUE@am__append_5032 = $(nodist_video_module_SOURCES)
++@COND_emu_TRUE@am__append_5033 = $(nodist_video_module_SOURCES) \
+ @COND_emu_TRUE@       video.marker
+-@COND_emu_TRUE@am__append_5041 = video.mod
+-@COND_emu_TRUE@am__append_5042 = video.marker
+-@COND_i386_pc_TRUE@am__append_5043 = video.module
+-@COND_i386_pc_TRUE@am__append_5044 = video.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__append_5045 = 
+-@COND_i386_pc_TRUE@am__append_5046 = $(nodist_video_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_5047 = $(nodist_video_module_SOURCES) \
++@COND_emu_TRUE@am__append_5034 = video.mod
++@COND_emu_TRUE@am__append_5035 = video.marker
++@COND_i386_pc_TRUE@am__append_5036 = video.module
++@COND_i386_pc_TRUE@am__append_5037 = video.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__append_5038 = 
++@COND_i386_pc_TRUE@am__append_5039 = $(nodist_video_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_5040 = $(nodist_video_module_SOURCES) \
+ @COND_i386_pc_TRUE@   video.marker
+-@COND_i386_pc_TRUE@am__append_5048 = video.mod
+-@COND_i386_pc_TRUE@am__append_5049 = video.marker
+-@COND_i386_efi_TRUE@am__append_5050 = video.module
+-@COND_i386_efi_TRUE@am__append_5051 = video.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_5052 = 
+-@COND_i386_efi_TRUE@am__append_5053 = $(nodist_video_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_5054 = $(nodist_video_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_5041 = video.mod
++@COND_i386_pc_TRUE@am__append_5042 = video.marker
++@COND_i386_efi_TRUE@am__append_5043 = video.module
++@COND_i386_efi_TRUE@am__append_5044 = video.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_5045 = 
++@COND_i386_efi_TRUE@am__append_5046 = $(nodist_video_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_5047 = $(nodist_video_module_SOURCES) \
+ @COND_i386_efi_TRUE@  video.marker
+-@COND_i386_efi_TRUE@am__append_5055 = video.mod
+-@COND_i386_efi_TRUE@am__append_5056 = video.marker
+-@COND_i386_qemu_TRUE@am__append_5057 = video.module
+-@COND_i386_qemu_TRUE@am__append_5058 = video.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_5059 = 
+-@COND_i386_qemu_TRUE@am__append_5060 = $(nodist_video_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_5061 = $(nodist_video_module_SOURCES) \
++@COND_i386_efi_TRUE@am__append_5048 = video.mod
++@COND_i386_efi_TRUE@am__append_5049 = video.marker
++@COND_i386_qemu_TRUE@am__append_5050 = video.module
++@COND_i386_qemu_TRUE@am__append_5051 = video.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_5052 = 
++@COND_i386_qemu_TRUE@am__append_5053 = $(nodist_video_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_5054 = $(nodist_video_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ video.marker
+-@COND_i386_qemu_TRUE@am__append_5062 = video.mod
+-@COND_i386_qemu_TRUE@am__append_5063 = video.marker
+-@COND_i386_multiboot_TRUE@am__append_5064 = video.module
+-@COND_i386_multiboot_TRUE@am__append_5065 = video.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_5066 = 
+-@COND_i386_multiboot_TRUE@am__append_5067 = $(nodist_video_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_5068 =  \
++@COND_i386_qemu_TRUE@am__append_5055 = video.mod
++@COND_i386_qemu_TRUE@am__append_5056 = video.marker
++@COND_i386_multiboot_TRUE@am__append_5057 = video.module
++@COND_i386_multiboot_TRUE@am__append_5058 = video.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_5059 = 
++@COND_i386_multiboot_TRUE@am__append_5060 = $(nodist_video_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_5061 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_video_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    video.marker
+-@COND_i386_multiboot_TRUE@am__append_5069 = video.mod
+-@COND_i386_multiboot_TRUE@am__append_5070 = video.marker
+-@COND_i386_ieee1275_TRUE@am__append_5071 = video.module
+-@COND_i386_ieee1275_TRUE@am__append_5072 = video.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_5073 = 
+-@COND_i386_ieee1275_TRUE@am__append_5074 = $(nodist_video_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_5075 =  \
++@COND_i386_multiboot_TRUE@am__append_5062 = video.mod
++@COND_i386_multiboot_TRUE@am__append_5063 = video.marker
++@COND_i386_ieee1275_TRUE@am__append_5064 = video.module
++@COND_i386_ieee1275_TRUE@am__append_5065 = video.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_5066 = 
++@COND_i386_ieee1275_TRUE@am__append_5067 = $(nodist_video_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_5068 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_video_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     video.marker
+-@COND_i386_ieee1275_TRUE@am__append_5076 = video.mod
+-@COND_i386_ieee1275_TRUE@am__append_5077 = video.marker
+-@COND_x86_64_efi_TRUE@am__append_5078 = video.module
+-@COND_x86_64_efi_TRUE@am__append_5079 = video.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_5080 = 
+-@COND_x86_64_efi_TRUE@am__append_5081 = $(nodist_video_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_5082 =  \
++@COND_i386_ieee1275_TRUE@am__append_5069 = video.mod
++@COND_i386_ieee1275_TRUE@am__append_5070 = video.marker
++@COND_x86_64_efi_TRUE@am__append_5071 = video.module
++@COND_x86_64_efi_TRUE@am__append_5072 = video.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_5073 = 
++@COND_x86_64_efi_TRUE@am__append_5074 = $(nodist_video_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_5075 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_video_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        video.marker
+-@COND_x86_64_efi_TRUE@am__append_5083 = video.mod
+-@COND_x86_64_efi_TRUE@am__append_5084 = video.marker
+-@COND_i386_xen_TRUE@am__append_5085 = video.module
+-@COND_i386_xen_TRUE@am__append_5086 = video.module$(EXEEXT)
+-@COND_i386_xen_TRUE@am__append_5087 = 
+-@COND_i386_xen_TRUE@am__append_5088 = $(nodist_video_module_SOURCES)
+-@COND_i386_xen_TRUE@am__append_5089 = $(nodist_video_module_SOURCES) \
++@COND_x86_64_efi_TRUE@am__append_5076 = video.mod
++@COND_x86_64_efi_TRUE@am__append_5077 = video.marker
++@COND_i386_xen_TRUE@am__append_5078 = video.module
++@COND_i386_xen_TRUE@am__append_5079 = video.module$(EXEEXT)
++@COND_i386_xen_TRUE@am__append_5080 = 
++@COND_i386_xen_TRUE@am__append_5081 = $(nodist_video_module_SOURCES)
++@COND_i386_xen_TRUE@am__append_5082 = $(nodist_video_module_SOURCES) \
+ @COND_i386_xen_TRUE@  video.marker
+-@COND_i386_xen_TRUE@am__append_5090 = video.mod
+-@COND_i386_xen_TRUE@am__append_5091 = video.marker
+-@COND_x86_64_xen_TRUE@am__append_5092 = video.module
+-@COND_x86_64_xen_TRUE@am__append_5093 = video.module$(EXEEXT)
+-@COND_x86_64_xen_TRUE@am__append_5094 = 
+-@COND_x86_64_xen_TRUE@am__append_5095 = $(nodist_video_module_SOURCES)
+-@COND_x86_64_xen_TRUE@am__append_5096 =  \
++@COND_i386_xen_TRUE@am__append_5083 = video.mod
++@COND_i386_xen_TRUE@am__append_5084 = video.marker
++@COND_x86_64_xen_TRUE@am__append_5085 = video.module
++@COND_x86_64_xen_TRUE@am__append_5086 = video.module$(EXEEXT)
++@COND_x86_64_xen_TRUE@am__append_5087 = 
++@COND_x86_64_xen_TRUE@am__append_5088 = $(nodist_video_module_SOURCES)
++@COND_x86_64_xen_TRUE@am__append_5089 =  \
+ @COND_x86_64_xen_TRUE@        $(nodist_video_module_SOURCES) \
+ @COND_x86_64_xen_TRUE@        video.marker
+-@COND_x86_64_xen_TRUE@am__append_5097 = video.mod
+-@COND_x86_64_xen_TRUE@am__append_5098 = video.marker
+-@COND_i386_xen_pvh_TRUE@am__append_5099 = video.module
+-@COND_i386_xen_pvh_TRUE@am__append_5100 = video.module$(EXEEXT)
+-@COND_i386_xen_pvh_TRUE@am__append_5101 = 
+-@COND_i386_xen_pvh_TRUE@am__append_5102 = $(nodist_video_module_SOURCES)
+-@COND_i386_xen_pvh_TRUE@am__append_5103 =  \
++@COND_x86_64_xen_TRUE@am__append_5090 = video.mod
++@COND_x86_64_xen_TRUE@am__append_5091 = video.marker
++@COND_i386_xen_pvh_TRUE@am__append_5092 = video.module
++@COND_i386_xen_pvh_TRUE@am__append_5093 = video.module$(EXEEXT)
++@COND_i386_xen_pvh_TRUE@am__append_5094 = 
++@COND_i386_xen_pvh_TRUE@am__append_5095 = $(nodist_video_module_SOURCES)
++@COND_i386_xen_pvh_TRUE@am__append_5096 =  \
+ @COND_i386_xen_pvh_TRUE@      $(nodist_video_module_SOURCES) \
+ @COND_i386_xen_pvh_TRUE@      video.marker
+-@COND_i386_xen_pvh_TRUE@am__append_5104 = video.mod
+-@COND_i386_xen_pvh_TRUE@am__append_5105 = video.marker
+-@COND_sparc64_ieee1275_TRUE@am__append_5106 = video.module
+-@COND_sparc64_ieee1275_TRUE@am__append_5107 = video.module$(EXEEXT)
+-@COND_sparc64_ieee1275_TRUE@am__append_5108 = 
+-@COND_sparc64_ieee1275_TRUE@am__append_5109 = $(nodist_video_module_SOURCES)
+-@COND_sparc64_ieee1275_TRUE@am__append_5110 =  \
++@COND_i386_xen_pvh_TRUE@am__append_5097 = video.mod
++@COND_i386_xen_pvh_TRUE@am__append_5098 = video.marker
++@COND_sparc64_ieee1275_TRUE@am__append_5099 = video.module
++@COND_sparc64_ieee1275_TRUE@am__append_5100 = video.module$(EXEEXT)
++@COND_sparc64_ieee1275_TRUE@am__append_5101 = 
++@COND_sparc64_ieee1275_TRUE@am__append_5102 = $(nodist_video_module_SOURCES)
++@COND_sparc64_ieee1275_TRUE@am__append_5103 =  \
+ @COND_sparc64_ieee1275_TRUE@  $(nodist_video_module_SOURCES) \
+ @COND_sparc64_ieee1275_TRUE@  video.marker
+-@COND_sparc64_ieee1275_TRUE@am__append_5111 = video.mod
+-@COND_sparc64_ieee1275_TRUE@am__append_5112 = video.marker
+-@COND_powerpc_ieee1275_TRUE@am__append_5113 = video.module
+-@COND_powerpc_ieee1275_TRUE@am__append_5114 = video.module$(EXEEXT)
+-@COND_powerpc_ieee1275_TRUE@am__append_5115 = 
+-@COND_powerpc_ieee1275_TRUE@am__append_5116 = $(nodist_video_module_SOURCES)
+-@COND_powerpc_ieee1275_TRUE@am__append_5117 =  \
++@COND_sparc64_ieee1275_TRUE@am__append_5104 = video.mod
++@COND_sparc64_ieee1275_TRUE@am__append_5105 = video.marker
++@COND_powerpc_ieee1275_TRUE@am__append_5106 = video.module
++@COND_powerpc_ieee1275_TRUE@am__append_5107 = video.module$(EXEEXT)
++@COND_powerpc_ieee1275_TRUE@am__append_5108 = 
++@COND_powerpc_ieee1275_TRUE@am__append_5109 = $(nodist_video_module_SOURCES)
++@COND_powerpc_ieee1275_TRUE@am__append_5110 =  \
+ @COND_powerpc_ieee1275_TRUE@  $(nodist_video_module_SOURCES) \
+ @COND_powerpc_ieee1275_TRUE@  video.marker
+-@COND_powerpc_ieee1275_TRUE@am__append_5118 = video.mod
+-@COND_powerpc_ieee1275_TRUE@am__append_5119 = video.marker
+-@COND_mips_arc_TRUE@am__append_5120 = video.module
+-@COND_mips_arc_TRUE@am__append_5121 = video.module$(EXEEXT)
+-@COND_mips_arc_TRUE@am__append_5122 = 
+-@COND_mips_arc_TRUE@am__append_5123 = $(nodist_video_module_SOURCES)
+-@COND_mips_arc_TRUE@am__append_5124 = $(nodist_video_module_SOURCES) \
++@COND_powerpc_ieee1275_TRUE@am__append_5111 = video.mod
++@COND_powerpc_ieee1275_TRUE@am__append_5112 = video.marker
++@COND_mips_arc_TRUE@am__append_5113 = video.module
++@COND_mips_arc_TRUE@am__append_5114 = video.module$(EXEEXT)
++@COND_mips_arc_TRUE@am__append_5115 = 
++@COND_mips_arc_TRUE@am__append_5116 = $(nodist_video_module_SOURCES)
++@COND_mips_arc_TRUE@am__append_5117 = $(nodist_video_module_SOURCES) \
+ @COND_mips_arc_TRUE@  video.marker
+-@COND_mips_arc_TRUE@am__append_5125 = video.mod
+-@COND_mips_arc_TRUE@am__append_5126 = video.marker
+-@COND_ia64_efi_TRUE@am__append_5127 = video.module
+-@COND_ia64_efi_TRUE@am__append_5128 = video.module$(EXEEXT)
+-@COND_ia64_efi_TRUE@am__append_5129 = 
+-@COND_ia64_efi_TRUE@am__append_5130 = $(nodist_video_module_SOURCES)
+-@COND_ia64_efi_TRUE@am__append_5131 = $(nodist_video_module_SOURCES) \
++@COND_mips_arc_TRUE@am__append_5118 = video.mod
++@COND_mips_arc_TRUE@am__append_5119 = video.marker
++@COND_ia64_efi_TRUE@am__append_5120 = video.module
++@COND_ia64_efi_TRUE@am__append_5121 = video.module$(EXEEXT)
++@COND_ia64_efi_TRUE@am__append_5122 = 
++@COND_ia64_efi_TRUE@am__append_5123 = $(nodist_video_module_SOURCES)
++@COND_ia64_efi_TRUE@am__append_5124 = $(nodist_video_module_SOURCES) \
+ @COND_ia64_efi_TRUE@  video.marker
+-@COND_ia64_efi_TRUE@am__append_5132 = video.mod
+-@COND_ia64_efi_TRUE@am__append_5133 = video.marker
+-@COND_mips_qemu_mips_TRUE@am__append_5134 = video.module
+-@COND_mips_qemu_mips_TRUE@am__append_5135 = video.module$(EXEEXT)
+-@COND_mips_qemu_mips_TRUE@am__append_5136 = 
+-@COND_mips_qemu_mips_TRUE@am__append_5137 = $(nodist_video_module_SOURCES)
+-@COND_mips_qemu_mips_TRUE@am__append_5138 =  \
++@COND_ia64_efi_TRUE@am__append_5125 = video.mod
++@COND_ia64_efi_TRUE@am__append_5126 = video.marker
++@COND_mips_qemu_mips_TRUE@am__append_5127 = video.module
++@COND_mips_qemu_mips_TRUE@am__append_5128 = video.module$(EXEEXT)
++@COND_mips_qemu_mips_TRUE@am__append_5129 = 
++@COND_mips_qemu_mips_TRUE@am__append_5130 = $(nodist_video_module_SOURCES)
++@COND_mips_qemu_mips_TRUE@am__append_5131 =  \
+ @COND_mips_qemu_mips_TRUE@    $(nodist_video_module_SOURCES) \
+ @COND_mips_qemu_mips_TRUE@    video.marker
+-@COND_mips_qemu_mips_TRUE@am__append_5139 = video.mod
+-@COND_mips_qemu_mips_TRUE@am__append_5140 = video.marker
+-@COND_arm_uboot_TRUE@am__append_5141 = video.module
+-@COND_arm_uboot_TRUE@am__append_5142 = video.module$(EXEEXT)
+-@COND_arm_uboot_TRUE@am__append_5143 = 
+-@COND_arm_uboot_TRUE@am__append_5144 = $(nodist_video_module_SOURCES)
+-@COND_arm_uboot_TRUE@am__append_5145 = $(nodist_video_module_SOURCES) \
++@COND_mips_qemu_mips_TRUE@am__append_5132 = video.mod
++@COND_mips_qemu_mips_TRUE@am__append_5133 = video.marker
++@COND_arm_uboot_TRUE@am__append_5134 = video.module
++@COND_arm_uboot_TRUE@am__append_5135 = video.module$(EXEEXT)
++@COND_arm_uboot_TRUE@am__append_5136 = 
++@COND_arm_uboot_TRUE@am__append_5137 = $(nodist_video_module_SOURCES)
++@COND_arm_uboot_TRUE@am__append_5138 = $(nodist_video_module_SOURCES) \
+ @COND_arm_uboot_TRUE@ video.marker
+-@COND_arm_uboot_TRUE@am__append_5146 = video.mod
+-@COND_arm_uboot_TRUE@am__append_5147 = video.marker
+-@COND_arm_efi_TRUE@am__append_5148 = video.module
+-@COND_arm_efi_TRUE@am__append_5149 = video.module$(EXEEXT)
+-@COND_arm_efi_TRUE@am__append_5150 = 
+-@COND_arm_efi_TRUE@am__append_5151 = $(nodist_video_module_SOURCES)
+-@COND_arm_efi_TRUE@am__append_5152 = $(nodist_video_module_SOURCES) \
++@COND_arm_uboot_TRUE@am__append_5139 = video.mod
++@COND_arm_uboot_TRUE@am__append_5140 = video.marker
++@COND_arm_efi_TRUE@am__append_5141 = video.module
++@COND_arm_efi_TRUE@am__append_5142 = video.module$(EXEEXT)
++@COND_arm_efi_TRUE@am__append_5143 = 
++@COND_arm_efi_TRUE@am__append_5144 = $(nodist_video_module_SOURCES)
++@COND_arm_efi_TRUE@am__append_5145 = $(nodist_video_module_SOURCES) \
+ @COND_arm_efi_TRUE@   video.marker
+-@COND_arm_efi_TRUE@am__append_5153 = video.mod
+-@COND_arm_efi_TRUE@am__append_5154 = video.marker
+-@COND_arm64_efi_TRUE@am__append_5155 = video.module
+-@COND_arm64_efi_TRUE@am__append_5156 = video.module$(EXEEXT)
+-@COND_arm64_efi_TRUE@am__append_5157 = 
+-@COND_arm64_efi_TRUE@am__append_5158 = $(nodist_video_module_SOURCES)
+-@COND_arm64_efi_TRUE@am__append_5159 = $(nodist_video_module_SOURCES) \
++@COND_arm_efi_TRUE@am__append_5146 = video.mod
++@COND_arm_efi_TRUE@am__append_5147 = video.marker
++@COND_arm64_efi_TRUE@am__append_5148 = video.module
++@COND_arm64_efi_TRUE@am__append_5149 = video.module$(EXEEXT)
++@COND_arm64_efi_TRUE@am__append_5150 = 
++@COND_arm64_efi_TRUE@am__append_5151 = $(nodist_video_module_SOURCES)
++@COND_arm64_efi_TRUE@am__append_5152 = $(nodist_video_module_SOURCES) \
+ @COND_arm64_efi_TRUE@ video.marker
+-@COND_arm64_efi_TRUE@am__append_5160 = video.mod
+-@COND_arm64_efi_TRUE@am__append_5161 = video.marker
+-@COND_riscv32_efi_TRUE@am__append_5162 = video.module
+-@COND_riscv32_efi_TRUE@am__append_5163 = video.module$(EXEEXT)
+-@COND_riscv32_efi_TRUE@am__append_5164 = 
+-@COND_riscv32_efi_TRUE@am__append_5165 = $(nodist_video_module_SOURCES)
+-@COND_riscv32_efi_TRUE@am__append_5166 =  \
++@COND_arm64_efi_TRUE@am__append_5153 = video.mod
++@COND_arm64_efi_TRUE@am__append_5154 = video.marker
++@COND_riscv32_efi_TRUE@am__append_5155 = video.module
++@COND_riscv32_efi_TRUE@am__append_5156 = video.module$(EXEEXT)
++@COND_riscv32_efi_TRUE@am__append_5157 = 
++@COND_riscv32_efi_TRUE@am__append_5158 = $(nodist_video_module_SOURCES)
++@COND_riscv32_efi_TRUE@am__append_5159 =  \
+ @COND_riscv32_efi_TRUE@       $(nodist_video_module_SOURCES) \
+ @COND_riscv32_efi_TRUE@       video.marker
+-@COND_riscv32_efi_TRUE@am__append_5167 = video.mod
+-@COND_riscv32_efi_TRUE@am__append_5168 = video.marker
+-@COND_riscv64_efi_TRUE@am__append_5169 = video.module
+-@COND_riscv64_efi_TRUE@am__append_5170 = video.module$(EXEEXT)
+-@COND_riscv64_efi_TRUE@am__append_5171 = 
+-@COND_riscv64_efi_TRUE@am__append_5172 = $(nodist_video_module_SOURCES)
+-@COND_riscv64_efi_TRUE@am__append_5173 =  \
++@COND_riscv32_efi_TRUE@am__append_5160 = video.mod
++@COND_riscv32_efi_TRUE@am__append_5161 = video.marker
++@COND_riscv64_efi_TRUE@am__append_5162 = video.module
++@COND_riscv64_efi_TRUE@am__append_5163 = video.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__append_5164 = 
++@COND_riscv64_efi_TRUE@am__append_5165 = $(nodist_video_module_SOURCES)
++@COND_riscv64_efi_TRUE@am__append_5166 =  \
+ @COND_riscv64_efi_TRUE@       $(nodist_video_module_SOURCES) \
+ @COND_riscv64_efi_TRUE@       video.marker
+-@COND_riscv64_efi_TRUE@am__append_5174 = video.mod
+-@COND_riscv64_efi_TRUE@am__append_5175 = video.marker
+-@COND_powerpc_ieee1275_TRUE@am__append_5176 = ieee1275_fb.module
+-@COND_powerpc_ieee1275_TRUE@am__append_5177 = ieee1275_fb.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__append_5167 = video.mod
++@COND_riscv64_efi_TRUE@am__append_5168 = video.marker
++@COND_powerpc_ieee1275_TRUE@am__append_5169 = ieee1275_fb.module
++@COND_powerpc_ieee1275_TRUE@am__append_5170 = ieee1275_fb.module$(EXEEXT)
+ @COND_powerpc_ieee1275_FALSE@ieee1275_fb_module_DEPENDENCIES =
+-@COND_powerpc_ieee1275_TRUE@am__append_5178 = 
+-@COND_powerpc_ieee1275_TRUE@am__append_5179 = $(nodist_ieee1275_fb_module_SOURCES)
+-@COND_powerpc_ieee1275_TRUE@am__append_5180 = $(nodist_ieee1275_fb_module_SOURCES) \
++@COND_powerpc_ieee1275_TRUE@am__append_5171 = 
++@COND_powerpc_ieee1275_TRUE@am__append_5172 = $(nodist_ieee1275_fb_module_SOURCES)
++@COND_powerpc_ieee1275_TRUE@am__append_5173 = $(nodist_ieee1275_fb_module_SOURCES) \
+ @COND_powerpc_ieee1275_TRUE@  ieee1275_fb.marker
+-@COND_powerpc_ieee1275_TRUE@am__append_5181 = ieee1275_fb.mod
+-@COND_powerpc_ieee1275_TRUE@am__append_5182 = ieee1275_fb.marker
+-@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__append_5183 = sdl.module
+-@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__append_5184 = sdl.module$(EXEEXT)
++@COND_powerpc_ieee1275_TRUE@am__append_5174 = ieee1275_fb.mod
++@COND_powerpc_ieee1275_TRUE@am__append_5175 = ieee1275_fb.marker
++@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__append_5176 = sdl.module
++@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__append_5177 = sdl.module$(EXEEXT)
+ @COND_GRUB_EMU_SDL_FALSE@sdl_module_DEPENDENCIES =
+ @COND_emu_FALSE@sdl_module_DEPENDENCIES =
+-@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__append_5185 = 
+-@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__append_5186 = $(nodist_sdl_module_SOURCES)
+-@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__append_5187 = $(nodist_sdl_module_SOURCES) \
++@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__append_5178 = 
++@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__append_5179 = $(nodist_sdl_module_SOURCES)
++@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__append_5180 = $(nodist_sdl_module_SOURCES) \
+ @COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@       sdl.marker
+-@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__append_5188 = sdl.mod
+-@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__append_5189 = sdl.marker
+-@COND_i386_ieee1275_TRUE@am__append_5190 = ofnet.module
+-@COND_i386_ieee1275_TRUE@am__append_5191 = ofnet.module$(EXEEXT)
++@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__append_5181 = sdl.mod
++@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__append_5182 = sdl.marker
++@COND_i386_ieee1275_TRUE@am__append_5183 = ofnet.module
++@COND_i386_ieee1275_TRUE@am__append_5184 = ofnet.module$(EXEEXT)
+ @COND_i386_ieee1275_FALSE@@COND_powerpc_ieee1275_FALSE@@COND_sparc64_ieee1275_FALSE@ofnet_module_DEPENDENCIES =
+-@COND_i386_ieee1275_TRUE@am__append_5192 = 
+-@COND_i386_ieee1275_TRUE@am__append_5193 = $(nodist_ofnet_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_5194 =  \
++@COND_i386_ieee1275_TRUE@am__append_5185 = 
++@COND_i386_ieee1275_TRUE@am__append_5186 = $(nodist_ofnet_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_5187 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_ofnet_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     ofnet.marker
+-@COND_i386_ieee1275_TRUE@am__append_5195 = ofnet.mod
+-@COND_i386_ieee1275_TRUE@am__append_5196 = ofnet.marker
+-@COND_sparc64_ieee1275_TRUE@am__append_5197 = ofnet.module
+-@COND_sparc64_ieee1275_TRUE@am__append_5198 = ofnet.module$(EXEEXT)
+-@COND_sparc64_ieee1275_TRUE@am__append_5199 = 
+-@COND_sparc64_ieee1275_TRUE@am__append_5200 = $(nodist_ofnet_module_SOURCES)
+-@COND_sparc64_ieee1275_TRUE@am__append_5201 =  \
++@COND_i386_ieee1275_TRUE@am__append_5188 = ofnet.mod
++@COND_i386_ieee1275_TRUE@am__append_5189 = ofnet.marker
++@COND_sparc64_ieee1275_TRUE@am__append_5190 = ofnet.module
++@COND_sparc64_ieee1275_TRUE@am__append_5191 = ofnet.module$(EXEEXT)
++@COND_sparc64_ieee1275_TRUE@am__append_5192 = 
++@COND_sparc64_ieee1275_TRUE@am__append_5193 = $(nodist_ofnet_module_SOURCES)
++@COND_sparc64_ieee1275_TRUE@am__append_5194 =  \
+ @COND_sparc64_ieee1275_TRUE@  $(nodist_ofnet_module_SOURCES) \
+ @COND_sparc64_ieee1275_TRUE@  ofnet.marker
+-@COND_sparc64_ieee1275_TRUE@am__append_5202 = ofnet.mod
+-@COND_sparc64_ieee1275_TRUE@am__append_5203 = ofnet.marker
+-@COND_powerpc_ieee1275_TRUE@am__append_5204 = ofnet.module
+-@COND_powerpc_ieee1275_TRUE@am__append_5205 = ofnet.module$(EXEEXT)
+-@COND_powerpc_ieee1275_TRUE@am__append_5206 = 
+-@COND_powerpc_ieee1275_TRUE@am__append_5207 = $(nodist_ofnet_module_SOURCES)
+-@COND_powerpc_ieee1275_TRUE@am__append_5208 =  \
++@COND_sparc64_ieee1275_TRUE@am__append_5195 = ofnet.mod
++@COND_sparc64_ieee1275_TRUE@am__append_5196 = ofnet.marker
++@COND_powerpc_ieee1275_TRUE@am__append_5197 = ofnet.module
++@COND_powerpc_ieee1275_TRUE@am__append_5198 = ofnet.module$(EXEEXT)
++@COND_powerpc_ieee1275_TRUE@am__append_5199 = 
++@COND_powerpc_ieee1275_TRUE@am__append_5200 = $(nodist_ofnet_module_SOURCES)
++@COND_powerpc_ieee1275_TRUE@am__append_5201 =  \
+ @COND_powerpc_ieee1275_TRUE@  $(nodist_ofnet_module_SOURCES) \
+ @COND_powerpc_ieee1275_TRUE@  ofnet.marker
+-@COND_powerpc_ieee1275_TRUE@am__append_5209 = ofnet.mod
+-@COND_powerpc_ieee1275_TRUE@am__append_5210 = ofnet.marker
+-@COND_arm_uboot_TRUE@am__append_5211 = ubootnet.module
+-@COND_arm_uboot_TRUE@am__append_5212 = ubootnet.module$(EXEEXT)
++@COND_powerpc_ieee1275_TRUE@am__append_5202 = ofnet.mod
++@COND_powerpc_ieee1275_TRUE@am__append_5203 = ofnet.marker
++@COND_arm_uboot_TRUE@am__append_5204 = ubootnet.module
++@COND_arm_uboot_TRUE@am__append_5205 = ubootnet.module$(EXEEXT)
+ @COND_arm_uboot_FALSE@ubootnet_module_DEPENDENCIES =
+-@COND_arm_uboot_TRUE@am__append_5213 = 
+-@COND_arm_uboot_TRUE@am__append_5214 = $(nodist_ubootnet_module_SOURCES)
+-@COND_arm_uboot_TRUE@am__append_5215 =  \
++@COND_arm_uboot_TRUE@am__append_5206 = 
++@COND_arm_uboot_TRUE@am__append_5207 = $(nodist_ubootnet_module_SOURCES)
++@COND_arm_uboot_TRUE@am__append_5208 =  \
+ @COND_arm_uboot_TRUE@ $(nodist_ubootnet_module_SOURCES) \
+ @COND_arm_uboot_TRUE@ ubootnet.marker
+-@COND_arm_uboot_TRUE@am__append_5216 = ubootnet.mod
+-@COND_arm_uboot_TRUE@am__append_5217 = ubootnet.marker
+-@COND_i386_efi_TRUE@am__append_5218 = efinet.module
+-@COND_i386_efi_TRUE@am__append_5219 = efinet.module$(EXEEXT)
++@COND_arm_uboot_TRUE@am__append_5209 = ubootnet.mod
++@COND_arm_uboot_TRUE@am__append_5210 = ubootnet.marker
++@COND_i386_efi_TRUE@am__append_5211 = efinet.module
++@COND_i386_efi_TRUE@am__append_5212 = efinet.module$(EXEEXT)
+ @COND_arm64_efi_FALSE@@COND_arm_efi_FALSE@@COND_i386_efi_FALSE@@COND_ia64_efi_FALSE@@COND_riscv32_efi_FALSE@@COND_riscv64_efi_FALSE@@COND_x86_64_efi_FALSE@efinet_module_DEPENDENCIES =
+-@COND_i386_efi_TRUE@am__append_5220 = 
+-@COND_i386_efi_TRUE@am__append_5221 = $(nodist_efinet_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_5222 = $(nodist_efinet_module_SOURCES) \
++@COND_i386_efi_TRUE@am__append_5213 = 
++@COND_i386_efi_TRUE@am__append_5214 = $(nodist_efinet_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_5215 = $(nodist_efinet_module_SOURCES) \
+ @COND_i386_efi_TRUE@  efinet.marker
+-@COND_i386_efi_TRUE@am__append_5223 = efinet.mod
+-@COND_i386_efi_TRUE@am__append_5224 = efinet.marker
+-@COND_x86_64_efi_TRUE@am__append_5225 = efinet.module
+-@COND_x86_64_efi_TRUE@am__append_5226 = efinet.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_5227 = 
+-@COND_x86_64_efi_TRUE@am__append_5228 = $(nodist_efinet_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_5229 =  \
++@COND_i386_efi_TRUE@am__append_5216 = efinet.mod
++@COND_i386_efi_TRUE@am__append_5217 = efinet.marker
++@COND_x86_64_efi_TRUE@am__append_5218 = efinet.module
++@COND_x86_64_efi_TRUE@am__append_5219 = efinet.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_5220 = 
++@COND_x86_64_efi_TRUE@am__append_5221 = $(nodist_efinet_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_5222 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_efinet_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        efinet.marker
+-@COND_x86_64_efi_TRUE@am__append_5230 = efinet.mod
+-@COND_x86_64_efi_TRUE@am__append_5231 = efinet.marker
+-@COND_ia64_efi_TRUE@am__append_5232 = efinet.module
+-@COND_ia64_efi_TRUE@am__append_5233 = efinet.module$(EXEEXT)
+-@COND_ia64_efi_TRUE@am__append_5234 = 
+-@COND_ia64_efi_TRUE@am__append_5235 = $(nodist_efinet_module_SOURCES)
+-@COND_ia64_efi_TRUE@am__append_5236 = $(nodist_efinet_module_SOURCES) \
++@COND_x86_64_efi_TRUE@am__append_5223 = efinet.mod
++@COND_x86_64_efi_TRUE@am__append_5224 = efinet.marker
++@COND_ia64_efi_TRUE@am__append_5225 = efinet.module
++@COND_ia64_efi_TRUE@am__append_5226 = efinet.module$(EXEEXT)
++@COND_ia64_efi_TRUE@am__append_5227 = 
++@COND_ia64_efi_TRUE@am__append_5228 = $(nodist_efinet_module_SOURCES)
++@COND_ia64_efi_TRUE@am__append_5229 = $(nodist_efinet_module_SOURCES) \
+ @COND_ia64_efi_TRUE@  efinet.marker
+-@COND_ia64_efi_TRUE@am__append_5237 = efinet.mod
+-@COND_ia64_efi_TRUE@am__append_5238 = efinet.marker
+-@COND_arm_efi_TRUE@am__append_5239 = efinet.module
+-@COND_arm_efi_TRUE@am__append_5240 = efinet.module$(EXEEXT)
+-@COND_arm_efi_TRUE@am__append_5241 = 
+-@COND_arm_efi_TRUE@am__append_5242 = $(nodist_efinet_module_SOURCES)
+-@COND_arm_efi_TRUE@am__append_5243 = $(nodist_efinet_module_SOURCES) \
++@COND_ia64_efi_TRUE@am__append_5230 = efinet.mod
++@COND_ia64_efi_TRUE@am__append_5231 = efinet.marker
++@COND_arm_efi_TRUE@am__append_5232 = efinet.module
++@COND_arm_efi_TRUE@am__append_5233 = efinet.module$(EXEEXT)
++@COND_arm_efi_TRUE@am__append_5234 = 
++@COND_arm_efi_TRUE@am__append_5235 = $(nodist_efinet_module_SOURCES)
++@COND_arm_efi_TRUE@am__append_5236 = $(nodist_efinet_module_SOURCES) \
+ @COND_arm_efi_TRUE@   efinet.marker
+-@COND_arm_efi_TRUE@am__append_5244 = efinet.mod
+-@COND_arm_efi_TRUE@am__append_5245 = efinet.marker
+-@COND_arm64_efi_TRUE@am__append_5246 = efinet.module
+-@COND_arm64_efi_TRUE@am__append_5247 = efinet.module$(EXEEXT)
+-@COND_arm64_efi_TRUE@am__append_5248 = 
+-@COND_arm64_efi_TRUE@am__append_5249 = $(nodist_efinet_module_SOURCES)
+-@COND_arm64_efi_TRUE@am__append_5250 =  \
++@COND_arm_efi_TRUE@am__append_5237 = efinet.mod
++@COND_arm_efi_TRUE@am__append_5238 = efinet.marker
++@COND_arm64_efi_TRUE@am__append_5239 = efinet.module
++@COND_arm64_efi_TRUE@am__append_5240 = efinet.module$(EXEEXT)
++@COND_arm64_efi_TRUE@am__append_5241 = 
++@COND_arm64_efi_TRUE@am__append_5242 = $(nodist_efinet_module_SOURCES)
++@COND_arm64_efi_TRUE@am__append_5243 =  \
+ @COND_arm64_efi_TRUE@ $(nodist_efinet_module_SOURCES) \
+ @COND_arm64_efi_TRUE@ efinet.marker
+-@COND_arm64_efi_TRUE@am__append_5251 = efinet.mod
+-@COND_arm64_efi_TRUE@am__append_5252 = efinet.marker
+-@COND_riscv32_efi_TRUE@am__append_5253 = efinet.module
+-@COND_riscv32_efi_TRUE@am__append_5254 = efinet.module$(EXEEXT)
+-@COND_riscv32_efi_TRUE@am__append_5255 = 
+-@COND_riscv32_efi_TRUE@am__append_5256 = $(nodist_efinet_module_SOURCES)
+-@COND_riscv32_efi_TRUE@am__append_5257 =  \
++@COND_arm64_efi_TRUE@am__append_5244 = efinet.mod
++@COND_arm64_efi_TRUE@am__append_5245 = efinet.marker
++@COND_riscv32_efi_TRUE@am__append_5246 = efinet.module
++@COND_riscv32_efi_TRUE@am__append_5247 = efinet.module$(EXEEXT)
++@COND_riscv32_efi_TRUE@am__append_5248 = 
++@COND_riscv32_efi_TRUE@am__append_5249 = $(nodist_efinet_module_SOURCES)
++@COND_riscv32_efi_TRUE@am__append_5250 =  \
+ @COND_riscv32_efi_TRUE@       $(nodist_efinet_module_SOURCES) \
+ @COND_riscv32_efi_TRUE@       efinet.marker
+-@COND_riscv32_efi_TRUE@am__append_5258 = efinet.mod
+-@COND_riscv32_efi_TRUE@am__append_5259 = efinet.marker
+-@COND_riscv64_efi_TRUE@am__append_5260 = efinet.module
+-@COND_riscv64_efi_TRUE@am__append_5261 = efinet.module$(EXEEXT)
+-@COND_riscv64_efi_TRUE@am__append_5262 = 
+-@COND_riscv64_efi_TRUE@am__append_5263 = $(nodist_efinet_module_SOURCES)
+-@COND_riscv64_efi_TRUE@am__append_5264 =  \
++@COND_riscv32_efi_TRUE@am__append_5251 = efinet.mod
++@COND_riscv32_efi_TRUE@am__append_5252 = efinet.marker
++@COND_riscv64_efi_TRUE@am__append_5253 = efinet.module
++@COND_riscv64_efi_TRUE@am__append_5254 = efinet.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__append_5255 = 
++@COND_riscv64_efi_TRUE@am__append_5256 = $(nodist_efinet_module_SOURCES)
++@COND_riscv64_efi_TRUE@am__append_5257 =  \
+ @COND_riscv64_efi_TRUE@       $(nodist_efinet_module_SOURCES) \
+ @COND_riscv64_efi_TRUE@       efinet.marker
+-@COND_riscv64_efi_TRUE@am__append_5265 = efinet.mod
+-@COND_riscv64_efi_TRUE@am__append_5266 = efinet.marker
+-@COND_emu_TRUE@am__append_5267 = emunet.module legacycfg.module
+-@COND_emu_TRUE@am__append_5268 = emunet.module$(EXEEXT) \
++@COND_riscv64_efi_TRUE@am__append_5258 = efinet.mod
++@COND_riscv64_efi_TRUE@am__append_5259 = efinet.marker
++@COND_emu_TRUE@am__append_5260 = emunet.module legacycfg.module
++@COND_emu_TRUE@am__append_5261 = emunet.module$(EXEEXT) \
+ @COND_emu_TRUE@       legacycfg.module$(EXEEXT)
+ @COND_emu_FALSE@emunet_module_DEPENDENCIES =
+-@COND_emu_TRUE@am__append_5269 =
+-@COND_emu_TRUE@am__append_5270 = $(nodist_emunet_module_SOURCES) \
++@COND_emu_TRUE@am__append_5262 =
++@COND_emu_TRUE@am__append_5263 = $(nodist_emunet_module_SOURCES) \
+ @COND_emu_TRUE@       $(nodist_legacycfg_module_SOURCES)
+-@COND_emu_TRUE@am__append_5271 = $(nodist_emunet_module_SOURCES) \
++@COND_emu_TRUE@am__append_5264 = $(nodist_emunet_module_SOURCES) \
+ @COND_emu_TRUE@       emunet.marker \
+ @COND_emu_TRUE@       $(nodist_legacycfg_module_SOURCES) \
+ @COND_emu_TRUE@       legacycfg.marker
+-@COND_emu_TRUE@am__append_5272 = emunet.mod legacycfg.mod
+-@COND_emu_TRUE@am__append_5273 = emunet.marker legacycfg.marker
++@COND_emu_TRUE@am__append_5265 = emunet.mod legacycfg.mod
++@COND_emu_TRUE@am__append_5266 = emunet.marker legacycfg.marker
+ @COND_emu_FALSE@@COND_i386_efi_FALSE@@COND_i386_pc_FALSE@@COND_i386_xen_FALSE@@COND_i386_xen_pvh_FALSE@@COND_x86_64_efi_FALSE@@COND_x86_64_xen_FALSE@legacycfg_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_5274 = legacycfg.module
+-@COND_i386_pc_TRUE@am__append_5275 = legacycfg.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__append_5276 = 
+-@COND_i386_pc_TRUE@am__append_5277 = $(nodist_legacycfg_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_5278 =  \
++@COND_i386_pc_TRUE@am__append_5267 = legacycfg.module
++@COND_i386_pc_TRUE@am__append_5268 = legacycfg.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__append_5269 = 
++@COND_i386_pc_TRUE@am__append_5270 = $(nodist_legacycfg_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_5271 =  \
+ @COND_i386_pc_TRUE@   $(nodist_legacycfg_module_SOURCES) \
+ @COND_i386_pc_TRUE@   legacycfg.marker
+-@COND_i386_pc_TRUE@am__append_5279 = legacycfg.mod
+-@COND_i386_pc_TRUE@am__append_5280 = legacycfg.marker
+-@COND_i386_efi_TRUE@am__append_5281 = legacycfg.module
+-@COND_i386_efi_TRUE@am__append_5282 = legacycfg.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_5283 = 
+-@COND_i386_efi_TRUE@am__append_5284 = $(nodist_legacycfg_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_5285 =  \
++@COND_i386_pc_TRUE@am__append_5272 = legacycfg.mod
++@COND_i386_pc_TRUE@am__append_5273 = legacycfg.marker
++@COND_i386_efi_TRUE@am__append_5274 = legacycfg.module
++@COND_i386_efi_TRUE@am__append_5275 = legacycfg.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_5276 = 
++@COND_i386_efi_TRUE@am__append_5277 = $(nodist_legacycfg_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_5278 =  \
+ @COND_i386_efi_TRUE@  $(nodist_legacycfg_module_SOURCES) \
+ @COND_i386_efi_TRUE@  legacycfg.marker
+-@COND_i386_efi_TRUE@am__append_5286 = legacycfg.mod
+-@COND_i386_efi_TRUE@am__append_5287 = legacycfg.marker
+-@COND_x86_64_efi_TRUE@am__append_5288 = legacycfg.module
+-@COND_x86_64_efi_TRUE@am__append_5289 = legacycfg.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_5290 = 
+-@COND_x86_64_efi_TRUE@am__append_5291 = $(nodist_legacycfg_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_5292 =  \
++@COND_i386_efi_TRUE@am__append_5279 = legacycfg.mod
++@COND_i386_efi_TRUE@am__append_5280 = legacycfg.marker
++@COND_x86_64_efi_TRUE@am__append_5281 = legacycfg.module
++@COND_x86_64_efi_TRUE@am__append_5282 = legacycfg.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_5283 = 
++@COND_x86_64_efi_TRUE@am__append_5284 = $(nodist_legacycfg_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_5285 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_legacycfg_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        legacycfg.marker
+-@COND_x86_64_efi_TRUE@am__append_5293 = legacycfg.mod
+-@COND_x86_64_efi_TRUE@am__append_5294 = legacycfg.marker
+-@COND_i386_xen_TRUE@am__append_5295 = legacycfg.module
+-@COND_i386_xen_TRUE@am__append_5296 = legacycfg.module$(EXEEXT)
+-@COND_i386_xen_TRUE@am__append_5297 = 
+-@COND_i386_xen_TRUE@am__append_5298 = $(nodist_legacycfg_module_SOURCES)
+-@COND_i386_xen_TRUE@am__append_5299 =  \
++@COND_x86_64_efi_TRUE@am__append_5286 = legacycfg.mod
++@COND_x86_64_efi_TRUE@am__append_5287 = legacycfg.marker
++@COND_i386_xen_TRUE@am__append_5288 = legacycfg.module
++@COND_i386_xen_TRUE@am__append_5289 = legacycfg.module$(EXEEXT)
++@COND_i386_xen_TRUE@am__append_5290 = 
++@COND_i386_xen_TRUE@am__append_5291 = $(nodist_legacycfg_module_SOURCES)
++@COND_i386_xen_TRUE@am__append_5292 =  \
+ @COND_i386_xen_TRUE@  $(nodist_legacycfg_module_SOURCES) \
+ @COND_i386_xen_TRUE@  legacycfg.marker
+-@COND_i386_xen_TRUE@am__append_5300 = legacycfg.mod
+-@COND_i386_xen_TRUE@am__append_5301 = legacycfg.marker
+-@COND_x86_64_xen_TRUE@am__append_5302 = legacycfg.module
+-@COND_x86_64_xen_TRUE@am__append_5303 = legacycfg.module$(EXEEXT)
+-@COND_x86_64_xen_TRUE@am__append_5304 = 
+-@COND_x86_64_xen_TRUE@am__append_5305 = $(nodist_legacycfg_module_SOURCES)
+-@COND_x86_64_xen_TRUE@am__append_5306 =  \
++@COND_i386_xen_TRUE@am__append_5293 = legacycfg.mod
++@COND_i386_xen_TRUE@am__append_5294 = legacycfg.marker
++@COND_x86_64_xen_TRUE@am__append_5295 = legacycfg.module
++@COND_x86_64_xen_TRUE@am__append_5296 = legacycfg.module$(EXEEXT)
++@COND_x86_64_xen_TRUE@am__append_5297 = 
++@COND_x86_64_xen_TRUE@am__append_5298 = $(nodist_legacycfg_module_SOURCES)
++@COND_x86_64_xen_TRUE@am__append_5299 =  \
+ @COND_x86_64_xen_TRUE@        $(nodist_legacycfg_module_SOURCES) \
+ @COND_x86_64_xen_TRUE@        legacycfg.marker
+-@COND_x86_64_xen_TRUE@am__append_5307 = legacycfg.mod
+-@COND_x86_64_xen_TRUE@am__append_5308 = legacycfg.marker
+-@COND_i386_xen_pvh_TRUE@am__append_5309 = legacycfg.module
+-@COND_i386_xen_pvh_TRUE@am__append_5310 = legacycfg.module$(EXEEXT)
+-@COND_i386_xen_pvh_TRUE@am__append_5311 = 
+-@COND_i386_xen_pvh_TRUE@am__append_5312 = $(nodist_legacycfg_module_SOURCES)
+-@COND_i386_xen_pvh_TRUE@am__append_5313 =  \
++@COND_x86_64_xen_TRUE@am__append_5300 = legacycfg.mod
++@COND_x86_64_xen_TRUE@am__append_5301 = legacycfg.marker
++@COND_i386_xen_pvh_TRUE@am__append_5302 = legacycfg.module
++@COND_i386_xen_pvh_TRUE@am__append_5303 = legacycfg.module$(EXEEXT)
++@COND_i386_xen_pvh_TRUE@am__append_5304 = 
++@COND_i386_xen_pvh_TRUE@am__append_5305 = $(nodist_legacycfg_module_SOURCES)
++@COND_i386_xen_pvh_TRUE@am__append_5306 =  \
+ @COND_i386_xen_pvh_TRUE@      $(nodist_legacycfg_module_SOURCES) \
+ @COND_i386_xen_pvh_TRUE@      legacycfg.marker
+-@COND_i386_xen_pvh_TRUE@am__append_5314 = legacycfg.mod
+-@COND_i386_xen_pvh_TRUE@am__append_5315 = legacycfg.marker
+-@COND_i386_pc_TRUE@am__append_5316 = backtrace.module
+-@COND_i386_pc_TRUE@am__append_5317 = backtrace.module$(EXEEXT)
++@COND_i386_xen_pvh_TRUE@am__append_5307 = legacycfg.mod
++@COND_i386_xen_pvh_TRUE@am__append_5308 = legacycfg.marker
++@COND_i386_pc_TRUE@am__append_5309 = backtrace.module
++@COND_i386_pc_TRUE@am__append_5310 = backtrace.module$(EXEEXT)
+ @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_x86_64_efi_FALSE@@COND_x86_64_xen_FALSE@backtrace_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_5318 = 
+-@COND_i386_pc_TRUE@am__append_5319 = $(nodist_backtrace_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_5320 =  \
++@COND_i386_pc_TRUE@am__append_5311 = 
++@COND_i386_pc_TRUE@am__append_5312 = $(nodist_backtrace_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_5313 =  \
+ @COND_i386_pc_TRUE@   $(nodist_backtrace_module_SOURCES) \
+ @COND_i386_pc_TRUE@   backtrace.marker
+-@COND_i386_pc_TRUE@am__append_5321 = backtrace.mod
+-@COND_i386_pc_TRUE@am__append_5322 = backtrace.marker
+-@COND_i386_efi_TRUE@am__append_5323 = backtrace.module
+-@COND_i386_efi_TRUE@am__append_5324 = backtrace.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_5325 = 
+-@COND_i386_efi_TRUE@am__append_5326 = $(nodist_backtrace_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_5327 =  \
++@COND_i386_pc_TRUE@am__append_5314 = backtrace.mod
++@COND_i386_pc_TRUE@am__append_5315 = backtrace.marker
++@COND_i386_efi_TRUE@am__append_5316 = backtrace.module
++@COND_i386_efi_TRUE@am__append_5317 = backtrace.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_5318 = 
++@COND_i386_efi_TRUE@am__append_5319 = $(nodist_backtrace_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_5320 =  \
+ @COND_i386_efi_TRUE@  $(nodist_backtrace_module_SOURCES) \
+ @COND_i386_efi_TRUE@  backtrace.marker
+-@COND_i386_efi_TRUE@am__append_5328 = backtrace.mod
+-@COND_i386_efi_TRUE@am__append_5329 = backtrace.marker
+-@COND_i386_qemu_TRUE@am__append_5330 = backtrace.module
+-@COND_i386_qemu_TRUE@am__append_5331 = backtrace.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_5332 = 
+-@COND_i386_qemu_TRUE@am__append_5333 = $(nodist_backtrace_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_5334 =  \
++@COND_i386_efi_TRUE@am__append_5321 = backtrace.mod
++@COND_i386_efi_TRUE@am__append_5322 = backtrace.marker
++@COND_i386_qemu_TRUE@am__append_5323 = backtrace.module
++@COND_i386_qemu_TRUE@am__append_5324 = backtrace.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_5325 = 
++@COND_i386_qemu_TRUE@am__append_5326 = $(nodist_backtrace_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_5327 =  \
+ @COND_i386_qemu_TRUE@ $(nodist_backtrace_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ backtrace.marker
+-@COND_i386_qemu_TRUE@am__append_5335 = backtrace.mod
+-@COND_i386_qemu_TRUE@am__append_5336 = backtrace.marker
+-@COND_i386_coreboot_TRUE@am__append_5337 = backtrace.module
+-@COND_i386_coreboot_TRUE@am__append_5338 = backtrace.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_5339 = 
+-@COND_i386_coreboot_TRUE@am__append_5340 = $(nodist_backtrace_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_5341 =  \
++@COND_i386_qemu_TRUE@am__append_5328 = backtrace.mod
++@COND_i386_qemu_TRUE@am__append_5329 = backtrace.marker
++@COND_i386_coreboot_TRUE@am__append_5330 = backtrace.module
++@COND_i386_coreboot_TRUE@am__append_5331 = backtrace.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_5332 = 
++@COND_i386_coreboot_TRUE@am__append_5333 = $(nodist_backtrace_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_5334 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_backtrace_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     backtrace.marker
+-@COND_i386_coreboot_TRUE@am__append_5342 = backtrace.mod
+-@COND_i386_coreboot_TRUE@am__append_5343 = backtrace.marker
+-@COND_i386_multiboot_TRUE@am__append_5344 = backtrace.module
+-@COND_i386_multiboot_TRUE@am__append_5345 = backtrace.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_5346 = 
+-@COND_i386_multiboot_TRUE@am__append_5347 = $(nodist_backtrace_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_5348 =  \
++@COND_i386_coreboot_TRUE@am__append_5335 = backtrace.mod
++@COND_i386_coreboot_TRUE@am__append_5336 = backtrace.marker
++@COND_i386_multiboot_TRUE@am__append_5337 = backtrace.module
++@COND_i386_multiboot_TRUE@am__append_5338 = backtrace.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_5339 = 
++@COND_i386_multiboot_TRUE@am__append_5340 = $(nodist_backtrace_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_5341 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_backtrace_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    backtrace.marker
+-@COND_i386_multiboot_TRUE@am__append_5349 = backtrace.mod
+-@COND_i386_multiboot_TRUE@am__append_5350 = backtrace.marker
+-@COND_i386_ieee1275_TRUE@am__append_5351 = backtrace.module
+-@COND_i386_ieee1275_TRUE@am__append_5352 = backtrace.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_5353 = 
+-@COND_i386_ieee1275_TRUE@am__append_5354 = $(nodist_backtrace_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_5355 =  \
++@COND_i386_multiboot_TRUE@am__append_5342 = backtrace.mod
++@COND_i386_multiboot_TRUE@am__append_5343 = backtrace.marker
++@COND_i386_ieee1275_TRUE@am__append_5344 = backtrace.module
++@COND_i386_ieee1275_TRUE@am__append_5345 = backtrace.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_5346 = 
++@COND_i386_ieee1275_TRUE@am__append_5347 = $(nodist_backtrace_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_5348 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_backtrace_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     backtrace.marker
+-@COND_i386_ieee1275_TRUE@am__append_5356 = backtrace.mod
+-@COND_i386_ieee1275_TRUE@am__append_5357 = backtrace.marker
+-@COND_x86_64_efi_TRUE@am__append_5358 = backtrace.module
+-@COND_x86_64_efi_TRUE@am__append_5359 = backtrace.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_5360 = 
+-@COND_x86_64_efi_TRUE@am__append_5361 = $(nodist_backtrace_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_5362 =  \
++@COND_i386_ieee1275_TRUE@am__append_5349 = backtrace.mod
++@COND_i386_ieee1275_TRUE@am__append_5350 = backtrace.marker
++@COND_x86_64_efi_TRUE@am__append_5351 = backtrace.module
++@COND_x86_64_efi_TRUE@am__append_5352 = backtrace.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_5353 = 
++@COND_x86_64_efi_TRUE@am__append_5354 = $(nodist_backtrace_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_5355 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_backtrace_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        backtrace.marker
+-@COND_x86_64_efi_TRUE@am__append_5363 = backtrace.mod
+-@COND_x86_64_efi_TRUE@am__append_5364 = backtrace.marker
+-@COND_i386_xen_TRUE@am__append_5365 = backtrace.module
+-@COND_i386_xen_TRUE@am__append_5366 = backtrace.module$(EXEEXT)
+-@COND_i386_xen_TRUE@am__append_5367 = 
+-@COND_i386_xen_TRUE@am__append_5368 = $(nodist_backtrace_module_SOURCES)
+-@COND_i386_xen_TRUE@am__append_5369 =  \
++@COND_x86_64_efi_TRUE@am__append_5356 = backtrace.mod
++@COND_x86_64_efi_TRUE@am__append_5357 = backtrace.marker
++@COND_i386_xen_TRUE@am__append_5358 = backtrace.module
++@COND_i386_xen_TRUE@am__append_5359 = backtrace.module$(EXEEXT)
++@COND_i386_xen_TRUE@am__append_5360 = 
++@COND_i386_xen_TRUE@am__append_5361 = $(nodist_backtrace_module_SOURCES)
++@COND_i386_xen_TRUE@am__append_5362 =  \
+ @COND_i386_xen_TRUE@  $(nodist_backtrace_module_SOURCES) \
+ @COND_i386_xen_TRUE@  backtrace.marker
+-@COND_i386_xen_TRUE@am__append_5370 = backtrace.mod
+-@COND_i386_xen_TRUE@am__append_5371 = backtrace.marker
+-@COND_x86_64_xen_TRUE@am__append_5372 = backtrace.module
+-@COND_x86_64_xen_TRUE@am__append_5373 = backtrace.module$(EXEEXT)
+-@COND_x86_64_xen_TRUE@am__append_5374 = 
+-@COND_x86_64_xen_TRUE@am__append_5375 = $(nodist_backtrace_module_SOURCES)
+-@COND_x86_64_xen_TRUE@am__append_5376 =  \
++@COND_i386_xen_TRUE@am__append_5363 = backtrace.mod
++@COND_i386_xen_TRUE@am__append_5364 = backtrace.marker
++@COND_x86_64_xen_TRUE@am__append_5365 = backtrace.module
++@COND_x86_64_xen_TRUE@am__append_5366 = backtrace.module$(EXEEXT)
++@COND_x86_64_xen_TRUE@am__append_5367 = 
++@COND_x86_64_xen_TRUE@am__append_5368 = $(nodist_backtrace_module_SOURCES)
++@COND_x86_64_xen_TRUE@am__append_5369 =  \
+ @COND_x86_64_xen_TRUE@        $(nodist_backtrace_module_SOURCES) \
+ @COND_x86_64_xen_TRUE@        backtrace.marker
+-@COND_x86_64_xen_TRUE@am__append_5377 = backtrace.mod
+-@COND_x86_64_xen_TRUE@am__append_5378 = backtrace.marker
+-@COND_i386_xen_pvh_TRUE@am__append_5379 = backtrace.module
+-@COND_i386_xen_pvh_TRUE@am__append_5380 = backtrace.module$(EXEEXT)
+-@COND_i386_xen_pvh_TRUE@am__append_5381 = 
+-@COND_i386_xen_pvh_TRUE@am__append_5382 = $(nodist_backtrace_module_SOURCES)
+-@COND_i386_xen_pvh_TRUE@am__append_5383 =  \
++@COND_x86_64_xen_TRUE@am__append_5370 = backtrace.mod
++@COND_x86_64_xen_TRUE@am__append_5371 = backtrace.marker
++@COND_i386_xen_pvh_TRUE@am__append_5372 = backtrace.module
++@COND_i386_xen_pvh_TRUE@am__append_5373 = backtrace.module$(EXEEXT)
++@COND_i386_xen_pvh_TRUE@am__append_5374 = 
++@COND_i386_xen_pvh_TRUE@am__append_5375 = $(nodist_backtrace_module_SOURCES)
++@COND_i386_xen_pvh_TRUE@am__append_5376 =  \
+ @COND_i386_xen_pvh_TRUE@      $(nodist_backtrace_module_SOURCES) \
+ @COND_i386_xen_pvh_TRUE@      backtrace.marker
+-@COND_i386_xen_pvh_TRUE@am__append_5384 = backtrace.mod
+-@COND_i386_xen_pvh_TRUE@am__append_5385 = backtrace.marker
+-@COND_i386_pc_TRUE@am__append_5386 = lsapm.module keylayouts.module
+-@COND_i386_pc_TRUE@am__append_5387 = lsapm.module$(EXEEXT) \
++@COND_i386_xen_pvh_TRUE@am__append_5377 = backtrace.mod
++@COND_i386_xen_pvh_TRUE@am__append_5378 = backtrace.marker
++@COND_i386_pc_TRUE@am__append_5379 = lsapm.module keylayouts.module
++@COND_i386_pc_TRUE@am__append_5380 = lsapm.module$(EXEEXT) \
+ @COND_i386_pc_TRUE@   keylayouts.module$(EXEEXT)
+ @COND_i386_pc_FALSE@lsapm_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_5388 =
+-@COND_i386_pc_TRUE@am__append_5389 = $(nodist_lsapm_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_5381 =
++@COND_i386_pc_TRUE@am__append_5382 = $(nodist_lsapm_module_SOURCES) \
+ @COND_i386_pc_TRUE@   $(nodist_keylayouts_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_5390 = $(nodist_lsapm_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_5383 = $(nodist_lsapm_module_SOURCES) \
+ @COND_i386_pc_TRUE@   lsapm.marker \
+ @COND_i386_pc_TRUE@   $(nodist_keylayouts_module_SOURCES) \
+ @COND_i386_pc_TRUE@   keylayouts.marker
+-@COND_i386_pc_TRUE@am__append_5391 = lsapm.mod keylayouts.mod
+-@COND_i386_pc_TRUE@am__append_5392 = lsapm.marker keylayouts.marker
++@COND_i386_pc_TRUE@am__append_5384 = lsapm.mod keylayouts.mod
++@COND_i386_pc_TRUE@am__append_5385 = lsapm.marker keylayouts.marker
+ @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_x86_64_efi_FALSE@keylayouts_module_DEPENDENCIES =
+-@COND_i386_efi_TRUE@am__append_5393 = keylayouts.module
+-@COND_i386_efi_TRUE@am__append_5394 = keylayouts.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_5395 = 
+-@COND_i386_efi_TRUE@am__append_5396 = $(nodist_keylayouts_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_5397 =  \
++@COND_i386_efi_TRUE@am__append_5386 = keylayouts.module
++@COND_i386_efi_TRUE@am__append_5387 = keylayouts.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_5388 = 
++@COND_i386_efi_TRUE@am__append_5389 = $(nodist_keylayouts_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_5390 =  \
+ @COND_i386_efi_TRUE@  $(nodist_keylayouts_module_SOURCES) \
+ @COND_i386_efi_TRUE@  keylayouts.marker
+-@COND_i386_efi_TRUE@am__append_5398 = keylayouts.mod
+-@COND_i386_efi_TRUE@am__append_5399 = keylayouts.marker
+-@COND_i386_qemu_TRUE@am__append_5400 = keylayouts.module
+-@COND_i386_qemu_TRUE@am__append_5401 = keylayouts.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_5402 = 
+-@COND_i386_qemu_TRUE@am__append_5403 = $(nodist_keylayouts_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_5404 =  \
++@COND_i386_efi_TRUE@am__append_5391 = keylayouts.mod
++@COND_i386_efi_TRUE@am__append_5392 = keylayouts.marker
++@COND_i386_qemu_TRUE@am__append_5393 = keylayouts.module
++@COND_i386_qemu_TRUE@am__append_5394 = keylayouts.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_5395 = 
++@COND_i386_qemu_TRUE@am__append_5396 = $(nodist_keylayouts_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_5397 =  \
+ @COND_i386_qemu_TRUE@ $(nodist_keylayouts_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ keylayouts.marker
+-@COND_i386_qemu_TRUE@am__append_5405 = keylayouts.mod
+-@COND_i386_qemu_TRUE@am__append_5406 = keylayouts.marker
+-@COND_i386_coreboot_TRUE@am__append_5407 = keylayouts.module
+-@COND_i386_coreboot_TRUE@am__append_5408 = keylayouts.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_5409 = 
+-@COND_i386_coreboot_TRUE@am__append_5410 = $(nodist_keylayouts_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_5411 =  \
++@COND_i386_qemu_TRUE@am__append_5398 = keylayouts.mod
++@COND_i386_qemu_TRUE@am__append_5399 = keylayouts.marker
++@COND_i386_coreboot_TRUE@am__append_5400 = keylayouts.module
++@COND_i386_coreboot_TRUE@am__append_5401 = keylayouts.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_5402 = 
++@COND_i386_coreboot_TRUE@am__append_5403 = $(nodist_keylayouts_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_5404 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_keylayouts_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     keylayouts.marker
+-@COND_i386_coreboot_TRUE@am__append_5412 = keylayouts.mod
+-@COND_i386_coreboot_TRUE@am__append_5413 = keylayouts.marker
+-@COND_i386_multiboot_TRUE@am__append_5414 = keylayouts.module
+-@COND_i386_multiboot_TRUE@am__append_5415 = keylayouts.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_5416 = 
+-@COND_i386_multiboot_TRUE@am__append_5417 = $(nodist_keylayouts_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_5418 =  \
++@COND_i386_coreboot_TRUE@am__append_5405 = keylayouts.mod
++@COND_i386_coreboot_TRUE@am__append_5406 = keylayouts.marker
++@COND_i386_multiboot_TRUE@am__append_5407 = keylayouts.module
++@COND_i386_multiboot_TRUE@am__append_5408 = keylayouts.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_5409 = 
++@COND_i386_multiboot_TRUE@am__append_5410 = $(nodist_keylayouts_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_5411 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_keylayouts_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    keylayouts.marker
+-@COND_i386_multiboot_TRUE@am__append_5419 = keylayouts.mod
+-@COND_i386_multiboot_TRUE@am__append_5420 = keylayouts.marker
+-@COND_i386_ieee1275_TRUE@am__append_5421 = keylayouts.module
+-@COND_i386_ieee1275_TRUE@am__append_5422 = keylayouts.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_5423 = 
+-@COND_i386_ieee1275_TRUE@am__append_5424 = $(nodist_keylayouts_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_5425 =  \
++@COND_i386_multiboot_TRUE@am__append_5412 = keylayouts.mod
++@COND_i386_multiboot_TRUE@am__append_5413 = keylayouts.marker
++@COND_i386_ieee1275_TRUE@am__append_5414 = keylayouts.module
++@COND_i386_ieee1275_TRUE@am__append_5415 = keylayouts.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_5416 = 
++@COND_i386_ieee1275_TRUE@am__append_5417 = $(nodist_keylayouts_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_5418 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_keylayouts_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     keylayouts.marker
+-@COND_i386_ieee1275_TRUE@am__append_5426 = keylayouts.mod
+-@COND_i386_ieee1275_TRUE@am__append_5427 = keylayouts.marker
+-@COND_x86_64_efi_TRUE@am__append_5428 = keylayouts.module
+-@COND_x86_64_efi_TRUE@am__append_5429 = keylayouts.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_5430 = 
+-@COND_x86_64_efi_TRUE@am__append_5431 = $(nodist_keylayouts_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_5432 =  \
++@COND_i386_ieee1275_TRUE@am__append_5419 = keylayouts.mod
++@COND_i386_ieee1275_TRUE@am__append_5420 = keylayouts.marker
++@COND_x86_64_efi_TRUE@am__append_5421 = keylayouts.module
++@COND_x86_64_efi_TRUE@am__append_5422 = keylayouts.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_5423 = 
++@COND_x86_64_efi_TRUE@am__append_5424 = $(nodist_keylayouts_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_5425 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_keylayouts_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        keylayouts.marker
+-@COND_x86_64_efi_TRUE@am__append_5433 = keylayouts.mod
+-@COND_x86_64_efi_TRUE@am__append_5434 = keylayouts.marker
+-@COND_ENABLE_CACHE_STATS_TRUE@am__append_5435 = cacheinfo.module
+-@COND_ENABLE_CACHE_STATS_TRUE@am__append_5436 = cacheinfo.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_5426 = keylayouts.mod
++@COND_x86_64_efi_TRUE@am__append_5427 = keylayouts.marker
++@COND_ENABLE_CACHE_STATS_TRUE@am__append_5428 = cacheinfo.module
++@COND_ENABLE_CACHE_STATS_TRUE@am__append_5429 = cacheinfo.module$(EXEEXT)
+ @COND_ENABLE_CACHE_STATS_FALSE@cacheinfo_module_DEPENDENCIES =
+-@COND_ENABLE_CACHE_STATS_TRUE@am__append_5437 = 
+-@COND_ENABLE_CACHE_STATS_TRUE@am__append_5438 = $(nodist_cacheinfo_module_SOURCES)
+-@COND_ENABLE_CACHE_STATS_TRUE@am__append_5439 = $(nodist_cacheinfo_module_SOURCES) \
++@COND_ENABLE_CACHE_STATS_TRUE@am__append_5430 = 
++@COND_ENABLE_CACHE_STATS_TRUE@am__append_5431 = $(nodist_cacheinfo_module_SOURCES)
++@COND_ENABLE_CACHE_STATS_TRUE@am__append_5432 = $(nodist_cacheinfo_module_SOURCES) \
+ @COND_ENABLE_CACHE_STATS_TRUE@        cacheinfo.marker
+-@COND_ENABLE_CACHE_STATS_TRUE@am__append_5440 = cacheinfo.mod
+-@COND_ENABLE_CACHE_STATS_TRUE@am__append_5441 = cacheinfo.marker
+-@COND_ENABLE_BOOT_TIME_STATS_TRUE@am__append_5442 = boottime.module
+-@COND_ENABLE_BOOT_TIME_STATS_TRUE@am__append_5443 = boottime.module$(EXEEXT)
++@COND_ENABLE_CACHE_STATS_TRUE@am__append_5433 = cacheinfo.mod
++@COND_ENABLE_CACHE_STATS_TRUE@am__append_5434 = cacheinfo.marker
++@COND_ENABLE_BOOT_TIME_STATS_TRUE@am__append_5435 = boottime.module
++@COND_ENABLE_BOOT_TIME_STATS_TRUE@am__append_5436 = boottime.module$(EXEEXT)
+ @COND_ENABLE_BOOT_TIME_STATS_FALSE@boottime_module_DEPENDENCIES =
+-@COND_ENABLE_BOOT_TIME_STATS_TRUE@am__append_5444 = 
+-@COND_ENABLE_BOOT_TIME_STATS_TRUE@am__append_5445 = $(nodist_boottime_module_SOURCES)
+-@COND_ENABLE_BOOT_TIME_STATS_TRUE@am__append_5446 = $(nodist_boottime_module_SOURCES) \
++@COND_ENABLE_BOOT_TIME_STATS_TRUE@am__append_5437 = 
++@COND_ENABLE_BOOT_TIME_STATS_TRUE@am__append_5438 = $(nodist_boottime_module_SOURCES)
++@COND_ENABLE_BOOT_TIME_STATS_TRUE@am__append_5439 = $(nodist_boottime_module_SOURCES) \
+ @COND_ENABLE_BOOT_TIME_STATS_TRUE@    boottime.marker
+-@COND_ENABLE_BOOT_TIME_STATS_TRUE@am__append_5447 = boottime.mod
+-@COND_ENABLE_BOOT_TIME_STATS_TRUE@am__append_5448 = boottime.marker
+-@COND_i386_pc_TRUE@am__append_5449 = gdb.module
+-@COND_i386_pc_TRUE@am__append_5450 = gdb.module$(EXEEXT)
++@COND_ENABLE_BOOT_TIME_STATS_TRUE@am__append_5440 = boottime.mod
++@COND_ENABLE_BOOT_TIME_STATS_TRUE@am__append_5441 = boottime.marker
++@COND_i386_pc_TRUE@am__append_5442 = gdb.module
++@COND_i386_pc_TRUE@am__append_5443 = gdb.module$(EXEEXT)
+ @COND_i386_coreboot_FALSE@@COND_i386_efi_FALSE@@COND_i386_ieee1275_FALSE@@COND_i386_multiboot_FALSE@@COND_i386_pc_FALSE@@COND_i386_qemu_FALSE@gdb_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_5451 = 
+-@COND_i386_pc_TRUE@am__append_5452 = $(nodist_gdb_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_5453 = $(nodist_gdb_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_5444 = 
++@COND_i386_pc_TRUE@am__append_5445 = $(nodist_gdb_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_5446 = $(nodist_gdb_module_SOURCES) \
+ @COND_i386_pc_TRUE@   gdb.marker
+-@COND_i386_pc_TRUE@am__append_5454 = gdb.mod
+-@COND_i386_pc_TRUE@am__append_5455 = gdb.marker
+-@COND_i386_efi_TRUE@am__append_5456 = gdb.module
+-@COND_i386_efi_TRUE@am__append_5457 = gdb.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_5458 = 
+-@COND_i386_efi_TRUE@am__append_5459 = $(nodist_gdb_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_5460 = $(nodist_gdb_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_5447 = gdb.mod
++@COND_i386_pc_TRUE@am__append_5448 = gdb.marker
++@COND_i386_efi_TRUE@am__append_5449 = gdb.module
++@COND_i386_efi_TRUE@am__append_5450 = gdb.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_5451 = 
++@COND_i386_efi_TRUE@am__append_5452 = $(nodist_gdb_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_5453 = $(nodist_gdb_module_SOURCES) \
+ @COND_i386_efi_TRUE@  gdb.marker
+-@COND_i386_efi_TRUE@am__append_5461 = gdb.mod
+-@COND_i386_efi_TRUE@am__append_5462 = gdb.marker
+-@COND_i386_qemu_TRUE@am__append_5463 = gdb.module
+-@COND_i386_qemu_TRUE@am__append_5464 = gdb.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_5465 = 
+-@COND_i386_qemu_TRUE@am__append_5466 = $(nodist_gdb_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_5467 = $(nodist_gdb_module_SOURCES) \
++@COND_i386_efi_TRUE@am__append_5454 = gdb.mod
++@COND_i386_efi_TRUE@am__append_5455 = gdb.marker
++@COND_i386_qemu_TRUE@am__append_5456 = gdb.module
++@COND_i386_qemu_TRUE@am__append_5457 = gdb.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_5458 = 
++@COND_i386_qemu_TRUE@am__append_5459 = $(nodist_gdb_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_5460 = $(nodist_gdb_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ gdb.marker
+-@COND_i386_qemu_TRUE@am__append_5468 = gdb.mod
+-@COND_i386_qemu_TRUE@am__append_5469 = gdb.marker
+-@COND_i386_coreboot_TRUE@am__append_5470 = gdb.module
+-@COND_i386_coreboot_TRUE@am__append_5471 = gdb.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_5472 = 
+-@COND_i386_coreboot_TRUE@am__append_5473 = $(nodist_gdb_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_5474 =  \
++@COND_i386_qemu_TRUE@am__append_5461 = gdb.mod
++@COND_i386_qemu_TRUE@am__append_5462 = gdb.marker
++@COND_i386_coreboot_TRUE@am__append_5463 = gdb.module
++@COND_i386_coreboot_TRUE@am__append_5464 = gdb.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_5465 = 
++@COND_i386_coreboot_TRUE@am__append_5466 = $(nodist_gdb_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_5467 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_gdb_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     gdb.marker
+-@COND_i386_coreboot_TRUE@am__append_5475 = gdb.mod
+-@COND_i386_coreboot_TRUE@am__append_5476 = gdb.marker
+-@COND_i386_multiboot_TRUE@am__append_5477 = gdb.module
+-@COND_i386_multiboot_TRUE@am__append_5478 = gdb.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_5479 = 
+-@COND_i386_multiboot_TRUE@am__append_5480 = $(nodist_gdb_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_5481 =  \
++@COND_i386_coreboot_TRUE@am__append_5468 = gdb.mod
++@COND_i386_coreboot_TRUE@am__append_5469 = gdb.marker
++@COND_i386_multiboot_TRUE@am__append_5470 = gdb.module
++@COND_i386_multiboot_TRUE@am__append_5471 = gdb.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_5472 = 
++@COND_i386_multiboot_TRUE@am__append_5473 = $(nodist_gdb_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_5474 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_gdb_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    gdb.marker
+-@COND_i386_multiboot_TRUE@am__append_5482 = gdb.mod
+-@COND_i386_multiboot_TRUE@am__append_5483 = gdb.marker
+-@COND_i386_ieee1275_TRUE@am__append_5484 = gdb.module
+-@COND_i386_ieee1275_TRUE@am__append_5485 = gdb.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_5486 = 
+-@COND_i386_ieee1275_TRUE@am__append_5487 = $(nodist_gdb_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_5488 =  \
++@COND_i386_multiboot_TRUE@am__append_5475 = gdb.mod
++@COND_i386_multiboot_TRUE@am__append_5476 = gdb.marker
++@COND_i386_ieee1275_TRUE@am__append_5477 = gdb.module
++@COND_i386_ieee1275_TRUE@am__append_5478 = gdb.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_5479 = 
++@COND_i386_ieee1275_TRUE@am__append_5480 = $(nodist_gdb_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_5481 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_gdb_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     gdb.marker
+-@COND_i386_ieee1275_TRUE@am__append_5489 = gdb.mod
+-@COND_i386_ieee1275_TRUE@am__append_5490 = gdb.marker
+-@COND_x86_64_efi_TRUE@am__append_5491 = tpm.module
+-@COND_x86_64_efi_TRUE@am__append_5492 = tpm.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_5482 = gdb.mod
++@COND_i386_ieee1275_TRUE@am__append_5483 = gdb.marker
++@COND_x86_64_efi_TRUE@am__append_5484 = tpm.module
++@COND_x86_64_efi_TRUE@am__append_5485 = tpm.module$(EXEEXT)
+ @COND_x86_64_efi_FALSE@tpm_module_DEPENDENCIES =
+-@COND_x86_64_efi_TRUE@am__append_5493 = 
+-@COND_x86_64_efi_TRUE@am__append_5494 = $(nodist_tpm_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_5495 = $(nodist_tpm_module_SOURCES) \
++@COND_x86_64_efi_TRUE@am__append_5486 = 
++@COND_x86_64_efi_TRUE@am__append_5487 = $(nodist_tpm_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_5488 = $(nodist_tpm_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        tpm.marker
+-@COND_x86_64_efi_TRUE@am__append_5496 = tpm.mod
+-@COND_x86_64_efi_TRUE@am__append_5497 = tpm.marker
+-@COND_i386_pc_TRUE@am__append_5498 = rdmsr.module
+-@COND_i386_pc_TRUE@am__append_5499 = rdmsr.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_5489 = tpm.mod
++@COND_x86_64_efi_TRUE@am__append_5490 = tpm.marker
++@COND_i386_pc_TRUE@am__append_5491 = rdmsr.module
++@COND_i386_pc_TRUE@am__append_5492 = rdmsr.module$(EXEEXT)
+ @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_x86_64_efi_FALSE@rdmsr_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_5500 = 
+-@COND_i386_pc_TRUE@am__append_5501 = $(nodist_rdmsr_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_5502 = $(nodist_rdmsr_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_5493 = 
++@COND_i386_pc_TRUE@am__append_5494 = $(nodist_rdmsr_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_5495 = $(nodist_rdmsr_module_SOURCES) \
+ @COND_i386_pc_TRUE@   rdmsr.marker
+-@COND_i386_pc_TRUE@am__append_5503 = rdmsr.mod
+-@COND_i386_pc_TRUE@am__append_5504 = rdmsr.marker
+-@COND_i386_efi_TRUE@am__append_5505 = rdmsr.module
+-@COND_i386_efi_TRUE@am__append_5506 = rdmsr.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_5507 = 
+-@COND_i386_efi_TRUE@am__append_5508 = $(nodist_rdmsr_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_5509 = $(nodist_rdmsr_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_5496 = rdmsr.mod
++@COND_i386_pc_TRUE@am__append_5497 = rdmsr.marker
++@COND_i386_efi_TRUE@am__append_5498 = rdmsr.module
++@COND_i386_efi_TRUE@am__append_5499 = rdmsr.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_5500 = 
++@COND_i386_efi_TRUE@am__append_5501 = $(nodist_rdmsr_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_5502 = $(nodist_rdmsr_module_SOURCES) \
+ @COND_i386_efi_TRUE@  rdmsr.marker
+-@COND_i386_efi_TRUE@am__append_5510 = rdmsr.mod
+-@COND_i386_efi_TRUE@am__append_5511 = rdmsr.marker
+-@COND_i386_qemu_TRUE@am__append_5512 = rdmsr.module
+-@COND_i386_qemu_TRUE@am__append_5513 = rdmsr.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_5514 = 
+-@COND_i386_qemu_TRUE@am__append_5515 = $(nodist_rdmsr_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_5516 = $(nodist_rdmsr_module_SOURCES) \
++@COND_i386_efi_TRUE@am__append_5503 = rdmsr.mod
++@COND_i386_efi_TRUE@am__append_5504 = rdmsr.marker
++@COND_i386_qemu_TRUE@am__append_5505 = rdmsr.module
++@COND_i386_qemu_TRUE@am__append_5506 = rdmsr.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_5507 = 
++@COND_i386_qemu_TRUE@am__append_5508 = $(nodist_rdmsr_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_5509 = $(nodist_rdmsr_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ rdmsr.marker
+-@COND_i386_qemu_TRUE@am__append_5517 = rdmsr.mod
+-@COND_i386_qemu_TRUE@am__append_5518 = rdmsr.marker
+-@COND_i386_coreboot_TRUE@am__append_5519 = rdmsr.module
+-@COND_i386_coreboot_TRUE@am__append_5520 = rdmsr.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_5521 = 
+-@COND_i386_coreboot_TRUE@am__append_5522 = $(nodist_rdmsr_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_5523 =  \
++@COND_i386_qemu_TRUE@am__append_5510 = rdmsr.mod
++@COND_i386_qemu_TRUE@am__append_5511 = rdmsr.marker
++@COND_i386_coreboot_TRUE@am__append_5512 = rdmsr.module
++@COND_i386_coreboot_TRUE@am__append_5513 = rdmsr.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_5514 = 
++@COND_i386_coreboot_TRUE@am__append_5515 = $(nodist_rdmsr_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_5516 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_rdmsr_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     rdmsr.marker
+-@COND_i386_coreboot_TRUE@am__append_5524 = rdmsr.mod
+-@COND_i386_coreboot_TRUE@am__append_5525 = rdmsr.marker
+-@COND_i386_multiboot_TRUE@am__append_5526 = rdmsr.module
+-@COND_i386_multiboot_TRUE@am__append_5527 = rdmsr.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_5528 = 
+-@COND_i386_multiboot_TRUE@am__append_5529 = $(nodist_rdmsr_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_5530 =  \
++@COND_i386_coreboot_TRUE@am__append_5517 = rdmsr.mod
++@COND_i386_coreboot_TRUE@am__append_5518 = rdmsr.marker
++@COND_i386_multiboot_TRUE@am__append_5519 = rdmsr.module
++@COND_i386_multiboot_TRUE@am__append_5520 = rdmsr.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_5521 = 
++@COND_i386_multiboot_TRUE@am__append_5522 = $(nodist_rdmsr_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_5523 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_rdmsr_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    rdmsr.marker
+-@COND_i386_multiboot_TRUE@am__append_5531 = rdmsr.mod
+-@COND_i386_multiboot_TRUE@am__append_5532 = rdmsr.marker
+-@COND_i386_ieee1275_TRUE@am__append_5533 = rdmsr.module
+-@COND_i386_ieee1275_TRUE@am__append_5534 = rdmsr.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_5535 = 
+-@COND_i386_ieee1275_TRUE@am__append_5536 = $(nodist_rdmsr_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_5537 =  \
++@COND_i386_multiboot_TRUE@am__append_5524 = rdmsr.mod
++@COND_i386_multiboot_TRUE@am__append_5525 = rdmsr.marker
++@COND_i386_ieee1275_TRUE@am__append_5526 = rdmsr.module
++@COND_i386_ieee1275_TRUE@am__append_5527 = rdmsr.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_5528 = 
++@COND_i386_ieee1275_TRUE@am__append_5529 = $(nodist_rdmsr_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_5530 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_rdmsr_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     rdmsr.marker
+-@COND_i386_ieee1275_TRUE@am__append_5538 = rdmsr.mod
+-@COND_i386_ieee1275_TRUE@am__append_5539 = rdmsr.marker
+-@COND_x86_64_efi_TRUE@am__append_5540 = rdmsr.module
+-@COND_x86_64_efi_TRUE@am__append_5541 = rdmsr.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_5542 = 
+-@COND_x86_64_efi_TRUE@am__append_5543 = $(nodist_rdmsr_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_5544 =  \
++@COND_i386_ieee1275_TRUE@am__append_5531 = rdmsr.mod
++@COND_i386_ieee1275_TRUE@am__append_5532 = rdmsr.marker
++@COND_x86_64_efi_TRUE@am__append_5533 = rdmsr.module
++@COND_x86_64_efi_TRUE@am__append_5534 = rdmsr.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_5535 = 
++@COND_x86_64_efi_TRUE@am__append_5536 = $(nodist_rdmsr_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_5537 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_rdmsr_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        rdmsr.marker
+-@COND_x86_64_efi_TRUE@am__append_5545 = rdmsr.mod
+-@COND_x86_64_efi_TRUE@am__append_5546 = rdmsr.marker
+-@COND_i386_pc_TRUE@am__append_5547 = wrmsr.module
+-@COND_i386_pc_TRUE@am__append_5548 = wrmsr.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_5538 = rdmsr.mod
++@COND_x86_64_efi_TRUE@am__append_5539 = rdmsr.marker
++@COND_i386_pc_TRUE@am__append_5540 = wrmsr.module
++@COND_i386_pc_TRUE@am__append_5541 = wrmsr.module$(EXEEXT)
+ @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_x86_64_efi_FALSE@wrmsr_module_DEPENDENCIES =
+-@COND_i386_pc_TRUE@am__append_5549 = 
+-@COND_i386_pc_TRUE@am__append_5550 = $(nodist_wrmsr_module_SOURCES)
+-@COND_i386_pc_TRUE@am__append_5551 = $(nodist_wrmsr_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_5542 = 
++@COND_i386_pc_TRUE@am__append_5543 = $(nodist_wrmsr_module_SOURCES)
++@COND_i386_pc_TRUE@am__append_5544 = $(nodist_wrmsr_module_SOURCES) \
+ @COND_i386_pc_TRUE@   wrmsr.marker
+-@COND_i386_pc_TRUE@am__append_5552 = wrmsr.mod
+-@COND_i386_pc_TRUE@am__append_5553 = wrmsr.marker
+-@COND_i386_efi_TRUE@am__append_5554 = wrmsr.module
+-@COND_i386_efi_TRUE@am__append_5555 = wrmsr.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__append_5556 = 
+-@COND_i386_efi_TRUE@am__append_5557 = $(nodist_wrmsr_module_SOURCES)
+-@COND_i386_efi_TRUE@am__append_5558 = $(nodist_wrmsr_module_SOURCES) \
++@COND_i386_pc_TRUE@am__append_5545 = wrmsr.mod
++@COND_i386_pc_TRUE@am__append_5546 = wrmsr.marker
++@COND_i386_efi_TRUE@am__append_5547 = wrmsr.module
++@COND_i386_efi_TRUE@am__append_5548 = wrmsr.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__append_5549 = 
++@COND_i386_efi_TRUE@am__append_5550 = $(nodist_wrmsr_module_SOURCES)
++@COND_i386_efi_TRUE@am__append_5551 = $(nodist_wrmsr_module_SOURCES) \
+ @COND_i386_efi_TRUE@  wrmsr.marker
+-@COND_i386_efi_TRUE@am__append_5559 = wrmsr.mod
+-@COND_i386_efi_TRUE@am__append_5560 = wrmsr.marker
+-@COND_i386_qemu_TRUE@am__append_5561 = wrmsr.module
+-@COND_i386_qemu_TRUE@am__append_5562 = wrmsr.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__append_5563 = 
+-@COND_i386_qemu_TRUE@am__append_5564 = $(nodist_wrmsr_module_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_5565 = $(nodist_wrmsr_module_SOURCES) \
++@COND_i386_efi_TRUE@am__append_5552 = wrmsr.mod
++@COND_i386_efi_TRUE@am__append_5553 = wrmsr.marker
++@COND_i386_qemu_TRUE@am__append_5554 = wrmsr.module
++@COND_i386_qemu_TRUE@am__append_5555 = wrmsr.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__append_5556 = 
++@COND_i386_qemu_TRUE@am__append_5557 = $(nodist_wrmsr_module_SOURCES)
++@COND_i386_qemu_TRUE@am__append_5558 = $(nodist_wrmsr_module_SOURCES) \
+ @COND_i386_qemu_TRUE@ wrmsr.marker
+-@COND_i386_qemu_TRUE@am__append_5566 = wrmsr.mod
+-@COND_i386_qemu_TRUE@am__append_5567 = wrmsr.marker
+-@COND_i386_coreboot_TRUE@am__append_5568 = wrmsr.module
+-@COND_i386_coreboot_TRUE@am__append_5569 = wrmsr.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__append_5570 = 
+-@COND_i386_coreboot_TRUE@am__append_5571 = $(nodist_wrmsr_module_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_5572 =  \
++@COND_i386_qemu_TRUE@am__append_5559 = wrmsr.mod
++@COND_i386_qemu_TRUE@am__append_5560 = wrmsr.marker
++@COND_i386_coreboot_TRUE@am__append_5561 = wrmsr.module
++@COND_i386_coreboot_TRUE@am__append_5562 = wrmsr.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__append_5563 = 
++@COND_i386_coreboot_TRUE@am__append_5564 = $(nodist_wrmsr_module_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_5565 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_wrmsr_module_SOURCES) \
+ @COND_i386_coreboot_TRUE@     wrmsr.marker
+-@COND_i386_coreboot_TRUE@am__append_5573 = wrmsr.mod
+-@COND_i386_coreboot_TRUE@am__append_5574 = wrmsr.marker
+-@COND_i386_multiboot_TRUE@am__append_5575 = wrmsr.module
+-@COND_i386_multiboot_TRUE@am__append_5576 = wrmsr.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__append_5577 = 
+-@COND_i386_multiboot_TRUE@am__append_5578 = $(nodist_wrmsr_module_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_5579 =  \
++@COND_i386_coreboot_TRUE@am__append_5566 = wrmsr.mod
++@COND_i386_coreboot_TRUE@am__append_5567 = wrmsr.marker
++@COND_i386_multiboot_TRUE@am__append_5568 = wrmsr.module
++@COND_i386_multiboot_TRUE@am__append_5569 = wrmsr.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__append_5570 = 
++@COND_i386_multiboot_TRUE@am__append_5571 = $(nodist_wrmsr_module_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_5572 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_wrmsr_module_SOURCES) \
+ @COND_i386_multiboot_TRUE@    wrmsr.marker
+-@COND_i386_multiboot_TRUE@am__append_5580 = wrmsr.mod
+-@COND_i386_multiboot_TRUE@am__append_5581 = wrmsr.marker
+-@COND_i386_ieee1275_TRUE@am__append_5582 = wrmsr.module
+-@COND_i386_ieee1275_TRUE@am__append_5583 = wrmsr.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__append_5584 = 
+-@COND_i386_ieee1275_TRUE@am__append_5585 = $(nodist_wrmsr_module_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_5586 =  \
++@COND_i386_multiboot_TRUE@am__append_5573 = wrmsr.mod
++@COND_i386_multiboot_TRUE@am__append_5574 = wrmsr.marker
++@COND_i386_ieee1275_TRUE@am__append_5575 = wrmsr.module
++@COND_i386_ieee1275_TRUE@am__append_5576 = wrmsr.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__append_5577 = 
++@COND_i386_ieee1275_TRUE@am__append_5578 = $(nodist_wrmsr_module_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_5579 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_wrmsr_module_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     wrmsr.marker
+-@COND_i386_ieee1275_TRUE@am__append_5587 = wrmsr.mod
+-@COND_i386_ieee1275_TRUE@am__append_5588 = wrmsr.marker
+-@COND_x86_64_efi_TRUE@am__append_5589 = wrmsr.module
+-@COND_x86_64_efi_TRUE@am__append_5590 = wrmsr.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__append_5591 = 
+-@COND_x86_64_efi_TRUE@am__append_5592 = $(nodist_wrmsr_module_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_5593 =  \
++@COND_i386_ieee1275_TRUE@am__append_5580 = wrmsr.mod
++@COND_i386_ieee1275_TRUE@am__append_5581 = wrmsr.marker
++@COND_x86_64_efi_TRUE@am__append_5582 = wrmsr.module
++@COND_x86_64_efi_TRUE@am__append_5583 = wrmsr.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__append_5584 = 
++@COND_x86_64_efi_TRUE@am__append_5585 = $(nodist_wrmsr_module_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_5586 =  \
+ @COND_x86_64_efi_TRUE@        $(nodist_wrmsr_module_SOURCES) \
+ @COND_x86_64_efi_TRUE@        wrmsr.marker
+-@COND_x86_64_efi_TRUE@am__append_5594 = wrmsr.mod
+-@COND_x86_64_efi_TRUE@am__append_5595 = wrmsr.marker
+-@COND_emu_TRUE@am__append_5596 = kernel.exec
++@COND_x86_64_efi_TRUE@am__append_5587 = wrmsr.mod
++@COND_x86_64_efi_TRUE@am__append_5588 = wrmsr.marker
++@COND_emu_TRUE@am__append_5589 = kernel.exec
+ @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_FALSE@@COND_x86_64_xen_FALSE@kernel_exec_DEPENDENCIES =
+-@COND_emu_TRUE@am__append_5597 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
+-@COND_emu_TRUE@am__append_5598 = $(nodist_kernel_exec_SOURCES)
+-@COND_emu_TRUE@am__append_5599 = $(nodist_kernel_exec_SOURCES) \
++@COND_emu_TRUE@am__append_5590 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
++@COND_emu_TRUE@am__append_5591 = $(nodist_kernel_exec_SOURCES)
++@COND_emu_TRUE@am__append_5592 = $(nodist_kernel_exec_SOURCES) \
+ @COND_emu_TRUE@       kernel.img
+-@COND_emu_TRUE@am__append_5600 = kernel.img
+-@COND_i386_pc_TRUE@am__append_5601 = kernel.exec
+-@COND_i386_pc_TRUE@am__append_5602 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
+-@COND_i386_pc_TRUE@am__append_5603 = $(nodist_kernel_exec_SOURCES)
+-@COND_i386_pc_TRUE@am__append_5604 = $(nodist_kernel_exec_SOURCES) \
++@COND_emu_TRUE@am__append_5593 = kernel.img
++@COND_i386_pc_TRUE@am__append_5594 = kernel.exec
++@COND_i386_pc_TRUE@am__append_5595 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
++@COND_i386_pc_TRUE@am__append_5596 = $(nodist_kernel_exec_SOURCES)
++@COND_i386_pc_TRUE@am__append_5597 = $(nodist_kernel_exec_SOURCES) \
+ @COND_i386_pc_TRUE@   kernel.img
+-@COND_i386_pc_TRUE@am__append_5605 = kernel.img
+-@COND_i386_efi_TRUE@am__append_5606 = kernel.exec
+-@COND_i386_efi_TRUE@am__append_5607 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
+-@COND_i386_efi_TRUE@am__append_5608 = $(nodist_kernel_exec_SOURCES)
+-@COND_i386_efi_TRUE@am__append_5609 = $(nodist_kernel_exec_SOURCES) \
++@COND_i386_pc_TRUE@am__append_5598 = kernel.img
++@COND_i386_efi_TRUE@am__append_5599 = kernel.exec
++@COND_i386_efi_TRUE@am__append_5600 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
++@COND_i386_efi_TRUE@am__append_5601 = $(nodist_kernel_exec_SOURCES)
++@COND_i386_efi_TRUE@am__append_5602 = $(nodist_kernel_exec_SOURCES) \
+ @COND_i386_efi_TRUE@  kernel.img
+-@COND_i386_efi_TRUE@am__append_5610 = kernel.img
+-@COND_i386_qemu_TRUE@am__append_5611 = kernel.exec
+-@COND_i386_qemu_TRUE@am__append_5612 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
+-@COND_i386_qemu_TRUE@am__append_5613 = $(nodist_kernel_exec_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_5614 = $(nodist_kernel_exec_SOURCES) \
++@COND_i386_efi_TRUE@am__append_5603 = kernel.img
++@COND_i386_qemu_TRUE@am__append_5604 = kernel.exec
++@COND_i386_qemu_TRUE@am__append_5605 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
++@COND_i386_qemu_TRUE@am__append_5606 = $(nodist_kernel_exec_SOURCES)
++@COND_i386_qemu_TRUE@am__append_5607 = $(nodist_kernel_exec_SOURCES) \
+ @COND_i386_qemu_TRUE@ kernel.img
+-@COND_i386_qemu_TRUE@am__append_5615 = kernel.img
+-@COND_i386_coreboot_TRUE@am__append_5616 = kernel.exec
+-@COND_i386_coreboot_TRUE@am__append_5617 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
+-@COND_i386_coreboot_TRUE@am__append_5618 = $(nodist_kernel_exec_SOURCES)
+-@COND_i386_coreboot_TRUE@am__append_5619 =  \
++@COND_i386_qemu_TRUE@am__append_5608 = kernel.img
++@COND_i386_coreboot_TRUE@am__append_5609 = kernel.exec
++@COND_i386_coreboot_TRUE@am__append_5610 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
++@COND_i386_coreboot_TRUE@am__append_5611 = $(nodist_kernel_exec_SOURCES)
++@COND_i386_coreboot_TRUE@am__append_5612 =  \
+ @COND_i386_coreboot_TRUE@     $(nodist_kernel_exec_SOURCES) \
+ @COND_i386_coreboot_TRUE@     kernel.img
+-@COND_i386_coreboot_TRUE@am__append_5620 = kernel.img
+-@COND_i386_multiboot_TRUE@am__append_5621 = kernel.exec
+-@COND_i386_multiboot_TRUE@am__append_5622 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
+-@COND_i386_multiboot_TRUE@am__append_5623 = $(nodist_kernel_exec_SOURCES)
+-@COND_i386_multiboot_TRUE@am__append_5624 =  \
++@COND_i386_coreboot_TRUE@am__append_5613 = kernel.img
++@COND_i386_multiboot_TRUE@am__append_5614 = kernel.exec
++@COND_i386_multiboot_TRUE@am__append_5615 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
++@COND_i386_multiboot_TRUE@am__append_5616 = $(nodist_kernel_exec_SOURCES)
++@COND_i386_multiboot_TRUE@am__append_5617 =  \
+ @COND_i386_multiboot_TRUE@    $(nodist_kernel_exec_SOURCES) \
+ @COND_i386_multiboot_TRUE@    kernel.img
+-@COND_i386_multiboot_TRUE@am__append_5625 = kernel.img
+-@COND_i386_ieee1275_TRUE@am__append_5626 = kernel.exec
+-@COND_i386_ieee1275_TRUE@am__append_5627 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
+-@COND_i386_ieee1275_TRUE@am__append_5628 = $(nodist_kernel_exec_SOURCES)
+-@COND_i386_ieee1275_TRUE@am__append_5629 =  \
++@COND_i386_multiboot_TRUE@am__append_5618 = kernel.img
++@COND_i386_ieee1275_TRUE@am__append_5619 = kernel.exec
++@COND_i386_ieee1275_TRUE@am__append_5620 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
++@COND_i386_ieee1275_TRUE@am__append_5621 = $(nodist_kernel_exec_SOURCES)
++@COND_i386_ieee1275_TRUE@am__append_5622 =  \
+ @COND_i386_ieee1275_TRUE@     $(nodist_kernel_exec_SOURCES) \
+ @COND_i386_ieee1275_TRUE@     kernel.img
+-@COND_i386_ieee1275_TRUE@am__append_5630 = kernel.img
+-@COND_x86_64_efi_TRUE@am__append_5631 = kernel.exec
+-@COND_x86_64_efi_TRUE@am__append_5632 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
+-@COND_x86_64_efi_TRUE@am__append_5633 = $(nodist_kernel_exec_SOURCES)
+-@COND_x86_64_efi_TRUE@am__append_5634 = $(nodist_kernel_exec_SOURCES) \
++@COND_i386_ieee1275_TRUE@am__append_5623 = kernel.img
++@COND_x86_64_efi_TRUE@am__append_5624 = kernel.exec
++@COND_x86_64_efi_TRUE@am__append_5625 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
++@COND_x86_64_efi_TRUE@am__append_5626 = $(nodist_kernel_exec_SOURCES)
++@COND_x86_64_efi_TRUE@am__append_5627 = $(nodist_kernel_exec_SOURCES) \
+ @COND_x86_64_efi_TRUE@        kernel.img
+-@COND_x86_64_efi_TRUE@am__append_5635 = kernel.img
+-@COND_i386_xen_TRUE@am__append_5636 = kernel.exec
+-@COND_i386_xen_TRUE@am__append_5637 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
+-@COND_i386_xen_TRUE@am__append_5638 = $(nodist_kernel_exec_SOURCES)
+-@COND_i386_xen_TRUE@am__append_5639 = $(nodist_kernel_exec_SOURCES) \
++@COND_x86_64_efi_TRUE@am__append_5628 = kernel.img
++@COND_i386_xen_TRUE@am__append_5629 = kernel.exec
++@COND_i386_xen_TRUE@am__append_5630 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
++@COND_i386_xen_TRUE@am__append_5631 = $(nodist_kernel_exec_SOURCES)
++@COND_i386_xen_TRUE@am__append_5632 = $(nodist_kernel_exec_SOURCES) \
+ @COND_i386_xen_TRUE@  kernel.img
+-@COND_i386_xen_TRUE@am__append_5640 = kernel.img
+-@COND_x86_64_xen_TRUE@am__append_5641 = kernel.exec
+-@COND_x86_64_xen_TRUE@am__append_5642 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
+-@COND_x86_64_xen_TRUE@am__append_5643 = $(nodist_kernel_exec_SOURCES)
+-@COND_x86_64_xen_TRUE@am__append_5644 = $(nodist_kernel_exec_SOURCES) \
++@COND_i386_xen_TRUE@am__append_5633 = kernel.img
++@COND_x86_64_xen_TRUE@am__append_5634 = kernel.exec
++@COND_x86_64_xen_TRUE@am__append_5635 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
++@COND_x86_64_xen_TRUE@am__append_5636 = $(nodist_kernel_exec_SOURCES)
++@COND_x86_64_xen_TRUE@am__append_5637 = $(nodist_kernel_exec_SOURCES) \
+ @COND_x86_64_xen_TRUE@        kernel.img
+-@COND_x86_64_xen_TRUE@am__append_5645 = kernel.img
+-@COND_i386_xen_pvh_TRUE@am__append_5646 = kernel.exec
+-@COND_i386_xen_pvh_TRUE@am__append_5647 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
+-@COND_i386_xen_pvh_TRUE@am__append_5648 = $(nodist_kernel_exec_SOURCES)
+-@COND_i386_xen_pvh_TRUE@am__append_5649 =  \
++@COND_x86_64_xen_TRUE@am__append_5638 = kernel.img
++@COND_i386_xen_pvh_TRUE@am__append_5639 = kernel.exec
++@COND_i386_xen_pvh_TRUE@am__append_5640 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
++@COND_i386_xen_pvh_TRUE@am__append_5641 = $(nodist_kernel_exec_SOURCES)
++@COND_i386_xen_pvh_TRUE@am__append_5642 =  \
+ @COND_i386_xen_pvh_TRUE@      $(nodist_kernel_exec_SOURCES) \
+ @COND_i386_xen_pvh_TRUE@      kernel.img
+-@COND_i386_xen_pvh_TRUE@am__append_5650 = kernel.img
+-@COND_mips_loongson_TRUE@am__append_5651 = kernel.exec
+-@COND_mips_loongson_TRUE@am__append_5652 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
+-@COND_mips_loongson_TRUE@am__append_5653 = $(nodist_kernel_exec_SOURCES)
+-@COND_mips_loongson_TRUE@am__append_5654 =  \
++@COND_i386_xen_pvh_TRUE@am__append_5643 = kernel.img
++@COND_mips_loongson_TRUE@am__append_5644 = kernel.exec
++@COND_mips_loongson_TRUE@am__append_5645 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
++@COND_mips_loongson_TRUE@am__append_5646 = $(nodist_kernel_exec_SOURCES)
++@COND_mips_loongson_TRUE@am__append_5647 =  \
+ @COND_mips_loongson_TRUE@     $(nodist_kernel_exec_SOURCES) \
+ @COND_mips_loongson_TRUE@     kernel.img
+-@COND_mips_loongson_TRUE@am__append_5655 = kernel.img
+-@COND_sparc64_ieee1275_TRUE@am__append_5656 = kernel.exec
+-@COND_sparc64_ieee1275_TRUE@am__append_5657 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
+-@COND_sparc64_ieee1275_TRUE@am__append_5658 = $(nodist_kernel_exec_SOURCES)
+-@COND_sparc64_ieee1275_TRUE@am__append_5659 =  \
++@COND_mips_loongson_TRUE@am__append_5648 = kernel.img
++@COND_sparc64_ieee1275_TRUE@am__append_5649 = kernel.exec
++@COND_sparc64_ieee1275_TRUE@am__append_5650 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
++@COND_sparc64_ieee1275_TRUE@am__append_5651 = $(nodist_kernel_exec_SOURCES)
++@COND_sparc64_ieee1275_TRUE@am__append_5652 =  \
+ @COND_sparc64_ieee1275_TRUE@  $(nodist_kernel_exec_SOURCES) \
+ @COND_sparc64_ieee1275_TRUE@  kernel.img
+-@COND_sparc64_ieee1275_TRUE@am__append_5660 = kernel.img
+-@COND_powerpc_ieee1275_TRUE@am__append_5661 = kernel.exec
+-@COND_powerpc_ieee1275_TRUE@am__append_5662 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
+-@COND_powerpc_ieee1275_TRUE@am__append_5663 = $(nodist_kernel_exec_SOURCES)
+-@COND_powerpc_ieee1275_TRUE@am__append_5664 =  \
++@COND_sparc64_ieee1275_TRUE@am__append_5653 = kernel.img
++@COND_powerpc_ieee1275_TRUE@am__append_5654 = kernel.exec
++@COND_powerpc_ieee1275_TRUE@am__append_5655 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
++@COND_powerpc_ieee1275_TRUE@am__append_5656 = $(nodist_kernel_exec_SOURCES)
++@COND_powerpc_ieee1275_TRUE@am__append_5657 =  \
+ @COND_powerpc_ieee1275_TRUE@  $(nodist_kernel_exec_SOURCES) \
+ @COND_powerpc_ieee1275_TRUE@  kernel.img
+-@COND_powerpc_ieee1275_TRUE@am__append_5665 = kernel.img
+-@COND_mips_arc_TRUE@am__append_5666 = kernel.exec
+-@COND_mips_arc_TRUE@am__append_5667 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
+-@COND_mips_arc_TRUE@am__append_5668 = $(nodist_kernel_exec_SOURCES)
+-@COND_mips_arc_TRUE@am__append_5669 = $(nodist_kernel_exec_SOURCES) \
++@COND_powerpc_ieee1275_TRUE@am__append_5658 = kernel.img
++@COND_mips_arc_TRUE@am__append_5659 = kernel.exec
++@COND_mips_arc_TRUE@am__append_5660 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
++@COND_mips_arc_TRUE@am__append_5661 = $(nodist_kernel_exec_SOURCES)
++@COND_mips_arc_TRUE@am__append_5662 = $(nodist_kernel_exec_SOURCES) \
+ @COND_mips_arc_TRUE@  kernel.img
+-@COND_mips_arc_TRUE@am__append_5670 = kernel.img
+-@COND_ia64_efi_TRUE@am__append_5671 = kernel.exec
+-@COND_ia64_efi_TRUE@am__append_5672 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
+-@COND_ia64_efi_TRUE@am__append_5673 = $(nodist_kernel_exec_SOURCES)
+-@COND_ia64_efi_TRUE@am__append_5674 = $(nodist_kernel_exec_SOURCES) \
++@COND_mips_arc_TRUE@am__append_5663 = kernel.img
++@COND_ia64_efi_TRUE@am__append_5664 = kernel.exec
++@COND_ia64_efi_TRUE@am__append_5665 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
++@COND_ia64_efi_TRUE@am__append_5666 = $(nodist_kernel_exec_SOURCES)
++@COND_ia64_efi_TRUE@am__append_5667 = $(nodist_kernel_exec_SOURCES) \
+ @COND_ia64_efi_TRUE@  kernel.img
+-@COND_ia64_efi_TRUE@am__append_5675 = kernel.img
+-@COND_mips_qemu_mips_TRUE@am__append_5676 = kernel.exec
+-@COND_mips_qemu_mips_TRUE@am__append_5677 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
+-@COND_mips_qemu_mips_TRUE@am__append_5678 = $(nodist_kernel_exec_SOURCES)
+-@COND_mips_qemu_mips_TRUE@am__append_5679 =  \
++@COND_ia64_efi_TRUE@am__append_5668 = kernel.img
++@COND_mips_qemu_mips_TRUE@am__append_5669 = kernel.exec
++@COND_mips_qemu_mips_TRUE@am__append_5670 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
++@COND_mips_qemu_mips_TRUE@am__append_5671 = $(nodist_kernel_exec_SOURCES)
++@COND_mips_qemu_mips_TRUE@am__append_5672 =  \
+ @COND_mips_qemu_mips_TRUE@    $(nodist_kernel_exec_SOURCES) \
+ @COND_mips_qemu_mips_TRUE@    kernel.img
+-@COND_mips_qemu_mips_TRUE@am__append_5680 = kernel.img
+-@COND_arm_uboot_TRUE@am__append_5681 = kernel.exec
+-@COND_arm_uboot_TRUE@am__append_5682 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
+-@COND_arm_uboot_TRUE@am__append_5683 = $(nodist_kernel_exec_SOURCES)
+-@COND_arm_uboot_TRUE@am__append_5684 = $(nodist_kernel_exec_SOURCES) \
++@COND_mips_qemu_mips_TRUE@am__append_5673 = kernel.img
++@COND_arm_uboot_TRUE@am__append_5674 = kernel.exec
++@COND_arm_uboot_TRUE@am__append_5675 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
++@COND_arm_uboot_TRUE@am__append_5676 = $(nodist_kernel_exec_SOURCES)
++@COND_arm_uboot_TRUE@am__append_5677 = $(nodist_kernel_exec_SOURCES) \
+ @COND_arm_uboot_TRUE@ kernel.img
+-@COND_arm_uboot_TRUE@am__append_5685 = kernel.img
+-@COND_arm_efi_TRUE@am__append_5686 = kernel.exec
+-@COND_arm_efi_TRUE@am__append_5687 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
+-@COND_arm_efi_TRUE@am__append_5688 = $(nodist_kernel_exec_SOURCES)
+-@COND_arm_efi_TRUE@am__append_5689 = $(nodist_kernel_exec_SOURCES) \
++@COND_arm_uboot_TRUE@am__append_5678 = kernel.img
++@COND_arm_efi_TRUE@am__append_5679 = kernel.exec
++@COND_arm_efi_TRUE@am__append_5680 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
++@COND_arm_efi_TRUE@am__append_5681 = $(nodist_kernel_exec_SOURCES)
++@COND_arm_efi_TRUE@am__append_5682 = $(nodist_kernel_exec_SOURCES) \
+ @COND_arm_efi_TRUE@   kernel.img
+-@COND_arm_efi_TRUE@am__append_5690 = kernel.img
+-@COND_arm64_efi_TRUE@am__append_5691 = kernel.exec
+-@COND_arm64_efi_TRUE@am__append_5692 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
+-@COND_arm64_efi_TRUE@am__append_5693 = $(nodist_kernel_exec_SOURCES)
+-@COND_arm64_efi_TRUE@am__append_5694 = $(nodist_kernel_exec_SOURCES) \
++@COND_arm_efi_TRUE@am__append_5683 = kernel.img
++@COND_arm64_efi_TRUE@am__append_5684 = kernel.exec
++@COND_arm64_efi_TRUE@am__append_5685 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
++@COND_arm64_efi_TRUE@am__append_5686 = $(nodist_kernel_exec_SOURCES)
++@COND_arm64_efi_TRUE@am__append_5687 = $(nodist_kernel_exec_SOURCES) \
+ @COND_arm64_efi_TRUE@ kernel.img
+-@COND_arm64_efi_TRUE@am__append_5695 = kernel.img
+-@COND_arm_coreboot_TRUE@am__append_5696 = kernel.exec
+-@COND_arm_coreboot_TRUE@am__append_5697 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
+-@COND_arm_coreboot_TRUE@am__append_5698 = $(nodist_kernel_exec_SOURCES)
+-@COND_arm_coreboot_TRUE@am__append_5699 =  \
++@COND_arm64_efi_TRUE@am__append_5688 = kernel.img
++@COND_arm_coreboot_TRUE@am__append_5689 = kernel.exec
++@COND_arm_coreboot_TRUE@am__append_5690 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
++@COND_arm_coreboot_TRUE@am__append_5691 = $(nodist_kernel_exec_SOURCES)
++@COND_arm_coreboot_TRUE@am__append_5692 =  \
+ @COND_arm_coreboot_TRUE@      $(nodist_kernel_exec_SOURCES) \
+ @COND_arm_coreboot_TRUE@      kernel.img
+-@COND_arm_coreboot_TRUE@am__append_5700 = kernel.img
+-@COND_riscv32_efi_TRUE@am__append_5701 = kernel.exec
+-@COND_riscv32_efi_TRUE@am__append_5702 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
+-@COND_riscv32_efi_TRUE@am__append_5703 = $(nodist_kernel_exec_SOURCES)
+-@COND_riscv32_efi_TRUE@am__append_5704 =  \
++@COND_arm_coreboot_TRUE@am__append_5693 = kernel.img
++@COND_riscv32_efi_TRUE@am__append_5694 = kernel.exec
++@COND_riscv32_efi_TRUE@am__append_5695 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
++@COND_riscv32_efi_TRUE@am__append_5696 = $(nodist_kernel_exec_SOURCES)
++@COND_riscv32_efi_TRUE@am__append_5697 =  \
+ @COND_riscv32_efi_TRUE@       $(nodist_kernel_exec_SOURCES) \
+ @COND_riscv32_efi_TRUE@       kernel.img
+-@COND_riscv32_efi_TRUE@am__append_5705 = kernel.img
+-@COND_riscv64_efi_TRUE@am__append_5706 = kernel.exec
+-@COND_riscv64_efi_TRUE@am__append_5707 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
+-@COND_riscv64_efi_TRUE@am__append_5708 = $(nodist_kernel_exec_SOURCES)
+-@COND_riscv64_efi_TRUE@am__append_5709 =  \
++@COND_riscv32_efi_TRUE@am__append_5698 = kernel.img
++@COND_riscv64_efi_TRUE@am__append_5699 = kernel.exec
++@COND_riscv64_efi_TRUE@am__append_5700 = video/sm712_init.c video/sis315_init.c kern/arm/cache.S osdep/unix/exec.c osdep/unix/emuconsole.c osdep/windows/emuconsole.c osdep/unix/dl.c osdep/windows/dl.c osdep/linux/emunet.c osdep/basic/emunet.c osdep/unix/cputime.c osdep/windows/cputime.c kern/i386/int.S kern/i386/realmode.S boot/i386/pc/lzma_decode.S kern/mips/cache_flush.S 
++@COND_riscv64_efi_TRUE@am__append_5701 = $(nodist_kernel_exec_SOURCES)
++@COND_riscv64_efi_TRUE@am__append_5702 =  \
+ @COND_riscv64_efi_TRUE@       $(nodist_kernel_exec_SOURCES) \
+ @COND_riscv64_efi_TRUE@       kernel.img
+-@COND_riscv64_efi_TRUE@am__append_5710 = kernel.img
+-@COND_i386_pc_TRUE@am__append_5711 = boot.image
+-@COND_i386_pc_TRUE@am__append_5712 = 
+-@COND_i386_pc_TRUE@am__append_5713 = $(nodist_boot_image_SOURCES)
+-@COND_i386_pc_TRUE@am__append_5714 = $(nodist_boot_image_SOURCES) \
++@COND_riscv64_efi_TRUE@am__append_5703 = kernel.img
++@COND_i386_pc_TRUE@am__append_5704 = boot.image
++@COND_i386_pc_TRUE@am__append_5705 = 
++@COND_i386_pc_TRUE@am__append_5706 = $(nodist_boot_image_SOURCES)
++@COND_i386_pc_TRUE@am__append_5707 = $(nodist_boot_image_SOURCES) \
+ @COND_i386_pc_TRUE@   boot.img
+-@COND_i386_pc_TRUE@am__append_5715 = boot.img
+-@COND_i386_qemu_TRUE@am__append_5716 = boot.image
+-@COND_i386_qemu_TRUE@am__append_5717 = 
+-@COND_i386_qemu_TRUE@am__append_5718 = $(nodist_boot_image_SOURCES)
+-@COND_i386_qemu_TRUE@am__append_5719 = $(nodist_boot_image_SOURCES) \
++@COND_i386_pc_TRUE@am__append_5708 = boot.img
++@COND_i386_qemu_TRUE@am__append_5709 = boot.image
++@COND_i386_qemu_TRUE@am__append_5710 = 
++@COND_i386_qemu_TRUE@am__append_5711 = $(nodist_boot_image_SOURCES)
++@COND_i386_qemu_TRUE@am__append_5712 = $(nodist_boot_image_SOURCES) \
+ @COND_i386_qemu_TRUE@ boot.img
+-@COND_i386_qemu_TRUE@am__append_5720 = boot.img
+-@COND_sparc64_ieee1275_TRUE@am__append_5721 = boot.image
+-@COND_sparc64_ieee1275_TRUE@am__append_5722 = 
+-@COND_sparc64_ieee1275_TRUE@am__append_5723 = $(nodist_boot_image_SOURCES)
+-@COND_sparc64_ieee1275_TRUE@am__append_5724 =  \
++@COND_i386_qemu_TRUE@am__append_5713 = boot.img
++@COND_sparc64_ieee1275_TRUE@am__append_5714 = boot.image
++@COND_sparc64_ieee1275_TRUE@am__append_5715 = 
++@COND_sparc64_ieee1275_TRUE@am__append_5716 = $(nodist_boot_image_SOURCES)
++@COND_sparc64_ieee1275_TRUE@am__append_5717 =  \
+ @COND_sparc64_ieee1275_TRUE@  $(nodist_boot_image_SOURCES) \
+ @COND_sparc64_ieee1275_TRUE@  boot.img
+-@COND_sparc64_ieee1275_TRUE@am__append_5725 = boot.img
+-@COND_i386_pc_TRUE@am__append_5726 = boot_hybrid.image cdboot.image
+-@COND_i386_pc_TRUE@am__append_5727 =
+-@COND_i386_pc_TRUE@am__append_5728 =  \
++@COND_sparc64_ieee1275_TRUE@am__append_5718 = boot.img
++@COND_i386_pc_TRUE@am__append_5719 = boot_hybrid.image cdboot.image
++@COND_i386_pc_TRUE@am__append_5720 =
++@COND_i386_pc_TRUE@am__append_5721 =  \
+ @COND_i386_pc_TRUE@   $(nodist_boot_hybrid_image_SOURCES) \
+ @COND_i386_pc_TRUE@   $(nodist_cdboot_image_SOURCES)
+-@COND_i386_pc_TRUE@am__append_5729 =  \
++@COND_i386_pc_TRUE@am__append_5722 =  \
+ @COND_i386_pc_TRUE@   $(nodist_boot_hybrid_image_SOURCES) \
+ @COND_i386_pc_TRUE@   boot_hybrid.img \
+ @COND_i386_pc_TRUE@   $(nodist_cdboot_image_SOURCES) cdboot.img
+-@COND_i386_pc_TRUE@am__append_5730 = boot_hybrid.img cdboot.img
+-@COND_sparc64_ieee1275_TRUE@am__append_5731 = cdboot.image
+-@COND_sparc64_ieee1275_TRUE@am__append_5732 = 
+-@COND_sparc64_ieee1275_TRUE@am__append_5733 = $(nodist_cdboot_image_SOURCES)
+-@COND_sparc64_ieee1275_TRUE@am__append_5734 =  \
++@COND_i386_pc_TRUE@am__append_5723 = boot_hybrid.img cdboot.img
++@COND_sparc64_ieee1275_TRUE@am__append_5724 = cdboot.image
++@COND_sparc64_ieee1275_TRUE@am__append_5725 = 
++@COND_sparc64_ieee1275_TRUE@am__append_5726 = $(nodist_cdboot_image_SOURCES)
++@COND_sparc64_ieee1275_TRUE@am__append_5727 =  \
+ @COND_sparc64_ieee1275_TRUE@  $(nodist_cdboot_image_SOURCES) \
+ @COND_sparc64_ieee1275_TRUE@  cdboot.img
+-@COND_sparc64_ieee1275_TRUE@am__append_5735 = cdboot.img
+-@COND_i386_pc_TRUE@am__append_5736 = pxeboot.image diskboot.image
+-@COND_i386_pc_TRUE@am__append_5737 =
+-@COND_i386_pc_TRUE@am__append_5738 = $(nodist_pxeboot_image_SOURCES) \
++@COND_sparc64_ieee1275_TRUE@am__append_5728 = cdboot.img
++@COND_i386_pc_TRUE@am__append_5729 = pxeboot.image diskboot.image
++@COND_i386_pc_TRUE@am__append_5730 =
++@COND_i386_pc_TRUE@am__append_5731 = $(nodist_pxeboot_image_SOURCES) \
+ @COND_i386_pc_TRUE@   $(nodist_diskboot_image_SOURCES)
+-@COND_i386_pc_TRUE@am__append_5739 = $(nodist_pxeboot_image_SOURCES) \
++@COND_i386_pc_TRUE@am__append_5732 = $(nodist_pxeboot_image_SOURCES) \
+ @COND_i386_pc_TRUE@   pxeboot.img \
+ @COND_i386_pc_TRUE@   $(nodist_diskboot_image_SOURCES) \
+ @COND_i386_pc_TRUE@   diskboot.img
+-@COND_i386_pc_TRUE@am__append_5740 = pxeboot.img diskboot.img
+-@COND_sparc64_ieee1275_TRUE@am__append_5741 = diskboot.image
+-@COND_sparc64_ieee1275_TRUE@am__append_5742 = 
+-@COND_sparc64_ieee1275_TRUE@am__append_5743 = $(nodist_diskboot_image_SOURCES)
+-@COND_sparc64_ieee1275_TRUE@am__append_5744 =  \
++@COND_i386_pc_TRUE@am__append_5733 = pxeboot.img diskboot.img
++@COND_sparc64_ieee1275_TRUE@am__append_5734 = diskboot.image
++@COND_sparc64_ieee1275_TRUE@am__append_5735 = 
++@COND_sparc64_ieee1275_TRUE@am__append_5736 = $(nodist_diskboot_image_SOURCES)
++@COND_sparc64_ieee1275_TRUE@am__append_5737 =  \
+ @COND_sparc64_ieee1275_TRUE@  $(nodist_diskboot_image_SOURCES) \
+ @COND_sparc64_ieee1275_TRUE@  diskboot.img
+-@COND_sparc64_ieee1275_TRUE@am__append_5745 = diskboot.img
+-@COND_i386_pc_TRUE@am__append_5746 = lnxboot.image
+-@COND_i386_pc_TRUE@am__append_5747 = 
+-@COND_i386_pc_TRUE@am__append_5748 = $(nodist_lnxboot_image_SOURCES)
+-@COND_i386_pc_TRUE@am__append_5749 = $(nodist_lnxboot_image_SOURCES) \
++@COND_sparc64_ieee1275_TRUE@am__append_5738 = diskboot.img
++@COND_i386_pc_TRUE@am__append_5739 = lnxboot.image
++@COND_i386_pc_TRUE@am__append_5740 = 
++@COND_i386_pc_TRUE@am__append_5741 = $(nodist_lnxboot_image_SOURCES)
++@COND_i386_pc_TRUE@am__append_5742 = $(nodist_lnxboot_image_SOURCES) \
+ @COND_i386_pc_TRUE@   lnxboot.img
+-@COND_i386_pc_TRUE@am__append_5750 = lnxboot.img
+-@COND_mips_loongson_TRUE@am__append_5751 = xz_decompress.image
+-@COND_mips_loongson_TRUE@am__append_5752 = 
+-@COND_mips_loongson_TRUE@am__append_5753 = $(nodist_xz_decompress_image_SOURCES)
+-@COND_mips_loongson_TRUE@am__append_5754 = $(nodist_xz_decompress_image_SOURCES) \
++@COND_i386_pc_TRUE@am__append_5743 = lnxboot.img
++@COND_mips_loongson_TRUE@am__append_5744 = xz_decompress.image
++@COND_mips_loongson_TRUE@am__append_5745 = 
++@COND_mips_loongson_TRUE@am__append_5746 = $(nodist_xz_decompress_image_SOURCES)
++@COND_mips_loongson_TRUE@am__append_5747 = $(nodist_xz_decompress_image_SOURCES) \
+ @COND_mips_loongson_TRUE@     xz_decompress.img
+-@COND_mips_loongson_TRUE@am__append_5755 = xz_decompress.img
+-@COND_mips_arc_TRUE@am__append_5756 = xz_decompress.image
+-@COND_mips_arc_TRUE@am__append_5757 = 
+-@COND_mips_arc_TRUE@am__append_5758 = $(nodist_xz_decompress_image_SOURCES)
+-@COND_mips_arc_TRUE@am__append_5759 =  \
++@COND_mips_loongson_TRUE@am__append_5748 = xz_decompress.img
++@COND_mips_arc_TRUE@am__append_5749 = xz_decompress.image
++@COND_mips_arc_TRUE@am__append_5750 = 
++@COND_mips_arc_TRUE@am__append_5751 = $(nodist_xz_decompress_image_SOURCES)
++@COND_mips_arc_TRUE@am__append_5752 =  \
+ @COND_mips_arc_TRUE@  $(nodist_xz_decompress_image_SOURCES) \
+ @COND_mips_arc_TRUE@  xz_decompress.img
+-@COND_mips_arc_TRUE@am__append_5760 = xz_decompress.img
+-@COND_mips_qemu_mips_TRUE@am__append_5761 = xz_decompress.image
+-@COND_mips_qemu_mips_TRUE@am__append_5762 = 
+-@COND_mips_qemu_mips_TRUE@am__append_5763 = $(nodist_xz_decompress_image_SOURCES)
+-@COND_mips_qemu_mips_TRUE@am__append_5764 = $(nodist_xz_decompress_image_SOURCES) \
++@COND_mips_arc_TRUE@am__append_5753 = xz_decompress.img
++@COND_mips_qemu_mips_TRUE@am__append_5754 = xz_decompress.image
++@COND_mips_qemu_mips_TRUE@am__append_5755 = 
++@COND_mips_qemu_mips_TRUE@am__append_5756 = $(nodist_xz_decompress_image_SOURCES)
++@COND_mips_qemu_mips_TRUE@am__append_5757 = $(nodist_xz_decompress_image_SOURCES) \
+ @COND_mips_qemu_mips_TRUE@    xz_decompress.img
+-@COND_mips_qemu_mips_TRUE@am__append_5765 = xz_decompress.img
+-@COND_mips_loongson_TRUE@am__append_5766 = none_decompress.image
+-@COND_mips_loongson_TRUE@am__append_5767 = 
+-@COND_mips_loongson_TRUE@am__append_5768 = $(nodist_none_decompress_image_SOURCES)
+-@COND_mips_loongson_TRUE@am__append_5769 = $(nodist_none_decompress_image_SOURCES) \
++@COND_mips_qemu_mips_TRUE@am__append_5758 = xz_decompress.img
++@COND_mips_loongson_TRUE@am__append_5759 = none_decompress.image
++@COND_mips_loongson_TRUE@am__append_5760 = 
++@COND_mips_loongson_TRUE@am__append_5761 = $(nodist_none_decompress_image_SOURCES)
++@COND_mips_loongson_TRUE@am__append_5762 = $(nodist_none_decompress_image_SOURCES) \
+ @COND_mips_loongson_TRUE@     none_decompress.img
+-@COND_mips_loongson_TRUE@am__append_5770 = none_decompress.img
+-@COND_mips_arc_TRUE@am__append_5771 = none_decompress.image
+-@COND_mips_arc_TRUE@am__append_5772 = 
+-@COND_mips_arc_TRUE@am__append_5773 = $(nodist_none_decompress_image_SOURCES)
+-@COND_mips_arc_TRUE@am__append_5774 =  \
++@COND_mips_loongson_TRUE@am__append_5763 = none_decompress.img
++@COND_mips_arc_TRUE@am__append_5764 = none_decompress.image
++@COND_mips_arc_TRUE@am__append_5765 = 
++@COND_mips_arc_TRUE@am__append_5766 = $(nodist_none_decompress_image_SOURCES)
++@COND_mips_arc_TRUE@am__append_5767 =  \
+ @COND_mips_arc_TRUE@  $(nodist_none_decompress_image_SOURCES) \
+ @COND_mips_arc_TRUE@  none_decompress.img
+-@COND_mips_arc_TRUE@am__append_5775 = none_decompress.img
+-@COND_mips_qemu_mips_TRUE@am__append_5776 = none_decompress.image
+-@COND_mips_qemu_mips_TRUE@am__append_5777 = 
+-@COND_mips_qemu_mips_TRUE@am__append_5778 = $(nodist_none_decompress_image_SOURCES)
+-@COND_mips_qemu_mips_TRUE@am__append_5779 = $(nodist_none_decompress_image_SOURCES) \
++@COND_mips_arc_TRUE@am__append_5768 = none_decompress.img
++@COND_mips_qemu_mips_TRUE@am__append_5769 = none_decompress.image
++@COND_mips_qemu_mips_TRUE@am__append_5770 = 
++@COND_mips_qemu_mips_TRUE@am__append_5771 = $(nodist_none_decompress_image_SOURCES)
++@COND_mips_qemu_mips_TRUE@am__append_5772 = $(nodist_none_decompress_image_SOURCES) \
+ @COND_mips_qemu_mips_TRUE@    none_decompress.img
+-@COND_mips_qemu_mips_TRUE@am__append_5780 = none_decompress.img
+-@COND_i386_pc_TRUE@am__append_5781 = lzma_decompress.image
+-@COND_i386_pc_TRUE@am__append_5782 = 
+-@COND_i386_pc_TRUE@am__append_5783 = $(nodist_lzma_decompress_image_SOURCES)
+-@COND_i386_pc_TRUE@am__append_5784 =  \
++@COND_mips_qemu_mips_TRUE@am__append_5773 = none_decompress.img
++@COND_i386_pc_TRUE@am__append_5774 = lzma_decompress.image
++@COND_i386_pc_TRUE@am__append_5775 = 
++@COND_i386_pc_TRUE@am__append_5776 = $(nodist_lzma_decompress_image_SOURCES)
++@COND_i386_pc_TRUE@am__append_5777 =  \
+ @COND_i386_pc_TRUE@   $(nodist_lzma_decompress_image_SOURCES) \
+ @COND_i386_pc_TRUE@   lzma_decompress.img
+-@COND_i386_pc_TRUE@am__append_5785 = lzma_decompress.img
+-@COND_mips_loongson_TRUE@am__append_5786 = fwstart.image \
++@COND_i386_pc_TRUE@am__append_5778 = lzma_decompress.img
++@COND_mips_loongson_TRUE@am__append_5779 = fwstart.image \
+ @COND_mips_loongson_TRUE@     fwstart_fuloong2f.image
+-@COND_mips_loongson_TRUE@am__append_5787 =
+-@COND_mips_loongson_TRUE@am__append_5788 =  \
++@COND_mips_loongson_TRUE@am__append_5780 =
++@COND_mips_loongson_TRUE@am__append_5781 =  \
+ @COND_mips_loongson_TRUE@     $(nodist_fwstart_image_SOURCES) \
+ @COND_mips_loongson_TRUE@     $(nodist_fwstart_fuloong2f_image_SOURCES)
+-@COND_mips_loongson_TRUE@am__append_5789 =  \
++@COND_mips_loongson_TRUE@am__append_5782 =  \
+ @COND_mips_loongson_TRUE@     $(nodist_fwstart_image_SOURCES) \
+ @COND_mips_loongson_TRUE@     fwstart.img \
+ @COND_mips_loongson_TRUE@     $(nodist_fwstart_fuloong2f_image_SOURCES) \
+ @COND_mips_loongson_TRUE@     fwstart_fuloong2f.img
+-@COND_mips_loongson_TRUE@am__append_5790 = fwstart.img \
++@COND_mips_loongson_TRUE@am__append_5783 = fwstart.img \
+ @COND_mips_loongson_TRUE@     fwstart_fuloong2f.img
+-@COND_emu_TRUE@am__append_5791 = grub-emu grub-emu-lite
+-@COND_MAN_PAGES_TRUE@@COND_emu_TRUE@am__append_5792 = grub-emu.1
+-@COND_MAN_PAGES_TRUE@@COND_emu_TRUE@am__append_5793 = grub-emu.1
+-@COND_emu_TRUE@am__append_5794 =
+-@COND_emu_TRUE@am__append_5795 = $(nodist_grub_emu_SOURCES) \
++@COND_emu_TRUE@am__append_5784 = grub-emu grub-emu-lite
++@COND_MAN_PAGES_TRUE@@COND_emu_TRUE@am__append_5785 = grub-emu.1
++@COND_MAN_PAGES_TRUE@@COND_emu_TRUE@am__append_5786 = grub-emu.1
++@COND_emu_TRUE@am__append_5787 =
++@COND_emu_TRUE@am__append_5788 = $(nodist_grub_emu_SOURCES) \
+ @COND_emu_TRUE@       $(nodist_grub_emu_lite_SOURCES)
+-@COND_emu_TRUE@am__append_5796 = $(nodist_grub_emu_SOURCES) \
++@COND_emu_TRUE@am__append_5789 = $(nodist_grub_emu_SOURCES) \
+ @COND_emu_TRUE@       $(nodist_grub_emu_lite_SOURCES)
+-@COND_powerpc_ieee1275_TRUE@am__append_5797 = grub.chrp bootinfo.txt
+-@COND_powerpc_ieee1275_TRUE@am__append_5798 = grub.chrp bootinfo.txt
+-@COND_powerpc_ieee1275_TRUE@am__append_5799 =
+-@COND_powerpc_ieee1275_TRUE@am__append_5800 =  \
++@COND_powerpc_ieee1275_TRUE@am__append_5790 = grub.chrp bootinfo.txt
++@COND_powerpc_ieee1275_TRUE@am__append_5791 = grub.chrp bootinfo.txt
++@COND_powerpc_ieee1275_TRUE@am__append_5792 =
++@COND_powerpc_ieee1275_TRUE@am__append_5793 =  \
+ @COND_powerpc_ieee1275_TRUE@  boot/powerpc/grub.chrp.in \
+ @COND_powerpc_ieee1275_TRUE@  boot/powerpc/bootinfo.txt.in
+-@COND_emu_TRUE@am__append_5801 = $(top_srcdir)/include/grub/compiler-rt-emu.h
+-@COND_emu_FALSE@am__append_5802 = $(top_srcdir)/include/grub/compiler-rt.h
+-@COND_i386_pc_TRUE@am__append_5803 = $(top_builddir)/include/grub/machine/kernel.h \
++@COND_emu_TRUE@am__append_5794 = $(top_srcdir)/include/grub/compiler-rt-emu.h
++@COND_emu_FALSE@am__append_5795 = $(top_srcdir)/include/grub/compiler-rt.h
++@COND_i386_pc_TRUE@am__append_5796 = $(top_builddir)/include/grub/machine/kernel.h \
+ @COND_i386_pc_TRUE@   $(top_builddir)/include/grub/machine/pxe.h \
+ @COND_i386_pc_TRUE@   $(top_builddir)/include/grub/machine/int.h \
+ @COND_i386_pc_TRUE@   $(top_srcdir)/include/grub/i386/tsc.h
+-@COND_i386_xen_pvh_TRUE@am__append_5804 = $(top_builddir)/include/grub/machine/kernel.h \
++@COND_i386_xen_pvh_TRUE@am__append_5797 = $(top_builddir)/include/grub/machine/kernel.h \
+ @COND_i386_xen_pvh_TRUE@      $(top_builddir)/include/grub/machine/int.h \
+ @COND_i386_xen_pvh_TRUE@      $(top_srcdir)/include/grub/i386/tsc.h \
+ @COND_i386_xen_pvh_TRUE@      $(top_srcdir)/include/grub/terminfo.h \
+@@ -7834,14 +7824,14 @@ TESTS =
+ @COND_i386_xen_pvh_TRUE@      $(top_srcdir)/include/grub/lib/arg.h \
+ @COND_i386_xen_pvh_TRUE@      $(top_srcdir)/include/grub/xen.h \
+ @COND_i386_xen_pvh_TRUE@      $(top_srcdir)/include/grub/i386/xen/hypercall.h
+-@COND_i386_efi_TRUE@am__append_5805 = $(top_builddir)/include/grub/machine/kernel.h \
++@COND_i386_efi_TRUE@am__append_5798 = $(top_builddir)/include/grub/machine/kernel.h \
+ @COND_i386_efi_TRUE@  $(top_srcdir)/include/grub/efi/efi.h \
+ @COND_i386_efi_TRUE@  $(top_srcdir)/include/grub/efi/disk.h \
+ @COND_i386_efi_TRUE@  $(top_srcdir)/include/grub/i386/tsc.h \
+ @COND_i386_efi_TRUE@  $(top_srcdir)/include/grub/acpi.h \
+ @COND_i386_efi_TRUE@  $(top_srcdir)/include/grub/pci.h \
+ @COND_i386_efi_TRUE@  $(top_srcdir)/include/grub/i386/pmtimer.h
+-@COND_i386_coreboot_TRUE@am__append_5806 = $(top_builddir)/include/grub/machine/kernel.h \
++@COND_i386_coreboot_TRUE@am__append_5799 = $(top_builddir)/include/grub/machine/kernel.h \
+ @COND_i386_coreboot_TRUE@     $(top_srcdir)/include/grub/i386/tsc.h \
+ @COND_i386_coreboot_TRUE@     $(top_srcdir)/include/grub/coreboot/lbio.h \
+ @COND_i386_coreboot_TRUE@     $(top_srcdir)/include/grub/video.h \
+@@ -7850,56 +7840,56 @@ TESTS =
+ @COND_i386_coreboot_TRUE@     $(top_srcdir)/include/grub/font.h \
+ @COND_i386_coreboot_TRUE@     $(top_srcdir)/include/grub/bufio.h \
+ @COND_i386_coreboot_TRUE@     $(top_srcdir)/include/grub/acpi.h
+-@COND_i386_multiboot_TRUE@am__append_5807 = $(top_builddir)/include/grub/machine/kernel.h \
++@COND_i386_multiboot_TRUE@am__append_5800 = $(top_builddir)/include/grub/machine/kernel.h \
+ @COND_i386_multiboot_TRUE@    $(top_srcdir)/include/grub/i386/tsc.h \
+ @COND_i386_multiboot_TRUE@    $(top_srcdir)/include/grub/acpi.h
+-@COND_i386_qemu_TRUE@am__append_5808 =  \
++@COND_i386_qemu_TRUE@am__append_5801 =  \
+ @COND_i386_qemu_TRUE@ $(top_srcdir)/include/grub/pci.h \
+ @COND_i386_qemu_TRUE@ $(top_srcdir)/include/grub/i386/tsc.h
+-@COND_i386_ieee1275_TRUE@am__append_5809 = $(top_builddir)/include/grub/machine/kernel.h \
++@COND_i386_ieee1275_TRUE@am__append_5802 = $(top_builddir)/include/grub/machine/kernel.h \
+ @COND_i386_ieee1275_TRUE@     $(top_srcdir)/include/grub/ieee1275/ieee1275.h \
+ @COND_i386_ieee1275_TRUE@     $(top_srcdir)/include/grub/terminfo.h \
+ @COND_i386_ieee1275_TRUE@     $(top_srcdir)/include/grub/extcmd.h \
+ @COND_i386_ieee1275_TRUE@     $(top_srcdir)/include/grub/lib/arg.h \
+ @COND_i386_ieee1275_TRUE@     $(top_srcdir)/include/grub/i386/tsc.h
+-@COND_i386_xen_TRUE@am__append_5810 = $(top_builddir)/include/grub/machine/kernel.h \
++@COND_i386_xen_TRUE@am__append_5803 = $(top_builddir)/include/grub/machine/kernel.h \
+ @COND_i386_xen_TRUE@  $(top_srcdir)/include/grub/xen.h \
+ @COND_i386_xen_TRUE@  $(top_srcdir)/include/grub/i386/xen/hypercall.h \
+ @COND_i386_xen_TRUE@  $(top_srcdir)/include/grub/terminfo.h \
+ @COND_i386_xen_TRUE@  $(top_srcdir)/include/grub/extcmd.h \
+ @COND_i386_xen_TRUE@  $(top_srcdir)/include/grub/lib/arg.h \
+ @COND_i386_xen_TRUE@  $(top_srcdir)/include/grub/loader.h
+-@COND_x86_64_xen_TRUE@am__append_5811 =  \
++@COND_x86_64_xen_TRUE@am__append_5804 =  \
+ @COND_x86_64_xen_TRUE@        $(top_srcdir)/include/grub/xen.h \
+ @COND_x86_64_xen_TRUE@        $(top_srcdir)/include/grub/x86_64/xen/hypercall.h \
+ @COND_x86_64_xen_TRUE@        $(top_srcdir)/include/grub/terminfo.h \
+ @COND_x86_64_xen_TRUE@        $(top_srcdir)/include/grub/extcmd.h \
+ @COND_x86_64_xen_TRUE@        $(top_srcdir)/include/grub/lib/arg.h \
+ @COND_x86_64_xen_TRUE@        $(top_srcdir)/include/grub/loader.h
+-@COND_x86_64_efi_TRUE@am__append_5812 = $(top_builddir)/include/grub/machine/kernel.h \
++@COND_x86_64_efi_TRUE@am__append_5805 = $(top_builddir)/include/grub/machine/kernel.h \
+ @COND_x86_64_efi_TRUE@        $(top_srcdir)/include/grub/efi/efi.h \
+ @COND_x86_64_efi_TRUE@        $(top_srcdir)/include/grub/efi/disk.h \
+ @COND_x86_64_efi_TRUE@        $(top_srcdir)/include/grub/i386/tsc.h \
+ @COND_x86_64_efi_TRUE@        $(top_srcdir)/include/grub/pci.h \
+ @COND_x86_64_efi_TRUE@        $(top_srcdir)/include/grub/acpi.h \
+ @COND_x86_64_efi_TRUE@        $(top_srcdir)/include/grub/i386/pmtimer.h
+-@COND_ia64_efi_TRUE@am__append_5813 =  \
++@COND_ia64_efi_TRUE@am__append_5806 =  \
+ @COND_ia64_efi_TRUE@  $(top_srcdir)/include/grub/efi/efi.h \
+ @COND_ia64_efi_TRUE@  $(top_srcdir)/include/grub/efi/disk.h \
+ @COND_ia64_efi_TRUE@  $(top_srcdir)/include/grub/acpi.h
+-@COND_mips_TRUE@am__append_5814 = $(top_builddir)/include/grub/cpu/kernel.h
+-@COND_mips_arc_TRUE@am__append_5815 =  \
++@COND_mips_TRUE@am__append_5807 = $(top_builddir)/include/grub/cpu/kernel.h
++@COND_mips_arc_TRUE@am__append_5808 =  \
+ @COND_mips_arc_TRUE@  $(top_srcdir)/include/grub/extcmd.h \
+ @COND_mips_arc_TRUE@  $(top_srcdir)/include/grub/arc/arc.h \
+ @COND_mips_arc_TRUE@  $(top_srcdir)/include/grub/terminfo.h
+-@COND_mips_qemu_mips_TRUE@am__append_5816 = $(top_builddir)/include/grub/keyboard_layouts.h \
++@COND_mips_qemu_mips_TRUE@am__append_5809 = $(top_builddir)/include/grub/keyboard_layouts.h \
+ @COND_mips_qemu_mips_TRUE@    $(top_builddir)/include/grub/machine/kernel.h \
+ @COND_mips_qemu_mips_TRUE@    $(top_srcdir)/include/grub/serial.h \
+ @COND_mips_qemu_mips_TRUE@    $(top_srcdir)/include/grub/loader.h \
+ @COND_mips_qemu_mips_TRUE@    $(top_srcdir)/include/grub/terminfo.h \
+ @COND_mips_qemu_mips_TRUE@    $(top_srcdir)/include/grub/extcmd.h \
+ @COND_mips_qemu_mips_TRUE@    $(top_srcdir)/include/grub/lib/arg.h
+-@COND_mips_loongson_TRUE@am__append_5817 = $(top_builddir)/include/grub/keyboard_layouts.h \
++@COND_mips_loongson_TRUE@am__append_5810 = $(top_builddir)/include/grub/keyboard_layouts.h \
+ @COND_mips_loongson_TRUE@     $(top_builddir)/include/grub/machine/kernel.h \
+ @COND_mips_loongson_TRUE@     $(top_builddir)/include/grub/machine/time.h \
+ @COND_mips_loongson_TRUE@     $(top_srcdir)/include/grub/video.h \
+@@ -7915,24 +7905,24 @@ TESTS =
+ @COND_mips_loongson_TRUE@     $(top_srcdir)/include/grub/terminfo.h \
+ @COND_mips_loongson_TRUE@     $(top_srcdir)/include/grub/extcmd.h \
+ @COND_mips_loongson_TRUE@     $(top_srcdir)/include/grub/lib/arg.h
+-@COND_mips_qemu_mips_TRUE@am__append_5818 = $(top_builddir)/include/grub/machine/memory.h \
++@COND_mips_qemu_mips_TRUE@am__append_5811 = $(top_builddir)/include/grub/machine/memory.h \
+ @COND_mips_qemu_mips_TRUE@    $(top_builddir)/include/grub/machine/kernel.h
+-@COND_powerpc_ieee1275_TRUE@am__append_5819 = $(top_srcdir)/include/grub/ieee1275/ieee1275.h \
++@COND_powerpc_ieee1275_TRUE@am__append_5812 = $(top_srcdir)/include/grub/ieee1275/ieee1275.h \
+ @COND_powerpc_ieee1275_TRUE@  $(top_srcdir)/include/grub/terminfo.h \
+ @COND_powerpc_ieee1275_TRUE@  $(top_srcdir)/include/grub/extcmd.h \
+ @COND_powerpc_ieee1275_TRUE@  $(top_srcdir)/include/grub/lib/arg.h
+-@COND_sparc64_ieee1275_TRUE@am__append_5820 = $(top_srcdir)/include/grub/ieee1275/ieee1275.h \
++@COND_sparc64_ieee1275_TRUE@am__append_5813 = $(top_srcdir)/include/grub/ieee1275/ieee1275.h \
+ @COND_sparc64_ieee1275_TRUE@  $(top_srcdir)/include/grub/sparc64/ieee1275/ieee1275.h \
+ @COND_sparc64_ieee1275_TRUE@  $(top_srcdir)/include/grub/terminfo.h \
+ @COND_sparc64_ieee1275_TRUE@  $(top_srcdir)/include/grub/extcmd.h \
+ @COND_sparc64_ieee1275_TRUE@  $(top_srcdir)/include/grub/lib/arg.h
+-@COND_arm_uboot_TRUE@am__append_5821 =  \
++@COND_arm_uboot_TRUE@am__append_5814 =  \
+ @COND_arm_uboot_TRUE@ $(top_srcdir)/include/grub/uboot/uboot.h \
+ @COND_arm_uboot_TRUE@ $(top_srcdir)/include/grub/uboot/disk.h \
+ @COND_arm_uboot_TRUE@ $(top_srcdir)/include/grub/extcmd.h \
+ @COND_arm_uboot_TRUE@ $(top_srcdir)/include/grub/lib/arg.h \
+ @COND_arm_uboot_TRUE@ $(top_srcdir)/include/grub/arm/system.h
+-@COND_arm_coreboot_TRUE@am__append_5822 = $(top_builddir)/include/grub/keyboard_layouts.h \
++@COND_arm_coreboot_TRUE@am__append_5815 = $(top_builddir)/include/grub/keyboard_layouts.h \
+ @COND_arm_coreboot_TRUE@      $(top_srcdir)/include/grub/arm/system.h \
+ @COND_arm_coreboot_TRUE@      $(top_srcdir)/include/grub/video.h \
+ @COND_arm_coreboot_TRUE@      $(top_srcdir)/include/grub/video_fb.h \
+@@ -7943,35 +7933,35 @@ TESTS =
+ @COND_arm_coreboot_TRUE@      $(top_srcdir)/include/grub/dma.h \
+ @COND_arm_coreboot_TRUE@      $(top_srcdir)/include/grub/arm/coreboot/kernel.h \
+ @COND_arm_coreboot_TRUE@      $(top_srcdir)/include/grub/fdtbus.h
+-@COND_arm_efi_TRUE@am__append_5823 =  \
++@COND_arm_efi_TRUE@am__append_5816 =  \
+ @COND_arm_efi_TRUE@   $(top_srcdir)/include/grub/efi/efi.h \
+ @COND_arm_efi_TRUE@   $(top_srcdir)/include/grub/efi/disk.h \
+ @COND_arm_efi_TRUE@   $(top_srcdir)/include/grub/arm/system.h \
+ @COND_arm_efi_TRUE@   $(top_srcdir)/include/grub/acpi.h
+-@COND_arm64_efi_TRUE@am__append_5824 =  \
++@COND_arm64_efi_TRUE@am__append_5817 =  \
+ @COND_arm64_efi_TRUE@ $(top_srcdir)/include/grub/efi/efi.h \
+ @COND_arm64_efi_TRUE@ $(top_srcdir)/include/grub/efi/disk.h \
+ @COND_arm64_efi_TRUE@ $(top_srcdir)/include/grub/acpi.h
+-@COND_riscv32_efi_TRUE@am__append_5825 =  \
++@COND_riscv32_efi_TRUE@am__append_5818 =  \
+ @COND_riscv32_efi_TRUE@       $(top_srcdir)/include/grub/efi/efi.h \
+ @COND_riscv32_efi_TRUE@       $(top_srcdir)/include/grub/efi/disk.h \
+ @COND_riscv32_efi_TRUE@       $(top_srcdir)/include/grub/acpi.h
+-@COND_riscv64_efi_TRUE@am__append_5826 =  \
++@COND_riscv64_efi_TRUE@am__append_5819 =  \
+ @COND_riscv64_efi_TRUE@       $(top_srcdir)/include/grub/efi/efi.h \
+ @COND_riscv64_efi_TRUE@       $(top_srcdir)/include/grub/efi/disk.h \
+ @COND_riscv64_efi_TRUE@       $(top_srcdir)/include/grub/acpi.h
+-@COND_emu_TRUE@am__append_5827 =  \
++@COND_emu_TRUE@am__append_5820 =  \
+ @COND_emu_TRUE@       $(top_srcdir)/include/grub/datetime.h \
+ @COND_emu_TRUE@       $(top_srcdir)/include/grub/emu/misc.h \
+ @COND_emu_TRUE@       $(top_srcdir)/include/grub/emu/net.h \
+ @COND_emu_TRUE@       $(top_srcdir)/include/grub/emu/hostdisk.h \
+ @COND_emu_TRUE@       $(top_srcdir)/include/grub/emu/hostfile.h \
+ @COND_emu_TRUE@       $(top_srcdir)/include/grub/extcmd.h
+-@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__append_5828 = $(top_srcdir)/include/grub/sdl.h
+-@COND_GRUB_EMU_PCI_TRUE@@COND_emu_TRUE@am__append_5829 = $(top_srcdir)/include/grub/libpciaccess.h
+-@COND_emu_TRUE@am__append_5830 = grub_emu_init.h grub_emu_init.c
+-@COND_ENABLE_EFIEMU_TRUE@am__append_5831 = efiemu32.o efiemu64.o
+-@COND_ENABLE_EFIEMU_TRUE@am__append_5832 = efiemu32.o efiemu64.o efiemu64_c.o efiemu64_s.o
++@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__append_5821 = $(top_srcdir)/include/grub/sdl.h
++@COND_GRUB_EMU_PCI_TRUE@@COND_emu_TRUE@am__append_5822 = $(top_srcdir)/include/grub/libpciaccess.h
++@COND_emu_TRUE@am__append_5823 = grub_emu_init.h grub_emu_init.c
++@COND_ENABLE_EFIEMU_TRUE@am__append_5824 = efiemu32.o efiemu64.o
++@COND_ENABLE_EFIEMU_TRUE@am__append_5825 = efiemu32.o efiemu64.o efiemu64_c.o efiemu64_s.o
+ subdir = grub-core
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
+@@ -8380,591 +8370,590 @@ am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(platformdir)" \
+ @COND_arm_coreboot_TRUE@am__EXEEXT_290 = reboot.module$(EXEEXT)
+ @COND_riscv32_efi_TRUE@am__EXEEXT_291 = reboot.module$(EXEEXT)
+ @COND_riscv64_efi_TRUE@am__EXEEXT_292 = reboot.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_293 = shim_lock.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_294 = hdparm.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_295 = hdparm.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_296 = hdparm.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_297 = hdparm.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_298 = hdparm.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_299 = hdparm.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_300 = hdparm.module$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__EXEEXT_301 = hdparm.module$(EXEEXT)
+-@COND_mips_qemu_mips_TRUE@am__EXEEXT_302 = hdparm.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_303 = loadbios.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_304 = loadbios.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_305 = lspci.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_306 = lspci.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_307 = lspci.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_308 = lspci.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_309 = lspci.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_310 = lspci.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_311 = lspci.module$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__EXEEXT_312 = lspci.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_313 = play.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_314 = play.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_315 = play.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_316 = play.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_317 = play.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_318 = play.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_319 = play.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_320 = spkmodem.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_321 = spkmodem.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_322 = spkmodem.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_323 = spkmodem.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_324 = spkmodem.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_325 = spkmodem.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_326 = spkmodem.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_327 = morse.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_328 = morse.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_329 = morse.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_330 = morse.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_331 = morse.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_332 = morse.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_333 = morse.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_334 = setpci.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_335 = setpci.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_336 = setpci.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_337 = setpci.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_338 = setpci.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_339 = setpci.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_340 = setpci.module$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__EXEEXT_341 = setpci.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_342 = pcidump.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_343 = pcidump.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_344 = pcidump.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_345 = pcidump.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_346 = pcidump.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_347 = pcidump.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_348 = pcidump.module$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__EXEEXT_349 = pcidump.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_350 = suspend.module$(EXEEXT)
+-@COND_powerpc_ieee1275_TRUE@am__EXEEXT_351 = suspend.module$(EXEEXT) \
++@COND_i386_pc_TRUE@am__EXEEXT_293 = hdparm.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_294 = hdparm.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_295 = hdparm.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_296 = hdparm.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_297 = hdparm.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_298 = hdparm.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_299 = hdparm.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__EXEEXT_300 = hdparm.module$(EXEEXT)
++@COND_mips_qemu_mips_TRUE@am__EXEEXT_301 = hdparm.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_302 = loadbios.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_303 = loadbios.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_304 = lspci.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_305 = lspci.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_306 = lspci.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_307 = lspci.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_308 = lspci.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_309 = lspci.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_310 = lspci.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__EXEEXT_311 = lspci.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_312 = play.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_313 = play.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_314 = play.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_315 = play.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_316 = play.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_317 = play.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_318 = play.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_319 = spkmodem.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_320 = spkmodem.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_321 = spkmodem.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_322 = spkmodem.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_323 = spkmodem.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_324 = spkmodem.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_325 = spkmodem.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_326 = morse.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_327 = morse.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_328 = morse.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_329 = morse.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_330 = morse.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_331 = morse.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_332 = morse.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_333 = setpci.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_334 = setpci.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_335 = setpci.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_336 = setpci.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_337 = setpci.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_338 = setpci.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_339 = setpci.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__EXEEXT_340 = setpci.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_341 = pcidump.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_342 = pcidump.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_343 = pcidump.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_344 = pcidump.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_345 = pcidump.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_346 = pcidump.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_347 = pcidump.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__EXEEXT_348 = pcidump.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_349 = suspend.module$(EXEEXT)
++@COND_powerpc_ieee1275_TRUE@am__EXEEXT_350 = suspend.module$(EXEEXT) \
+ @COND_powerpc_ieee1275_TRUE@  escc.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_352 = usbtest.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_353 = usbtest.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_354 = usbtest.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_355 = usbtest.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_356 = usbtest.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_357 = usbtest.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_358 = usbtest.module$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__EXEEXT_359 = usbtest.module$(EXEEXT)
+-@COND_arm_coreboot_TRUE@am__EXEEXT_360 = usbtest.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_361 = ata.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_362 = ata.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_363 = ata.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_364 = ata.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_365 = ata.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_366 = ata.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_367 = ata.module$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__EXEEXT_368 = ata.module$(EXEEXT)
+-@COND_mips_qemu_mips_TRUE@am__EXEEXT_369 = ata.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_370 = ahci.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_371 = ahci.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_372 = ahci.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_373 = ahci.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_374 = ahci.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_375 = ahci.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_376 = ahci.module$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__EXEEXT_377 = ahci.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_378 = pata.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_379 = pata.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_380 = pata.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_381 = pata.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_382 = pata.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_383 = pata.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_384 = pata.module$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__EXEEXT_385 = pata.module$(EXEEXT)
+-@COND_mips_qemu_mips_TRUE@am__EXEEXT_386 = pata.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_387 = biosdisk.module$(EXEEXT) \
++@COND_i386_pc_TRUE@am__EXEEXT_351 = usbtest.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_352 = usbtest.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_353 = usbtest.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_354 = usbtest.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_355 = usbtest.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_356 = usbtest.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_357 = usbtest.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__EXEEXT_358 = usbtest.module$(EXEEXT)
++@COND_arm_coreboot_TRUE@am__EXEEXT_359 = usbtest.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_360 = ata.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_361 = ata.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_362 = ata.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_363 = ata.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_364 = ata.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_365 = ata.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_366 = ata.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__EXEEXT_367 = ata.module$(EXEEXT)
++@COND_mips_qemu_mips_TRUE@am__EXEEXT_368 = ata.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_369 = ahci.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_370 = ahci.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_371 = ahci.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_372 = ahci.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_373 = ahci.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_374 = ahci.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_375 = ahci.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__EXEEXT_376 = ahci.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_377 = pata.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_378 = pata.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_379 = pata.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_380 = pata.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_381 = pata.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_382 = pata.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_383 = pata.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__EXEEXT_384 = pata.module$(EXEEXT)
++@COND_mips_qemu_mips_TRUE@am__EXEEXT_385 = pata.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_386 = biosdisk.module$(EXEEXT) \
+ @COND_i386_pc_TRUE@   usbms.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_388 = usbms.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_389 = usbms.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_390 = usbms.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_391 = usbms.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_392 = usbms.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_393 = usbms.module$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__EXEEXT_394 = usbms.module$(EXEEXT)
+-@COND_arm_coreboot_TRUE@am__EXEEXT_395 = usbms.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_396 = nand.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_397 = efiemu.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_398 = efiemu.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_399 = efiemu.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_400 = efiemu.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_401 = efiemu.module$(EXEEXT)
+-@COND_emu_TRUE@am__EXEEXT_402 = font.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_403 = font.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_404 = font.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_405 = font.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_406 = font.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_407 = font.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_408 = font.module$(EXEEXT)
+-@COND_i386_xen_TRUE@am__EXEEXT_409 = font.module$(EXEEXT)
+-@COND_x86_64_xen_TRUE@am__EXEEXT_410 = font.module$(EXEEXT)
+-@COND_i386_xen_pvh_TRUE@am__EXEEXT_411 = font.module$(EXEEXT)
+-@COND_sparc64_ieee1275_TRUE@am__EXEEXT_412 = font.module$(EXEEXT)
+-@COND_powerpc_ieee1275_TRUE@am__EXEEXT_413 = font.module$(EXEEXT)
+-@COND_mips_arc_TRUE@am__EXEEXT_414 = font.module$(EXEEXT)
+-@COND_ia64_efi_TRUE@am__EXEEXT_415 = font.module$(EXEEXT)
+-@COND_mips_qemu_mips_TRUE@am__EXEEXT_416 = font.module$(EXEEXT)
+-@COND_arm_uboot_TRUE@am__EXEEXT_417 = font.module$(EXEEXT)
+-@COND_arm_efi_TRUE@am__EXEEXT_418 = font.module$(EXEEXT)
+-@COND_arm64_efi_TRUE@am__EXEEXT_419 = font.module$(EXEEXT)
+-@COND_riscv32_efi_TRUE@am__EXEEXT_420 = font.module$(EXEEXT)
+-@COND_riscv64_efi_TRUE@am__EXEEXT_421 = font.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_422 = pxe.module$(EXEEXT)
+-@COND_emu_TRUE@am__EXEEXT_423 = bufio.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_424 = bufio.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_425 = bufio.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_426 = bufio.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_427 = bufio.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_428 = bufio.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_429 = bufio.module$(EXEEXT)
+-@COND_i386_xen_TRUE@am__EXEEXT_430 = bufio.module$(EXEEXT)
+-@COND_x86_64_xen_TRUE@am__EXEEXT_431 = bufio.module$(EXEEXT)
+-@COND_i386_xen_pvh_TRUE@am__EXEEXT_432 = bufio.module$(EXEEXT)
+-@COND_sparc64_ieee1275_TRUE@am__EXEEXT_433 = bufio.module$(EXEEXT)
+-@COND_powerpc_ieee1275_TRUE@am__EXEEXT_434 = bufio.module$(EXEEXT)
+-@COND_mips_arc_TRUE@am__EXEEXT_435 = bufio.module$(EXEEXT)
+-@COND_ia64_efi_TRUE@am__EXEEXT_436 = bufio.module$(EXEEXT)
+-@COND_mips_qemu_mips_TRUE@am__EXEEXT_437 = bufio.module$(EXEEXT)
+-@COND_arm_uboot_TRUE@am__EXEEXT_438 = bufio.module$(EXEEXT)
+-@COND_arm_efi_TRUE@am__EXEEXT_439 = bufio.module$(EXEEXT)
+-@COND_arm64_efi_TRUE@am__EXEEXT_440 = bufio.module$(EXEEXT)
+-@COND_riscv32_efi_TRUE@am__EXEEXT_441 = bufio.module$(EXEEXT)
+-@COND_riscv64_efi_TRUE@am__EXEEXT_442 = bufio.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_443 = relocator.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_444 = relocator.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_445 = relocator.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_446 = relocator.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_447 = relocator.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_448 = relocator.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_449 = relocator.module$(EXEEXT)
+-@COND_i386_xen_TRUE@am__EXEEXT_450 = relocator.module$(EXEEXT)
+-@COND_x86_64_xen_TRUE@am__EXEEXT_451 = relocator.module$(EXEEXT)
+-@COND_i386_xen_pvh_TRUE@am__EXEEXT_452 = relocator.module$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__EXEEXT_453 = relocator.module$(EXEEXT)
+-@COND_powerpc_ieee1275_TRUE@am__EXEEXT_454 =  \
++@COND_i386_efi_TRUE@am__EXEEXT_387 = usbms.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_388 = usbms.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_389 = usbms.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_390 = usbms.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_391 = usbms.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_392 = usbms.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__EXEEXT_393 = usbms.module$(EXEEXT)
++@COND_arm_coreboot_TRUE@am__EXEEXT_394 = usbms.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_395 = nand.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_396 = efiemu.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_397 = efiemu.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_398 = efiemu.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_399 = efiemu.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_400 = efiemu.module$(EXEEXT)
++@COND_emu_TRUE@am__EXEEXT_401 = font.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_402 = font.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_403 = font.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_404 = font.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_405 = font.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_406 = font.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_407 = font.module$(EXEEXT)
++@COND_i386_xen_TRUE@am__EXEEXT_408 = font.module$(EXEEXT)
++@COND_x86_64_xen_TRUE@am__EXEEXT_409 = font.module$(EXEEXT)
++@COND_i386_xen_pvh_TRUE@am__EXEEXT_410 = font.module$(EXEEXT)
++@COND_sparc64_ieee1275_TRUE@am__EXEEXT_411 = font.module$(EXEEXT)
++@COND_powerpc_ieee1275_TRUE@am__EXEEXT_412 = font.module$(EXEEXT)
++@COND_mips_arc_TRUE@am__EXEEXT_413 = font.module$(EXEEXT)
++@COND_ia64_efi_TRUE@am__EXEEXT_414 = font.module$(EXEEXT)
++@COND_mips_qemu_mips_TRUE@am__EXEEXT_415 = font.module$(EXEEXT)
++@COND_arm_uboot_TRUE@am__EXEEXT_416 = font.module$(EXEEXT)
++@COND_arm_efi_TRUE@am__EXEEXT_417 = font.module$(EXEEXT)
++@COND_arm64_efi_TRUE@am__EXEEXT_418 = font.module$(EXEEXT)
++@COND_riscv32_efi_TRUE@am__EXEEXT_419 = font.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__EXEEXT_420 = font.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_421 = pxe.module$(EXEEXT)
++@COND_emu_TRUE@am__EXEEXT_422 = bufio.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_423 = bufio.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_424 = bufio.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_425 = bufio.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_426 = bufio.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_427 = bufio.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_428 = bufio.module$(EXEEXT)
++@COND_i386_xen_TRUE@am__EXEEXT_429 = bufio.module$(EXEEXT)
++@COND_x86_64_xen_TRUE@am__EXEEXT_430 = bufio.module$(EXEEXT)
++@COND_i386_xen_pvh_TRUE@am__EXEEXT_431 = bufio.module$(EXEEXT)
++@COND_sparc64_ieee1275_TRUE@am__EXEEXT_432 = bufio.module$(EXEEXT)
++@COND_powerpc_ieee1275_TRUE@am__EXEEXT_433 = bufio.module$(EXEEXT)
++@COND_mips_arc_TRUE@am__EXEEXT_434 = bufio.module$(EXEEXT)
++@COND_ia64_efi_TRUE@am__EXEEXT_435 = bufio.module$(EXEEXT)
++@COND_mips_qemu_mips_TRUE@am__EXEEXT_436 = bufio.module$(EXEEXT)
++@COND_arm_uboot_TRUE@am__EXEEXT_437 = bufio.module$(EXEEXT)
++@COND_arm_efi_TRUE@am__EXEEXT_438 = bufio.module$(EXEEXT)
++@COND_arm64_efi_TRUE@am__EXEEXT_439 = bufio.module$(EXEEXT)
++@COND_riscv32_efi_TRUE@am__EXEEXT_440 = bufio.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__EXEEXT_441 = bufio.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_442 = relocator.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_443 = relocator.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_444 = relocator.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_445 = relocator.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_446 = relocator.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_447 = relocator.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_448 = relocator.module$(EXEEXT)
++@COND_i386_xen_TRUE@am__EXEEXT_449 = relocator.module$(EXEEXT)
++@COND_x86_64_xen_TRUE@am__EXEEXT_450 = relocator.module$(EXEEXT)
++@COND_i386_xen_pvh_TRUE@am__EXEEXT_451 = relocator.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__EXEEXT_452 = relocator.module$(EXEEXT)
++@COND_powerpc_ieee1275_TRUE@am__EXEEXT_453 =  \
+ @COND_powerpc_ieee1275_TRUE@  relocator.module$(EXEEXT)
+-@COND_mips_arc_TRUE@am__EXEEXT_455 = relocator.module$(EXEEXT)
+-@COND_mips_qemu_mips_TRUE@am__EXEEXT_456 = relocator.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_457 = datetime.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_458 = datetime.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_459 = datetime.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_460 = datetime.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_461 = datetime.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_462 = datetime.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_463 = datetime.module$(EXEEXT)
+-@COND_i386_xen_TRUE@am__EXEEXT_464 = datetime.module$(EXEEXT)
+-@COND_x86_64_xen_TRUE@am__EXEEXT_465 = datetime.module$(EXEEXT)
+-@COND_i386_xen_pvh_TRUE@am__EXEEXT_466 = datetime.module$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__EXEEXT_467 = datetime.module$(EXEEXT)
+-@COND_sparc64_ieee1275_TRUE@am__EXEEXT_468 = datetime.module$(EXEEXT)
+-@COND_powerpc_ieee1275_TRUE@am__EXEEXT_469 = datetime.module$(EXEEXT)
+-@COND_mips_arc_TRUE@am__EXEEXT_470 = datetime.module$(EXEEXT)
+-@COND_ia64_efi_TRUE@am__EXEEXT_471 = datetime.module$(EXEEXT)
+-@COND_mips_qemu_mips_TRUE@am__EXEEXT_472 = datetime.module$(EXEEXT)
+-@COND_arm_uboot_TRUE@am__EXEEXT_473 = datetime.module$(EXEEXT)
+-@COND_arm_efi_TRUE@am__EXEEXT_474 = datetime.module$(EXEEXT)
+-@COND_arm64_efi_TRUE@am__EXEEXT_475 = datetime.module$(EXEEXT)
+-@COND_arm_coreboot_TRUE@am__EXEEXT_476 = datetime.module$(EXEEXT)
+-@COND_riscv32_efi_TRUE@am__EXEEXT_477 = datetime.module$(EXEEXT)
+-@COND_riscv64_efi_TRUE@am__EXEEXT_478 = datetime.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_479 = aout.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_480 = aout.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_481 = aout.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_482 = aout.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_483 = aout.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_484 = aout.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_485 = aout.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_486 = bsd.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_487 = bsd.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_488 = bsd.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_489 = bsd.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_490 = bsd.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_491 = bsd.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_492 = bsd.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_493 = plan9.module$(EXEEXT) \
++@COND_mips_arc_TRUE@am__EXEEXT_454 = relocator.module$(EXEEXT)
++@COND_mips_qemu_mips_TRUE@am__EXEEXT_455 = relocator.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_456 = datetime.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_457 = datetime.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_458 = datetime.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_459 = datetime.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_460 = datetime.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_461 = datetime.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_462 = datetime.module$(EXEEXT)
++@COND_i386_xen_TRUE@am__EXEEXT_463 = datetime.module$(EXEEXT)
++@COND_x86_64_xen_TRUE@am__EXEEXT_464 = datetime.module$(EXEEXT)
++@COND_i386_xen_pvh_TRUE@am__EXEEXT_465 = datetime.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__EXEEXT_466 = datetime.module$(EXEEXT)
++@COND_sparc64_ieee1275_TRUE@am__EXEEXT_467 = datetime.module$(EXEEXT)
++@COND_powerpc_ieee1275_TRUE@am__EXEEXT_468 = datetime.module$(EXEEXT)
++@COND_mips_arc_TRUE@am__EXEEXT_469 = datetime.module$(EXEEXT)
++@COND_ia64_efi_TRUE@am__EXEEXT_470 = datetime.module$(EXEEXT)
++@COND_mips_qemu_mips_TRUE@am__EXEEXT_471 = datetime.module$(EXEEXT)
++@COND_arm_uboot_TRUE@am__EXEEXT_472 = datetime.module$(EXEEXT)
++@COND_arm_efi_TRUE@am__EXEEXT_473 = datetime.module$(EXEEXT)
++@COND_arm64_efi_TRUE@am__EXEEXT_474 = datetime.module$(EXEEXT)
++@COND_arm_coreboot_TRUE@am__EXEEXT_475 = datetime.module$(EXEEXT)
++@COND_riscv32_efi_TRUE@am__EXEEXT_476 = datetime.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__EXEEXT_477 = datetime.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_478 = aout.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_479 = aout.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_480 = aout.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_481 = aout.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_482 = aout.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_483 = aout.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_484 = aout.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_485 = bsd.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_486 = bsd.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_487 = bsd.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_488 = bsd.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_489 = bsd.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_490 = bsd.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_491 = bsd.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_492 = plan9.module$(EXEEXT) \
+ @COND_i386_pc_TRUE@   linux16.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_494 = linux16.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_495 = linux16.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_496 = linux16.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_497 = linux16.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_498 = linux16.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_499 = linux16.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_500 = ntldr.module$(EXEEXT) \
++@COND_i386_efi_TRUE@am__EXEEXT_493 = linux16.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_494 = linux16.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_495 = linux16.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_496 = linux16.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_497 = linux16.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_498 = linux16.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_499 = ntldr.module$(EXEEXT) \
+ @COND_i386_pc_TRUE@   truecrypt.module$(EXEEXT) \
+ @COND_i386_pc_TRUE@   freedos.module$(EXEEXT) \
+ @COND_i386_pc_TRUE@   pxechain.module$(EXEEXT) \
+ @COND_i386_pc_TRUE@   multiboot2.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_501 = multiboot2.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_502 = multiboot2.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_503 = multiboot2.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_504 = multiboot2.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_505 = multiboot2.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_506 = multiboot2.module$(EXEEXT)
+-@COND_i386_xen_pvh_TRUE@am__EXEEXT_507 = multiboot2.module$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__EXEEXT_508 = multiboot2.module$(EXEEXT)
+-@COND_mips_arc_TRUE@am__EXEEXT_509 = multiboot2.module$(EXEEXT)
+-@COND_mips_qemu_mips_TRUE@am__EXEEXT_510 = multiboot2.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_511 = multiboot.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_512 = multiboot.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_513 = multiboot.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_514 = multiboot.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_515 = multiboot.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_516 = multiboot.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_517 = multiboot.module$(EXEEXT)
+-@COND_i386_xen_pvh_TRUE@am__EXEEXT_518 = multiboot.module$(EXEEXT)
+-@COND_arm64_efi_TRUE@am__EXEEXT_519 = xen_boot.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_520 = linux.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_521 = linux.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_522 = linux.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_523 = linux.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_524 = linux.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_525 = linux.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_526 = linux.module$(EXEEXT)
+-@COND_i386_xen_TRUE@am__EXEEXT_527 = linux.module$(EXEEXT)
+-@COND_x86_64_xen_TRUE@am__EXEEXT_528 = linux.module$(EXEEXT)
+-@COND_i386_xen_pvh_TRUE@am__EXEEXT_529 = linux.module$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__EXEEXT_530 = linux.module$(EXEEXT)
+-@COND_sparc64_ieee1275_TRUE@am__EXEEXT_531 = linux.module$(EXEEXT)
+-@COND_powerpc_ieee1275_TRUE@am__EXEEXT_532 = linux.module$(EXEEXT)
+-@COND_mips_arc_TRUE@am__EXEEXT_533 = linux.module$(EXEEXT)
+-@COND_ia64_efi_TRUE@am__EXEEXT_534 = linux.module$(EXEEXT)
+-@COND_mips_qemu_mips_TRUE@am__EXEEXT_535 = linux.module$(EXEEXT)
+-@COND_arm_uboot_TRUE@am__EXEEXT_536 = linux.module$(EXEEXT)
+-@COND_arm_efi_TRUE@am__EXEEXT_537 = linux.module$(EXEEXT)
+-@COND_arm64_efi_TRUE@am__EXEEXT_538 = linux.module$(EXEEXT)
+-@COND_arm_coreboot_TRUE@am__EXEEXT_539 = linux.module$(EXEEXT)
+-@COND_riscv32_efi_TRUE@am__EXEEXT_540 = linux.module$(EXEEXT)
+-@COND_riscv64_efi_TRUE@am__EXEEXT_541 = linux.module$(EXEEXT)
+-@COND_arm_uboot_TRUE@am__EXEEXT_542 = fdt.module$(EXEEXT)
+-@COND_arm_efi_TRUE@am__EXEEXT_543 = fdt.module$(EXEEXT)
+-@COND_arm64_efi_TRUE@am__EXEEXT_544 = fdt.module$(EXEEXT)
+-@COND_riscv32_efi_TRUE@am__EXEEXT_545 = fdt.module$(EXEEXT)
+-@COND_riscv64_efi_TRUE@am__EXEEXT_546 = fdt.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_547 = xnu.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_548 = xnu.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_549 = xnu.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_550 = xnu.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_551 = xnu.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_552 = random.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_553 = random.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_554 = random.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_555 = random.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_556 = random.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_557 = appleldr.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_558 = appleldr.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_559 = chain.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_560 = chain.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_561 = chain.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_562 = chain.module$(EXEEXT)
+-@COND_ia64_efi_TRUE@am__EXEEXT_563 = chain.module$(EXEEXT)
+-@COND_arm_efi_TRUE@am__EXEEXT_564 = chain.module$(EXEEXT)
+-@COND_arm64_efi_TRUE@am__EXEEXT_565 = chain.module$(EXEEXT)
+-@COND_riscv32_efi_TRUE@am__EXEEXT_566 = chain.module$(EXEEXT)
+-@COND_riscv64_efi_TRUE@am__EXEEXT_567 = chain.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_568 = mmap.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_569 = mmap.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_570 = mmap.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_571 = mmap.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_572 = mmap.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_573 = mmap.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_574 = mmap.module$(EXEEXT)
+-@COND_i386_xen_pvh_TRUE@am__EXEEXT_575 = mmap.module$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__EXEEXT_576 = mmap.module$(EXEEXT)
+-@COND_mips_arc_TRUE@am__EXEEXT_577 = mmap.module$(EXEEXT)
+-@COND_ia64_efi_TRUE@am__EXEEXT_578 = mmap.module$(EXEEXT)
+-@COND_mips_qemu_mips_TRUE@am__EXEEXT_579 = mmap.module$(EXEEXT)
+-@COND_arm_efi_TRUE@am__EXEEXT_580 = mmap.module$(EXEEXT)
+-@COND_arm64_efi_TRUE@am__EXEEXT_581 = mmap.module$(EXEEXT)
+-@COND_riscv32_efi_TRUE@am__EXEEXT_582 = mmap.module$(EXEEXT)
+-@COND_riscv64_efi_TRUE@am__EXEEXT_583 = mmap.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_584 = at_keyboard.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_585 = at_keyboard.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_586 = at_keyboard.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_587 = at_keyboard.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_588 =  \
++@COND_i386_efi_TRUE@am__EXEEXT_500 = multiboot2.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_501 = multiboot2.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_502 = multiboot2.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_503 = multiboot2.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_504 = multiboot2.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_505 = multiboot2.module$(EXEEXT)
++@COND_i386_xen_pvh_TRUE@am__EXEEXT_506 = multiboot2.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__EXEEXT_507 = multiboot2.module$(EXEEXT)
++@COND_mips_arc_TRUE@am__EXEEXT_508 = multiboot2.module$(EXEEXT)
++@COND_mips_qemu_mips_TRUE@am__EXEEXT_509 = multiboot2.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_510 = multiboot.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_511 = multiboot.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_512 = multiboot.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_513 = multiboot.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_514 = multiboot.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_515 = multiboot.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_516 = multiboot.module$(EXEEXT)
++@COND_i386_xen_pvh_TRUE@am__EXEEXT_517 = multiboot.module$(EXEEXT)
++@COND_arm64_efi_TRUE@am__EXEEXT_518 = xen_boot.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_519 = linux.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_520 = linux.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_521 = linux.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_522 = linux.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_523 = linux.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_524 = linux.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_525 = linux.module$(EXEEXT)
++@COND_i386_xen_TRUE@am__EXEEXT_526 = linux.module$(EXEEXT)
++@COND_x86_64_xen_TRUE@am__EXEEXT_527 = linux.module$(EXEEXT)
++@COND_i386_xen_pvh_TRUE@am__EXEEXT_528 = linux.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__EXEEXT_529 = linux.module$(EXEEXT)
++@COND_sparc64_ieee1275_TRUE@am__EXEEXT_530 = linux.module$(EXEEXT)
++@COND_powerpc_ieee1275_TRUE@am__EXEEXT_531 = linux.module$(EXEEXT)
++@COND_mips_arc_TRUE@am__EXEEXT_532 = linux.module$(EXEEXT)
++@COND_ia64_efi_TRUE@am__EXEEXT_533 = linux.module$(EXEEXT)
++@COND_mips_qemu_mips_TRUE@am__EXEEXT_534 = linux.module$(EXEEXT)
++@COND_arm_uboot_TRUE@am__EXEEXT_535 = linux.module$(EXEEXT)
++@COND_arm_efi_TRUE@am__EXEEXT_536 = linux.module$(EXEEXT)
++@COND_arm64_efi_TRUE@am__EXEEXT_537 = linux.module$(EXEEXT)
++@COND_arm_coreboot_TRUE@am__EXEEXT_538 = linux.module$(EXEEXT)
++@COND_riscv32_efi_TRUE@am__EXEEXT_539 = linux.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__EXEEXT_540 = linux.module$(EXEEXT)
++@COND_arm_uboot_TRUE@am__EXEEXT_541 = fdt.module$(EXEEXT)
++@COND_arm_efi_TRUE@am__EXEEXT_542 = fdt.module$(EXEEXT)
++@COND_arm64_efi_TRUE@am__EXEEXT_543 = fdt.module$(EXEEXT)
++@COND_riscv32_efi_TRUE@am__EXEEXT_544 = fdt.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__EXEEXT_545 = fdt.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_546 = xnu.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_547 = xnu.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_548 = xnu.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_549 = xnu.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_550 = xnu.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_551 = random.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_552 = random.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_553 = random.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_554 = random.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_555 = random.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_556 = appleldr.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_557 = appleldr.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_558 = chain.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_559 = chain.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_560 = chain.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_561 = chain.module$(EXEEXT)
++@COND_ia64_efi_TRUE@am__EXEEXT_562 = chain.module$(EXEEXT)
++@COND_arm_efi_TRUE@am__EXEEXT_563 = chain.module$(EXEEXT)
++@COND_arm64_efi_TRUE@am__EXEEXT_564 = chain.module$(EXEEXT)
++@COND_riscv32_efi_TRUE@am__EXEEXT_565 = chain.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__EXEEXT_566 = chain.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_567 = mmap.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_568 = mmap.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_569 = mmap.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_570 = mmap.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_571 = mmap.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_572 = mmap.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_573 = mmap.module$(EXEEXT)
++@COND_i386_xen_pvh_TRUE@am__EXEEXT_574 = mmap.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__EXEEXT_575 = mmap.module$(EXEEXT)
++@COND_mips_arc_TRUE@am__EXEEXT_576 = mmap.module$(EXEEXT)
++@COND_ia64_efi_TRUE@am__EXEEXT_577 = mmap.module$(EXEEXT)
++@COND_mips_qemu_mips_TRUE@am__EXEEXT_578 = mmap.module$(EXEEXT)
++@COND_arm_efi_TRUE@am__EXEEXT_579 = mmap.module$(EXEEXT)
++@COND_arm64_efi_TRUE@am__EXEEXT_580 = mmap.module$(EXEEXT)
++@COND_riscv32_efi_TRUE@am__EXEEXT_581 = mmap.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__EXEEXT_582 = mmap.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_583 = at_keyboard.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_584 = at_keyboard.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_585 = at_keyboard.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_586 = at_keyboard.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_587 =  \
+ @COND_i386_multiboot_TRUE@    at_keyboard.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_589 = at_keyboard.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_590 = at_keyboard.module$(EXEEXT)
+-@COND_emu_TRUE@am__EXEEXT_591 = gfxterm.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_592 = gfxterm.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_593 = gfxterm.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_594 = gfxterm.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_595 = gfxterm.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_596 = gfxterm.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_597 = gfxterm.module$(EXEEXT)
+-@COND_i386_xen_TRUE@am__EXEEXT_598 = gfxterm.module$(EXEEXT)
+-@COND_x86_64_xen_TRUE@am__EXEEXT_599 = gfxterm.module$(EXEEXT)
+-@COND_i386_xen_pvh_TRUE@am__EXEEXT_600 = gfxterm.module$(EXEEXT)
+-@COND_sparc64_ieee1275_TRUE@am__EXEEXT_601 = gfxterm.module$(EXEEXT)
+-@COND_powerpc_ieee1275_TRUE@am__EXEEXT_602 = gfxterm.module$(EXEEXT)
+-@COND_mips_arc_TRUE@am__EXEEXT_603 = gfxterm.module$(EXEEXT)
+-@COND_ia64_efi_TRUE@am__EXEEXT_604 = gfxterm.module$(EXEEXT)
+-@COND_mips_qemu_mips_TRUE@am__EXEEXT_605 = gfxterm.module$(EXEEXT)
+-@COND_arm_uboot_TRUE@am__EXEEXT_606 = gfxterm.module$(EXEEXT)
+-@COND_arm_efi_TRUE@am__EXEEXT_607 = gfxterm.module$(EXEEXT)
+-@COND_arm64_efi_TRUE@am__EXEEXT_608 = gfxterm.module$(EXEEXT)
+-@COND_riscv32_efi_TRUE@am__EXEEXT_609 = gfxterm.module$(EXEEXT)
+-@COND_riscv64_efi_TRUE@am__EXEEXT_610 = gfxterm.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_611 = serial.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_612 = serial.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_613 = serial.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_614 = serial.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_615 = serial.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_616 = serial.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_617 = serial.module$(EXEEXT)
+-@COND_sparc64_ieee1275_TRUE@am__EXEEXT_618 = serial.module$(EXEEXT)
+-@COND_powerpc_ieee1275_TRUE@am__EXEEXT_619 = serial.module$(EXEEXT)
+-@COND_mips_arc_TRUE@am__EXEEXT_620 = serial.module$(EXEEXT)
+-@COND_ia64_efi_TRUE@am__EXEEXT_621 = serial.module$(EXEEXT)
+-@COND_arm_efi_TRUE@am__EXEEXT_622 = serial.module$(EXEEXT)
+-@COND_arm64_efi_TRUE@am__EXEEXT_623 = serial.module$(EXEEXT)
+-@COND_arm_coreboot_TRUE@am__EXEEXT_624 = serial.module$(EXEEXT)
+-@COND_riscv32_efi_TRUE@am__EXEEXT_625 = serial.module$(EXEEXT)
+-@COND_riscv64_efi_TRUE@am__EXEEXT_626 = serial.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_627 = sendkey.module$(EXEEXT) \
++@COND_i386_ieee1275_TRUE@am__EXEEXT_588 = at_keyboard.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_589 = at_keyboard.module$(EXEEXT)
++@COND_emu_TRUE@am__EXEEXT_590 = gfxterm.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_591 = gfxterm.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_592 = gfxterm.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_593 = gfxterm.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_594 = gfxterm.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_595 = gfxterm.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_596 = gfxterm.module$(EXEEXT)
++@COND_i386_xen_TRUE@am__EXEEXT_597 = gfxterm.module$(EXEEXT)
++@COND_x86_64_xen_TRUE@am__EXEEXT_598 = gfxterm.module$(EXEEXT)
++@COND_i386_xen_pvh_TRUE@am__EXEEXT_599 = gfxterm.module$(EXEEXT)
++@COND_sparc64_ieee1275_TRUE@am__EXEEXT_600 = gfxterm.module$(EXEEXT)
++@COND_powerpc_ieee1275_TRUE@am__EXEEXT_601 = gfxterm.module$(EXEEXT)
++@COND_mips_arc_TRUE@am__EXEEXT_602 = gfxterm.module$(EXEEXT)
++@COND_ia64_efi_TRUE@am__EXEEXT_603 = gfxterm.module$(EXEEXT)
++@COND_mips_qemu_mips_TRUE@am__EXEEXT_604 = gfxterm.module$(EXEEXT)
++@COND_arm_uboot_TRUE@am__EXEEXT_605 = gfxterm.module$(EXEEXT)
++@COND_arm_efi_TRUE@am__EXEEXT_606 = gfxterm.module$(EXEEXT)
++@COND_arm64_efi_TRUE@am__EXEEXT_607 = gfxterm.module$(EXEEXT)
++@COND_riscv32_efi_TRUE@am__EXEEXT_608 = gfxterm.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__EXEEXT_609 = gfxterm.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_610 = serial.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_611 = serial.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_612 = serial.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_613 = serial.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_614 = serial.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_615 = serial.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_616 = serial.module$(EXEEXT)
++@COND_sparc64_ieee1275_TRUE@am__EXEEXT_617 = serial.module$(EXEEXT)
++@COND_powerpc_ieee1275_TRUE@am__EXEEXT_618 = serial.module$(EXEEXT)
++@COND_mips_arc_TRUE@am__EXEEXT_619 = serial.module$(EXEEXT)
++@COND_ia64_efi_TRUE@am__EXEEXT_620 = serial.module$(EXEEXT)
++@COND_arm_efi_TRUE@am__EXEEXT_621 = serial.module$(EXEEXT)
++@COND_arm64_efi_TRUE@am__EXEEXT_622 = serial.module$(EXEEXT)
++@COND_arm_coreboot_TRUE@am__EXEEXT_623 = serial.module$(EXEEXT)
++@COND_riscv32_efi_TRUE@am__EXEEXT_624 = serial.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__EXEEXT_625 = serial.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_626 = sendkey.module$(EXEEXT) \
+ @COND_i386_pc_TRUE@   terminfo.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_628 = terminfo.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_629 = terminfo.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_630 = terminfo.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_631 = terminfo.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_632 = terminfo.module$(EXEEXT)
+-@COND_ia64_efi_TRUE@am__EXEEXT_633 = terminfo.module$(EXEEXT)
+-@COND_arm_efi_TRUE@am__EXEEXT_634 = terminfo.module$(EXEEXT)
+-@COND_arm64_efi_TRUE@am__EXEEXT_635 = terminfo.module$(EXEEXT)
+-@COND_arm_coreboot_TRUE@am__EXEEXT_636 = terminfo.module$(EXEEXT)
+-@COND_riscv32_efi_TRUE@am__EXEEXT_637 = terminfo.module$(EXEEXT)
+-@COND_riscv64_efi_TRUE@am__EXEEXT_638 = terminfo.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_639 = usb_keyboard.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_640 = usb_keyboard.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_641 = usb_keyboard.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_642 =  \
++@COND_i386_efi_TRUE@am__EXEEXT_627 = terminfo.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_628 = terminfo.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_629 = terminfo.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_630 = terminfo.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_631 = terminfo.module$(EXEEXT)
++@COND_ia64_efi_TRUE@am__EXEEXT_632 = terminfo.module$(EXEEXT)
++@COND_arm_efi_TRUE@am__EXEEXT_633 = terminfo.module$(EXEEXT)
++@COND_arm64_efi_TRUE@am__EXEEXT_634 = terminfo.module$(EXEEXT)
++@COND_arm_coreboot_TRUE@am__EXEEXT_635 = terminfo.module$(EXEEXT)
++@COND_riscv32_efi_TRUE@am__EXEEXT_636 = terminfo.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__EXEEXT_637 = terminfo.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_638 = usb_keyboard.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_639 = usb_keyboard.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_640 = usb_keyboard.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_641 =  \
+ @COND_i386_coreboot_TRUE@     usb_keyboard.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_643 =  \
++@COND_i386_multiboot_TRUE@am__EXEEXT_642 =  \
+ @COND_i386_multiboot_TRUE@    usb_keyboard.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_644 =  \
++@COND_i386_ieee1275_TRUE@am__EXEEXT_643 =  \
+ @COND_i386_ieee1275_TRUE@     usb_keyboard.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_645 = usb_keyboard.module$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__EXEEXT_646 =  \
++@COND_x86_64_efi_TRUE@am__EXEEXT_644 = usb_keyboard.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__EXEEXT_645 =  \
+ @COND_mips_loongson_TRUE@     usb_keyboard.module$(EXEEXT)
+-@COND_arm_coreboot_TRUE@am__EXEEXT_647 = usb_keyboard.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_648 = vga.module$(EXEEXT) \
++@COND_arm_coreboot_TRUE@am__EXEEXT_646 = usb_keyboard.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_647 = vga.module$(EXEEXT) \
+ @COND_i386_pc_TRUE@   vga_text.module$(EXEEXT) \
+ @COND_i386_pc_TRUE@   mda_text.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_649 = mda_text.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_650 = mda_text.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_651 = mda_text.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_652 = video_cirrus.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_653 = video_cirrus.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_654 = video_cirrus.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_655 =  \
++@COND_i386_qemu_TRUE@am__EXEEXT_648 = mda_text.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_649 = mda_text.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_650 = mda_text.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_651 = video_cirrus.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_652 = video_cirrus.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_653 = video_cirrus.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_654 =  \
+ @COND_i386_coreboot_TRUE@     video_cirrus.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_656 =  \
++@COND_i386_multiboot_TRUE@am__EXEEXT_655 =  \
+ @COND_i386_multiboot_TRUE@    video_cirrus.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_657 =  \
++@COND_i386_ieee1275_TRUE@am__EXEEXT_656 =  \
+ @COND_i386_ieee1275_TRUE@     video_cirrus.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_658 = video_cirrus.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_659 = video_bochs.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_660 = video_bochs.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_661 = video_bochs.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_662 = video_bochs.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_663 =  \
++@COND_x86_64_efi_TRUE@am__EXEEXT_657 = video_cirrus.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_658 = video_bochs.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_659 = video_bochs.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_660 = video_bochs.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_661 = video_bochs.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_662 =  \
+ @COND_i386_multiboot_TRUE@    video_bochs.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_664 = video_bochs.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_665 = video_bochs.module$(EXEEXT)
+-@COND_emu_TRUE@am__EXEEXT_666 = legacy_password_test.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_667 =  \
++@COND_i386_ieee1275_TRUE@am__EXEEXT_663 = video_bochs.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_664 = video_bochs.module$(EXEEXT)
++@COND_emu_TRUE@am__EXEEXT_665 = legacy_password_test.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_666 =  \
+ @COND_i386_pc_TRUE@   legacy_password_test.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_668 =  \
++@COND_i386_efi_TRUE@am__EXEEXT_667 =  \
+ @COND_i386_efi_TRUE@  legacy_password_test.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_669 =  \
++@COND_x86_64_efi_TRUE@am__EXEEXT_668 =  \
+ @COND_x86_64_efi_TRUE@        legacy_password_test.module$(EXEEXT)
+-@COND_i386_xen_TRUE@am__EXEEXT_670 =  \
++@COND_i386_xen_TRUE@am__EXEEXT_669 =  \
+ @COND_i386_xen_TRUE@  legacy_password_test.module$(EXEEXT)
+-@COND_x86_64_xen_TRUE@am__EXEEXT_671 =  \
++@COND_x86_64_xen_TRUE@am__EXEEXT_670 =  \
+ @COND_x86_64_xen_TRUE@        legacy_password_test.module$(EXEEXT)
+-@COND_i386_xen_pvh_TRUE@am__EXEEXT_672 =  \
++@COND_i386_xen_pvh_TRUE@am__EXEEXT_671 =  \
+ @COND_i386_xen_pvh_TRUE@      legacy_password_test.module$(EXEEXT)
+-@COND_emu_TRUE@am__EXEEXT_673 = div.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_674 = div.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_675 = div.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_676 = div.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_677 = div.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_678 = div.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_679 = div.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_680 = div.module$(EXEEXT)
+-@COND_i386_xen_TRUE@am__EXEEXT_681 = div.module$(EXEEXT)
+-@COND_x86_64_xen_TRUE@am__EXEEXT_682 = div.module$(EXEEXT)
+-@COND_i386_xen_pvh_TRUE@am__EXEEXT_683 = div.module$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__EXEEXT_684 = div.module$(EXEEXT)
+-@COND_sparc64_ieee1275_TRUE@am__EXEEXT_685 = div.module$(EXEEXT)
+-@COND_powerpc_ieee1275_TRUE@am__EXEEXT_686 = div.module$(EXEEXT)
+-@COND_mips_arc_TRUE@am__EXEEXT_687 = div.module$(EXEEXT)
+-@COND_mips_qemu_mips_TRUE@am__EXEEXT_688 = div.module$(EXEEXT)
+-@COND_arm64_efi_TRUE@am__EXEEXT_689 = div.module$(EXEEXT)
+-@COND_riscv64_efi_TRUE@am__EXEEXT_690 = div.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_691 = efi_gop.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_692 = efi_gop.module$(EXEEXT)
+-@COND_ia64_efi_TRUE@am__EXEEXT_693 = efi_gop.module$(EXEEXT)
+-@COND_arm_efi_TRUE@am__EXEEXT_694 = efi_gop.module$(EXEEXT)
+-@COND_arm64_efi_TRUE@am__EXEEXT_695 = efi_gop.module$(EXEEXT)
+-@COND_riscv32_efi_TRUE@am__EXEEXT_696 = efi_gop.module$(EXEEXT)
+-@COND_riscv64_efi_TRUE@am__EXEEXT_697 = efi_gop.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_698 = efi_uga.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_699 = efi_uga.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_700 = vbe.module$(EXEEXT)
+-@COND_emu_TRUE@am__EXEEXT_701 = video_fb.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_702 = video_fb.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_703 = video_fb.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_704 = video_fb.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_705 = video_fb.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_706 = video_fb.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_707 = video_fb.module$(EXEEXT)
+-@COND_i386_xen_TRUE@am__EXEEXT_708 = video_fb.module$(EXEEXT)
+-@COND_x86_64_xen_TRUE@am__EXEEXT_709 = video_fb.module$(EXEEXT)
+-@COND_i386_xen_pvh_TRUE@am__EXEEXT_710 = video_fb.module$(EXEEXT)
+-@COND_sparc64_ieee1275_TRUE@am__EXEEXT_711 = video_fb.module$(EXEEXT)
+-@COND_powerpc_ieee1275_TRUE@am__EXEEXT_712 = video_fb.module$(EXEEXT)
+-@COND_mips_arc_TRUE@am__EXEEXT_713 = video_fb.module$(EXEEXT)
+-@COND_ia64_efi_TRUE@am__EXEEXT_714 = video_fb.module$(EXEEXT)
+-@COND_mips_qemu_mips_TRUE@am__EXEEXT_715 = video_fb.module$(EXEEXT)
+-@COND_arm_uboot_TRUE@am__EXEEXT_716 = video_fb.module$(EXEEXT)
+-@COND_arm_efi_TRUE@am__EXEEXT_717 = video_fb.module$(EXEEXT)
+-@COND_arm64_efi_TRUE@am__EXEEXT_718 = video_fb.module$(EXEEXT)
+-@COND_riscv32_efi_TRUE@am__EXEEXT_719 = video_fb.module$(EXEEXT)
+-@COND_riscv64_efi_TRUE@am__EXEEXT_720 = video_fb.module$(EXEEXT)
+-@COND_emu_TRUE@am__EXEEXT_721 = video.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_722 = video.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_723 = video.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_724 = video.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_725 = video.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_726 = video.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_727 = video.module$(EXEEXT)
+-@COND_i386_xen_TRUE@am__EXEEXT_728 = video.module$(EXEEXT)
+-@COND_x86_64_xen_TRUE@am__EXEEXT_729 = video.module$(EXEEXT)
+-@COND_i386_xen_pvh_TRUE@am__EXEEXT_730 = video.module$(EXEEXT)
+-@COND_sparc64_ieee1275_TRUE@am__EXEEXT_731 = video.module$(EXEEXT)
+-@COND_powerpc_ieee1275_TRUE@am__EXEEXT_732 = video.module$(EXEEXT)
+-@COND_mips_arc_TRUE@am__EXEEXT_733 = video.module$(EXEEXT)
+-@COND_ia64_efi_TRUE@am__EXEEXT_734 = video.module$(EXEEXT)
+-@COND_mips_qemu_mips_TRUE@am__EXEEXT_735 = video.module$(EXEEXT)
+-@COND_arm_uboot_TRUE@am__EXEEXT_736 = video.module$(EXEEXT)
+-@COND_arm_efi_TRUE@am__EXEEXT_737 = video.module$(EXEEXT)
+-@COND_arm64_efi_TRUE@am__EXEEXT_738 = video.module$(EXEEXT)
+-@COND_riscv32_efi_TRUE@am__EXEEXT_739 = video.module$(EXEEXT)
+-@COND_riscv64_efi_TRUE@am__EXEEXT_740 = video.module$(EXEEXT)
+-@COND_powerpc_ieee1275_TRUE@am__EXEEXT_741 =  \
++@COND_emu_TRUE@am__EXEEXT_672 = div.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_673 = div.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_674 = div.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_675 = div.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_676 = div.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_677 = div.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_678 = div.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_679 = div.module$(EXEEXT)
++@COND_i386_xen_TRUE@am__EXEEXT_680 = div.module$(EXEEXT)
++@COND_x86_64_xen_TRUE@am__EXEEXT_681 = div.module$(EXEEXT)
++@COND_i386_xen_pvh_TRUE@am__EXEEXT_682 = div.module$(EXEEXT)
++@COND_mips_loongson_TRUE@am__EXEEXT_683 = div.module$(EXEEXT)
++@COND_sparc64_ieee1275_TRUE@am__EXEEXT_684 = div.module$(EXEEXT)
++@COND_powerpc_ieee1275_TRUE@am__EXEEXT_685 = div.module$(EXEEXT)
++@COND_mips_arc_TRUE@am__EXEEXT_686 = div.module$(EXEEXT)
++@COND_mips_qemu_mips_TRUE@am__EXEEXT_687 = div.module$(EXEEXT)
++@COND_arm64_efi_TRUE@am__EXEEXT_688 = div.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__EXEEXT_689 = div.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_690 = efi_gop.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_691 = efi_gop.module$(EXEEXT)
++@COND_ia64_efi_TRUE@am__EXEEXT_692 = efi_gop.module$(EXEEXT)
++@COND_arm_efi_TRUE@am__EXEEXT_693 = efi_gop.module$(EXEEXT)
++@COND_arm64_efi_TRUE@am__EXEEXT_694 = efi_gop.module$(EXEEXT)
++@COND_riscv32_efi_TRUE@am__EXEEXT_695 = efi_gop.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__EXEEXT_696 = efi_gop.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_697 = efi_uga.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_698 = efi_uga.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_699 = vbe.module$(EXEEXT)
++@COND_emu_TRUE@am__EXEEXT_700 = video_fb.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_701 = video_fb.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_702 = video_fb.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_703 = video_fb.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_704 = video_fb.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_705 = video_fb.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_706 = video_fb.module$(EXEEXT)
++@COND_i386_xen_TRUE@am__EXEEXT_707 = video_fb.module$(EXEEXT)
++@COND_x86_64_xen_TRUE@am__EXEEXT_708 = video_fb.module$(EXEEXT)
++@COND_i386_xen_pvh_TRUE@am__EXEEXT_709 = video_fb.module$(EXEEXT)
++@COND_sparc64_ieee1275_TRUE@am__EXEEXT_710 = video_fb.module$(EXEEXT)
++@COND_powerpc_ieee1275_TRUE@am__EXEEXT_711 = video_fb.module$(EXEEXT)
++@COND_mips_arc_TRUE@am__EXEEXT_712 = video_fb.module$(EXEEXT)
++@COND_ia64_efi_TRUE@am__EXEEXT_713 = video_fb.module$(EXEEXT)
++@COND_mips_qemu_mips_TRUE@am__EXEEXT_714 = video_fb.module$(EXEEXT)
++@COND_arm_uboot_TRUE@am__EXEEXT_715 = video_fb.module$(EXEEXT)
++@COND_arm_efi_TRUE@am__EXEEXT_716 = video_fb.module$(EXEEXT)
++@COND_arm64_efi_TRUE@am__EXEEXT_717 = video_fb.module$(EXEEXT)
++@COND_riscv32_efi_TRUE@am__EXEEXT_718 = video_fb.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__EXEEXT_719 = video_fb.module$(EXEEXT)
++@COND_emu_TRUE@am__EXEEXT_720 = video.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_721 = video.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_722 = video.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_723 = video.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_724 = video.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_725 = video.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_726 = video.module$(EXEEXT)
++@COND_i386_xen_TRUE@am__EXEEXT_727 = video.module$(EXEEXT)
++@COND_x86_64_xen_TRUE@am__EXEEXT_728 = video.module$(EXEEXT)
++@COND_i386_xen_pvh_TRUE@am__EXEEXT_729 = video.module$(EXEEXT)
++@COND_sparc64_ieee1275_TRUE@am__EXEEXT_730 = video.module$(EXEEXT)
++@COND_powerpc_ieee1275_TRUE@am__EXEEXT_731 = video.module$(EXEEXT)
++@COND_mips_arc_TRUE@am__EXEEXT_732 = video.module$(EXEEXT)
++@COND_ia64_efi_TRUE@am__EXEEXT_733 = video.module$(EXEEXT)
++@COND_mips_qemu_mips_TRUE@am__EXEEXT_734 = video.module$(EXEEXT)
++@COND_arm_uboot_TRUE@am__EXEEXT_735 = video.module$(EXEEXT)
++@COND_arm_efi_TRUE@am__EXEEXT_736 = video.module$(EXEEXT)
++@COND_arm64_efi_TRUE@am__EXEEXT_737 = video.module$(EXEEXT)
++@COND_riscv32_efi_TRUE@am__EXEEXT_738 = video.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__EXEEXT_739 = video.module$(EXEEXT)
++@COND_powerpc_ieee1275_TRUE@am__EXEEXT_740 =  \
+ @COND_powerpc_ieee1275_TRUE@  ieee1275_fb.module$(EXEEXT)
+-@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__EXEEXT_742 =  \
++@COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@am__EXEEXT_741 =  \
+ @COND_GRUB_EMU_SDL_TRUE@@COND_emu_TRUE@       sdl.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_743 = ofnet.module$(EXEEXT)
+-@COND_sparc64_ieee1275_TRUE@am__EXEEXT_744 = ofnet.module$(EXEEXT)
+-@COND_powerpc_ieee1275_TRUE@am__EXEEXT_745 = ofnet.module$(EXEEXT)
+-@COND_arm_uboot_TRUE@am__EXEEXT_746 = ubootnet.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_747 = efinet.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_748 = efinet.module$(EXEEXT)
+-@COND_ia64_efi_TRUE@am__EXEEXT_749 = efinet.module$(EXEEXT)
+-@COND_arm_efi_TRUE@am__EXEEXT_750 = efinet.module$(EXEEXT)
+-@COND_arm64_efi_TRUE@am__EXEEXT_751 = efinet.module$(EXEEXT)
+-@COND_riscv32_efi_TRUE@am__EXEEXT_752 = efinet.module$(EXEEXT)
+-@COND_riscv64_efi_TRUE@am__EXEEXT_753 = efinet.module$(EXEEXT)
+-@COND_emu_TRUE@am__EXEEXT_754 = emunet.module$(EXEEXT) \
++@COND_i386_ieee1275_TRUE@am__EXEEXT_742 = ofnet.module$(EXEEXT)
++@COND_sparc64_ieee1275_TRUE@am__EXEEXT_743 = ofnet.module$(EXEEXT)
++@COND_powerpc_ieee1275_TRUE@am__EXEEXT_744 = ofnet.module$(EXEEXT)
++@COND_arm_uboot_TRUE@am__EXEEXT_745 = ubootnet.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_746 = efinet.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_747 = efinet.module$(EXEEXT)
++@COND_ia64_efi_TRUE@am__EXEEXT_748 = efinet.module$(EXEEXT)
++@COND_arm_efi_TRUE@am__EXEEXT_749 = efinet.module$(EXEEXT)
++@COND_arm64_efi_TRUE@am__EXEEXT_750 = efinet.module$(EXEEXT)
++@COND_riscv32_efi_TRUE@am__EXEEXT_751 = efinet.module$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__EXEEXT_752 = efinet.module$(EXEEXT)
++@COND_emu_TRUE@am__EXEEXT_753 = emunet.module$(EXEEXT) \
+ @COND_emu_TRUE@       legacycfg.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_755 = legacycfg.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_756 = legacycfg.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_757 = legacycfg.module$(EXEEXT)
+-@COND_i386_xen_TRUE@am__EXEEXT_758 = legacycfg.module$(EXEEXT)
+-@COND_x86_64_xen_TRUE@am__EXEEXT_759 = legacycfg.module$(EXEEXT)
+-@COND_i386_xen_pvh_TRUE@am__EXEEXT_760 = legacycfg.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_761 = backtrace.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_762 = backtrace.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_763 = backtrace.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_764 = backtrace.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_765 = backtrace.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_766 = backtrace.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_767 = backtrace.module$(EXEEXT)
+-@COND_i386_xen_TRUE@am__EXEEXT_768 = backtrace.module$(EXEEXT)
+-@COND_x86_64_xen_TRUE@am__EXEEXT_769 = backtrace.module$(EXEEXT)
+-@COND_i386_xen_pvh_TRUE@am__EXEEXT_770 = backtrace.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_771 = lsapm.module$(EXEEXT) \
++@COND_i386_pc_TRUE@am__EXEEXT_754 = legacycfg.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_755 = legacycfg.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_756 = legacycfg.module$(EXEEXT)
++@COND_i386_xen_TRUE@am__EXEEXT_757 = legacycfg.module$(EXEEXT)
++@COND_x86_64_xen_TRUE@am__EXEEXT_758 = legacycfg.module$(EXEEXT)
++@COND_i386_xen_pvh_TRUE@am__EXEEXT_759 = legacycfg.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_760 = backtrace.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_761 = backtrace.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_762 = backtrace.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_763 = backtrace.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_764 = backtrace.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_765 = backtrace.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_766 = backtrace.module$(EXEEXT)
++@COND_i386_xen_TRUE@am__EXEEXT_767 = backtrace.module$(EXEEXT)
++@COND_x86_64_xen_TRUE@am__EXEEXT_768 = backtrace.module$(EXEEXT)
++@COND_i386_xen_pvh_TRUE@am__EXEEXT_769 = backtrace.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_770 = lsapm.module$(EXEEXT) \
+ @COND_i386_pc_TRUE@   keylayouts.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_772 = keylayouts.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_773 = keylayouts.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_774 = keylayouts.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_775 = keylayouts.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_776 = keylayouts.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_777 = keylayouts.module$(EXEEXT)
+-@COND_ENABLE_CACHE_STATS_TRUE@am__EXEEXT_778 =  \
++@COND_i386_efi_TRUE@am__EXEEXT_771 = keylayouts.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_772 = keylayouts.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_773 = keylayouts.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_774 = keylayouts.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_775 = keylayouts.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_776 = keylayouts.module$(EXEEXT)
++@COND_ENABLE_CACHE_STATS_TRUE@am__EXEEXT_777 =  \
+ @COND_ENABLE_CACHE_STATS_TRUE@        cacheinfo.module$(EXEEXT)
+-@COND_ENABLE_BOOT_TIME_STATS_TRUE@am__EXEEXT_779 =  \
++@COND_ENABLE_BOOT_TIME_STATS_TRUE@am__EXEEXT_778 =  \
+ @COND_ENABLE_BOOT_TIME_STATS_TRUE@    boottime.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_780 = gdb.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_781 = gdb.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_782 = gdb.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_783 = gdb.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_784 = gdb.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_785 = gdb.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_786 = tpm.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_787 = rdmsr.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_788 = rdmsr.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_789 = rdmsr.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_790 = rdmsr.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_791 = rdmsr.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_792 = rdmsr.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_793 = rdmsr.module$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_794 = wrmsr.module$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_795 = wrmsr.module$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_796 = wrmsr.module$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_797 = wrmsr.module$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_798 = wrmsr.module$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_799 = wrmsr.module$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_800 = wrmsr.module$(EXEEXT)
+-@COND_emu_TRUE@am__EXEEXT_801 = kernel.exec$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_802 = kernel.exec$(EXEEXT)
+-@COND_i386_efi_TRUE@am__EXEEXT_803 = kernel.exec$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_804 = kernel.exec$(EXEEXT)
+-@COND_i386_coreboot_TRUE@am__EXEEXT_805 = kernel.exec$(EXEEXT)
+-@COND_i386_multiboot_TRUE@am__EXEEXT_806 = kernel.exec$(EXEEXT)
+-@COND_i386_ieee1275_TRUE@am__EXEEXT_807 = kernel.exec$(EXEEXT)
+-@COND_x86_64_efi_TRUE@am__EXEEXT_808 = kernel.exec$(EXEEXT)
+-@COND_i386_xen_TRUE@am__EXEEXT_809 = kernel.exec$(EXEEXT)
+-@COND_x86_64_xen_TRUE@am__EXEEXT_810 = kernel.exec$(EXEEXT)
+-@COND_i386_xen_pvh_TRUE@am__EXEEXT_811 = kernel.exec$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__EXEEXT_812 = kernel.exec$(EXEEXT)
+-@COND_sparc64_ieee1275_TRUE@am__EXEEXT_813 = kernel.exec$(EXEEXT)
+-@COND_powerpc_ieee1275_TRUE@am__EXEEXT_814 = kernel.exec$(EXEEXT)
+-@COND_mips_arc_TRUE@am__EXEEXT_815 = kernel.exec$(EXEEXT)
+-@COND_ia64_efi_TRUE@am__EXEEXT_816 = kernel.exec$(EXEEXT)
+-@COND_mips_qemu_mips_TRUE@am__EXEEXT_817 = kernel.exec$(EXEEXT)
+-@COND_arm_uboot_TRUE@am__EXEEXT_818 = kernel.exec$(EXEEXT)
+-@COND_arm_efi_TRUE@am__EXEEXT_819 = kernel.exec$(EXEEXT)
+-@COND_arm64_efi_TRUE@am__EXEEXT_820 = kernel.exec$(EXEEXT)
+-@COND_arm_coreboot_TRUE@am__EXEEXT_821 = kernel.exec$(EXEEXT)
+-@COND_riscv32_efi_TRUE@am__EXEEXT_822 = kernel.exec$(EXEEXT)
+-@COND_riscv64_efi_TRUE@am__EXEEXT_823 = kernel.exec$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_824 = boot.image$(EXEEXT)
+-@COND_i386_qemu_TRUE@am__EXEEXT_825 = boot.image$(EXEEXT)
+-@COND_sparc64_ieee1275_TRUE@am__EXEEXT_826 = boot.image$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_827 = boot_hybrid.image$(EXEEXT) \
++@COND_i386_pc_TRUE@am__EXEEXT_779 = gdb.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_780 = gdb.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_781 = gdb.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_782 = gdb.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_783 = gdb.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_784 = gdb.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_785 = tpm.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_786 = rdmsr.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_787 = rdmsr.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_788 = rdmsr.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_789 = rdmsr.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_790 = rdmsr.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_791 = rdmsr.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_792 = rdmsr.module$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_793 = wrmsr.module$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_794 = wrmsr.module$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_795 = wrmsr.module$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_796 = wrmsr.module$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_797 = wrmsr.module$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_798 = wrmsr.module$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_799 = wrmsr.module$(EXEEXT)
++@COND_emu_TRUE@am__EXEEXT_800 = kernel.exec$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_801 = kernel.exec$(EXEEXT)
++@COND_i386_efi_TRUE@am__EXEEXT_802 = kernel.exec$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_803 = kernel.exec$(EXEEXT)
++@COND_i386_coreboot_TRUE@am__EXEEXT_804 = kernel.exec$(EXEEXT)
++@COND_i386_multiboot_TRUE@am__EXEEXT_805 = kernel.exec$(EXEEXT)
++@COND_i386_ieee1275_TRUE@am__EXEEXT_806 = kernel.exec$(EXEEXT)
++@COND_x86_64_efi_TRUE@am__EXEEXT_807 = kernel.exec$(EXEEXT)
++@COND_i386_xen_TRUE@am__EXEEXT_808 = kernel.exec$(EXEEXT)
++@COND_x86_64_xen_TRUE@am__EXEEXT_809 = kernel.exec$(EXEEXT)
++@COND_i386_xen_pvh_TRUE@am__EXEEXT_810 = kernel.exec$(EXEEXT)
++@COND_mips_loongson_TRUE@am__EXEEXT_811 = kernel.exec$(EXEEXT)
++@COND_sparc64_ieee1275_TRUE@am__EXEEXT_812 = kernel.exec$(EXEEXT)
++@COND_powerpc_ieee1275_TRUE@am__EXEEXT_813 = kernel.exec$(EXEEXT)
++@COND_mips_arc_TRUE@am__EXEEXT_814 = kernel.exec$(EXEEXT)
++@COND_ia64_efi_TRUE@am__EXEEXT_815 = kernel.exec$(EXEEXT)
++@COND_mips_qemu_mips_TRUE@am__EXEEXT_816 = kernel.exec$(EXEEXT)
++@COND_arm_uboot_TRUE@am__EXEEXT_817 = kernel.exec$(EXEEXT)
++@COND_arm_efi_TRUE@am__EXEEXT_818 = kernel.exec$(EXEEXT)
++@COND_arm64_efi_TRUE@am__EXEEXT_819 = kernel.exec$(EXEEXT)
++@COND_arm_coreboot_TRUE@am__EXEEXT_820 = kernel.exec$(EXEEXT)
++@COND_riscv32_efi_TRUE@am__EXEEXT_821 = kernel.exec$(EXEEXT)
++@COND_riscv64_efi_TRUE@am__EXEEXT_822 = kernel.exec$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_823 = boot.image$(EXEEXT)
++@COND_i386_qemu_TRUE@am__EXEEXT_824 = boot.image$(EXEEXT)
++@COND_sparc64_ieee1275_TRUE@am__EXEEXT_825 = boot.image$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_826 = boot_hybrid.image$(EXEEXT) \
+ @COND_i386_pc_TRUE@   cdboot.image$(EXEEXT)
+-@COND_sparc64_ieee1275_TRUE@am__EXEEXT_828 = cdboot.image$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_829 = pxeboot.image$(EXEEXT) \
++@COND_sparc64_ieee1275_TRUE@am__EXEEXT_827 = cdboot.image$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_828 = pxeboot.image$(EXEEXT) \
+ @COND_i386_pc_TRUE@   diskboot.image$(EXEEXT)
+-@COND_sparc64_ieee1275_TRUE@am__EXEEXT_830 = diskboot.image$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_831 = lnxboot.image$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__EXEEXT_832 =  \
++@COND_sparc64_ieee1275_TRUE@am__EXEEXT_829 = diskboot.image$(EXEEXT)
++@COND_i386_pc_TRUE@am__EXEEXT_830 = lnxboot.image$(EXEEXT)
++@COND_mips_loongson_TRUE@am__EXEEXT_831 =  \
+ @COND_mips_loongson_TRUE@     xz_decompress.image$(EXEEXT)
+-@COND_mips_arc_TRUE@am__EXEEXT_833 = xz_decompress.image$(EXEEXT)
+-@COND_mips_qemu_mips_TRUE@am__EXEEXT_834 =  \
++@COND_mips_arc_TRUE@am__EXEEXT_832 = xz_decompress.image$(EXEEXT)
++@COND_mips_qemu_mips_TRUE@am__EXEEXT_833 =  \
+ @COND_mips_qemu_mips_TRUE@    xz_decompress.image$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__EXEEXT_835 =  \
++@COND_mips_loongson_TRUE@am__EXEEXT_834 =  \
+ @COND_mips_loongson_TRUE@     none_decompress.image$(EXEEXT)
+-@COND_mips_arc_TRUE@am__EXEEXT_836 = none_decompress.image$(EXEEXT)
+-@COND_mips_qemu_mips_TRUE@am__EXEEXT_837 =  \
++@COND_mips_arc_TRUE@am__EXEEXT_835 = none_decompress.image$(EXEEXT)
++@COND_mips_qemu_mips_TRUE@am__EXEEXT_836 =  \
+ @COND_mips_qemu_mips_TRUE@    none_decompress.image$(EXEEXT)
+-@COND_i386_pc_TRUE@am__EXEEXT_838 = lzma_decompress.image$(EXEEXT)
+-@COND_mips_loongson_TRUE@am__EXEEXT_839 = fwstart.image$(EXEEXT) \
++@COND_i386_pc_TRUE@am__EXEEXT_837 = lzma_decompress.image$(EXEEXT)
++@COND_mips_loongson_TRUE@am__EXEEXT_838 = fwstart.image$(EXEEXT) \
+ @COND_mips_loongson_TRUE@     fwstart_fuloong2f.image$(EXEEXT)
+ PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) $(platform_PROGRAMS) \
+       $(sbin_PROGRAMS)
+@@ -12775,13 +12764,6 @@ shift_test_module_OBJECTS = $(am_shift_test_module_OBJECTS) \
+       $(nodist_shift_test_module_OBJECTS)
+ shift_test_module_LINK = $(CCLD) $(shift_test_module_CFLAGS) $(CFLAGS) \
+       $(shift_test_module_LDFLAGS) $(LDFLAGS) -o $@
+-am__shim_lock_module_SOURCES_DIST = commands/efi/shim_lock.c
+-@COND_x86_64_efi_TRUE@am_shim_lock_module_OBJECTS = commands/efi/shim_lock_module-shim_lock.$(OBJEXT)
+-nodist_shim_lock_module_OBJECTS =
+-shim_lock_module_OBJECTS = $(am_shim_lock_module_OBJECTS) \
+-      $(nodist_shim_lock_module_OBJECTS)
+-shim_lock_module_LINK = $(CCLD) $(shim_lock_module_CFLAGS) $(CFLAGS) \
+-      $(shim_lock_module_LDFLAGS) $(LDFLAGS) -o $@
+ am_signature_test_module_OBJECTS =  \
+       tests/signature_test_module-signature_test.$(OBJEXT)
+ nodist_signature_test_module_OBJECTS =
+@@ -13847,7 +13829,6 @@ SOURCES = $(acpi_module_SOURCES) $(nodist_acpi_module_SOURCES) \
+       $(nodist_setpci_module_SOURCES) $(sfs_module_SOURCES) \
+       $(nodist_sfs_module_SOURCES) $(shift_test_module_SOURCES) \
+       $(nodist_shift_test_module_SOURCES) \
+-      $(shim_lock_module_SOURCES) $(nodist_shim_lock_module_SOURCES) \
+       $(signature_test_module_SOURCES) \
+       $(nodist_signature_test_module_SOURCES) \
+       $(sleep_module_SOURCES) $(nodist_sleep_module_SOURCES) \
+@@ -14078,10 +14059,8 @@ DIST_SOURCES = $(am__acpi_module_SOURCES_DIST) \
+       $(am__serial_module_SOURCES_DIST) $(setjmp_module_SOURCES) \
+       $(setjmp_test_module_SOURCES) \
+       $(am__setpci_module_SOURCES_DIST) $(sfs_module_SOURCES) \
+-      $(shift_test_module_SOURCES) \
+-      $(am__shim_lock_module_SOURCES_DIST) \
+-      $(signature_test_module_SOURCES) $(sleep_module_SOURCES) \
+-      $(sleep_test_module_SOURCES) \
++      $(shift_test_module_SOURCES) $(signature_test_module_SOURCES) \
++      $(sleep_module_SOURCES) $(sleep_test_module_SOURCES) \
+       $(am__spkmodem_module_SOURCES_DIST) $(squash4_module_SOURCES) \
+       $(strtoull_test_module_SOURCES) \
+       $(am__suspend_module_SOURCES_DIST) \
+@@ -15514,56 +15493,55 @@ MOD_FILES = disk.mod trig.mod $(am__append_8) $(am__append_15) \
+       $(am__append_2045) $(am__append_2052) $(am__append_2059) \
+       $(am__append_2066) $(am__append_2073) $(am__append_2080) \
+       $(am__append_2087) $(am__append_2094) $(am__append_2101) \
+-      $(am__append_2108) help.mod hexdump.mod keystatus.mod \
+-      $(am__append_2115) $(am__append_2122) loadenv.mod ls.mod \
+-      lsmmap.mod $(am__append_2129) $(am__append_2136) \
++      help.mod hexdump.mod keystatus.mod $(am__append_2108) \
++      $(am__append_2115) loadenv.mod ls.mod lsmmap.mod \
++      $(am__append_2122) $(am__append_2129) $(am__append_2136) \
+       $(am__append_2143) $(am__append_2150) $(am__append_2157) \
+-      $(am__append_2164) $(am__append_2171) $(am__append_2178) \
+-      memrw.mod minicmd.mod parttool.mod password.mod \
+-      password_pbkdf2.mod $(am__append_2185) $(am__append_2192) \
++      $(am__append_2164) $(am__append_2171) memrw.mod minicmd.mod \
++      parttool.mod password.mod password_pbkdf2.mod \
++      $(am__append_2178) $(am__append_2185) $(am__append_2192) \
+       $(am__append_2199) $(am__append_2206) $(am__append_2213) \
+       $(am__append_2220) $(am__append_2227) $(am__append_2234) \
+       $(am__append_2241) $(am__append_2248) $(am__append_2255) \
+       $(am__append_2262) $(am__append_2269) $(am__append_2276) \
+       $(am__append_2283) $(am__append_2290) $(am__append_2297) \
+       $(am__append_2304) $(am__append_2311) $(am__append_2318) \
+-      $(am__append_2325) probe.mod read.mod search.mod \
+-      search_fs_file.mod search_fs_uuid.mod search_label.mod \
++      probe.mod read.mod search.mod search_fs_file.mod \
++      search_fs_uuid.mod search_label.mod $(am__append_2325) \
+       $(am__append_2332) $(am__append_2339) $(am__append_2346) \
+       $(am__append_2353) $(am__append_2360) $(am__append_2367) \
+       $(am__append_2374) $(am__append_2381) $(am__append_2388) \
+       $(am__append_2395) $(am__append_2402) $(am__append_2409) \
+       $(am__append_2416) $(am__append_2423) $(am__append_2430) \
+-      $(am__append_2437) sleep.mod $(am__append_2444) \
+-      $(am__append_2451) terminal.mod test.mod true.mod \
+-      $(am__append_2458) $(am__append_2465) $(am__append_2472) \
+-      $(am__append_2479) $(am__append_2486) $(am__append_2493) \
+-      $(am__append_2500) $(am__append_2507) $(am__append_2514) \
+-      videoinfo.mod videotest.mod xnu_uuid.mod dm_nv.mod \
+-      loopback.mod cryptodisk.mod luks.mod geli.mod lvm.mod ldm.mod \
+-      mdraid09.mod mdraid09_be.mod mdraid1x.mod diskfilter.mod \
+-      raid5rec.mod raid6rec.mod scsi.mod memdisk.mod \
+-      $(am__append_2521) $(am__append_2528) $(am__append_2535) \
+-      $(am__append_2542) $(am__append_2549) $(am__append_2556) \
+-      $(am__append_2563) $(am__append_2570) $(am__append_2577) \
+-      $(am__append_2584) $(am__append_2591) $(am__append_2598) \
+-      $(am__append_2605) $(am__append_2612) $(am__append_2619) \
+-      $(am__append_2626) $(am__append_2633) $(am__append_2640) \
+-      $(am__append_2647) $(am__append_2654) $(am__append_2661) \
+-      $(am__append_2668) $(am__append_2675) $(am__append_2682) \
+-      $(am__append_2689) $(am__append_2696) $(am__append_2703) \
+-      $(am__append_2710) $(am__append_2717) $(am__append_2724) \
+-      $(am__append_2731) $(am__append_2738) $(am__append_2745) \
+-      $(am__append_2752) $(am__append_2759) $(am__append_2766) \
+-      $(am__append_2773) $(am__append_2780) $(am__append_2787) \
+-      $(am__append_2794) $(am__append_2801) $(am__append_2808) \
+-      $(am__append_2815) $(am__append_2822) $(am__append_2829) \
+-      $(am__append_2836) $(am__append_2843) $(am__append_2850) \
+-      $(am__append_2857) $(am__append_2864) $(am__append_2871) \
+-      $(am__append_2878) $(am__append_2885) $(am__append_2892) \
+-      $(am__append_2899) $(am__append_2906) $(am__append_2913) \
+-      $(am__append_2920) $(am__append_2927) $(am__append_2934) \
+-      $(am__append_2941) procfs.mod affs.mod afs.mod bfs.mod \
++      sleep.mod $(am__append_2437) $(am__append_2444) terminal.mod \
++      test.mod true.mod $(am__append_2451) $(am__append_2458) \
++      $(am__append_2465) $(am__append_2472) $(am__append_2479) \
++      $(am__append_2486) $(am__append_2493) $(am__append_2500) \
++      $(am__append_2507) videoinfo.mod videotest.mod xnu_uuid.mod \
++      dm_nv.mod loopback.mod cryptodisk.mod luks.mod geli.mod \
++      lvm.mod ldm.mod mdraid09.mod mdraid09_be.mod mdraid1x.mod \
++      diskfilter.mod raid5rec.mod raid6rec.mod scsi.mod memdisk.mod \
++      $(am__append_2514) $(am__append_2521) $(am__append_2528) \
++      $(am__append_2535) $(am__append_2542) $(am__append_2549) \
++      $(am__append_2556) $(am__append_2563) $(am__append_2570) \
++      $(am__append_2577) $(am__append_2584) $(am__append_2591) \
++      $(am__append_2598) $(am__append_2605) $(am__append_2612) \
++      $(am__append_2619) $(am__append_2626) $(am__append_2633) \
++      $(am__append_2640) $(am__append_2647) $(am__append_2654) \
++      $(am__append_2661) $(am__append_2668) $(am__append_2675) \
++      $(am__append_2682) $(am__append_2689) $(am__append_2696) \
++      $(am__append_2703) $(am__append_2710) $(am__append_2717) \
++      $(am__append_2724) $(am__append_2731) $(am__append_2738) \
++      $(am__append_2745) $(am__append_2752) $(am__append_2759) \
++      $(am__append_2766) $(am__append_2773) $(am__append_2780) \
++      $(am__append_2787) $(am__append_2794) $(am__append_2801) \
++      $(am__append_2808) $(am__append_2815) $(am__append_2822) \
++      $(am__append_2829) $(am__append_2836) $(am__append_2843) \
++      $(am__append_2850) $(am__append_2857) $(am__append_2864) \
++      $(am__append_2871) $(am__append_2878) $(am__append_2885) \
++      $(am__append_2892) $(am__append_2899) $(am__append_2906) \
++      $(am__append_2913) $(am__append_2920) $(am__append_2927) \
++      $(am__append_2934) procfs.mod affs.mod afs.mod bfs.mod \
+       zstd.mod btrfs.mod archelp.mod cbfs.mod cpio.mod cpio_be.mod \
+       newc.mod odc.mod ext2.mod fat.mod exfat.mod f2fs.mod \
+       fshelp.mod hfs.mod hfsplus.mod hfspluscomp.mod iso9660.mod \
+@@ -15571,150 +15549,150 @@ MOD_FILES = disk.mod trig.mod $(am__append_8) $(am__append_15) \
+       minix2_be.mod minix3_be.mod nilfs2.mod ntfs.mod ntfscomp.mod \
+       reiserfs.mod romfs.mod sfs.mod squash4.mod tar.mod udf.mod \
+       ufs1.mod ufs1_be.mod ufs2.mod xfs.mod zfs.mod zfscrypt.mod \
+-      zfsinfo.mod macbless.mod $(am__append_2948) gettext.mod \
+-      gfxmenu.mod hello.mod gzio.mod offsetio.mod $(am__append_2955) \
+-      $(am__append_2962) $(am__append_2969) $(am__append_2976) \
+-      $(am__append_2983) $(am__append_2990) $(am__append_2997) \
+-      $(am__append_3004) $(am__append_3011) $(am__append_3018) \
+-      $(am__append_3025) $(am__append_3032) $(am__append_3039) \
+-      $(am__append_3046) $(am__append_3053) $(am__append_3060) \
+-      $(am__append_3067) $(am__append_3074) $(am__append_3081) \
+-      $(am__append_3088) elf.mod crypto.mod pbkdf2.mod \
+-      $(am__append_3095) $(am__append_3102) $(am__append_3109) \
+-      $(am__append_3116) $(am__append_3123) $(am__append_3130) \
+-      $(am__append_3137) $(am__append_3144) $(am__append_3151) \
+-      $(am__append_3158) $(am__append_3165) $(am__append_3172) \
+-      $(am__append_3179) $(am__append_3186) $(am__append_3193) \
+-      $(am__append_3200) $(am__append_3207) $(am__append_3214) \
+-      $(am__append_3221) $(am__append_3228) $(am__append_3235) \
+-      $(am__append_3242) $(am__append_3249) $(am__append_3256) \
+-      $(am__append_3263) $(am__append_3270) $(am__append_3277) \
+-      $(am__append_3284) $(am__append_3291) $(am__append_3298) \
+-      $(am__append_3305) $(am__append_3312) $(am__append_3319) \
+-      $(am__append_3326) $(am__append_3333) $(am__append_3340) \
+-      setjmp.mod $(am__append_3347) $(am__append_3354) \
+-      $(am__append_3361) $(am__append_3368) $(am__append_3375) \
+-      $(am__append_3382) $(am__append_3389) $(am__append_3396) \
+-      $(am__append_3403) $(am__append_3410) $(am__append_3417) \
+-      $(am__append_3424) $(am__append_3431) $(am__append_3438) \
+-      $(am__append_3445) $(am__append_3452) $(am__append_3459) \
+-      $(am__append_3466) $(am__append_3473) $(am__append_3480) \
+-      $(am__append_3487) $(am__append_3494) $(am__append_3501) \
+-      $(am__append_3508) $(am__append_3515) $(am__append_3522) \
+-      $(am__append_3529) $(am__append_3536) $(am__append_3543) \
+-      $(am__append_3550) $(am__append_3557) $(am__append_3564) \
+-      $(am__append_3571) $(am__append_3578) $(am__append_3585) \
+-      $(am__append_3592) $(am__append_3599) $(am__append_3606) \
+-      $(am__append_3613) $(am__append_3620) $(am__append_3627) \
+-      $(am__append_3634) $(am__append_3641) $(am__append_3648) \
+-      $(am__append_3655) $(am__append_3662) $(am__append_3669) \
+-      $(am__append_3676) $(am__append_3683) $(am__append_3690) \
+-      $(am__append_3697) $(am__append_3704) $(am__append_3711) \
+-      $(am__append_3718) $(am__append_3725) $(am__append_3732) \
+-      $(am__append_3739) $(am__append_3746) $(am__append_3753) \
+-      $(am__append_3760) $(am__append_3767) $(am__append_3774) \
+-      $(am__append_3781) $(am__append_3788) $(am__append_3795) \
+-      $(am__append_3802) $(am__append_3809) $(am__append_3816) \
+-      $(am__append_3823) $(am__append_3830) $(am__append_3837) \
+-      $(am__append_3844) $(am__append_3851) $(am__append_3858) \
+-      $(am__append_3865) $(am__append_3872) $(am__append_3879) \
+-      $(am__append_3886) macho.mod $(am__append_3893) \
+-      $(am__append_3900) $(am__append_3907) $(am__append_3914) \
+-      $(am__append_3921) $(am__append_3928) $(am__append_3935) \
+-      $(am__append_3942) $(am__append_3949) $(am__append_3956) \
+-      $(am__append_3963) $(am__append_3970) $(am__append_3977) \
+-      $(am__append_3984) $(am__append_3991) $(am__append_3998) \
+-      $(am__append_4005) $(am__append_4012) $(am__append_4019) \
+-      $(am__append_4026) $(am__append_4033) $(am__append_4040) \
+-      $(am__append_4047) $(am__append_4054) $(am__append_4061) \
+-      $(am__append_4068) $(am__append_4075) normal.mod \
++      zfsinfo.mod macbless.mod $(am__append_2941) gettext.mod \
++      gfxmenu.mod hello.mod gzio.mod offsetio.mod $(am__append_2948) \
++      $(am__append_2955) $(am__append_2962) $(am__append_2969) \
++      $(am__append_2976) $(am__append_2983) $(am__append_2990) \
++      $(am__append_2997) $(am__append_3004) $(am__append_3011) \
++      $(am__append_3018) $(am__append_3025) $(am__append_3032) \
++      $(am__append_3039) $(am__append_3046) $(am__append_3053) \
++      $(am__append_3060) $(am__append_3067) $(am__append_3074) \
++      $(am__append_3081) elf.mod crypto.mod pbkdf2.mod \
++      $(am__append_3088) $(am__append_3095) $(am__append_3102) \
++      $(am__append_3109) $(am__append_3116) $(am__append_3123) \
++      $(am__append_3130) $(am__append_3137) $(am__append_3144) \
++      $(am__append_3151) $(am__append_3158) $(am__append_3165) \
++      $(am__append_3172) $(am__append_3179) $(am__append_3186) \
++      $(am__append_3193) $(am__append_3200) $(am__append_3207) \
++      $(am__append_3214) $(am__append_3221) $(am__append_3228) \
++      $(am__append_3235) $(am__append_3242) $(am__append_3249) \
++      $(am__append_3256) $(am__append_3263) $(am__append_3270) \
++      $(am__append_3277) $(am__append_3284) $(am__append_3291) \
++      $(am__append_3298) $(am__append_3305) $(am__append_3312) \
++      $(am__append_3319) $(am__append_3326) $(am__append_3333) \
++      setjmp.mod $(am__append_3340) $(am__append_3347) \
++      $(am__append_3354) $(am__append_3361) $(am__append_3368) \
++      $(am__append_3375) $(am__append_3382) $(am__append_3389) \
++      $(am__append_3396) $(am__append_3403) $(am__append_3410) \
++      $(am__append_3417) $(am__append_3424) $(am__append_3431) \
++      $(am__append_3438) $(am__append_3445) $(am__append_3452) \
++      $(am__append_3459) $(am__append_3466) $(am__append_3473) \
++      $(am__append_3480) $(am__append_3487) $(am__append_3494) \
++      $(am__append_3501) $(am__append_3508) $(am__append_3515) \
++      $(am__append_3522) $(am__append_3529) $(am__append_3536) \
++      $(am__append_3543) $(am__append_3550) $(am__append_3557) \
++      $(am__append_3564) $(am__append_3571) $(am__append_3578) \
++      $(am__append_3585) $(am__append_3592) $(am__append_3599) \
++      $(am__append_3606) $(am__append_3613) $(am__append_3620) \
++      $(am__append_3627) $(am__append_3634) $(am__append_3641) \
++      $(am__append_3648) $(am__append_3655) $(am__append_3662) \
++      $(am__append_3669) $(am__append_3676) $(am__append_3683) \
++      $(am__append_3690) $(am__append_3697) $(am__append_3704) \
++      $(am__append_3711) $(am__append_3718) $(am__append_3725) \
++      $(am__append_3732) $(am__append_3739) $(am__append_3746) \
++      $(am__append_3753) $(am__append_3760) $(am__append_3767) \
++      $(am__append_3774) $(am__append_3781) $(am__append_3788) \
++      $(am__append_3795) $(am__append_3802) $(am__append_3809) \
++      $(am__append_3816) $(am__append_3823) $(am__append_3830) \
++      $(am__append_3837) $(am__append_3844) $(am__append_3851) \
++      $(am__append_3858) $(am__append_3865) $(am__append_3872) \
++      $(am__append_3879) macho.mod $(am__append_3886) \
++      $(am__append_3893) $(am__append_3900) $(am__append_3907) \
++      $(am__append_3914) $(am__append_3921) $(am__append_3928) \
++      $(am__append_3935) $(am__append_3942) $(am__append_3949) \
++      $(am__append_3956) $(am__append_3963) $(am__append_3970) \
++      $(am__append_3977) $(am__append_3984) $(am__append_3991) \
++      $(am__append_3998) $(am__append_4005) $(am__append_4012) \
++      $(am__append_4019) $(am__append_4026) $(am__append_4033) \
++      $(am__append_4040) $(am__append_4047) $(am__append_4054) \
++      $(am__append_4061) $(am__append_4068) normal.mod \
+       part_acorn.mod part_amiga.mod part_apple.mod part_gpt.mod \
+       part_msdos.mod part_sun.mod part_plan.mod part_dvh.mod \
+       part_bsd.mod part_sunpc.mod part_dfly.mod msdospart.mod \
+-      $(am__append_4082) $(am__append_4089) $(am__append_4096) \
+-      $(am__append_4103) $(am__append_4110) $(am__append_4117) \
+-      $(am__append_4124) $(am__append_4131) $(am__append_4138) \
+-      $(am__append_4145) $(am__append_4152) $(am__append_4159) \
+-      $(am__append_4166) $(am__append_4173) $(am__append_4180) \
+-      $(am__append_4187) $(am__append_4194) $(am__append_4201) \
+-      $(am__append_4208) $(am__append_4215) $(am__append_4222) \
+-      $(am__append_4229) $(am__append_4236) $(am__append_4243) \
+-      $(am__append_4250) $(am__append_4257) $(am__append_4264) \
+-      gfxterm_background.mod $(am__append_4271) $(am__append_4278) \
+-      $(am__append_4285) $(am__append_4292) $(am__append_4299) \
+-      $(am__append_4306) $(am__append_4313) $(am__append_4320) \
+-      $(am__append_4327) $(am__append_4334) $(am__append_4341) \
+-      $(am__append_4348) $(am__append_4355) $(am__append_4362) \
+-      $(am__append_4369) $(am__append_4376) $(am__append_4383) \
+-      $(am__append_4390) $(am__append_4397) $(am__append_4404) \
+-      $(am__append_4411) $(am__append_4418) $(am__append_4425) \
+-      $(am__append_4432) $(am__append_4439) $(am__append_4446) \
+-      $(am__append_4453) $(am__append_4460) $(am__append_4467) \
+-      $(am__append_4474) $(am__append_4481) $(am__append_4488) \
+-      $(am__append_4495) $(am__append_4502) $(am__append_4509) \
+-      $(am__append_4516) $(am__append_4523) $(am__append_4530) \
+-      $(am__append_4537) $(am__append_4544) $(am__append_4551) \
+-      $(am__append_4558) $(am__append_4565) $(am__append_4572) \
+-      $(am__append_4579) $(am__append_4586) $(am__append_4593) \
+-      $(am__append_4600) $(am__append_4607) $(am__append_4614) \
+-      $(am__append_4621) $(am__append_4628) $(am__append_4635) \
+-      $(am__append_4642) $(am__append_4649) functional_test.mod \
++      $(am__append_4075) $(am__append_4082) $(am__append_4089) \
++      $(am__append_4096) $(am__append_4103) $(am__append_4110) \
++      $(am__append_4117) $(am__append_4124) $(am__append_4131) \
++      $(am__append_4138) $(am__append_4145) $(am__append_4152) \
++      $(am__append_4159) $(am__append_4166) $(am__append_4173) \
++      $(am__append_4180) $(am__append_4187) $(am__append_4194) \
++      $(am__append_4201) $(am__append_4208) $(am__append_4215) \
++      $(am__append_4222) $(am__append_4229) $(am__append_4236) \
++      $(am__append_4243) $(am__append_4250) $(am__append_4257) \
++      gfxterm_background.mod $(am__append_4264) $(am__append_4271) \
++      $(am__append_4278) $(am__append_4285) $(am__append_4292) \
++      $(am__append_4299) $(am__append_4306) $(am__append_4313) \
++      $(am__append_4320) $(am__append_4327) $(am__append_4334) \
++      $(am__append_4341) $(am__append_4348) $(am__append_4355) \
++      $(am__append_4362) $(am__append_4369) $(am__append_4376) \
++      $(am__append_4383) $(am__append_4390) $(am__append_4397) \
++      $(am__append_4404) $(am__append_4411) $(am__append_4418) \
++      $(am__append_4425) $(am__append_4432) $(am__append_4439) \
++      $(am__append_4446) $(am__append_4453) $(am__append_4460) \
++      $(am__append_4467) $(am__append_4474) $(am__append_4481) \
++      $(am__append_4488) $(am__append_4495) $(am__append_4502) \
++      $(am__append_4509) $(am__append_4516) $(am__append_4523) \
++      $(am__append_4530) $(am__append_4537) $(am__append_4544) \
++      $(am__append_4551) $(am__append_4558) $(am__append_4565) \
++      $(am__append_4572) $(am__append_4579) $(am__append_4586) \
++      $(am__append_4593) $(am__append_4600) $(am__append_4607) \
++      $(am__append_4614) $(am__append_4621) $(am__append_4628) \
++      $(am__append_4635) $(am__append_4642) functional_test.mod \
+       exfctest.mod strtoull_test.mod setjmp_test.mod \
+       signature_test.mod sleep_test.mod xnu_uuid_test.mod \
+-      pbkdf2_test.mod $(am__append_4656) $(am__append_4663) \
+-      $(am__append_4670) $(am__append_4677) $(am__append_4684) \
+-      $(am__append_4691) $(am__append_4698) $(am__append_4705) \
+-      $(am__append_4712) $(am__append_4719) $(am__append_4726) \
+-      $(am__append_4733) $(am__append_4740) $(am__append_4747) \
+-      $(am__append_4754) $(am__append_4761) $(am__append_4768) \
+-      $(am__append_4775) $(am__append_4782) $(am__append_4789) \
+-      $(am__append_4796) $(am__append_4803) $(am__append_4810) \
+-      $(am__append_4817) $(am__append_4824) div_test.mod \
++      pbkdf2_test.mod $(am__append_4649) $(am__append_4656) \
++      $(am__append_4663) $(am__append_4670) $(am__append_4677) \
++      $(am__append_4684) $(am__append_4691) $(am__append_4698) \
++      $(am__append_4705) $(am__append_4712) $(am__append_4719) \
++      $(am__append_4726) $(am__append_4733) $(am__append_4740) \
++      $(am__append_4747) $(am__append_4754) $(am__append_4761) \
++      $(am__append_4768) $(am__append_4775) $(am__append_4782) \
++      $(am__append_4789) $(am__append_4796) $(am__append_4803) \
++      $(am__append_4810) $(am__append_4817) div_test.mod \
+       mul_test.mod shift_test.mod cmp_test.mod ctz_test.mod \
+       bswap_test.mod videotest_checksum.mod gfxterm_menu.mod \
+       cmdline_cat_test.mod bitmap.mod bitmap_scale.mod \
+-      $(am__append_4831) $(am__append_4838) $(am__append_4845) \
+-      $(am__append_4852) $(am__append_4859) $(am__append_4866) \
+-      $(am__append_4873) $(am__append_4880) $(am__append_4887) \
+-      jpeg.mod png.mod tga.mod $(am__append_4894) $(am__append_4901) \
+-      $(am__append_4908) $(am__append_4915) $(am__append_4922) \
+-      $(am__append_4929) $(am__append_4936) $(am__append_4943) \
+-      $(am__append_4950) $(am__append_4957) $(am__append_4964) \
+-      $(am__append_4971) $(am__append_4978) $(am__append_4985) \
+-      $(am__append_4992) $(am__append_4999) $(am__append_5006) \
+-      $(am__append_5013) $(am__append_5020) $(am__append_5027) \
+-      $(am__append_5034) $(am__append_5041) $(am__append_5048) \
+-      $(am__append_5055) $(am__append_5062) $(am__append_5069) \
+-      $(am__append_5076) $(am__append_5083) $(am__append_5090) \
+-      $(am__append_5097) $(am__append_5104) $(am__append_5111) \
+-      $(am__append_5118) $(am__append_5125) $(am__append_5132) \
+-      $(am__append_5139) $(am__append_5146) $(am__append_5153) \
+-      $(am__append_5160) $(am__append_5167) $(am__append_5174) \
+-      video_colors.mod $(am__append_5181) $(am__append_5188) \
+-      datehook.mod net.mod tftp.mod http.mod $(am__append_5195) \
+-      $(am__append_5202) $(am__append_5209) $(am__append_5216) \
+-      $(am__append_5223) $(am__append_5230) $(am__append_5237) \
+-      $(am__append_5244) $(am__append_5251) $(am__append_5258) \
+-      $(am__append_5265) $(am__append_5272) $(am__append_5279) \
+-      $(am__append_5286) $(am__append_5293) $(am__append_5300) \
+-      $(am__append_5307) $(am__append_5314) syslinuxcfg.mod \
++      $(am__append_4824) $(am__append_4831) $(am__append_4838) \
++      $(am__append_4845) $(am__append_4852) $(am__append_4859) \
++      $(am__append_4866) $(am__append_4873) $(am__append_4880) \
++      jpeg.mod png.mod tga.mod $(am__append_4887) $(am__append_4894) \
++      $(am__append_4901) $(am__append_4908) $(am__append_4915) \
++      $(am__append_4922) $(am__append_4929) $(am__append_4936) \
++      $(am__append_4943) $(am__append_4950) $(am__append_4957) \
++      $(am__append_4964) $(am__append_4971) $(am__append_4978) \
++      $(am__append_4985) $(am__append_4992) $(am__append_4999) \
++      $(am__append_5006) $(am__append_5013) $(am__append_5020) \
++      $(am__append_5027) $(am__append_5034) $(am__append_5041) \
++      $(am__append_5048) $(am__append_5055) $(am__append_5062) \
++      $(am__append_5069) $(am__append_5076) $(am__append_5083) \
++      $(am__append_5090) $(am__append_5097) $(am__append_5104) \
++      $(am__append_5111) $(am__append_5118) $(am__append_5125) \
++      $(am__append_5132) $(am__append_5139) $(am__append_5146) \
++      $(am__append_5153) $(am__append_5160) $(am__append_5167) \
++      video_colors.mod $(am__append_5174) $(am__append_5181) \
++      datehook.mod net.mod tftp.mod http.mod $(am__append_5188) \
++      $(am__append_5195) $(am__append_5202) $(am__append_5209) \
++      $(am__append_5216) $(am__append_5223) $(am__append_5230) \
++      $(am__append_5237) $(am__append_5244) $(am__append_5251) \
++      $(am__append_5258) $(am__append_5265) $(am__append_5272) \
++      $(am__append_5279) $(am__append_5286) $(am__append_5293) \
++      $(am__append_5300) $(am__append_5307) syslinuxcfg.mod \
+       test_blockarg.mod xzio.mod lzopio.mod testload.mod \
+-      $(am__append_5321) $(am__append_5328) $(am__append_5335) \
+-      $(am__append_5342) $(am__append_5349) $(am__append_5356) \
+-      $(am__append_5363) $(am__append_5370) $(am__append_5377) \
+-      $(am__append_5384) $(am__append_5391) $(am__append_5398) \
+-      $(am__append_5405) $(am__append_5412) $(am__append_5419) \
+-      $(am__append_5426) $(am__append_5433) priority_queue.mod \
+-      time.mod $(am__append_5440) $(am__append_5447) adler32.mod \
+-      crc64.mod mpi.mod all_video.mod $(am__append_5454) \
+-      $(am__append_5461) $(am__append_5468) $(am__append_5475) \
+-      $(am__append_5482) $(am__append_5489) testspeed.mod \
+-      $(am__append_5496) tr.mod progress.mod file.mod \
+-      $(am__append_5503) $(am__append_5510) $(am__append_5517) \
+-      $(am__append_5524) $(am__append_5531) $(am__append_5538) \
+-      $(am__append_5545) $(am__append_5552) $(am__append_5559) \
+-      $(am__append_5566) $(am__append_5573) $(am__append_5580) \
+-      $(am__append_5587) $(am__append_5594) gcry_arcfour.mod \
++      $(am__append_5314) $(am__append_5321) $(am__append_5328) \
++      $(am__append_5335) $(am__append_5342) $(am__append_5349) \
++      $(am__append_5356) $(am__append_5363) $(am__append_5370) \
++      $(am__append_5377) $(am__append_5384) $(am__append_5391) \
++      $(am__append_5398) $(am__append_5405) $(am__append_5412) \
++      $(am__append_5419) $(am__append_5426) priority_queue.mod \
++      time.mod $(am__append_5433) $(am__append_5440) adler32.mod \
++      crc64.mod mpi.mod all_video.mod $(am__append_5447) \
++      $(am__append_5454) $(am__append_5461) $(am__append_5468) \
++      $(am__append_5475) $(am__append_5482) testspeed.mod \
++      $(am__append_5489) tr.mod progress.mod file.mod \
++      $(am__append_5496) $(am__append_5503) $(am__append_5510) \
++      $(am__append_5517) $(am__append_5524) $(am__append_5531) \
++      $(am__append_5538) $(am__append_5545) $(am__append_5552) \
++      $(am__append_5559) $(am__append_5566) $(am__append_5573) \
++      $(am__append_5580) $(am__append_5587) gcry_arcfour.mod \
+       gcry_blowfish.mod gcry_camellia.mod gcry_cast5.mod \
+       gcry_crc.mod gcry_des.mod gcry_dsa.mod gcry_idea.mod \
+       gcry_md4.mod gcry_md5.mod gcry_rfc2268.mod gcry_rijndael.mod \
+@@ -15826,72 +15804,71 @@ MODULE_FILES = disk.module$(EXEEXT) trig.module$(EXEEXT) \
+       hashsum.module$(EXEEXT) pgp.module$(EXEEXT) $(am__append_2041) \
+       $(am__append_2048) $(am__append_2055) $(am__append_2062) \
+       $(am__append_2069) $(am__append_2076) $(am__append_2083) \
+-      $(am__append_2090) $(am__append_2097) $(am__append_2104) \
+-      help.module$(EXEEXT) hexdump.module$(EXEEXT) \
+-      keystatus.module$(EXEEXT) $(am__append_2111) \
+-      $(am__append_2118) loadenv.module$(EXEEXT) ls.module$(EXEEXT) \
+-      lsmmap.module$(EXEEXT) $(am__append_2125) $(am__append_2132) \
+-      $(am__append_2139) $(am__append_2146) $(am__append_2153) \
+-      $(am__append_2160) $(am__append_2167) $(am__append_2174) \
+-      memrw.module$(EXEEXT) minicmd.module$(EXEEXT) \
+-      parttool.module$(EXEEXT) password.module$(EXEEXT) \
+-      password_pbkdf2.module$(EXEEXT) $(am__append_2181) \
+-      $(am__append_2188) $(am__append_2195) $(am__append_2202) \
+-      $(am__append_2209) $(am__append_2216) $(am__append_2223) \
+-      $(am__append_2230) $(am__append_2237) $(am__append_2244) \
+-      $(am__append_2251) $(am__append_2258) $(am__append_2265) \
+-      $(am__append_2272) $(am__append_2279) $(am__append_2286) \
+-      $(am__append_2293) $(am__append_2300) $(am__append_2307) \
+-      $(am__append_2314) $(am__append_2321) probe.module$(EXEEXT) \
+-      read.module$(EXEEXT) search.module$(EXEEXT) \
+-      search_fs_file.module$(EXEEXT) search_fs_uuid.module$(EXEEXT) \
+-      search_label.module$(EXEEXT) $(am__append_2328) \
+-      $(am__append_2335) $(am__append_2342) $(am__append_2349) \
+-      $(am__append_2356) $(am__append_2363) $(am__append_2370) \
+-      $(am__append_2377) $(am__append_2384) $(am__append_2391) \
+-      $(am__append_2398) $(am__append_2405) $(am__append_2412) \
+-      $(am__append_2419) $(am__append_2426) $(am__append_2433) \
+-      sleep.module$(EXEEXT) $(am__append_2440) $(am__append_2447) \
+-      terminal.module$(EXEEXT) test.module$(EXEEXT) \
+-      true.module$(EXEEXT) $(am__append_2454) $(am__append_2461) \
+-      $(am__append_2468) $(am__append_2475) $(am__append_2482) \
+-      $(am__append_2489) $(am__append_2496) $(am__append_2503) \
+-      $(am__append_2510) videoinfo.module$(EXEEXT) \
+-      videotest.module$(EXEEXT) xnu_uuid.module$(EXEEXT) \
+-      dm_nv.module$(EXEEXT) loopback.module$(EXEEXT) \
+-      cryptodisk.module$(EXEEXT) luks.module$(EXEEXT) \
+-      geli.module$(EXEEXT) lvm.module$(EXEEXT) ldm.module$(EXEEXT) \
+-      mdraid09.module$(EXEEXT) mdraid09_be.module$(EXEEXT) \
+-      mdraid1x.module$(EXEEXT) diskfilter.module$(EXEEXT) \
+-      raid5rec.module$(EXEEXT) raid6rec.module$(EXEEXT) \
+-      scsi.module$(EXEEXT) memdisk.module$(EXEEXT) \
+-      $(am__append_2517) $(am__append_2524) $(am__append_2531) \
+-      $(am__append_2538) $(am__append_2545) $(am__append_2552) \
+-      $(am__append_2559) $(am__append_2566) $(am__append_2573) \
+-      $(am__append_2580) $(am__append_2587) $(am__append_2594) \
+-      $(am__append_2601) $(am__append_2608) $(am__append_2615) \
+-      $(am__append_2622) $(am__append_2629) $(am__append_2636) \
+-      $(am__append_2643) $(am__append_2650) $(am__append_2657) \
+-      $(am__append_2664) $(am__append_2671) $(am__append_2678) \
+-      $(am__append_2685) $(am__append_2692) $(am__append_2699) \
+-      $(am__append_2706) $(am__append_2713) $(am__append_2720) \
+-      $(am__append_2727) $(am__append_2734) $(am__append_2741) \
+-      $(am__append_2748) $(am__append_2755) $(am__append_2762) \
+-      $(am__append_2769) $(am__append_2776) $(am__append_2783) \
+-      $(am__append_2790) $(am__append_2797) $(am__append_2804) \
+-      $(am__append_2811) $(am__append_2818) $(am__append_2825) \
+-      $(am__append_2832) $(am__append_2839) $(am__append_2846) \
+-      $(am__append_2853) $(am__append_2860) $(am__append_2867) \
+-      $(am__append_2874) $(am__append_2881) $(am__append_2888) \
+-      $(am__append_2895) $(am__append_2902) $(am__append_2909) \
+-      $(am__append_2916) $(am__append_2923) $(am__append_2930) \
+-      $(am__append_2937) procfs.module$(EXEEXT) affs.module$(EXEEXT) \
+-      afs.module$(EXEEXT) bfs.module$(EXEEXT) zstd.module$(EXEEXT) \
+-      btrfs.module$(EXEEXT) archelp.module$(EXEEXT) \
+-      cbfs.module$(EXEEXT) cpio.module$(EXEEXT) \
+-      cpio_be.module$(EXEEXT) newc.module$(EXEEXT) \
+-      odc.module$(EXEEXT) ext2.module$(EXEEXT) fat.module$(EXEEXT) \
+-      exfat.module$(EXEEXT) f2fs.module$(EXEEXT) \
++      $(am__append_2090) $(am__append_2097) help.module$(EXEEXT) \
++      hexdump.module$(EXEEXT) keystatus.module$(EXEEXT) \
++      $(am__append_2104) $(am__append_2111) loadenv.module$(EXEEXT) \
++      ls.module$(EXEEXT) lsmmap.module$(EXEEXT) $(am__append_2118) \
++      $(am__append_2125) $(am__append_2132) $(am__append_2139) \
++      $(am__append_2146) $(am__append_2153) $(am__append_2160) \
++      $(am__append_2167) memrw.module$(EXEEXT) \
++      minicmd.module$(EXEEXT) parttool.module$(EXEEXT) \
++      password.module$(EXEEXT) password_pbkdf2.module$(EXEEXT) \
++      $(am__append_2174) $(am__append_2181) $(am__append_2188) \
++      $(am__append_2195) $(am__append_2202) $(am__append_2209) \
++      $(am__append_2216) $(am__append_2223) $(am__append_2230) \
++      $(am__append_2237) $(am__append_2244) $(am__append_2251) \
++      $(am__append_2258) $(am__append_2265) $(am__append_2272) \
++      $(am__append_2279) $(am__append_2286) $(am__append_2293) \
++      $(am__append_2300) $(am__append_2307) $(am__append_2314) \
++      probe.module$(EXEEXT) read.module$(EXEEXT) \
++      search.module$(EXEEXT) search_fs_file.module$(EXEEXT) \
++      search_fs_uuid.module$(EXEEXT) search_label.module$(EXEEXT) \
++      $(am__append_2321) $(am__append_2328) $(am__append_2335) \
++      $(am__append_2342) $(am__append_2349) $(am__append_2356) \
++      $(am__append_2363) $(am__append_2370) $(am__append_2377) \
++      $(am__append_2384) $(am__append_2391) $(am__append_2398) \
++      $(am__append_2405) $(am__append_2412) $(am__append_2419) \
++      $(am__append_2426) sleep.module$(EXEEXT) $(am__append_2433) \
++      $(am__append_2440) terminal.module$(EXEEXT) \
++      test.module$(EXEEXT) true.module$(EXEEXT) $(am__append_2447) \
++      $(am__append_2454) $(am__append_2461) $(am__append_2468) \
++      $(am__append_2475) $(am__append_2482) $(am__append_2489) \
++      $(am__append_2496) $(am__append_2503) \
++      videoinfo.module$(EXEEXT) videotest.module$(EXEEXT) \
++      xnu_uuid.module$(EXEEXT) dm_nv.module$(EXEEXT) \
++      loopback.module$(EXEEXT) cryptodisk.module$(EXEEXT) \
++      luks.module$(EXEEXT) geli.module$(EXEEXT) lvm.module$(EXEEXT) \
++      ldm.module$(EXEEXT) mdraid09.module$(EXEEXT) \
++      mdraid09_be.module$(EXEEXT) mdraid1x.module$(EXEEXT) \
++      diskfilter.module$(EXEEXT) raid5rec.module$(EXEEXT) \
++      raid6rec.module$(EXEEXT) scsi.module$(EXEEXT) \
++      memdisk.module$(EXEEXT) $(am__append_2510) $(am__append_2517) \
++      $(am__append_2524) $(am__append_2531) $(am__append_2538) \
++      $(am__append_2545) $(am__append_2552) $(am__append_2559) \
++      $(am__append_2566) $(am__append_2573) $(am__append_2580) \
++      $(am__append_2587) $(am__append_2594) $(am__append_2601) \
++      $(am__append_2608) $(am__append_2615) $(am__append_2622) \
++      $(am__append_2629) $(am__append_2636) $(am__append_2643) \
++      $(am__append_2650) $(am__append_2657) $(am__append_2664) \
++      $(am__append_2671) $(am__append_2678) $(am__append_2685) \
++      $(am__append_2692) $(am__append_2699) $(am__append_2706) \
++      $(am__append_2713) $(am__append_2720) $(am__append_2727) \
++      $(am__append_2734) $(am__append_2741) $(am__append_2748) \
++      $(am__append_2755) $(am__append_2762) $(am__append_2769) \
++      $(am__append_2776) $(am__append_2783) $(am__append_2790) \
++      $(am__append_2797) $(am__append_2804) $(am__append_2811) \
++      $(am__append_2818) $(am__append_2825) $(am__append_2832) \
++      $(am__append_2839) $(am__append_2846) $(am__append_2853) \
++      $(am__append_2860) $(am__append_2867) $(am__append_2874) \
++      $(am__append_2881) $(am__append_2888) $(am__append_2895) \
++      $(am__append_2902) $(am__append_2909) $(am__append_2916) \
++      $(am__append_2923) $(am__append_2930) procfs.module$(EXEEXT) \
++      affs.module$(EXEEXT) afs.module$(EXEEXT) bfs.module$(EXEEXT) \
++      zstd.module$(EXEEXT) btrfs.module$(EXEEXT) \
++      archelp.module$(EXEEXT) cbfs.module$(EXEEXT) \
++      cpio.module$(EXEEXT) cpio_be.module$(EXEEXT) \
++      newc.module$(EXEEXT) odc.module$(EXEEXT) ext2.module$(EXEEXT) \
++      fat.module$(EXEEXT) exfat.module$(EXEEXT) f2fs.module$(EXEEXT) \
+       fshelp.module$(EXEEXT) hfs.module$(EXEEXT) \
+       hfsplus.module$(EXEEXT) hfspluscomp.module$(EXEEXT) \
+       iso9660.module$(EXEEXT) jfs.module$(EXEEXT) \
+@@ -15906,166 +15883,166 @@ MODULE_FILES = disk.module$(EXEEXT) trig.module$(EXEEXT) \
+       ufs1_be.module$(EXEEXT) ufs2.module$(EXEEXT) \
+       xfs.module$(EXEEXT) zfs.module$(EXEEXT) \
+       zfscrypt.module$(EXEEXT) zfsinfo.module$(EXEEXT) \
+-      macbless.module$(EXEEXT) $(am__append_2944) \
++      macbless.module$(EXEEXT) $(am__append_2937) \
+       gettext.module$(EXEEXT) gfxmenu.module$(EXEEXT) \
+       hello.module$(EXEEXT) gzio.module$(EXEEXT) \
+-      offsetio.module$(EXEEXT) $(am__append_2951) $(am__append_2958) \
+-      $(am__append_2965) $(am__append_2972) $(am__append_2979) \
+-      $(am__append_2986) $(am__append_2993) $(am__append_3000) \
+-      $(am__append_3007) $(am__append_3014) $(am__append_3021) \
+-      $(am__append_3028) $(am__append_3035) $(am__append_3042) \
+-      $(am__append_3049) $(am__append_3056) $(am__append_3063) \
+-      $(am__append_3070) $(am__append_3077) $(am__append_3084) \
++      offsetio.module$(EXEEXT) $(am__append_2944) $(am__append_2951) \
++      $(am__append_2958) $(am__append_2965) $(am__append_2972) \
++      $(am__append_2979) $(am__append_2986) $(am__append_2993) \
++      $(am__append_3000) $(am__append_3007) $(am__append_3014) \
++      $(am__append_3021) $(am__append_3028) $(am__append_3035) \
++      $(am__append_3042) $(am__append_3049) $(am__append_3056) \
++      $(am__append_3063) $(am__append_3070) $(am__append_3077) \
+       elf.module$(EXEEXT) crypto.module$(EXEEXT) \
+-      pbkdf2.module$(EXEEXT) $(am__append_3091) $(am__append_3098) \
+-      $(am__append_3105) $(am__append_3112) $(am__append_3119) \
+-      $(am__append_3126) $(am__append_3133) $(am__append_3140) \
+-      $(am__append_3147) $(am__append_3154) $(am__append_3161) \
+-      $(am__append_3168) $(am__append_3175) $(am__append_3182) \
+-      $(am__append_3189) $(am__append_3196) $(am__append_3203) \
+-      $(am__append_3210) $(am__append_3217) $(am__append_3224) \
+-      $(am__append_3231) $(am__append_3238) $(am__append_3245) \
+-      $(am__append_3252) $(am__append_3259) $(am__append_3266) \
+-      $(am__append_3273) $(am__append_3280) $(am__append_3287) \
+-      $(am__append_3294) $(am__append_3301) $(am__append_3308) \
+-      $(am__append_3315) $(am__append_3322) $(am__append_3329) \
+-      $(am__append_3336) setjmp.module$(EXEEXT) $(am__append_3343) \
+-      $(am__append_3350) $(am__append_3357) $(am__append_3364) \
+-      $(am__append_3371) $(am__append_3378) $(am__append_3385) \
+-      $(am__append_3392) $(am__append_3399) $(am__append_3406) \
+-      $(am__append_3413) $(am__append_3420) $(am__append_3427) \
+-      $(am__append_3434) $(am__append_3441) $(am__append_3448) \
+-      $(am__append_3455) $(am__append_3462) $(am__append_3469) \
+-      $(am__append_3476) $(am__append_3483) $(am__append_3490) \
+-      $(am__append_3497) $(am__append_3504) $(am__append_3511) \
+-      $(am__append_3518) $(am__append_3525) $(am__append_3532) \
+-      $(am__append_3539) $(am__append_3546) $(am__append_3553) \
+-      $(am__append_3560) $(am__append_3567) $(am__append_3574) \
+-      $(am__append_3581) $(am__append_3588) $(am__append_3595) \
+-      $(am__append_3602) $(am__append_3609) $(am__append_3616) \
+-      $(am__append_3623) $(am__append_3630) $(am__append_3637) \
+-      $(am__append_3644) $(am__append_3651) $(am__append_3658) \
+-      $(am__append_3665) $(am__append_3672) $(am__append_3679) \
+-      $(am__append_3686) $(am__append_3693) $(am__append_3700) \
+-      $(am__append_3707) $(am__append_3714) $(am__append_3721) \
+-      $(am__append_3728) $(am__append_3735) $(am__append_3742) \
+-      $(am__append_3749) $(am__append_3756) $(am__append_3763) \
+-      $(am__append_3770) $(am__append_3777) $(am__append_3784) \
+-      $(am__append_3791) $(am__append_3798) $(am__append_3805) \
+-      $(am__append_3812) $(am__append_3819) $(am__append_3826) \
+-      $(am__append_3833) $(am__append_3840) $(am__append_3847) \
+-      $(am__append_3854) $(am__append_3861) $(am__append_3868) \
+-      $(am__append_3875) $(am__append_3882) macho.module$(EXEEXT) \
+-      $(am__append_3889) $(am__append_3896) $(am__append_3903) \
+-      $(am__append_3910) $(am__append_3917) $(am__append_3924) \
+-      $(am__append_3931) $(am__append_3938) $(am__append_3945) \
+-      $(am__append_3952) $(am__append_3959) $(am__append_3966) \
+-      $(am__append_3973) $(am__append_3980) $(am__append_3987) \
+-      $(am__append_3994) $(am__append_4001) $(am__append_4008) \
+-      $(am__append_4015) $(am__append_4022) $(am__append_4029) \
+-      $(am__append_4036) $(am__append_4043) $(am__append_4050) \
+-      $(am__append_4057) $(am__append_4064) $(am__append_4071) \
++      pbkdf2.module$(EXEEXT) $(am__append_3084) $(am__append_3091) \
++      $(am__append_3098) $(am__append_3105) $(am__append_3112) \
++      $(am__append_3119) $(am__append_3126) $(am__append_3133) \
++      $(am__append_3140) $(am__append_3147) $(am__append_3154) \
++      $(am__append_3161) $(am__append_3168) $(am__append_3175) \
++      $(am__append_3182) $(am__append_3189) $(am__append_3196) \
++      $(am__append_3203) $(am__append_3210) $(am__append_3217) \
++      $(am__append_3224) $(am__append_3231) $(am__append_3238) \
++      $(am__append_3245) $(am__append_3252) $(am__append_3259) \
++      $(am__append_3266) $(am__append_3273) $(am__append_3280) \
++      $(am__append_3287) $(am__append_3294) $(am__append_3301) \
++      $(am__append_3308) $(am__append_3315) $(am__append_3322) \
++      $(am__append_3329) setjmp.module$(EXEEXT) $(am__append_3336) \
++      $(am__append_3343) $(am__append_3350) $(am__append_3357) \
++      $(am__append_3364) $(am__append_3371) $(am__append_3378) \
++      $(am__append_3385) $(am__append_3392) $(am__append_3399) \
++      $(am__append_3406) $(am__append_3413) $(am__append_3420) \
++      $(am__append_3427) $(am__append_3434) $(am__append_3441) \
++      $(am__append_3448) $(am__append_3455) $(am__append_3462) \
++      $(am__append_3469) $(am__append_3476) $(am__append_3483) \
++      $(am__append_3490) $(am__append_3497) $(am__append_3504) \
++      $(am__append_3511) $(am__append_3518) $(am__append_3525) \
++      $(am__append_3532) $(am__append_3539) $(am__append_3546) \
++      $(am__append_3553) $(am__append_3560) $(am__append_3567) \
++      $(am__append_3574) $(am__append_3581) $(am__append_3588) \
++      $(am__append_3595) $(am__append_3602) $(am__append_3609) \
++      $(am__append_3616) $(am__append_3623) $(am__append_3630) \
++      $(am__append_3637) $(am__append_3644) $(am__append_3651) \
++      $(am__append_3658) $(am__append_3665) $(am__append_3672) \
++      $(am__append_3679) $(am__append_3686) $(am__append_3693) \
++      $(am__append_3700) $(am__append_3707) $(am__append_3714) \
++      $(am__append_3721) $(am__append_3728) $(am__append_3735) \
++      $(am__append_3742) $(am__append_3749) $(am__append_3756) \
++      $(am__append_3763) $(am__append_3770) $(am__append_3777) \
++      $(am__append_3784) $(am__append_3791) $(am__append_3798) \
++      $(am__append_3805) $(am__append_3812) $(am__append_3819) \
++      $(am__append_3826) $(am__append_3833) $(am__append_3840) \
++      $(am__append_3847) $(am__append_3854) $(am__append_3861) \
++      $(am__append_3868) $(am__append_3875) macho.module$(EXEEXT) \
++      $(am__append_3882) $(am__append_3889) $(am__append_3896) \
++      $(am__append_3903) $(am__append_3910) $(am__append_3917) \
++      $(am__append_3924) $(am__append_3931) $(am__append_3938) \
++      $(am__append_3945) $(am__append_3952) $(am__append_3959) \
++      $(am__append_3966) $(am__append_3973) $(am__append_3980) \
++      $(am__append_3987) $(am__append_3994) $(am__append_4001) \
++      $(am__append_4008) $(am__append_4015) $(am__append_4022) \
++      $(am__append_4029) $(am__append_4036) $(am__append_4043) \
++      $(am__append_4050) $(am__append_4057) $(am__append_4064) \
+       normal.module$(EXEEXT) part_acorn.module$(EXEEXT) \
+       part_amiga.module$(EXEEXT) part_apple.module$(EXEEXT) \
+       part_gpt.module$(EXEEXT) part_msdos.module$(EXEEXT) \
+       part_sun.module$(EXEEXT) part_plan.module$(EXEEXT) \
+       part_dvh.module$(EXEEXT) part_bsd.module$(EXEEXT) \
+       part_sunpc.module$(EXEEXT) part_dfly.module$(EXEEXT) \
+-      msdospart.module$(EXEEXT) $(am__append_4078) \
+-      $(am__append_4085) $(am__append_4092) $(am__append_4099) \
+-      $(am__append_4106) $(am__append_4113) $(am__append_4120) \
+-      $(am__append_4127) $(am__append_4134) $(am__append_4141) \
+-      $(am__append_4148) $(am__append_4155) $(am__append_4162) \
+-      $(am__append_4169) $(am__append_4176) $(am__append_4183) \
+-      $(am__append_4190) $(am__append_4197) $(am__append_4204) \
+-      $(am__append_4211) $(am__append_4218) $(am__append_4225) \
+-      $(am__append_4232) $(am__append_4239) $(am__append_4246) \
+-      $(am__append_4253) $(am__append_4260) \
+-      gfxterm_background.module$(EXEEXT) $(am__append_4267) \
+-      $(am__append_4274) $(am__append_4281) $(am__append_4288) \
+-      $(am__append_4295) $(am__append_4302) $(am__append_4309) \
+-      $(am__append_4316) $(am__append_4323) $(am__append_4330) \
+-      $(am__append_4337) $(am__append_4344) $(am__append_4351) \
+-      $(am__append_4358) $(am__append_4365) $(am__append_4372) \
+-      $(am__append_4379) $(am__append_4386) $(am__append_4393) \
+-      $(am__append_4400) $(am__append_4407) $(am__append_4414) \
+-      $(am__append_4421) $(am__append_4428) $(am__append_4435) \
+-      $(am__append_4442) $(am__append_4449) $(am__append_4456) \
+-      $(am__append_4463) $(am__append_4470) $(am__append_4477) \
+-      $(am__append_4484) $(am__append_4491) $(am__append_4498) \
+-      $(am__append_4505) $(am__append_4512) $(am__append_4519) \
+-      $(am__append_4526) $(am__append_4533) $(am__append_4540) \
+-      $(am__append_4547) $(am__append_4554) $(am__append_4561) \
+-      $(am__append_4568) $(am__append_4575) $(am__append_4582) \
+-      $(am__append_4589) $(am__append_4596) $(am__append_4603) \
+-      $(am__append_4610) $(am__append_4617) $(am__append_4624) \
+-      $(am__append_4631) $(am__append_4638) $(am__append_4645) \
++      msdospart.module$(EXEEXT) $(am__append_4071) \
++      $(am__append_4078) $(am__append_4085) $(am__append_4092) \
++      $(am__append_4099) $(am__append_4106) $(am__append_4113) \
++      $(am__append_4120) $(am__append_4127) $(am__append_4134) \
++      $(am__append_4141) $(am__append_4148) $(am__append_4155) \
++      $(am__append_4162) $(am__append_4169) $(am__append_4176) \
++      $(am__append_4183) $(am__append_4190) $(am__append_4197) \
++      $(am__append_4204) $(am__append_4211) $(am__append_4218) \
++      $(am__append_4225) $(am__append_4232) $(am__append_4239) \
++      $(am__append_4246) $(am__append_4253) \
++      gfxterm_background.module$(EXEEXT) $(am__append_4260) \
++      $(am__append_4267) $(am__append_4274) $(am__append_4281) \
++      $(am__append_4288) $(am__append_4295) $(am__append_4302) \
++      $(am__append_4309) $(am__append_4316) $(am__append_4323) \
++      $(am__append_4330) $(am__append_4337) $(am__append_4344) \
++      $(am__append_4351) $(am__append_4358) $(am__append_4365) \
++      $(am__append_4372) $(am__append_4379) $(am__append_4386) \
++      $(am__append_4393) $(am__append_4400) $(am__append_4407) \
++      $(am__append_4414) $(am__append_4421) $(am__append_4428) \
++      $(am__append_4435) $(am__append_4442) $(am__append_4449) \
++      $(am__append_4456) $(am__append_4463) $(am__append_4470) \
++      $(am__append_4477) $(am__append_4484) $(am__append_4491) \
++      $(am__append_4498) $(am__append_4505) $(am__append_4512) \
++      $(am__append_4519) $(am__append_4526) $(am__append_4533) \
++      $(am__append_4540) $(am__append_4547) $(am__append_4554) \
++      $(am__append_4561) $(am__append_4568) $(am__append_4575) \
++      $(am__append_4582) $(am__append_4589) $(am__append_4596) \
++      $(am__append_4603) $(am__append_4610) $(am__append_4617) \
++      $(am__append_4624) $(am__append_4631) $(am__append_4638) \
+       functional_test.module$(EXEEXT) exfctest.module$(EXEEXT) \
+       strtoull_test.module$(EXEEXT) setjmp_test.module$(EXEEXT) \
+       signature_test.module$(EXEEXT) sleep_test.module$(EXEEXT) \
+       xnu_uuid_test.module$(EXEEXT) pbkdf2_test.module$(EXEEXT) \
+-      $(am__append_4652) $(am__append_4659) $(am__append_4666) \
+-      $(am__append_4673) $(am__append_4680) $(am__append_4687) \
+-      $(am__append_4694) $(am__append_4701) $(am__append_4708) \
+-      $(am__append_4715) $(am__append_4722) $(am__append_4729) \
+-      $(am__append_4736) $(am__append_4743) $(am__append_4750) \
+-      $(am__append_4757) $(am__append_4764) $(am__append_4771) \
+-      $(am__append_4778) $(am__append_4785) $(am__append_4792) \
+-      $(am__append_4799) $(am__append_4806) $(am__append_4813) \
+-      $(am__append_4820) div_test.module$(EXEEXT) \
++      $(am__append_4645) $(am__append_4652) $(am__append_4659) \
++      $(am__append_4666) $(am__append_4673) $(am__append_4680) \
++      $(am__append_4687) $(am__append_4694) $(am__append_4701) \
++      $(am__append_4708) $(am__append_4715) $(am__append_4722) \
++      $(am__append_4729) $(am__append_4736) $(am__append_4743) \
++      $(am__append_4750) $(am__append_4757) $(am__append_4764) \
++      $(am__append_4771) $(am__append_4778) $(am__append_4785) \
++      $(am__append_4792) $(am__append_4799) $(am__append_4806) \
++      $(am__append_4813) div_test.module$(EXEEXT) \
+       mul_test.module$(EXEEXT) shift_test.module$(EXEEXT) \
+       cmp_test.module$(EXEEXT) ctz_test.module$(EXEEXT) \
+       bswap_test.module$(EXEEXT) videotest_checksum.module$(EXEEXT) \
+       gfxterm_menu.module$(EXEEXT) cmdline_cat_test.module$(EXEEXT) \
+       bitmap.module$(EXEEXT) bitmap_scale.module$(EXEEXT) \
+-      $(am__append_4827) $(am__append_4834) $(am__append_4841) \
+-      $(am__append_4848) $(am__append_4855) $(am__append_4862) \
+-      $(am__append_4869) $(am__append_4876) $(am__append_4883) \
++      $(am__append_4820) $(am__append_4827) $(am__append_4834) \
++      $(am__append_4841) $(am__append_4848) $(am__append_4855) \
++      $(am__append_4862) $(am__append_4869) $(am__append_4876) \
+       jpeg.module$(EXEEXT) png.module$(EXEEXT) tga.module$(EXEEXT) \
+-      $(am__append_4890) $(am__append_4897) $(am__append_4904) \
+-      $(am__append_4911) $(am__append_4918) $(am__append_4925) \
+-      $(am__append_4932) $(am__append_4939) $(am__append_4946) \
+-      $(am__append_4953) $(am__append_4960) $(am__append_4967) \
+-      $(am__append_4974) $(am__append_4981) $(am__append_4988) \
+-      $(am__append_4995) $(am__append_5002) $(am__append_5009) \
+-      $(am__append_5016) $(am__append_5023) $(am__append_5030) \
+-      $(am__append_5037) $(am__append_5044) $(am__append_5051) \
+-      $(am__append_5058) $(am__append_5065) $(am__append_5072) \
+-      $(am__append_5079) $(am__append_5086) $(am__append_5093) \
+-      $(am__append_5100) $(am__append_5107) $(am__append_5114) \
+-      $(am__append_5121) $(am__append_5128) $(am__append_5135) \
+-      $(am__append_5142) $(am__append_5149) $(am__append_5156) \
+-      $(am__append_5163) $(am__append_5170) \
+-      video_colors.module$(EXEEXT) $(am__append_5177) \
+-      $(am__append_5184) datehook.module$(EXEEXT) \
++      $(am__append_4883) $(am__append_4890) $(am__append_4897) \
++      $(am__append_4904) $(am__append_4911) $(am__append_4918) \
++      $(am__append_4925) $(am__append_4932) $(am__append_4939) \
++      $(am__append_4946) $(am__append_4953) $(am__append_4960) \
++      $(am__append_4967) $(am__append_4974) $(am__append_4981) \
++      $(am__append_4988) $(am__append_4995) $(am__append_5002) \
++      $(am__append_5009) $(am__append_5016) $(am__append_5023) \
++      $(am__append_5030) $(am__append_5037) $(am__append_5044) \
++      $(am__append_5051) $(am__append_5058) $(am__append_5065) \
++      $(am__append_5072) $(am__append_5079) $(am__append_5086) \
++      $(am__append_5093) $(am__append_5100) $(am__append_5107) \
++      $(am__append_5114) $(am__append_5121) $(am__append_5128) \
++      $(am__append_5135) $(am__append_5142) $(am__append_5149) \
++      $(am__append_5156) $(am__append_5163) \
++      video_colors.module$(EXEEXT) $(am__append_5170) \
++      $(am__append_5177) datehook.module$(EXEEXT) \
+       net.module$(EXEEXT) tftp.module$(EXEEXT) http.module$(EXEEXT) \
+-      $(am__append_5191) $(am__append_5198) $(am__append_5205) \
+-      $(am__append_5212) $(am__append_5219) $(am__append_5226) \
+-      $(am__append_5233) $(am__append_5240) $(am__append_5247) \
+-      $(am__append_5254) $(am__append_5261) $(am__append_5268) \
+-      $(am__append_5275) $(am__append_5282) $(am__append_5289) \
+-      $(am__append_5296) $(am__append_5303) $(am__append_5310) \
++      $(am__append_5184) $(am__append_5191) $(am__append_5198) \
++      $(am__append_5205) $(am__append_5212) $(am__append_5219) \
++      $(am__append_5226) $(am__append_5233) $(am__append_5240) \
++      $(am__append_5247) $(am__append_5254) $(am__append_5261) \
++      $(am__append_5268) $(am__append_5275) $(am__append_5282) \
++      $(am__append_5289) $(am__append_5296) $(am__append_5303) \
+       syslinuxcfg.module$(EXEEXT) test_blockarg.module$(EXEEXT) \
+       xzio.module$(EXEEXT) lzopio.module$(EXEEXT) \
+-      testload.module$(EXEEXT) $(am__append_5317) $(am__append_5324) \
+-      $(am__append_5331) $(am__append_5338) $(am__append_5345) \
+-      $(am__append_5352) $(am__append_5359) $(am__append_5366) \
+-      $(am__append_5373) $(am__append_5380) $(am__append_5387) \
+-      $(am__append_5394) $(am__append_5401) $(am__append_5408) \
+-      $(am__append_5415) $(am__append_5422) $(am__append_5429) \
++      testload.module$(EXEEXT) $(am__append_5310) $(am__append_5317) \
++      $(am__append_5324) $(am__append_5331) $(am__append_5338) \
++      $(am__append_5345) $(am__append_5352) $(am__append_5359) \
++      $(am__append_5366) $(am__append_5373) $(am__append_5380) \
++      $(am__append_5387) $(am__append_5394) $(am__append_5401) \
++      $(am__append_5408) $(am__append_5415) $(am__append_5422) \
+       priority_queue.module$(EXEEXT) time.module$(EXEEXT) \
+-      $(am__append_5436) $(am__append_5443) adler32.module$(EXEEXT) \
++      $(am__append_5429) $(am__append_5436) adler32.module$(EXEEXT) \
+       crc64.module$(EXEEXT) mpi.module$(EXEEXT) \
+-      all_video.module$(EXEEXT) $(am__append_5450) \
+-      $(am__append_5457) $(am__append_5464) $(am__append_5471) \
+-      $(am__append_5478) $(am__append_5485) \
+-      testspeed.module$(EXEEXT) $(am__append_5492) \
++      all_video.module$(EXEEXT) $(am__append_5443) \
++      $(am__append_5450) $(am__append_5457) $(am__append_5464) \
++      $(am__append_5471) $(am__append_5478) \
++      testspeed.module$(EXEEXT) $(am__append_5485) \
+       tr.module$(EXEEXT) progress.module$(EXEEXT) \
+-      file.module$(EXEEXT) $(am__append_5499) $(am__append_5506) \
+-      $(am__append_5513) $(am__append_5520) $(am__append_5527) \
+-      $(am__append_5534) $(am__append_5541) $(am__append_5548) \
+-      $(am__append_5555) $(am__append_5562) $(am__append_5569) \
+-      $(am__append_5576) $(am__append_5583) $(am__append_5590) \
++      file.module$(EXEEXT) $(am__append_5492) $(am__append_5499) \
++      $(am__append_5506) $(am__append_5513) $(am__append_5520) \
++      $(am__append_5527) $(am__append_5534) $(am__append_5541) \
++      $(am__append_5548) $(am__append_5555) $(am__append_5562) \
++      $(am__append_5569) $(am__append_5576) $(am__append_5583) \
+       gcry_arcfour.module$(EXEEXT) gcry_blowfish.module$(EXEEXT) \
+       gcry_camellia.module$(EXEEXT) gcry_cast5.module$(EXEEXT) \
+       gcry_crc.module$(EXEEXT) gcry_des.module$(EXEEXT) \
+@@ -16180,58 +16157,58 @@ MARKER_FILES = disk.marker trig.marker $(am__append_9) \
+       hashsum.marker pgp.marker $(am__append_2046) \
+       $(am__append_2053) $(am__append_2060) $(am__append_2067) \
+       $(am__append_2074) $(am__append_2081) $(am__append_2088) \
+-      $(am__append_2095) $(am__append_2102) $(am__append_2109) \
+-      help.marker hexdump.marker keystatus.marker $(am__append_2116) \
+-      $(am__append_2123) loadenv.marker ls.marker lsmmap.marker \
+-      $(am__append_2130) $(am__append_2137) $(am__append_2144) \
+-      $(am__append_2151) $(am__append_2158) $(am__append_2165) \
+-      $(am__append_2172) $(am__append_2179) memrw.marker \
++      $(am__append_2095) $(am__append_2102) help.marker \
++      hexdump.marker keystatus.marker $(am__append_2109) \
++      $(am__append_2116) loadenv.marker ls.marker lsmmap.marker \
++      $(am__append_2123) $(am__append_2130) $(am__append_2137) \
++      $(am__append_2144) $(am__append_2151) $(am__append_2158) \
++      $(am__append_2165) $(am__append_2172) memrw.marker \
+       minicmd.marker parttool.marker password.marker \
+-      password_pbkdf2.marker $(am__append_2186) $(am__append_2193) \
+-      $(am__append_2200) $(am__append_2207) $(am__append_2214) \
+-      $(am__append_2221) $(am__append_2228) $(am__append_2235) \
+-      $(am__append_2242) $(am__append_2249) $(am__append_2256) \
+-      $(am__append_2263) $(am__append_2270) $(am__append_2277) \
+-      $(am__append_2284) $(am__append_2291) $(am__append_2298) \
+-      $(am__append_2305) $(am__append_2312) $(am__append_2319) \
+-      $(am__append_2326) probe.marker read.marker search.marker \
++      password_pbkdf2.marker $(am__append_2179) $(am__append_2186) \
++      $(am__append_2193) $(am__append_2200) $(am__append_2207) \
++      $(am__append_2214) $(am__append_2221) $(am__append_2228) \
++      $(am__append_2235) $(am__append_2242) $(am__append_2249) \
++      $(am__append_2256) $(am__append_2263) $(am__append_2270) \
++      $(am__append_2277) $(am__append_2284) $(am__append_2291) \
++      $(am__append_2298) $(am__append_2305) $(am__append_2312) \
++      $(am__append_2319) probe.marker read.marker search.marker \
+       search_fs_file.marker search_fs_uuid.marker \
+-      search_label.marker $(am__append_2333) $(am__append_2340) \
+-      $(am__append_2347) $(am__append_2354) $(am__append_2361) \
+-      $(am__append_2368) $(am__append_2375) $(am__append_2382) \
+-      $(am__append_2389) $(am__append_2396) $(am__append_2403) \
+-      $(am__append_2410) $(am__append_2417) $(am__append_2424) \
+-      $(am__append_2431) $(am__append_2438) sleep.marker \
+-      $(am__append_2445) $(am__append_2452) terminal.marker \
+-      test.marker true.marker $(am__append_2459) $(am__append_2466) \
+-      $(am__append_2473) $(am__append_2480) $(am__append_2487) \
+-      $(am__append_2494) $(am__append_2501) $(am__append_2508) \
+-      $(am__append_2515) videoinfo.marker videotest.marker \
++      search_label.marker $(am__append_2326) $(am__append_2333) \
++      $(am__append_2340) $(am__append_2347) $(am__append_2354) \
++      $(am__append_2361) $(am__append_2368) $(am__append_2375) \
++      $(am__append_2382) $(am__append_2389) $(am__append_2396) \
++      $(am__append_2403) $(am__append_2410) $(am__append_2417) \
++      $(am__append_2424) $(am__append_2431) sleep.marker \
++      $(am__append_2438) $(am__append_2445) terminal.marker \
++      test.marker true.marker $(am__append_2452) $(am__append_2459) \
++      $(am__append_2466) $(am__append_2473) $(am__append_2480) \
++      $(am__append_2487) $(am__append_2494) $(am__append_2501) \
++      $(am__append_2508) videoinfo.marker videotest.marker \
+       xnu_uuid.marker dm_nv.marker loopback.marker cryptodisk.marker \
+       luks.marker geli.marker lvm.marker ldm.marker mdraid09.marker \
+       mdraid09_be.marker mdraid1x.marker diskfilter.marker \
+       raid5rec.marker raid6rec.marker scsi.marker memdisk.marker \
+-      $(am__append_2522) $(am__append_2529) $(am__append_2536) \
+-      $(am__append_2543) $(am__append_2550) $(am__append_2557) \
+-      $(am__append_2564) $(am__append_2571) $(am__append_2578) \
+-      $(am__append_2585) $(am__append_2592) $(am__append_2599) \
+-      $(am__append_2606) $(am__append_2613) $(am__append_2620) \
+-      $(am__append_2627) $(am__append_2634) $(am__append_2641) \
+-      $(am__append_2648) $(am__append_2655) $(am__append_2662) \
+-      $(am__append_2669) $(am__append_2676) $(am__append_2683) \
+-      $(am__append_2690) $(am__append_2697) $(am__append_2704) \
+-      $(am__append_2711) $(am__append_2718) $(am__append_2725) \
+-      $(am__append_2732) $(am__append_2739) $(am__append_2746) \
+-      $(am__append_2753) $(am__append_2760) $(am__append_2767) \
+-      $(am__append_2774) $(am__append_2781) $(am__append_2788) \
+-      $(am__append_2795) $(am__append_2802) $(am__append_2809) \
+-      $(am__append_2816) $(am__append_2823) $(am__append_2830) \
+-      $(am__append_2837) $(am__append_2844) $(am__append_2851) \
+-      $(am__append_2858) $(am__append_2865) $(am__append_2872) \
+-      $(am__append_2879) $(am__append_2886) $(am__append_2893) \
+-      $(am__append_2900) $(am__append_2907) $(am__append_2914) \
+-      $(am__append_2921) $(am__append_2928) $(am__append_2935) \
+-      $(am__append_2942) procfs.marker affs.marker afs.marker \
++      $(am__append_2515) $(am__append_2522) $(am__append_2529) \
++      $(am__append_2536) $(am__append_2543) $(am__append_2550) \
++      $(am__append_2557) $(am__append_2564) $(am__append_2571) \
++      $(am__append_2578) $(am__append_2585) $(am__append_2592) \
++      $(am__append_2599) $(am__append_2606) $(am__append_2613) \
++      $(am__append_2620) $(am__append_2627) $(am__append_2634) \
++      $(am__append_2641) $(am__append_2648) $(am__append_2655) \
++      $(am__append_2662) $(am__append_2669) $(am__append_2676) \
++      $(am__append_2683) $(am__append_2690) $(am__append_2697) \
++      $(am__append_2704) $(am__append_2711) $(am__append_2718) \
++      $(am__append_2725) $(am__append_2732) $(am__append_2739) \
++      $(am__append_2746) $(am__append_2753) $(am__append_2760) \
++      $(am__append_2767) $(am__append_2774) $(am__append_2781) \
++      $(am__append_2788) $(am__append_2795) $(am__append_2802) \
++      $(am__append_2809) $(am__append_2816) $(am__append_2823) \
++      $(am__append_2830) $(am__append_2837) $(am__append_2844) \
++      $(am__append_2851) $(am__append_2858) $(am__append_2865) \
++      $(am__append_2872) $(am__append_2879) $(am__append_2886) \
++      $(am__append_2893) $(am__append_2900) $(am__append_2907) \
++      $(am__append_2914) $(am__append_2921) $(am__append_2928) \
++      $(am__append_2935) procfs.marker affs.marker afs.marker \
+       bfs.marker zstd.marker btrfs.marker archelp.marker cbfs.marker \
+       cpio.marker cpio_be.marker newc.marker odc.marker ext2.marker \
+       fat.marker exfat.marker f2fs.marker fshelp.marker hfs.marker \
+@@ -16242,153 +16219,153 @@ MARKER_FILES = disk.marker trig.marker $(am__append_9) \
+       squash4.marker tar.marker udf.marker ufs1.marker \
+       ufs1_be.marker ufs2.marker xfs.marker zfs.marker \
+       zfscrypt.marker zfsinfo.marker macbless.marker \
+-      $(am__append_2949) gettext.marker gfxmenu.marker hello.marker \
+-      gzio.marker offsetio.marker $(am__append_2956) \
+-      $(am__append_2963) $(am__append_2970) $(am__append_2977) \
+-      $(am__append_2984) $(am__append_2991) $(am__append_2998) \
+-      $(am__append_3005) $(am__append_3012) $(am__append_3019) \
+-      $(am__append_3026) $(am__append_3033) $(am__append_3040) \
+-      $(am__append_3047) $(am__append_3054) $(am__append_3061) \
+-      $(am__append_3068) $(am__append_3075) $(am__append_3082) \
+-      $(am__append_3089) elf.marker crypto.marker pbkdf2.marker \
+-      $(am__append_3096) $(am__append_3103) $(am__append_3110) \
+-      $(am__append_3117) $(am__append_3124) $(am__append_3131) \
+-      $(am__append_3138) $(am__append_3145) $(am__append_3152) \
+-      $(am__append_3159) $(am__append_3166) $(am__append_3173) \
+-      $(am__append_3180) $(am__append_3187) $(am__append_3194) \
+-      $(am__append_3201) $(am__append_3208) $(am__append_3215) \
+-      $(am__append_3222) $(am__append_3229) $(am__append_3236) \
+-      $(am__append_3243) $(am__append_3250) $(am__append_3257) \
+-      $(am__append_3264) $(am__append_3271) $(am__append_3278) \
+-      $(am__append_3285) $(am__append_3292) $(am__append_3299) \
+-      $(am__append_3306) $(am__append_3313) $(am__append_3320) \
+-      $(am__append_3327) $(am__append_3334) $(am__append_3341) \
+-      setjmp.marker $(am__append_3348) $(am__append_3355) \
+-      $(am__append_3362) $(am__append_3369) $(am__append_3376) \
+-      $(am__append_3383) $(am__append_3390) $(am__append_3397) \
+-      $(am__append_3404) $(am__append_3411) $(am__append_3418) \
+-      $(am__append_3425) $(am__append_3432) $(am__append_3439) \
+-      $(am__append_3446) $(am__append_3453) $(am__append_3460) \
+-      $(am__append_3467) $(am__append_3474) $(am__append_3481) \
+-      $(am__append_3488) $(am__append_3495) $(am__append_3502) \
+-      $(am__append_3509) $(am__append_3516) $(am__append_3523) \
+-      $(am__append_3530) $(am__append_3537) $(am__append_3544) \
+-      $(am__append_3551) $(am__append_3558) $(am__append_3565) \
+-      $(am__append_3572) $(am__append_3579) $(am__append_3586) \
+-      $(am__append_3593) $(am__append_3600) $(am__append_3607) \
+-      $(am__append_3614) $(am__append_3621) $(am__append_3628) \
+-      $(am__append_3635) $(am__append_3642) $(am__append_3649) \
+-      $(am__append_3656) $(am__append_3663) $(am__append_3670) \
+-      $(am__append_3677) $(am__append_3684) $(am__append_3691) \
+-      $(am__append_3698) $(am__append_3705) $(am__append_3712) \
+-      $(am__append_3719) $(am__append_3726) $(am__append_3733) \
+-      $(am__append_3740) $(am__append_3747) $(am__append_3754) \
+-      $(am__append_3761) $(am__append_3768) $(am__append_3775) \
+-      $(am__append_3782) $(am__append_3789) $(am__append_3796) \
+-      $(am__append_3803) $(am__append_3810) $(am__append_3817) \
+-      $(am__append_3824) $(am__append_3831) $(am__append_3838) \
+-      $(am__append_3845) $(am__append_3852) $(am__append_3859) \
+-      $(am__append_3866) $(am__append_3873) $(am__append_3880) \
+-      $(am__append_3887) macho.marker $(am__append_3894) \
+-      $(am__append_3901) $(am__append_3908) $(am__append_3915) \
+-      $(am__append_3922) $(am__append_3929) $(am__append_3936) \
+-      $(am__append_3943) $(am__append_3950) $(am__append_3957) \
+-      $(am__append_3964) $(am__append_3971) $(am__append_3978) \
+-      $(am__append_3985) $(am__append_3992) $(am__append_3999) \
+-      $(am__append_4006) $(am__append_4013) $(am__append_4020) \
+-      $(am__append_4027) $(am__append_4034) $(am__append_4041) \
+-      $(am__append_4048) $(am__append_4055) $(am__append_4062) \
+-      $(am__append_4069) $(am__append_4076) normal.marker \
++      $(am__append_2942) gettext.marker gfxmenu.marker hello.marker \
++      gzio.marker offsetio.marker $(am__append_2949) \
++      $(am__append_2956) $(am__append_2963) $(am__append_2970) \
++      $(am__append_2977) $(am__append_2984) $(am__append_2991) \
++      $(am__append_2998) $(am__append_3005) $(am__append_3012) \
++      $(am__append_3019) $(am__append_3026) $(am__append_3033) \
++      $(am__append_3040) $(am__append_3047) $(am__append_3054) \
++      $(am__append_3061) $(am__append_3068) $(am__append_3075) \
++      $(am__append_3082) elf.marker crypto.marker pbkdf2.marker \
++      $(am__append_3089) $(am__append_3096) $(am__append_3103) \
++      $(am__append_3110) $(am__append_3117) $(am__append_3124) \
++      $(am__append_3131) $(am__append_3138) $(am__append_3145) \
++      $(am__append_3152) $(am__append_3159) $(am__append_3166) \
++      $(am__append_3173) $(am__append_3180) $(am__append_3187) \
++      $(am__append_3194) $(am__append_3201) $(am__append_3208) \
++      $(am__append_3215) $(am__append_3222) $(am__append_3229) \
++      $(am__append_3236) $(am__append_3243) $(am__append_3250) \
++      $(am__append_3257) $(am__append_3264) $(am__append_3271) \
++      $(am__append_3278) $(am__append_3285) $(am__append_3292) \
++      $(am__append_3299) $(am__append_3306) $(am__append_3313) \
++      $(am__append_3320) $(am__append_3327) $(am__append_3334) \
++      setjmp.marker $(am__append_3341) $(am__append_3348) \
++      $(am__append_3355) $(am__append_3362) $(am__append_3369) \
++      $(am__append_3376) $(am__append_3383) $(am__append_3390) \
++      $(am__append_3397) $(am__append_3404) $(am__append_3411) \
++      $(am__append_3418) $(am__append_3425) $(am__append_3432) \
++      $(am__append_3439) $(am__append_3446) $(am__append_3453) \
++      $(am__append_3460) $(am__append_3467) $(am__append_3474) \
++      $(am__append_3481) $(am__append_3488) $(am__append_3495) \
++      $(am__append_3502) $(am__append_3509) $(am__append_3516) \
++      $(am__append_3523) $(am__append_3530) $(am__append_3537) \
++      $(am__append_3544) $(am__append_3551) $(am__append_3558) \
++      $(am__append_3565) $(am__append_3572) $(am__append_3579) \
++      $(am__append_3586) $(am__append_3593) $(am__append_3600) \
++      $(am__append_3607) $(am__append_3614) $(am__append_3621) \
++      $(am__append_3628) $(am__append_3635) $(am__append_3642) \
++      $(am__append_3649) $(am__append_3656) $(am__append_3663) \
++      $(am__append_3670) $(am__append_3677) $(am__append_3684) \
++      $(am__append_3691) $(am__append_3698) $(am__append_3705) \
++      $(am__append_3712) $(am__append_3719) $(am__append_3726) \
++      $(am__append_3733) $(am__append_3740) $(am__append_3747) \
++      $(am__append_3754) $(am__append_3761) $(am__append_3768) \
++      $(am__append_3775) $(am__append_3782) $(am__append_3789) \
++      $(am__append_3796) $(am__append_3803) $(am__append_3810) \
++      $(am__append_3817) $(am__append_3824) $(am__append_3831) \
++      $(am__append_3838) $(am__append_3845) $(am__append_3852) \
++      $(am__append_3859) $(am__append_3866) $(am__append_3873) \
++      $(am__append_3880) macho.marker $(am__append_3887) \
++      $(am__append_3894) $(am__append_3901) $(am__append_3908) \
++      $(am__append_3915) $(am__append_3922) $(am__append_3929) \
++      $(am__append_3936) $(am__append_3943) $(am__append_3950) \
++      $(am__append_3957) $(am__append_3964) $(am__append_3971) \
++      $(am__append_3978) $(am__append_3985) $(am__append_3992) \
++      $(am__append_3999) $(am__append_4006) $(am__append_4013) \
++      $(am__append_4020) $(am__append_4027) $(am__append_4034) \
++      $(am__append_4041) $(am__append_4048) $(am__append_4055) \
++      $(am__append_4062) $(am__append_4069) normal.marker \
+       part_acorn.marker part_amiga.marker part_apple.marker \
+       part_gpt.marker part_msdos.marker part_sun.marker \
+       part_plan.marker part_dvh.marker part_bsd.marker \
+       part_sunpc.marker part_dfly.marker msdospart.marker \
+-      $(am__append_4083) $(am__append_4090) $(am__append_4097) \
+-      $(am__append_4104) $(am__append_4111) $(am__append_4118) \
+-      $(am__append_4125) $(am__append_4132) $(am__append_4139) \
+-      $(am__append_4146) $(am__append_4153) $(am__append_4160) \
+-      $(am__append_4167) $(am__append_4174) $(am__append_4181) \
+-      $(am__append_4188) $(am__append_4195) $(am__append_4202) \
+-      $(am__append_4209) $(am__append_4216) $(am__append_4223) \
+-      $(am__append_4230) $(am__append_4237) $(am__append_4244) \
+-      $(am__append_4251) $(am__append_4258) $(am__append_4265) \
+-      gfxterm_background.marker $(am__append_4272) \
+-      $(am__append_4279) $(am__append_4286) $(am__append_4293) \
+-      $(am__append_4300) $(am__append_4307) $(am__append_4314) \
+-      $(am__append_4321) $(am__append_4328) $(am__append_4335) \
+-      $(am__append_4342) $(am__append_4349) $(am__append_4356) \
+-      $(am__append_4363) $(am__append_4370) $(am__append_4377) \
+-      $(am__append_4384) $(am__append_4391) $(am__append_4398) \
+-      $(am__append_4405) $(am__append_4412) $(am__append_4419) \
+-      $(am__append_4426) $(am__append_4433) $(am__append_4440) \
+-      $(am__append_4447) $(am__append_4454) $(am__append_4461) \
+-      $(am__append_4468) $(am__append_4475) $(am__append_4482) \
+-      $(am__append_4489) $(am__append_4496) $(am__append_4503) \
+-      $(am__append_4510) $(am__append_4517) $(am__append_4524) \
+-      $(am__append_4531) $(am__append_4538) $(am__append_4545) \
+-      $(am__append_4552) $(am__append_4559) $(am__append_4566) \
+-      $(am__append_4573) $(am__append_4580) $(am__append_4587) \
+-      $(am__append_4594) $(am__append_4601) $(am__append_4608) \
+-      $(am__append_4615) $(am__append_4622) $(am__append_4629) \
+-      $(am__append_4636) $(am__append_4643) $(am__append_4650) \
++      $(am__append_4076) $(am__append_4083) $(am__append_4090) \
++      $(am__append_4097) $(am__append_4104) $(am__append_4111) \
++      $(am__append_4118) $(am__append_4125) $(am__append_4132) \
++      $(am__append_4139) $(am__append_4146) $(am__append_4153) \
++      $(am__append_4160) $(am__append_4167) $(am__append_4174) \
++      $(am__append_4181) $(am__append_4188) $(am__append_4195) \
++      $(am__append_4202) $(am__append_4209) $(am__append_4216) \
++      $(am__append_4223) $(am__append_4230) $(am__append_4237) \
++      $(am__append_4244) $(am__append_4251) $(am__append_4258) \
++      gfxterm_background.marker $(am__append_4265) \
++      $(am__append_4272) $(am__append_4279) $(am__append_4286) \
++      $(am__append_4293) $(am__append_4300) $(am__append_4307) \
++      $(am__append_4314) $(am__append_4321) $(am__append_4328) \
++      $(am__append_4335) $(am__append_4342) $(am__append_4349) \
++      $(am__append_4356) $(am__append_4363) $(am__append_4370) \
++      $(am__append_4377) $(am__append_4384) $(am__append_4391) \
++      $(am__append_4398) $(am__append_4405) $(am__append_4412) \
++      $(am__append_4419) $(am__append_4426) $(am__append_4433) \
++      $(am__append_4440) $(am__append_4447) $(am__append_4454) \
++      $(am__append_4461) $(am__append_4468) $(am__append_4475) \
++      $(am__append_4482) $(am__append_4489) $(am__append_4496) \
++      $(am__append_4503) $(am__append_4510) $(am__append_4517) \
++      $(am__append_4524) $(am__append_4531) $(am__append_4538) \
++      $(am__append_4545) $(am__append_4552) $(am__append_4559) \
++      $(am__append_4566) $(am__append_4573) $(am__append_4580) \
++      $(am__append_4587) $(am__append_4594) $(am__append_4601) \
++      $(am__append_4608) $(am__append_4615) $(am__append_4622) \
++      $(am__append_4629) $(am__append_4636) $(am__append_4643) \
+       functional_test.marker exfctest.marker strtoull_test.marker \
+       setjmp_test.marker signature_test.marker sleep_test.marker \
+-      xnu_uuid_test.marker pbkdf2_test.marker $(am__append_4657) \
+-      $(am__append_4664) $(am__append_4671) $(am__append_4678) \
+-      $(am__append_4685) $(am__append_4692) $(am__append_4699) \
+-      $(am__append_4706) $(am__append_4713) $(am__append_4720) \
+-      $(am__append_4727) $(am__append_4734) $(am__append_4741) \
+-      $(am__append_4748) $(am__append_4755) $(am__append_4762) \
+-      $(am__append_4769) $(am__append_4776) $(am__append_4783) \
+-      $(am__append_4790) $(am__append_4797) $(am__append_4804) \
+-      $(am__append_4811) $(am__append_4818) $(am__append_4825) \
++      xnu_uuid_test.marker pbkdf2_test.marker $(am__append_4650) \
++      $(am__append_4657) $(am__append_4664) $(am__append_4671) \
++      $(am__append_4678) $(am__append_4685) $(am__append_4692) \
++      $(am__append_4699) $(am__append_4706) $(am__append_4713) \
++      $(am__append_4720) $(am__append_4727) $(am__append_4734) \
++      $(am__append_4741) $(am__append_4748) $(am__append_4755) \
++      $(am__append_4762) $(am__append_4769) $(am__append_4776) \
++      $(am__append_4783) $(am__append_4790) $(am__append_4797) \
++      $(am__append_4804) $(am__append_4811) $(am__append_4818) \
+       div_test.marker mul_test.marker shift_test.marker \
+       cmp_test.marker ctz_test.marker bswap_test.marker \
+       videotest_checksum.marker gfxterm_menu.marker \
+       cmdline_cat_test.marker bitmap.marker bitmap_scale.marker \
+-      $(am__append_4832) $(am__append_4839) $(am__append_4846) \
+-      $(am__append_4853) $(am__append_4860) $(am__append_4867) \
+-      $(am__append_4874) $(am__append_4881) $(am__append_4888) \
+-      jpeg.marker png.marker tga.marker $(am__append_4895) \
+-      $(am__append_4902) $(am__append_4909) $(am__append_4916) \
+-      $(am__append_4923) $(am__append_4930) $(am__append_4937) \
+-      $(am__append_4944) $(am__append_4951) $(am__append_4958) \
+-      $(am__append_4965) $(am__append_4972) $(am__append_4979) \
+-      $(am__append_4986) $(am__append_4993) $(am__append_5000) \
+-      $(am__append_5007) $(am__append_5014) $(am__append_5021) \
+-      $(am__append_5028) $(am__append_5035) $(am__append_5042) \
+-      $(am__append_5049) $(am__append_5056) $(am__append_5063) \
+-      $(am__append_5070) $(am__append_5077) $(am__append_5084) \
+-      $(am__append_5091) $(am__append_5098) $(am__append_5105) \
+-      $(am__append_5112) $(am__append_5119) $(am__append_5126) \
+-      $(am__append_5133) $(am__append_5140) $(am__append_5147) \
+-      $(am__append_5154) $(am__append_5161) $(am__append_5168) \
+-      $(am__append_5175) video_colors.marker $(am__append_5182) \
+-      $(am__append_5189) datehook.marker net.marker tftp.marker \
+-      http.marker $(am__append_5196) $(am__append_5203) \
+-      $(am__append_5210) $(am__append_5217) $(am__append_5224) \
+-      $(am__append_5231) $(am__append_5238) $(am__append_5245) \
+-      $(am__append_5252) $(am__append_5259) $(am__append_5266) \
+-      $(am__append_5273) $(am__append_5280) $(am__append_5287) \
+-      $(am__append_5294) $(am__append_5301) $(am__append_5308) \
+-      $(am__append_5315) syslinuxcfg.marker test_blockarg.marker \
+-      xzio.marker lzopio.marker testload.marker $(am__append_5322) \
+-      $(am__append_5329) $(am__append_5336) $(am__append_5343) \
+-      $(am__append_5350) $(am__append_5357) $(am__append_5364) \
+-      $(am__append_5371) $(am__append_5378) $(am__append_5385) \
+-      $(am__append_5392) $(am__append_5399) $(am__append_5406) \
+-      $(am__append_5413) $(am__append_5420) $(am__append_5427) \
+-      $(am__append_5434) priority_queue.marker time.marker \
+-      $(am__append_5441) $(am__append_5448) adler32.marker \
+-      crc64.marker mpi.marker all_video.marker $(am__append_5455) \
+-      $(am__append_5462) $(am__append_5469) $(am__append_5476) \
+-      $(am__append_5483) $(am__append_5490) testspeed.marker \
+-      $(am__append_5497) tr.marker progress.marker file.marker \
+-      $(am__append_5504) $(am__append_5511) $(am__append_5518) \
+-      $(am__append_5525) $(am__append_5532) $(am__append_5539) \
+-      $(am__append_5546) $(am__append_5553) $(am__append_5560) \
+-      $(am__append_5567) $(am__append_5574) $(am__append_5581) \
+-      $(am__append_5588) $(am__append_5595) gcry_arcfour.marker \
++      $(am__append_4825) $(am__append_4832) $(am__append_4839) \
++      $(am__append_4846) $(am__append_4853) $(am__append_4860) \
++      $(am__append_4867) $(am__append_4874) $(am__append_4881) \
++      jpeg.marker png.marker tga.marker $(am__append_4888) \
++      $(am__append_4895) $(am__append_4902) $(am__append_4909) \
++      $(am__append_4916) $(am__append_4923) $(am__append_4930) \
++      $(am__append_4937) $(am__append_4944) $(am__append_4951) \
++      $(am__append_4958) $(am__append_4965) $(am__append_4972) \
++      $(am__append_4979) $(am__append_4986) $(am__append_4993) \
++      $(am__append_5000) $(am__append_5007) $(am__append_5014) \
++      $(am__append_5021) $(am__append_5028) $(am__append_5035) \
++      $(am__append_5042) $(am__append_5049) $(am__append_5056) \
++      $(am__append_5063) $(am__append_5070) $(am__append_5077) \
++      $(am__append_5084) $(am__append_5091) $(am__append_5098) \
++      $(am__append_5105) $(am__append_5112) $(am__append_5119) \
++      $(am__append_5126) $(am__append_5133) $(am__append_5140) \
++      $(am__append_5147) $(am__append_5154) $(am__append_5161) \
++      $(am__append_5168) video_colors.marker $(am__append_5175) \
++      $(am__append_5182) datehook.marker net.marker tftp.marker \
++      http.marker $(am__append_5189) $(am__append_5196) \
++      $(am__append_5203) $(am__append_5210) $(am__append_5217) \
++      $(am__append_5224) $(am__append_5231) $(am__append_5238) \
++      $(am__append_5245) $(am__append_5252) $(am__append_5259) \
++      $(am__append_5266) $(am__append_5273) $(am__append_5280) \
++      $(am__append_5287) $(am__append_5294) $(am__append_5301) \
++      $(am__append_5308) syslinuxcfg.marker test_blockarg.marker \
++      xzio.marker lzopio.marker testload.marker $(am__append_5315) \
++      $(am__append_5322) $(am__append_5329) $(am__append_5336) \
++      $(am__append_5343) $(am__append_5350) $(am__append_5357) \
++      $(am__append_5364) $(am__append_5371) $(am__append_5378) \
++      $(am__append_5385) $(am__append_5392) $(am__append_5399) \
++      $(am__append_5406) $(am__append_5413) $(am__append_5420) \
++      $(am__append_5427) priority_queue.marker time.marker \
++      $(am__append_5434) $(am__append_5441) adler32.marker \
++      crc64.marker mpi.marker all_video.marker $(am__append_5448) \
++      $(am__append_5455) $(am__append_5462) $(am__append_5469) \
++      $(am__append_5476) $(am__append_5483) testspeed.marker \
++      $(am__append_5490) tr.marker progress.marker file.marker \
++      $(am__append_5497) $(am__append_5504) $(am__append_5511) \
++      $(am__append_5518) $(am__append_5525) $(am__append_5532) \
++      $(am__append_5539) $(am__append_5546) $(am__append_5553) \
++      $(am__append_5560) $(am__append_5567) $(am__append_5574) \
++      $(am__append_5581) $(am__append_5588) gcry_arcfour.marker \
+       gcry_blowfish.marker gcry_camellia.marker gcry_cast5.marker \
+       gcry_crc.marker gcry_des.marker gcry_dsa.marker \
+       gcry_idea.marker gcry_md4.marker gcry_md5.marker \
+@@ -16410,8 +16387,8 @@ KERNEL_HEADER_FILES = $(top_srcdir)/include/grub/cache.h \
+       $(top_srcdir)/include/grub/i18n.h \
+       $(top_srcdir)/include/grub/kernel.h \
+       $(top_srcdir)/include/grub/list.h \
+-      $(top_srcdir)/include/grub/misc.h $(am__append_5801) \
+-      $(am__append_5802) $(top_srcdir)/include/grub/mm.h \
++      $(top_srcdir)/include/grub/misc.h $(am__append_5794) \
++      $(am__append_5795) $(top_srcdir)/include/grub/mm.h \
+       $(top_srcdir)/include/grub/parser.h \
+       $(top_srcdir)/include/grub/partition.h \
+       $(top_srcdir)/include/grub/term.h \
+@@ -16419,38 +16396,38 @@ KERNEL_HEADER_FILES = $(top_srcdir)/include/grub/cache.h \
+       $(top_srcdir)/include/grub/verify.h \
+       $(top_srcdir)/include/grub/mm_private.h \
+       $(top_srcdir)/include/grub/net.h \
+-      $(top_srcdir)/include/grub/memory.h $(am__append_5803) \
+-      $(am__append_5804) $(am__append_5805) $(am__append_5806) \
+-      $(am__append_5807) $(am__append_5808) $(am__append_5809) \
+-      $(am__append_5810) $(am__append_5811) $(am__append_5812) \
+-      $(am__append_5813) $(am__append_5814) $(am__append_5815) \
+-      $(am__append_5816) $(am__append_5817) $(am__append_5818) \
+-      $(am__append_5819) $(am__append_5820) $(am__append_5821) \
+-      $(am__append_5822) $(am__append_5823) $(am__append_5824) \
+-      $(am__append_5825) $(am__append_5826) $(am__append_5827) \
+-      $(am__append_5828) $(am__append_5829)
+-man_MANS = $(am__append_5792)
++      $(top_srcdir)/include/grub/memory.h $(am__append_5796) \
++      $(am__append_5797) $(am__append_5798) $(am__append_5799) \
++      $(am__append_5800) $(am__append_5801) $(am__append_5802) \
++      $(am__append_5803) $(am__append_5804) $(am__append_5805) \
++      $(am__append_5806) $(am__append_5807) $(am__append_5808) \
++      $(am__append_5809) $(am__append_5810) $(am__append_5811) \
++      $(am__append_5812) $(am__append_5813) $(am__append_5814) \
++      $(am__append_5815) $(am__append_5816) $(am__append_5817) \
++      $(am__append_5818) $(am__append_5819) $(am__append_5820) \
++      $(am__append_5821) $(am__append_5822)
++man_MANS = $(am__append_5785)
+ noinst_DATA = gensyminfo.sh genmod.sh modinfo.sh kernel_syms.lst
+ pkgdata_DATA = 
+ bin_SCRIPTS = 
+ sbin_SCRIPTS = 
+-platform_DATA = $(am__append_5600) $(am__append_5605) \
+-      $(am__append_5610) $(am__append_5615) $(am__append_5620) \
+-      $(am__append_5625) $(am__append_5630) $(am__append_5635) \
+-      $(am__append_5640) $(am__append_5645) $(am__append_5650) \
+-      $(am__append_5655) $(am__append_5660) $(am__append_5665) \
+-      $(am__append_5670) $(am__append_5675) $(am__append_5680) \
+-      $(am__append_5685) $(am__append_5690) $(am__append_5695) \
+-      $(am__append_5700) $(am__append_5705) $(am__append_5710) \
+-      $(am__append_5715) $(am__append_5720) $(am__append_5725) \
+-      $(am__append_5730) $(am__append_5735) $(am__append_5740) \
+-      $(am__append_5745) $(am__append_5750) $(am__append_5755) \
+-      $(am__append_5760) $(am__append_5765) $(am__append_5770) \
+-      $(am__append_5775) $(am__append_5780) $(am__append_5785) \
+-      $(am__append_5790) gmodule.pl gdb_grub $(am__append_5797) \
++platform_DATA = $(am__append_5593) $(am__append_5598) \
++      $(am__append_5603) $(am__append_5608) $(am__append_5613) \
++      $(am__append_5618) $(am__append_5623) $(am__append_5628) \
++      $(am__append_5633) $(am__append_5638) $(am__append_5643) \
++      $(am__append_5648) $(am__append_5653) $(am__append_5658) \
++      $(am__append_5663) $(am__append_5668) $(am__append_5673) \
++      $(am__append_5678) $(am__append_5683) $(am__append_5688) \
++      $(am__append_5693) $(am__append_5698) $(am__append_5703) \
++      $(am__append_5708) $(am__append_5713) $(am__append_5718) \
++      $(am__append_5723) $(am__append_5728) $(am__append_5733) \
++      $(am__append_5738) $(am__append_5743) $(am__append_5748) \
++      $(am__append_5753) $(am__append_5758) $(am__append_5763) \
++      $(am__append_5768) $(am__append_5773) $(am__append_5778) \
++      $(am__append_5783) gmodule.pl gdb_grub $(am__append_5790) \
+       fs.lst command.lst partmap.lst terminal.lst fdt.lst \
+       parttool.lst video.lst crypto.lst moddep.lst $(MOD_FILES) \
+-      modinfo.sh $(am__append_5831)
++      modinfo.sh $(am__append_5824)
+ check_SCRIPTS = 
+ dist_grubconf_DATA = 
+ noinst_SCRIPTS = 
+@@ -16567,7 +16544,7 @@ dist_noinst_DATA = kern/disk_common.c gentrigtables.c $(am__append_5) \
+       $(am__append_2259) $(am__append_2266) $(am__append_2273) \
+       $(am__append_2280) $(am__append_2287) $(am__append_2294) \
+       $(am__append_2301) $(am__append_2308) $(am__append_2315) \
+-      $(am__append_2322) commands/search.c $(am__append_2329) \
++      commands/search.c $(am__append_2322) $(am__append_2329) \
+       $(am__append_2336) $(am__append_2343) $(am__append_2350) \
+       $(am__append_2357) $(am__append_2364) $(am__append_2371) \
+       $(am__append_2378) $(am__append_2385) $(am__append_2392) \
+@@ -16603,8 +16580,8 @@ dist_noinst_DATA = kern/disk_common.c gentrigtables.c $(am__append_5) \
+       $(am__append_3008) $(am__append_3015) $(am__append_3022) \
+       $(am__append_3029) $(am__append_3036) $(am__append_3043) \
+       $(am__append_3050) $(am__append_3057) $(am__append_3064) \
+-      $(am__append_3071) $(am__append_3078) $(am__append_3085) \
+-      kern/elfXX.c lib/libgcrypt-grub/cipher/crypto.lst \
++      $(am__append_3071) $(am__append_3078) kern/elfXX.c \
++      lib/libgcrypt-grub/cipher/crypto.lst $(am__append_3085) \
+       $(am__append_3092) $(am__append_3099) $(am__append_3106) \
+       $(am__append_3113) $(am__append_3120) $(am__append_3127) \
+       $(am__append_3134) $(am__append_3141) $(am__append_3148) \
+@@ -16616,11 +16593,11 @@ dist_noinst_DATA = kern/disk_common.c gentrigtables.c $(am__append_5) \
+       $(am__append_3260) $(am__append_3267) $(am__append_3274) \
+       $(am__append_3281) $(am__append_3288) $(am__append_3295) \
+       $(am__append_3302) $(am__append_3309) $(am__append_3316) \
+-      $(am__append_3323) $(am__append_3330) $(am__append_3337) \
+-      lib/i386/setjmp.S lib/mips/setjmp.S lib/x86_64/setjmp.S \
+-      lib/sparc64/setjmp.S lib/powerpc/setjmp.S lib/ia64/setjmp.S \
+-      lib/ia64/longjmp.S lib/arm/setjmp.S lib/arm64/setjmp.S \
+-      lib/riscv/setjmp.S $(am__append_3344) $(am__append_3351) \
++      $(am__append_3323) $(am__append_3330) lib/i386/setjmp.S \
++      lib/mips/setjmp.S lib/x86_64/setjmp.S lib/sparc64/setjmp.S \
++      lib/powerpc/setjmp.S lib/ia64/setjmp.S lib/ia64/longjmp.S \
++      lib/arm/setjmp.S lib/arm64/setjmp.S lib/riscv/setjmp.S \
++      $(am__append_3337) $(am__append_3344) $(am__append_3351) \
+       $(am__append_3358) $(am__append_3365) $(am__append_3372) \
+       $(am__append_3379) $(am__append_3386) $(am__append_3393) \
+       $(am__append_3400) $(am__append_3407) $(am__append_3414) \
+@@ -16646,7 +16623,7 @@ dist_noinst_DATA = kern/disk_common.c gentrigtables.c $(am__append_5) \
+       $(am__append_3820) $(am__append_3827) $(am__append_3834) \
+       $(am__append_3841) $(am__append_3848) $(am__append_3855) \
+       $(am__append_3862) $(am__append_3869) $(am__append_3876) \
+-      $(am__append_3883) loader/machoXX.c $(am__append_3890) \
++      loader/machoXX.c $(am__append_3883) $(am__append_3890) \
+       $(am__append_3897) $(am__append_3904) $(am__append_3911) \
+       $(am__append_3918) $(am__append_3925) $(am__append_3932) \
+       $(am__append_3939) $(am__append_3946) $(am__append_3953) \
+@@ -16655,8 +16632,8 @@ dist_noinst_DATA = kern/disk_common.c gentrigtables.c $(am__append_5) \
+       $(am__append_4002) $(am__append_4009) $(am__append_4016) \
+       $(am__append_4023) $(am__append_4030) $(am__append_4037) \
+       $(am__append_4044) $(am__append_4051) $(am__append_4058) \
+-      $(am__append_4065) $(am__append_4072) script/yylex.l \
+-      script/parser.y $(am__append_4079) $(am__append_4086) \
++      $(am__append_4065) script/yylex.l script/parser.y \
++      $(am__append_4072) $(am__append_4079) $(am__append_4086) \
+       $(am__append_4093) $(am__append_4100) $(am__append_4107) \
+       $(am__append_4114) $(am__append_4121) $(am__append_4128) \
+       $(am__append_4135) $(am__append_4142) $(am__append_4149) \
+@@ -16723,30 +16700,29 @@ dist_noinst_DATA = kern/disk_common.c gentrigtables.c $(am__append_5) \
+       $(am__append_5416) $(am__append_5423) $(am__append_5430) \
+       $(am__append_5437) $(am__append_5444) $(am__append_5451) \
+       $(am__append_5458) $(am__append_5465) $(am__append_5472) \
+-      $(am__append_5479) $(am__append_5486) $(am__append_5493) \
+-      commands/fileXX.c loader/i386/xen_fileXX.c $(am__append_5500) \
++      $(am__append_5479) $(am__append_5486) commands/fileXX.c \
++      loader/i386/xen_fileXX.c $(am__append_5493) $(am__append_5500) \
+       $(am__append_5507) $(am__append_5514) $(am__append_5521) \
+       $(am__append_5528) $(am__append_5535) $(am__append_5542) \
+       $(am__append_5549) $(am__append_5556) $(am__append_5563) \
+       $(am__append_5570) $(am__append_5577) $(am__append_5584) \
+-      $(am__append_5591) $(am__append_5597) $(am__append_5602) \
+-      $(am__append_5607) $(am__append_5612) $(am__append_5617) \
+-      $(am__append_5622) $(am__append_5627) $(am__append_5632) \
+-      $(am__append_5637) $(am__append_5642) $(am__append_5647) \
+-      $(am__append_5652) $(am__append_5657) $(am__append_5662) \
+-      $(am__append_5667) $(am__append_5672) $(am__append_5677) \
+-      $(am__append_5682) $(am__append_5687) $(am__append_5692) \
+-      $(am__append_5697) $(am__append_5702) $(am__append_5707) \
+-      $(am__append_5712) $(am__append_5717) $(am__append_5722) \
+-      $(am__append_5727) $(am__append_5732) $(am__append_5737) \
+-      $(am__append_5742) $(am__append_5747) $(am__append_5752) \
+-      $(am__append_5757) $(am__append_5762) $(am__append_5767) \
+-      $(am__append_5772) $(am__append_5777) $(am__append_5782) \
+-      $(am__append_5787) $(am__append_5794) gensyminfo.sh.in \
+-      genmod.sh.in modinfo.sh.in gmodule.pl.in gdb_grub.in \
+-      $(am__append_5800)
++      $(am__append_5590) $(am__append_5595) $(am__append_5600) \
++      $(am__append_5605) $(am__append_5610) $(am__append_5615) \
++      $(am__append_5620) $(am__append_5625) $(am__append_5630) \
++      $(am__append_5635) $(am__append_5640) $(am__append_5645) \
++      $(am__append_5650) $(am__append_5655) $(am__append_5660) \
++      $(am__append_5665) $(am__append_5670) $(am__append_5675) \
++      $(am__append_5680) $(am__append_5685) $(am__append_5690) \
++      $(am__append_5695) $(am__append_5700) $(am__append_5705) \
++      $(am__append_5710) $(am__append_5715) $(am__append_5720) \
++      $(am__append_5725) $(am__append_5730) $(am__append_5735) \
++      $(am__append_5740) $(am__append_5745) $(am__append_5750) \
++      $(am__append_5755) $(am__append_5760) $(am__append_5765) \
++      $(am__append_5770) $(am__append_5775) $(am__append_5780) \
++      $(am__append_5787) gensyminfo.sh.in genmod.sh.in modinfo.sh.in \
++      gmodule.pl.in gdb_grub.in $(am__append_5793)
+ platform_SCRIPTS = 
+-EXTRA_DIST = $(am__append_5799)
++EXTRA_DIST = $(am__append_5792)
+ CLEANFILES = build-grub-pep2elf$(BUILD_EXEEXT) \
+       build-grub-pe2elf$(BUILD_EXEEXT) gentrigtables$(BUILD_EXEEXT) \
+       build-grub-module-verifier$(BUILD_EXEEXT) trigtables.c \
+@@ -16862,48 +16838,48 @@ CLEANFILES = build-grub-pep2elf$(BUILD_EXEEXT) \
+       $(nodist_pgp_module_SOURCES) pgp.marker $(am__append_2044) \
+       $(am__append_2051) $(am__append_2058) $(am__append_2065) \
+       $(am__append_2072) $(am__append_2079) $(am__append_2086) \
+-      $(am__append_2093) $(am__append_2100) $(am__append_2107) \
++      $(am__append_2093) $(am__append_2100) \
+       $(nodist_help_module_SOURCES) help.marker \
+       $(nodist_hexdump_module_SOURCES) hexdump.marker \
+       $(nodist_keystatus_module_SOURCES) keystatus.marker \
+-      $(am__append_2114) $(am__append_2121) \
++      $(am__append_2107) $(am__append_2114) \
+       $(nodist_loadenv_module_SOURCES) loadenv.marker \
+       $(nodist_ls_module_SOURCES) ls.marker \
+       $(nodist_lsmmap_module_SOURCES) lsmmap.marker \
+-      $(am__append_2128) $(am__append_2135) $(am__append_2142) \
+-      $(am__append_2149) $(am__append_2156) $(am__append_2163) \
+-      $(am__append_2170) $(am__append_2177) \
++      $(am__append_2121) $(am__append_2128) $(am__append_2135) \
++      $(am__append_2142) $(am__append_2149) $(am__append_2156) \
++      $(am__append_2163) $(am__append_2170) \
+       $(nodist_memrw_module_SOURCES) memrw.marker \
+       $(nodist_minicmd_module_SOURCES) minicmd.marker \
+       $(nodist_parttool_module_SOURCES) parttool.marker \
+       $(nodist_password_module_SOURCES) password.marker \
+       $(nodist_password_pbkdf2_module_SOURCES) \
+-      password_pbkdf2.marker $(am__append_2184) $(am__append_2191) \
+-      $(am__append_2198) $(am__append_2205) $(am__append_2212) \
+-      $(am__append_2219) $(am__append_2226) $(am__append_2233) \
+-      $(am__append_2240) $(am__append_2247) $(am__append_2254) \
+-      $(am__append_2261) $(am__append_2268) $(am__append_2275) \
+-      $(am__append_2282) $(am__append_2289) $(am__append_2296) \
+-      $(am__append_2303) $(am__append_2310) $(am__append_2317) \
+-      $(am__append_2324) $(nodist_probe_module_SOURCES) probe.marker \
++      password_pbkdf2.marker $(am__append_2177) $(am__append_2184) \
++      $(am__append_2191) $(am__append_2198) $(am__append_2205) \
++      $(am__append_2212) $(am__append_2219) $(am__append_2226) \
++      $(am__append_2233) $(am__append_2240) $(am__append_2247) \
++      $(am__append_2254) $(am__append_2261) $(am__append_2268) \
++      $(am__append_2275) $(am__append_2282) $(am__append_2289) \
++      $(am__append_2296) $(am__append_2303) $(am__append_2310) \
++      $(am__append_2317) $(nodist_probe_module_SOURCES) probe.marker \
+       $(nodist_read_module_SOURCES) read.marker \
+       $(nodist_search_module_SOURCES) search.marker \
+       $(nodist_search_fs_file_module_SOURCES) search_fs_file.marker \
+       $(nodist_search_fs_uuid_module_SOURCES) search_fs_uuid.marker \
+       $(nodist_search_label_module_SOURCES) search_label.marker \
+-      $(am__append_2331) $(am__append_2338) $(am__append_2345) \
+-      $(am__append_2352) $(am__append_2359) $(am__append_2366) \
+-      $(am__append_2373) $(am__append_2380) $(am__append_2387) \
+-      $(am__append_2394) $(am__append_2401) $(am__append_2408) \
+-      $(am__append_2415) $(am__append_2422) $(am__append_2429) \
+-      $(am__append_2436) $(nodist_sleep_module_SOURCES) sleep.marker \
+-      $(am__append_2443) $(am__append_2450) \
++      $(am__append_2324) $(am__append_2331) $(am__append_2338) \
++      $(am__append_2345) $(am__append_2352) $(am__append_2359) \
++      $(am__append_2366) $(am__append_2373) $(am__append_2380) \
++      $(am__append_2387) $(am__append_2394) $(am__append_2401) \
++      $(am__append_2408) $(am__append_2415) $(am__append_2422) \
++      $(am__append_2429) $(nodist_sleep_module_SOURCES) sleep.marker \
++      $(am__append_2436) $(am__append_2443) \
+       $(nodist_terminal_module_SOURCES) terminal.marker \
+       $(nodist_test_module_SOURCES) test.marker \
+-      $(nodist_true_module_SOURCES) true.marker $(am__append_2457) \
+-      $(am__append_2464) $(am__append_2471) $(am__append_2478) \
+-      $(am__append_2485) $(am__append_2492) $(am__append_2499) \
+-      $(am__append_2506) $(am__append_2513) \
++      $(nodist_true_module_SOURCES) true.marker $(am__append_2450) \
++      $(am__append_2457) $(am__append_2464) $(am__append_2471) \
++      $(am__append_2478) $(am__append_2485) $(am__append_2492) \
++      $(am__append_2499) $(am__append_2506) \
+       $(nodist_videoinfo_module_SOURCES) videoinfo.marker \
+       $(nodist_videotest_module_SOURCES) videotest.marker \
+       $(nodist_xnu_uuid_module_SOURCES) xnu_uuid.marker \
+@@ -16922,27 +16898,27 @@ CLEANFILES = build-grub-pep2elf$(BUILD_EXEEXT) \
+       $(nodist_raid6rec_module_SOURCES) raid6rec.marker \
+       $(nodist_scsi_module_SOURCES) scsi.marker \
+       $(nodist_memdisk_module_SOURCES) memdisk.marker \
+-      $(am__append_2520) $(am__append_2527) $(am__append_2534) \
+-      $(am__append_2541) $(am__append_2548) $(am__append_2555) \
+-      $(am__append_2562) $(am__append_2569) $(am__append_2576) \
+-      $(am__append_2583) $(am__append_2590) $(am__append_2597) \
+-      $(am__append_2604) $(am__append_2611) $(am__append_2618) \
+-      $(am__append_2625) $(am__append_2632) $(am__append_2639) \
+-      $(am__append_2646) $(am__append_2653) $(am__append_2660) \
+-      $(am__append_2667) $(am__append_2674) $(am__append_2681) \
+-      $(am__append_2688) $(am__append_2695) $(am__append_2702) \
+-      $(am__append_2709) $(am__append_2716) $(am__append_2723) \
+-      $(am__append_2730) $(am__append_2737) $(am__append_2744) \
+-      $(am__append_2751) $(am__append_2758) $(am__append_2765) \
+-      $(am__append_2772) $(am__append_2779) $(am__append_2786) \
+-      $(am__append_2793) $(am__append_2800) $(am__append_2807) \
+-      $(am__append_2814) $(am__append_2821) $(am__append_2828) \
+-      $(am__append_2835) $(am__append_2842) $(am__append_2849) \
+-      $(am__append_2856) $(am__append_2863) $(am__append_2870) \
+-      $(am__append_2877) $(am__append_2884) $(am__append_2891) \
+-      $(am__append_2898) $(am__append_2905) $(am__append_2912) \
+-      $(am__append_2919) $(am__append_2926) $(am__append_2933) \
+-      $(am__append_2940) $(nodist_procfs_module_SOURCES) \
++      $(am__append_2513) $(am__append_2520) $(am__append_2527) \
++      $(am__append_2534) $(am__append_2541) $(am__append_2548) \
++      $(am__append_2555) $(am__append_2562) $(am__append_2569) \
++      $(am__append_2576) $(am__append_2583) $(am__append_2590) \
++      $(am__append_2597) $(am__append_2604) $(am__append_2611) \
++      $(am__append_2618) $(am__append_2625) $(am__append_2632) \
++      $(am__append_2639) $(am__append_2646) $(am__append_2653) \
++      $(am__append_2660) $(am__append_2667) $(am__append_2674) \
++      $(am__append_2681) $(am__append_2688) $(am__append_2695) \
++      $(am__append_2702) $(am__append_2709) $(am__append_2716) \
++      $(am__append_2723) $(am__append_2730) $(am__append_2737) \
++      $(am__append_2744) $(am__append_2751) $(am__append_2758) \
++      $(am__append_2765) $(am__append_2772) $(am__append_2779) \
++      $(am__append_2786) $(am__append_2793) $(am__append_2800) \
++      $(am__append_2807) $(am__append_2814) $(am__append_2821) \
++      $(am__append_2828) $(am__append_2835) $(am__append_2842) \
++      $(am__append_2849) $(am__append_2856) $(am__append_2863) \
++      $(am__append_2870) $(am__append_2877) $(am__append_2884) \
++      $(am__append_2891) $(am__append_2898) $(am__append_2905) \
++      $(am__append_2912) $(am__append_2919) $(am__append_2926) \
++      $(am__append_2933) $(nodist_procfs_module_SOURCES) \
+       procfs.marker $(nodist_affs_module_SOURCES) affs.marker \
+       $(nodist_afs_module_SOURCES) afs.marker \
+       $(nodist_bfs_module_SOURCES) bfs.marker \
+@@ -16987,70 +16963,70 @@ CLEANFILES = build-grub-pep2elf$(BUILD_EXEEXT) \
+       $(nodist_zfscrypt_module_SOURCES) zfscrypt.marker \
+       $(nodist_zfsinfo_module_SOURCES) zfsinfo.marker \
+       $(nodist_macbless_module_SOURCES) macbless.marker \
+-      $(am__append_2947) $(nodist_gettext_module_SOURCES) \
++      $(am__append_2940) $(nodist_gettext_module_SOURCES) \
+       gettext.marker $(nodist_gfxmenu_module_SOURCES) gfxmenu.marker \
+       $(nodist_hello_module_SOURCES) hello.marker \
+       $(nodist_gzio_module_SOURCES) gzio.marker \
+       $(nodist_offsetio_module_SOURCES) offsetio.marker \
+-      $(am__append_2954) $(am__append_2961) $(am__append_2968) \
+-      $(am__append_2975) $(am__append_2982) $(am__append_2989) \
+-      $(am__append_2996) $(am__append_3003) $(am__append_3010) \
+-      $(am__append_3017) $(am__append_3024) $(am__append_3031) \
+-      $(am__append_3038) $(am__append_3045) $(am__append_3052) \
+-      $(am__append_3059) $(am__append_3066) $(am__append_3073) \
+-      $(am__append_3080) $(am__append_3087) \
++      $(am__append_2947) $(am__append_2954) $(am__append_2961) \
++      $(am__append_2968) $(am__append_2975) $(am__append_2982) \
++      $(am__append_2989) $(am__append_2996) $(am__append_3003) \
++      $(am__append_3010) $(am__append_3017) $(am__append_3024) \
++      $(am__append_3031) $(am__append_3038) $(am__append_3045) \
++      $(am__append_3052) $(am__append_3059) $(am__append_3066) \
++      $(am__append_3073) $(am__append_3080) \
+       $(nodist_elf_module_SOURCES) elf.marker \
+       $(nodist_crypto_module_SOURCES) crypto.marker \
+       $(nodist_pbkdf2_module_SOURCES) pbkdf2.marker \
+-      $(am__append_3094) $(am__append_3101) $(am__append_3108) \
+-      $(am__append_3115) $(am__append_3122) $(am__append_3129) \
+-      $(am__append_3136) $(am__append_3143) $(am__append_3150) \
+-      $(am__append_3157) $(am__append_3164) $(am__append_3171) \
+-      $(am__append_3178) $(am__append_3185) $(am__append_3192) \
+-      $(am__append_3199) $(am__append_3206) $(am__append_3213) \
+-      $(am__append_3220) $(am__append_3227) $(am__append_3234) \
+-      $(am__append_3241) $(am__append_3248) $(am__append_3255) \
+-      $(am__append_3262) $(am__append_3269) $(am__append_3276) \
+-      $(am__append_3283) $(am__append_3290) $(am__append_3297) \
+-      $(am__append_3304) $(am__append_3311) $(am__append_3318) \
+-      $(am__append_3325) $(am__append_3332) $(am__append_3339) \
++      $(am__append_3087) $(am__append_3094) $(am__append_3101) \
++      $(am__append_3108) $(am__append_3115) $(am__append_3122) \
++      $(am__append_3129) $(am__append_3136) $(am__append_3143) \
++      $(am__append_3150) $(am__append_3157) $(am__append_3164) \
++      $(am__append_3171) $(am__append_3178) $(am__append_3185) \
++      $(am__append_3192) $(am__append_3199) $(am__append_3206) \
++      $(am__append_3213) $(am__append_3220) $(am__append_3227) \
++      $(am__append_3234) $(am__append_3241) $(am__append_3248) \
++      $(am__append_3255) $(am__append_3262) $(am__append_3269) \
++      $(am__append_3276) $(am__append_3283) $(am__append_3290) \
++      $(am__append_3297) $(am__append_3304) $(am__append_3311) \
++      $(am__append_3318) $(am__append_3325) $(am__append_3332) \
+       $(nodist_setjmp_module_SOURCES) setjmp.marker \
+-      $(am__append_3346) $(am__append_3353) $(am__append_3360) \
+-      $(am__append_3367) $(am__append_3374) $(am__append_3381) \
+-      $(am__append_3388) $(am__append_3395) $(am__append_3402) \
+-      $(am__append_3409) $(am__append_3416) $(am__append_3423) \
+-      $(am__append_3430) $(am__append_3437) $(am__append_3444) \
+-      $(am__append_3451) $(am__append_3458) $(am__append_3465) \
+-      $(am__append_3472) $(am__append_3479) $(am__append_3486) \
+-      $(am__append_3493) $(am__append_3500) $(am__append_3507) \
+-      $(am__append_3514) $(am__append_3521) $(am__append_3528) \
+-      $(am__append_3535) $(am__append_3542) $(am__append_3549) \
+-      $(am__append_3556) $(am__append_3563) $(am__append_3570) \
+-      $(am__append_3577) $(am__append_3584) $(am__append_3591) \
+-      $(am__append_3598) $(am__append_3605) $(am__append_3612) \
+-      $(am__append_3619) $(am__append_3626) $(am__append_3633) \
+-      $(am__append_3640) $(am__append_3647) $(am__append_3654) \
+-      $(am__append_3661) $(am__append_3668) $(am__append_3675) \
+-      $(am__append_3682) $(am__append_3689) $(am__append_3696) \
+-      $(am__append_3703) $(am__append_3710) $(am__append_3717) \
+-      $(am__append_3724) $(am__append_3731) $(am__append_3738) \
+-      $(am__append_3745) $(am__append_3752) $(am__append_3759) \
+-      $(am__append_3766) $(am__append_3773) $(am__append_3780) \
+-      $(am__append_3787) $(am__append_3794) $(am__append_3801) \
+-      $(am__append_3808) $(am__append_3815) $(am__append_3822) \
+-      $(am__append_3829) $(am__append_3836) $(am__append_3843) \
+-      $(am__append_3850) $(am__append_3857) $(am__append_3864) \
+-      $(am__append_3871) $(am__append_3878) $(am__append_3885) \
+-      $(nodist_macho_module_SOURCES) macho.marker $(am__append_3892) \
+-      $(am__append_3899) $(am__append_3906) $(am__append_3913) \
+-      $(am__append_3920) $(am__append_3927) $(am__append_3934) \
+-      $(am__append_3941) $(am__append_3948) $(am__append_3955) \
+-      $(am__append_3962) $(am__append_3969) $(am__append_3976) \
+-      $(am__append_3983) $(am__append_3990) $(am__append_3997) \
+-      $(am__append_4004) $(am__append_4011) $(am__append_4018) \
+-      $(am__append_4025) $(am__append_4032) $(am__append_4039) \
+-      $(am__append_4046) $(am__append_4053) $(am__append_4060) \
+-      $(am__append_4067) $(am__append_4074) \
++      $(am__append_3339) $(am__append_3346) $(am__append_3353) \
++      $(am__append_3360) $(am__append_3367) $(am__append_3374) \
++      $(am__append_3381) $(am__append_3388) $(am__append_3395) \
++      $(am__append_3402) $(am__append_3409) $(am__append_3416) \
++      $(am__append_3423) $(am__append_3430) $(am__append_3437) \
++      $(am__append_3444) $(am__append_3451) $(am__append_3458) \
++      $(am__append_3465) $(am__append_3472) $(am__append_3479) \
++      $(am__append_3486) $(am__append_3493) $(am__append_3500) \
++      $(am__append_3507) $(am__append_3514) $(am__append_3521) \
++      $(am__append_3528) $(am__append_3535) $(am__append_3542) \
++      $(am__append_3549) $(am__append_3556) $(am__append_3563) \
++      $(am__append_3570) $(am__append_3577) $(am__append_3584) \
++      $(am__append_3591) $(am__append_3598) $(am__append_3605) \
++      $(am__append_3612) $(am__append_3619) $(am__append_3626) \
++      $(am__append_3633) $(am__append_3640) $(am__append_3647) \
++      $(am__append_3654) $(am__append_3661) $(am__append_3668) \
++      $(am__append_3675) $(am__append_3682) $(am__append_3689) \
++      $(am__append_3696) $(am__append_3703) $(am__append_3710) \
++      $(am__append_3717) $(am__append_3724) $(am__append_3731) \
++      $(am__append_3738) $(am__append_3745) $(am__append_3752) \
++      $(am__append_3759) $(am__append_3766) $(am__append_3773) \
++      $(am__append_3780) $(am__append_3787) $(am__append_3794) \
++      $(am__append_3801) $(am__append_3808) $(am__append_3815) \
++      $(am__append_3822) $(am__append_3829) $(am__append_3836) \
++      $(am__append_3843) $(am__append_3850) $(am__append_3857) \
++      $(am__append_3864) $(am__append_3871) $(am__append_3878) \
++      $(nodist_macho_module_SOURCES) macho.marker $(am__append_3885) \
++      $(am__append_3892) $(am__append_3899) $(am__append_3906) \
++      $(am__append_3913) $(am__append_3920) $(am__append_3927) \
++      $(am__append_3934) $(am__append_3941) $(am__append_3948) \
++      $(am__append_3955) $(am__append_3962) $(am__append_3969) \
++      $(am__append_3976) $(am__append_3983) $(am__append_3990) \
++      $(am__append_3997) $(am__append_4004) $(am__append_4011) \
++      $(am__append_4018) $(am__append_4025) $(am__append_4032) \
++      $(am__append_4039) $(am__append_4046) $(am__append_4053) \
++      $(am__append_4060) $(am__append_4067) \
+       $(nodist_normal_module_SOURCES) normal.marker \
+       $(nodist_part_acorn_module_SOURCES) part_acorn.marker \
+       $(nodist_part_amiga_module_SOURCES) part_amiga.marker \
+@@ -17064,35 +17040,35 @@ CLEANFILES = build-grub-pep2elf$(BUILD_EXEEXT) \
+       $(nodist_part_sunpc_module_SOURCES) part_sunpc.marker \
+       $(nodist_part_dfly_module_SOURCES) part_dfly.marker \
+       $(nodist_msdospart_module_SOURCES) msdospart.marker \
+-      $(am__append_4081) $(am__append_4088) $(am__append_4095) \
+-      $(am__append_4102) $(am__append_4109) $(am__append_4116) \
+-      $(am__append_4123) $(am__append_4130) $(am__append_4137) \
+-      $(am__append_4144) $(am__append_4151) $(am__append_4158) \
+-      $(am__append_4165) $(am__append_4172) $(am__append_4179) \
+-      $(am__append_4186) $(am__append_4193) $(am__append_4200) \
+-      $(am__append_4207) $(am__append_4214) $(am__append_4221) \
+-      $(am__append_4228) $(am__append_4235) $(am__append_4242) \
+-      $(am__append_4249) $(am__append_4256) $(am__append_4263) \
++      $(am__append_4074) $(am__append_4081) $(am__append_4088) \
++      $(am__append_4095) $(am__append_4102) $(am__append_4109) \
++      $(am__append_4116) $(am__append_4123) $(am__append_4130) \
++      $(am__append_4137) $(am__append_4144) $(am__append_4151) \
++      $(am__append_4158) $(am__append_4165) $(am__append_4172) \
++      $(am__append_4179) $(am__append_4186) $(am__append_4193) \
++      $(am__append_4200) $(am__append_4207) $(am__append_4214) \
++      $(am__append_4221) $(am__append_4228) $(am__append_4235) \
++      $(am__append_4242) $(am__append_4249) $(am__append_4256) \
+       $(nodist_gfxterm_background_module_SOURCES) \
+-      gfxterm_background.marker $(am__append_4270) \
+-      $(am__append_4277) $(am__append_4284) $(am__append_4291) \
+-      $(am__append_4298) $(am__append_4305) $(am__append_4312) \
+-      $(am__append_4319) $(am__append_4326) $(am__append_4333) \
+-      $(am__append_4340) $(am__append_4347) $(am__append_4354) \
+-      $(am__append_4361) $(am__append_4368) $(am__append_4375) \
+-      $(am__append_4382) $(am__append_4389) $(am__append_4396) \
+-      $(am__append_4403) $(am__append_4410) $(am__append_4417) \
+-      $(am__append_4424) $(am__append_4431) $(am__append_4438) \
+-      $(am__append_4445) $(am__append_4452) $(am__append_4459) \
+-      $(am__append_4466) $(am__append_4473) $(am__append_4480) \
+-      $(am__append_4487) $(am__append_4494) $(am__append_4501) \
+-      $(am__append_4508) $(am__append_4515) $(am__append_4522) \
+-      $(am__append_4529) $(am__append_4536) $(am__append_4543) \
+-      $(am__append_4550) $(am__append_4557) $(am__append_4564) \
+-      $(am__append_4571) $(am__append_4578) $(am__append_4585) \
+-      $(am__append_4592) $(am__append_4599) $(am__append_4606) \
+-      $(am__append_4613) $(am__append_4620) $(am__append_4627) \
+-      $(am__append_4634) $(am__append_4641) $(am__append_4648) \
++      gfxterm_background.marker $(am__append_4263) \
++      $(am__append_4270) $(am__append_4277) $(am__append_4284) \
++      $(am__append_4291) $(am__append_4298) $(am__append_4305) \
++      $(am__append_4312) $(am__append_4319) $(am__append_4326) \
++      $(am__append_4333) $(am__append_4340) $(am__append_4347) \
++      $(am__append_4354) $(am__append_4361) $(am__append_4368) \
++      $(am__append_4375) $(am__append_4382) $(am__append_4389) \
++      $(am__append_4396) $(am__append_4403) $(am__append_4410) \
++      $(am__append_4417) $(am__append_4424) $(am__append_4431) \
++      $(am__append_4438) $(am__append_4445) $(am__append_4452) \
++      $(am__append_4459) $(am__append_4466) $(am__append_4473) \
++      $(am__append_4480) $(am__append_4487) $(am__append_4494) \
++      $(am__append_4501) $(am__append_4508) $(am__append_4515) \
++      $(am__append_4522) $(am__append_4529) $(am__append_4536) \
++      $(am__append_4543) $(am__append_4550) $(am__append_4557) \
++      $(am__append_4564) $(am__append_4571) $(am__append_4578) \
++      $(am__append_4585) $(am__append_4592) $(am__append_4599) \
++      $(am__append_4606) $(am__append_4613) $(am__append_4620) \
++      $(am__append_4627) $(am__append_4634) $(am__append_4641) \
+       $(nodist_functional_test_module_SOURCES) \
+       functional_test.marker $(nodist_exfctest_module_SOURCES) \
+       exfctest.marker $(nodist_strtoull_test_module_SOURCES) \
+@@ -17101,15 +17077,15 @@ CLEANFILES = build-grub-pep2elf$(BUILD_EXEEXT) \
+       signature_test.marker $(nodist_sleep_test_module_SOURCES) \
+       sleep_test.marker $(nodist_xnu_uuid_test_module_SOURCES) \
+       xnu_uuid_test.marker $(nodist_pbkdf2_test_module_SOURCES) \
+-      pbkdf2_test.marker $(am__append_4655) $(am__append_4662) \
+-      $(am__append_4669) $(am__append_4676) $(am__append_4683) \
+-      $(am__append_4690) $(am__append_4697) $(am__append_4704) \
+-      $(am__append_4711) $(am__append_4718) $(am__append_4725) \
+-      $(am__append_4732) $(am__append_4739) $(am__append_4746) \
+-      $(am__append_4753) $(am__append_4760) $(am__append_4767) \
+-      $(am__append_4774) $(am__append_4781) $(am__append_4788) \
+-      $(am__append_4795) $(am__append_4802) $(am__append_4809) \
+-      $(am__append_4816) $(am__append_4823) \
++      pbkdf2_test.marker $(am__append_4648) $(am__append_4655) \
++      $(am__append_4662) $(am__append_4669) $(am__append_4676) \
++      $(am__append_4683) $(am__append_4690) $(am__append_4697) \
++      $(am__append_4704) $(am__append_4711) $(am__append_4718) \
++      $(am__append_4725) $(am__append_4732) $(am__append_4739) \
++      $(am__append_4746) $(am__append_4753) $(am__append_4760) \
++      $(am__append_4767) $(am__append_4774) $(am__append_4781) \
++      $(am__append_4788) $(am__append_4795) $(am__append_4802) \
++      $(am__append_4809) $(am__append_4816) \
+       $(nodist_div_test_module_SOURCES) div_test.marker \
+       $(nodist_mul_test_module_SOURCES) mul_test.marker \
+       $(nodist_shift_test_module_SOURCES) shift_test.marker \
+@@ -17122,65 +17098,65 @@ CLEANFILES = build-grub-pep2elf$(BUILD_EXEEXT) \
+       $(nodist_cmdline_cat_test_module_SOURCES) \
+       cmdline_cat_test.marker $(nodist_bitmap_module_SOURCES) \
+       bitmap.marker $(nodist_bitmap_scale_module_SOURCES) \
+-      bitmap_scale.marker $(am__append_4830) $(am__append_4837) \
+-      $(am__append_4844) $(am__append_4851) $(am__append_4858) \
+-      $(am__append_4865) $(am__append_4872) $(am__append_4879) \
+-      $(am__append_4886) $(nodist_jpeg_module_SOURCES) jpeg.marker \
++      bitmap_scale.marker $(am__append_4823) $(am__append_4830) \
++      $(am__append_4837) $(am__append_4844) $(am__append_4851) \
++      $(am__append_4858) $(am__append_4865) $(am__append_4872) \
++      $(am__append_4879) $(nodist_jpeg_module_SOURCES) jpeg.marker \
+       $(nodist_png_module_SOURCES) png.marker \
+-      $(nodist_tga_module_SOURCES) tga.marker $(am__append_4893) \
+-      $(am__append_4900) $(am__append_4907) $(am__append_4914) \
+-      $(am__append_4921) $(am__append_4928) $(am__append_4935) \
+-      $(am__append_4942) $(am__append_4949) $(am__append_4956) \
+-      $(am__append_4963) $(am__append_4970) $(am__append_4977) \
+-      $(am__append_4984) $(am__append_4991) $(am__append_4998) \
+-      $(am__append_5005) $(am__append_5012) $(am__append_5019) \
+-      $(am__append_5026) $(am__append_5033) $(am__append_5040) \
+-      $(am__append_5047) $(am__append_5054) $(am__append_5061) \
+-      $(am__append_5068) $(am__append_5075) $(am__append_5082) \
+-      $(am__append_5089) $(am__append_5096) $(am__append_5103) \
+-      $(am__append_5110) $(am__append_5117) $(am__append_5124) \
+-      $(am__append_5131) $(am__append_5138) $(am__append_5145) \
+-      $(am__append_5152) $(am__append_5159) $(am__append_5166) \
+-      $(am__append_5173) $(nodist_video_colors_module_SOURCES) \
+-      video_colors.marker $(am__append_5180) $(am__append_5187) \
++      $(nodist_tga_module_SOURCES) tga.marker $(am__append_4886) \
++      $(am__append_4893) $(am__append_4900) $(am__append_4907) \
++      $(am__append_4914) $(am__append_4921) $(am__append_4928) \
++      $(am__append_4935) $(am__append_4942) $(am__append_4949) \
++      $(am__append_4956) $(am__append_4963) $(am__append_4970) \
++      $(am__append_4977) $(am__append_4984) $(am__append_4991) \
++      $(am__append_4998) $(am__append_5005) $(am__append_5012) \
++      $(am__append_5019) $(am__append_5026) $(am__append_5033) \
++      $(am__append_5040) $(am__append_5047) $(am__append_5054) \
++      $(am__append_5061) $(am__append_5068) $(am__append_5075) \
++      $(am__append_5082) $(am__append_5089) $(am__append_5096) \
++      $(am__append_5103) $(am__append_5110) $(am__append_5117) \
++      $(am__append_5124) $(am__append_5131) $(am__append_5138) \
++      $(am__append_5145) $(am__append_5152) $(am__append_5159) \
++      $(am__append_5166) $(nodist_video_colors_module_SOURCES) \
++      video_colors.marker $(am__append_5173) $(am__append_5180) \
+       $(nodist_datehook_module_SOURCES) datehook.marker \
+       $(nodist_net_module_SOURCES) net.marker \
+       $(nodist_tftp_module_SOURCES) tftp.marker \
+-      $(nodist_http_module_SOURCES) http.marker $(am__append_5194) \
+-      $(am__append_5201) $(am__append_5208) $(am__append_5215) \
+-      $(am__append_5222) $(am__append_5229) $(am__append_5236) \
+-      $(am__append_5243) $(am__append_5250) $(am__append_5257) \
+-      $(am__append_5264) $(am__append_5271) $(am__append_5278) \
+-      $(am__append_5285) $(am__append_5292) $(am__append_5299) \
+-      $(am__append_5306) $(am__append_5313) \
++      $(nodist_http_module_SOURCES) http.marker $(am__append_5187) \
++      $(am__append_5194) $(am__append_5201) $(am__append_5208) \
++      $(am__append_5215) $(am__append_5222) $(am__append_5229) \
++      $(am__append_5236) $(am__append_5243) $(am__append_5250) \
++      $(am__append_5257) $(am__append_5264) $(am__append_5271) \
++      $(am__append_5278) $(am__append_5285) $(am__append_5292) \
++      $(am__append_5299) $(am__append_5306) \
+       $(nodist_syslinuxcfg_module_SOURCES) syslinuxcfg.marker \
+       $(nodist_test_blockarg_module_SOURCES) test_blockarg.marker \
+       $(nodist_xzio_module_SOURCES) xzio.marker \
+       $(nodist_lzopio_module_SOURCES) lzopio.marker \
+       $(nodist_testload_module_SOURCES) testload.marker \
+-      $(am__append_5320) $(am__append_5327) $(am__append_5334) \
+-      $(am__append_5341) $(am__append_5348) $(am__append_5355) \
+-      $(am__append_5362) $(am__append_5369) $(am__append_5376) \
+-      $(am__append_5383) $(am__append_5390) $(am__append_5397) \
+-      $(am__append_5404) $(am__append_5411) $(am__append_5418) \
+-      $(am__append_5425) $(am__append_5432) \
++      $(am__append_5313) $(am__append_5320) $(am__append_5327) \
++      $(am__append_5334) $(am__append_5341) $(am__append_5348) \
++      $(am__append_5355) $(am__append_5362) $(am__append_5369) \
++      $(am__append_5376) $(am__append_5383) $(am__append_5390) \
++      $(am__append_5397) $(am__append_5404) $(am__append_5411) \
++      $(am__append_5418) $(am__append_5425) \
+       $(nodist_priority_queue_module_SOURCES) priority_queue.marker \
+-      $(nodist_time_module_SOURCES) time.marker $(am__append_5439) \
+-      $(am__append_5446) $(nodist_adler32_module_SOURCES) \
++      $(nodist_time_module_SOURCES) time.marker $(am__append_5432) \
++      $(am__append_5439) $(nodist_adler32_module_SOURCES) \
+       adler32.marker $(nodist_crc64_module_SOURCES) crc64.marker \
+       $(nodist_mpi_module_SOURCES) mpi.marker \
+       $(nodist_all_video_module_SOURCES) all_video.marker \
+-      $(am__append_5453) $(am__append_5460) $(am__append_5467) \
+-      $(am__append_5474) $(am__append_5481) $(am__append_5488) \
++      $(am__append_5446) $(am__append_5453) $(am__append_5460) \
++      $(am__append_5467) $(am__append_5474) $(am__append_5481) \
+       $(nodist_testspeed_module_SOURCES) testspeed.marker \
+-      $(am__append_5495) $(nodist_tr_module_SOURCES) tr.marker \
++      $(am__append_5488) $(nodist_tr_module_SOURCES) tr.marker \
+       $(nodist_progress_module_SOURCES) progress.marker \
+-      $(nodist_file_module_SOURCES) file.marker $(am__append_5502) \
+-      $(am__append_5509) $(am__append_5516) $(am__append_5523) \
+-      $(am__append_5530) $(am__append_5537) $(am__append_5544) \
+-      $(am__append_5551) $(am__append_5558) $(am__append_5565) \
+-      $(am__append_5572) $(am__append_5579) $(am__append_5586) \
+-      $(am__append_5593) $(nodist_gcry_arcfour_module_SOURCES) \
++      $(nodist_file_module_SOURCES) file.marker $(am__append_5495) \
++      $(am__append_5502) $(am__append_5509) $(am__append_5516) \
++      $(am__append_5523) $(am__append_5530) $(am__append_5537) \
++      $(am__append_5544) $(am__append_5551) $(am__append_5558) \
++      $(am__append_5565) $(am__append_5572) $(am__append_5579) \
++      $(am__append_5586) $(nodist_gcry_arcfour_module_SOURCES) \
+       gcry_arcfour.marker $(nodist_gcry_blowfish_module_SOURCES) \
+       gcry_blowfish.marker $(nodist_gcry_camellia_module_SOURCES) \
+       gcry_camellia.marker $(nodist_gcry_cast5_module_SOURCES) \
+@@ -17202,25 +17178,25 @@ CLEANFILES = build-grub-pep2elf$(BUILD_EXEEXT) \
+       gcry_sha512.marker $(nodist_gcry_tiger_module_SOURCES) \
+       gcry_tiger.marker $(nodist_gcry_twofish_module_SOURCES) \
+       gcry_twofish.marker $(nodist_gcry_whirlpool_module_SOURCES) \
+-      gcry_whirlpool.marker $(am__append_5599) $(am__append_5604) \
+-      $(am__append_5609) $(am__append_5614) $(am__append_5619) \
+-      $(am__append_5624) $(am__append_5629) $(am__append_5634) \
+-      $(am__append_5639) $(am__append_5644) $(am__append_5649) \
+-      $(am__append_5654) $(am__append_5659) $(am__append_5664) \
+-      $(am__append_5669) $(am__append_5674) $(am__append_5679) \
+-      $(am__append_5684) $(am__append_5689) $(am__append_5694) \
+-      $(am__append_5699) $(am__append_5704) $(am__append_5709) \
+-      $(am__append_5714) $(am__append_5719) $(am__append_5724) \
+-      $(am__append_5729) $(am__append_5734) $(am__append_5739) \
+-      $(am__append_5744) $(am__append_5749) $(am__append_5754) \
+-      $(am__append_5759) $(am__append_5764) $(am__append_5769) \
+-      $(am__append_5774) $(am__append_5779) $(am__append_5784) \
+-      $(am__append_5789) $(am__append_5793) $(am__append_5796) \
++      gcry_whirlpool.marker $(am__append_5592) $(am__append_5597) \
++      $(am__append_5602) $(am__append_5607) $(am__append_5612) \
++      $(am__append_5617) $(am__append_5622) $(am__append_5627) \
++      $(am__append_5632) $(am__append_5637) $(am__append_5642) \
++      $(am__append_5647) $(am__append_5652) $(am__append_5657) \
++      $(am__append_5662) $(am__append_5667) $(am__append_5672) \
++      $(am__append_5677) $(am__append_5682) $(am__append_5687) \
++      $(am__append_5692) $(am__append_5697) $(am__append_5702) \
++      $(am__append_5707) $(am__append_5712) $(am__append_5717) \
++      $(am__append_5722) $(am__append_5727) $(am__append_5732) \
++      $(am__append_5737) $(am__append_5742) $(am__append_5747) \
++      $(am__append_5752) $(am__append_5757) $(am__append_5762) \
++      $(am__append_5767) $(am__append_5772) $(am__append_5777) \
++      $(am__append_5782) $(am__append_5786) $(am__append_5789) \
+       gensyminfo.sh genmod.sh modinfo.sh gmodule.pl gdb_grub \
+-      $(am__append_5798) symlist.h symlist.c kernel_syms.lst \
+-      $(am__append_5830) fs.lst command.lst partmap.lst terminal.lst \
++      $(am__append_5791) symlist.h symlist.c kernel_syms.lst \
++      $(am__append_5823) fs.lst command.lst partmap.lst terminal.lst \
+       fdt.lst parttool.lst video.lst crypto.lst config.log \
+-      syminfo.lst moddep.lst $(MOD_FILES) $(am__append_5832)
++      syminfo.lst moddep.lst $(MOD_FILES) $(am__append_5825)
+ BUILT_SOURCES = $(nodist_disk_module_SOURCES) \
+       $(nodist_trig_module_SOURCES) $(am__append_6) $(am__append_13) \
+       $(am__append_20) $(am__append_27) $(am__append_34) \
+@@ -17329,42 +17305,41 @@ BUILT_SOURCES = $(nodist_disk_module_SOURCES) \
+       $(am__append_2043) $(am__append_2050) $(am__append_2057) \
+       $(am__append_2064) $(am__append_2071) $(am__append_2078) \
+       $(am__append_2085) $(am__append_2092) $(am__append_2099) \
+-      $(am__append_2106) $(nodist_help_module_SOURCES) \
+-      $(nodist_hexdump_module_SOURCES) \
+-      $(nodist_keystatus_module_SOURCES) $(am__append_2113) \
+-      $(am__append_2120) $(nodist_loadenv_module_SOURCES) \
++      $(nodist_help_module_SOURCES) $(nodist_hexdump_module_SOURCES) \
++      $(nodist_keystatus_module_SOURCES) $(am__append_2106) \
++      $(am__append_2113) $(nodist_loadenv_module_SOURCES) \
+       $(nodist_ls_module_SOURCES) $(nodist_lsmmap_module_SOURCES) \
+-      $(am__append_2127) $(am__append_2134) $(am__append_2141) \
+-      $(am__append_2148) $(am__append_2155) $(am__append_2162) \
+-      $(am__append_2169) $(am__append_2176) \
++      $(am__append_2120) $(am__append_2127) $(am__append_2134) \
++      $(am__append_2141) $(am__append_2148) $(am__append_2155) \
++      $(am__append_2162) $(am__append_2169) \
+       $(nodist_memrw_module_SOURCES) \
+       $(nodist_minicmd_module_SOURCES) \
+       $(nodist_parttool_module_SOURCES) \
+       $(nodist_password_module_SOURCES) \
+-      $(nodist_password_pbkdf2_module_SOURCES) $(am__append_2183) \
+-      $(am__append_2190) $(am__append_2197) $(am__append_2204) \
+-      $(am__append_2211) $(am__append_2218) $(am__append_2225) \
+-      $(am__append_2232) $(am__append_2239) $(am__append_2246) \
+-      $(am__append_2253) $(am__append_2260) $(am__append_2267) \
+-      $(am__append_2274) $(am__append_2281) $(am__append_2288) \
+-      $(am__append_2295) $(am__append_2302) $(am__append_2309) \
+-      $(am__append_2316) $(am__append_2323) \
++      $(nodist_password_pbkdf2_module_SOURCES) $(am__append_2176) \
++      $(am__append_2183) $(am__append_2190) $(am__append_2197) \
++      $(am__append_2204) $(am__append_2211) $(am__append_2218) \
++      $(am__append_2225) $(am__append_2232) $(am__append_2239) \
++      $(am__append_2246) $(am__append_2253) $(am__append_2260) \
++      $(am__append_2267) $(am__append_2274) $(am__append_2281) \
++      $(am__append_2288) $(am__append_2295) $(am__append_2302) \
++      $(am__append_2309) $(am__append_2316) \
+       $(nodist_probe_module_SOURCES) $(nodist_read_module_SOURCES) \
+       $(nodist_search_module_SOURCES) \
+       $(nodist_search_fs_file_module_SOURCES) \
+       $(nodist_search_fs_uuid_module_SOURCES) \
+-      $(nodist_search_label_module_SOURCES) $(am__append_2330) \
+-      $(am__append_2337) $(am__append_2344) $(am__append_2351) \
+-      $(am__append_2358) $(am__append_2365) $(am__append_2372) \
+-      $(am__append_2379) $(am__append_2386) $(am__append_2393) \
+-      $(am__append_2400) $(am__append_2407) $(am__append_2414) \
+-      $(am__append_2421) $(am__append_2428) $(am__append_2435) \
+-      $(nodist_sleep_module_SOURCES) $(am__append_2442) \
+-      $(am__append_2449) $(nodist_terminal_module_SOURCES) \
++      $(nodist_search_label_module_SOURCES) $(am__append_2323) \
++      $(am__append_2330) $(am__append_2337) $(am__append_2344) \
++      $(am__append_2351) $(am__append_2358) $(am__append_2365) \
++      $(am__append_2372) $(am__append_2379) $(am__append_2386) \
++      $(am__append_2393) $(am__append_2400) $(am__append_2407) \
++      $(am__append_2414) $(am__append_2421) $(am__append_2428) \
++      $(nodist_sleep_module_SOURCES) $(am__append_2435) \
++      $(am__append_2442) $(nodist_terminal_module_SOURCES) \
+       $(nodist_test_module_SOURCES) $(nodist_true_module_SOURCES) \
+-      $(am__append_2456) $(am__append_2463) $(am__append_2470) \
+-      $(am__append_2477) $(am__append_2484) $(am__append_2491) \
+-      $(am__append_2498) $(am__append_2505) $(am__append_2512) \
++      $(am__append_2449) $(am__append_2456) $(am__append_2463) \
++      $(am__append_2470) $(am__append_2477) $(am__append_2484) \
++      $(am__append_2491) $(am__append_2498) $(am__append_2505) \
+       $(nodist_videoinfo_module_SOURCES) \
+       $(nodist_videotest_module_SOURCES) \
+       $(nodist_xnu_uuid_module_SOURCES) \
+@@ -17380,27 +17355,27 @@ BUILT_SOURCES = $(nodist_disk_module_SOURCES) \
+       $(nodist_raid5rec_module_SOURCES) \
+       $(nodist_raid6rec_module_SOURCES) \
+       $(nodist_scsi_module_SOURCES) $(nodist_memdisk_module_SOURCES) \
+-      $(am__append_2519) $(am__append_2526) $(am__append_2533) \
+-      $(am__append_2540) $(am__append_2547) $(am__append_2554) \
+-      $(am__append_2561) $(am__append_2568) $(am__append_2575) \
+-      $(am__append_2582) $(am__append_2589) $(am__append_2596) \
+-      $(am__append_2603) $(am__append_2610) $(am__append_2617) \
+-      $(am__append_2624) $(am__append_2631) $(am__append_2638) \
+-      $(am__append_2645) $(am__append_2652) $(am__append_2659) \
+-      $(am__append_2666) $(am__append_2673) $(am__append_2680) \
+-      $(am__append_2687) $(am__append_2694) $(am__append_2701) \
+-      $(am__append_2708) $(am__append_2715) $(am__append_2722) \
+-      $(am__append_2729) $(am__append_2736) $(am__append_2743) \
+-      $(am__append_2750) $(am__append_2757) $(am__append_2764) \
+-      $(am__append_2771) $(am__append_2778) $(am__append_2785) \
+-      $(am__append_2792) $(am__append_2799) $(am__append_2806) \
+-      $(am__append_2813) $(am__append_2820) $(am__append_2827) \
+-      $(am__append_2834) $(am__append_2841) $(am__append_2848) \
+-      $(am__append_2855) $(am__append_2862) $(am__append_2869) \
+-      $(am__append_2876) $(am__append_2883) $(am__append_2890) \
+-      $(am__append_2897) $(am__append_2904) $(am__append_2911) \
+-      $(am__append_2918) $(am__append_2925) $(am__append_2932) \
+-      $(am__append_2939) $(nodist_procfs_module_SOURCES) \
++      $(am__append_2512) $(am__append_2519) $(am__append_2526) \
++      $(am__append_2533) $(am__append_2540) $(am__append_2547) \
++      $(am__append_2554) $(am__append_2561) $(am__append_2568) \
++      $(am__append_2575) $(am__append_2582) $(am__append_2589) \
++      $(am__append_2596) $(am__append_2603) $(am__append_2610) \
++      $(am__append_2617) $(am__append_2624) $(am__append_2631) \
++      $(am__append_2638) $(am__append_2645) $(am__append_2652) \
++      $(am__append_2659) $(am__append_2666) $(am__append_2673) \
++      $(am__append_2680) $(am__append_2687) $(am__append_2694) \
++      $(am__append_2701) $(am__append_2708) $(am__append_2715) \
++      $(am__append_2722) $(am__append_2729) $(am__append_2736) \
++      $(am__append_2743) $(am__append_2750) $(am__append_2757) \
++      $(am__append_2764) $(am__append_2771) $(am__append_2778) \
++      $(am__append_2785) $(am__append_2792) $(am__append_2799) \
++      $(am__append_2806) $(am__append_2813) $(am__append_2820) \
++      $(am__append_2827) $(am__append_2834) $(am__append_2841) \
++      $(am__append_2848) $(am__append_2855) $(am__append_2862) \
++      $(am__append_2869) $(am__append_2876) $(am__append_2883) \
++      $(am__append_2890) $(am__append_2897) $(am__append_2904) \
++      $(am__append_2911) $(am__append_2918) $(am__append_2925) \
++      $(am__append_2932) $(nodist_procfs_module_SOURCES) \
+       $(nodist_affs_module_SOURCES) $(nodist_afs_module_SOURCES) \
+       $(nodist_bfs_module_SOURCES) $(nodist_zstd_module_SOURCES) \
+       $(nodist_btrfs_module_SOURCES) \
+@@ -17428,69 +17403,69 @@ BUILT_SOURCES = $(nodist_disk_module_SOURCES) \
+       $(nodist_xfs_module_SOURCES) $(nodist_zfs_module_SOURCES) \
+       $(nodist_zfscrypt_module_SOURCES) \
+       $(nodist_zfsinfo_module_SOURCES) \
+-      $(nodist_macbless_module_SOURCES) $(am__append_2946) \
++      $(nodist_macbless_module_SOURCES) $(am__append_2939) \
+       $(nodist_gettext_module_SOURCES) \
+       $(nodist_gfxmenu_module_SOURCES) \
+       $(nodist_hello_module_SOURCES) $(nodist_gzio_module_SOURCES) \
+-      $(nodist_offsetio_module_SOURCES) $(am__append_2953) \
+-      $(am__append_2960) $(am__append_2967) $(am__append_2974) \
+-      $(am__append_2981) $(am__append_2988) $(am__append_2995) \
+-      $(am__append_3002) $(am__append_3009) $(am__append_3016) \
+-      $(am__append_3023) $(am__append_3030) $(am__append_3037) \
+-      $(am__append_3044) $(am__append_3051) $(am__append_3058) \
+-      $(am__append_3065) $(am__append_3072) $(am__append_3079) \
+-      $(am__append_3086) $(nodist_elf_module_SOURCES) \
++      $(nodist_offsetio_module_SOURCES) $(am__append_2946) \
++      $(am__append_2953) $(am__append_2960) $(am__append_2967) \
++      $(am__append_2974) $(am__append_2981) $(am__append_2988) \
++      $(am__append_2995) $(am__append_3002) $(am__append_3009) \
++      $(am__append_3016) $(am__append_3023) $(am__append_3030) \
++      $(am__append_3037) $(am__append_3044) $(am__append_3051) \
++      $(am__append_3058) $(am__append_3065) $(am__append_3072) \
++      $(am__append_3079) $(nodist_elf_module_SOURCES) \
+       $(nodist_crypto_module_SOURCES) \
+-      $(nodist_pbkdf2_module_SOURCES) $(am__append_3093) \
+-      $(am__append_3100) $(am__append_3107) $(am__append_3114) \
+-      $(am__append_3121) $(am__append_3128) $(am__append_3135) \
+-      $(am__append_3142) $(am__append_3149) $(am__append_3156) \
+-      $(am__append_3163) $(am__append_3170) $(am__append_3177) \
+-      $(am__append_3184) $(am__append_3191) $(am__append_3198) \
+-      $(am__append_3205) $(am__append_3212) $(am__append_3219) \
+-      $(am__append_3226) $(am__append_3233) $(am__append_3240) \
+-      $(am__append_3247) $(am__append_3254) $(am__append_3261) \
+-      $(am__append_3268) $(am__append_3275) $(am__append_3282) \
+-      $(am__append_3289) $(am__append_3296) $(am__append_3303) \
+-      $(am__append_3310) $(am__append_3317) $(am__append_3324) \
+-      $(am__append_3331) $(am__append_3338) \
+-      $(nodist_setjmp_module_SOURCES) $(am__append_3345) \
+-      $(am__append_3352) $(am__append_3359) $(am__append_3366) \
+-      $(am__append_3373) $(am__append_3380) $(am__append_3387) \
+-      $(am__append_3394) $(am__append_3401) $(am__append_3408) \
+-      $(am__append_3415) $(am__append_3422) $(am__append_3429) \
+-      $(am__append_3436) $(am__append_3443) $(am__append_3450) \
+-      $(am__append_3457) $(am__append_3464) $(am__append_3471) \
+-      $(am__append_3478) $(am__append_3485) $(am__append_3492) \
+-      $(am__append_3499) $(am__append_3506) $(am__append_3513) \
+-      $(am__append_3520) $(am__append_3527) $(am__append_3534) \
+-      $(am__append_3541) $(am__append_3548) $(am__append_3555) \
+-      $(am__append_3562) $(am__append_3569) $(am__append_3576) \
+-      $(am__append_3583) $(am__append_3590) $(am__append_3597) \
+-      $(am__append_3604) $(am__append_3611) $(am__append_3618) \
+-      $(am__append_3625) $(am__append_3632) $(am__append_3639) \
+-      $(am__append_3646) $(am__append_3653) $(am__append_3660) \
+-      $(am__append_3667) $(am__append_3674) $(am__append_3681) \
+-      $(am__append_3688) $(am__append_3695) $(am__append_3702) \
+-      $(am__append_3709) $(am__append_3716) $(am__append_3723) \
+-      $(am__append_3730) $(am__append_3737) $(am__append_3744) \
+-      $(am__append_3751) $(am__append_3758) $(am__append_3765) \
+-      $(am__append_3772) $(am__append_3779) $(am__append_3786) \
+-      $(am__append_3793) $(am__append_3800) $(am__append_3807) \
+-      $(am__append_3814) $(am__append_3821) $(am__append_3828) \
+-      $(am__append_3835) $(am__append_3842) $(am__append_3849) \
+-      $(am__append_3856) $(am__append_3863) $(am__append_3870) \
+-      $(am__append_3877) $(am__append_3884) \
+-      $(nodist_macho_module_SOURCES) $(am__append_3891) \
+-      $(am__append_3898) $(am__append_3905) $(am__append_3912) \
+-      $(am__append_3919) $(am__append_3926) $(am__append_3933) \
+-      $(am__append_3940) $(am__append_3947) $(am__append_3954) \
+-      $(am__append_3961) $(am__append_3968) $(am__append_3975) \
+-      $(am__append_3982) $(am__append_3989) $(am__append_3996) \
+-      $(am__append_4003) $(am__append_4010) $(am__append_4017) \
+-      $(am__append_4024) $(am__append_4031) $(am__append_4038) \
+-      $(am__append_4045) $(am__append_4052) $(am__append_4059) \
+-      $(am__append_4066) $(am__append_4073) \
++      $(nodist_pbkdf2_module_SOURCES) $(am__append_3086) \
++      $(am__append_3093) $(am__append_3100) $(am__append_3107) \
++      $(am__append_3114) $(am__append_3121) $(am__append_3128) \
++      $(am__append_3135) $(am__append_3142) $(am__append_3149) \
++      $(am__append_3156) $(am__append_3163) $(am__append_3170) \
++      $(am__append_3177) $(am__append_3184) $(am__append_3191) \
++      $(am__append_3198) $(am__append_3205) $(am__append_3212) \
++      $(am__append_3219) $(am__append_3226) $(am__append_3233) \
++      $(am__append_3240) $(am__append_3247) $(am__append_3254) \
++      $(am__append_3261) $(am__append_3268) $(am__append_3275) \
++      $(am__append_3282) $(am__append_3289) $(am__append_3296) \
++      $(am__append_3303) $(am__append_3310) $(am__append_3317) \
++      $(am__append_3324) $(am__append_3331) \
++      $(nodist_setjmp_module_SOURCES) $(am__append_3338) \
++      $(am__append_3345) $(am__append_3352) $(am__append_3359) \
++      $(am__append_3366) $(am__append_3373) $(am__append_3380) \
++      $(am__append_3387) $(am__append_3394) $(am__append_3401) \
++      $(am__append_3408) $(am__append_3415) $(am__append_3422) \
++      $(am__append_3429) $(am__append_3436) $(am__append_3443) \
++      $(am__append_3450) $(am__append_3457) $(am__append_3464) \
++      $(am__append_3471) $(am__append_3478) $(am__append_3485) \
++      $(am__append_3492) $(am__append_3499) $(am__append_3506) \
++      $(am__append_3513) $(am__append_3520) $(am__append_3527) \
++      $(am__append_3534) $(am__append_3541) $(am__append_3548) \
++      $(am__append_3555) $(am__append_3562) $(am__append_3569) \
++      $(am__append_3576) $(am__append_3583) $(am__append_3590) \
++      $(am__append_3597) $(am__append_3604) $(am__append_3611) \
++      $(am__append_3618) $(am__append_3625) $(am__append_3632) \
++      $(am__append_3639) $(am__append_3646) $(am__append_3653) \
++      $(am__append_3660) $(am__append_3667) $(am__append_3674) \
++      $(am__append_3681) $(am__append_3688) $(am__append_3695) \
++      $(am__append_3702) $(am__append_3709) $(am__append_3716) \
++      $(am__append_3723) $(am__append_3730) $(am__append_3737) \
++      $(am__append_3744) $(am__append_3751) $(am__append_3758) \
++      $(am__append_3765) $(am__append_3772) $(am__append_3779) \
++      $(am__append_3786) $(am__append_3793) $(am__append_3800) \
++      $(am__append_3807) $(am__append_3814) $(am__append_3821) \
++      $(am__append_3828) $(am__append_3835) $(am__append_3842) \
++      $(am__append_3849) $(am__append_3856) $(am__append_3863) \
++      $(am__append_3870) $(am__append_3877) \
++      $(nodist_macho_module_SOURCES) $(am__append_3884) \
++      $(am__append_3891) $(am__append_3898) $(am__append_3905) \
++      $(am__append_3912) $(am__append_3919) $(am__append_3926) \
++      $(am__append_3933) $(am__append_3940) $(am__append_3947) \
++      $(am__append_3954) $(am__append_3961) $(am__append_3968) \
++      $(am__append_3975) $(am__append_3982) $(am__append_3989) \
++      $(am__append_3996) $(am__append_4003) $(am__append_4010) \
++      $(am__append_4017) $(am__append_4024) $(am__append_4031) \
++      $(am__append_4038) $(am__append_4045) $(am__append_4052) \
++      $(am__append_4059) $(am__append_4066) \
+       $(nodist_normal_module_SOURCES) \
+       $(nodist_part_acorn_module_SOURCES) \
+       $(nodist_part_amiga_module_SOURCES) \
+@@ -17503,35 +17478,35 @@ BUILT_SOURCES = $(nodist_disk_module_SOURCES) \
+       $(nodist_part_bsd_module_SOURCES) \
+       $(nodist_part_sunpc_module_SOURCES) \
+       $(nodist_part_dfly_module_SOURCES) \
+-      $(nodist_msdospart_module_SOURCES) $(am__append_4080) \
+-      $(am__append_4087) $(am__append_4094) $(am__append_4101) \
+-      $(am__append_4108) $(am__append_4115) $(am__append_4122) \
+-      $(am__append_4129) $(am__append_4136) $(am__append_4143) \
+-      $(am__append_4150) $(am__append_4157) $(am__append_4164) \
+-      $(am__append_4171) $(am__append_4178) $(am__append_4185) \
+-      $(am__append_4192) $(am__append_4199) $(am__append_4206) \
+-      $(am__append_4213) $(am__append_4220) $(am__append_4227) \
+-      $(am__append_4234) $(am__append_4241) $(am__append_4248) \
+-      $(am__append_4255) $(am__append_4262) \
+-      $(nodist_gfxterm_background_module_SOURCES) $(am__append_4269) \
+-      $(am__append_4276) $(am__append_4283) $(am__append_4290) \
+-      $(am__append_4297) $(am__append_4304) $(am__append_4311) \
+-      $(am__append_4318) $(am__append_4325) $(am__append_4332) \
+-      $(am__append_4339) $(am__append_4346) $(am__append_4353) \
+-      $(am__append_4360) $(am__append_4367) $(am__append_4374) \
+-      $(am__append_4381) $(am__append_4388) $(am__append_4395) \
+-      $(am__append_4402) $(am__append_4409) $(am__append_4416) \
+-      $(am__append_4423) $(am__append_4430) $(am__append_4437) \
+-      $(am__append_4444) $(am__append_4451) $(am__append_4458) \
+-      $(am__append_4465) $(am__append_4472) $(am__append_4479) \
+-      $(am__append_4486) $(am__append_4493) $(am__append_4500) \
+-      $(am__append_4507) $(am__append_4514) $(am__append_4521) \
+-      $(am__append_4528) $(am__append_4535) $(am__append_4542) \
+-      $(am__append_4549) $(am__append_4556) $(am__append_4563) \
+-      $(am__append_4570) $(am__append_4577) $(am__append_4584) \
+-      $(am__append_4591) $(am__append_4598) $(am__append_4605) \
+-      $(am__append_4612) $(am__append_4619) $(am__append_4626) \
+-      $(am__append_4633) $(am__append_4640) $(am__append_4647) \
++      $(nodist_msdospart_module_SOURCES) $(am__append_4073) \
++      $(am__append_4080) $(am__append_4087) $(am__append_4094) \
++      $(am__append_4101) $(am__append_4108) $(am__append_4115) \
++      $(am__append_4122) $(am__append_4129) $(am__append_4136) \
++      $(am__append_4143) $(am__append_4150) $(am__append_4157) \
++      $(am__append_4164) $(am__append_4171) $(am__append_4178) \
++      $(am__append_4185) $(am__append_4192) $(am__append_4199) \
++      $(am__append_4206) $(am__append_4213) $(am__append_4220) \
++      $(am__append_4227) $(am__append_4234) $(am__append_4241) \
++      $(am__append_4248) $(am__append_4255) \
++      $(nodist_gfxterm_background_module_SOURCES) $(am__append_4262) \
++      $(am__append_4269) $(am__append_4276) $(am__append_4283) \
++      $(am__append_4290) $(am__append_4297) $(am__append_4304) \
++      $(am__append_4311) $(am__append_4318) $(am__append_4325) \
++      $(am__append_4332) $(am__append_4339) $(am__append_4346) \
++      $(am__append_4353) $(am__append_4360) $(am__append_4367) \
++      $(am__append_4374) $(am__append_4381) $(am__append_4388) \
++      $(am__append_4395) $(am__append_4402) $(am__append_4409) \
++      $(am__append_4416) $(am__append_4423) $(am__append_4430) \
++      $(am__append_4437) $(am__append_4444) $(am__append_4451) \
++      $(am__append_4458) $(am__append_4465) $(am__append_4472) \
++      $(am__append_4479) $(am__append_4486) $(am__append_4493) \
++      $(am__append_4500) $(am__append_4507) $(am__append_4514) \
++      $(am__append_4521) $(am__append_4528) $(am__append_4535) \
++      $(am__append_4542) $(am__append_4549) $(am__append_4556) \
++      $(am__append_4563) $(am__append_4570) $(am__append_4577) \
++      $(am__append_4584) $(am__append_4591) $(am__append_4598) \
++      $(am__append_4605) $(am__append_4612) $(am__append_4619) \
++      $(am__append_4626) $(am__append_4633) $(am__append_4640) \
+       $(nodist_functional_test_module_SOURCES) \
+       $(nodist_exfctest_module_SOURCES) \
+       $(nodist_strtoull_test_module_SOURCES) \
+@@ -17539,15 +17514,15 @@ BUILT_SOURCES = $(nodist_disk_module_SOURCES) \
+       $(nodist_signature_test_module_SOURCES) \
+       $(nodist_sleep_test_module_SOURCES) \
+       $(nodist_xnu_uuid_test_module_SOURCES) \
+-      $(nodist_pbkdf2_test_module_SOURCES) $(am__append_4654) \
+-      $(am__append_4661) $(am__append_4668) $(am__append_4675) \
+-      $(am__append_4682) $(am__append_4689) $(am__append_4696) \
+-      $(am__append_4703) $(am__append_4710) $(am__append_4717) \
+-      $(am__append_4724) $(am__append_4731) $(am__append_4738) \
+-      $(am__append_4745) $(am__append_4752) $(am__append_4759) \
+-      $(am__append_4766) $(am__append_4773) $(am__append_4780) \
+-      $(am__append_4787) $(am__append_4794) $(am__append_4801) \
+-      $(am__append_4808) $(am__append_4815) $(am__append_4822) \
++      $(nodist_pbkdf2_test_module_SOURCES) $(am__append_4647) \
++      $(am__append_4654) $(am__append_4661) $(am__append_4668) \
++      $(am__append_4675) $(am__append_4682) $(am__append_4689) \
++      $(am__append_4696) $(am__append_4703) $(am__append_4710) \
++      $(am__append_4717) $(am__append_4724) $(am__append_4731) \
++      $(am__append_4738) $(am__append_4745) $(am__append_4752) \
++      $(am__append_4759) $(am__append_4766) $(am__append_4773) \
++      $(am__append_4780) $(am__append_4787) $(am__append_4794) \
++      $(am__append_4801) $(am__append_4808) $(am__append_4815) \
+       $(nodist_div_test_module_SOURCES) \
+       $(nodist_mul_test_module_SOURCES) \
+       $(nodist_shift_test_module_SOURCES) \
+@@ -17558,59 +17533,59 @@ BUILT_SOURCES = $(nodist_disk_module_SOURCES) \
+       $(nodist_gfxterm_menu_module_SOURCES) \
+       $(nodist_cmdline_cat_test_module_SOURCES) \
+       $(nodist_bitmap_module_SOURCES) \
+-      $(nodist_bitmap_scale_module_SOURCES) $(am__append_4829) \
+-      $(am__append_4836) $(am__append_4843) $(am__append_4850) \
+-      $(am__append_4857) $(am__append_4864) $(am__append_4871) \
+-      $(am__append_4878) $(am__append_4885) \
++      $(nodist_bitmap_scale_module_SOURCES) $(am__append_4822) \
++      $(am__append_4829) $(am__append_4836) $(am__append_4843) \
++      $(am__append_4850) $(am__append_4857) $(am__append_4864) \
++      $(am__append_4871) $(am__append_4878) \
+       $(nodist_jpeg_module_SOURCES) $(nodist_png_module_SOURCES) \
+-      $(nodist_tga_module_SOURCES) $(am__append_4892) \
+-      $(am__append_4899) $(am__append_4906) $(am__append_4913) \
+-      $(am__append_4920) $(am__append_4927) $(am__append_4934) \
+-      $(am__append_4941) $(am__append_4948) $(am__append_4955) \
+-      $(am__append_4962) $(am__append_4969) $(am__append_4976) \
+-      $(am__append_4983) $(am__append_4990) $(am__append_4997) \
+-      $(am__append_5004) $(am__append_5011) $(am__append_5018) \
+-      $(am__append_5025) $(am__append_5032) $(am__append_5039) \
+-      $(am__append_5046) $(am__append_5053) $(am__append_5060) \
+-      $(am__append_5067) $(am__append_5074) $(am__append_5081) \
+-      $(am__append_5088) $(am__append_5095) $(am__append_5102) \
+-      $(am__append_5109) $(am__append_5116) $(am__append_5123) \
+-      $(am__append_5130) $(am__append_5137) $(am__append_5144) \
+-      $(am__append_5151) $(am__append_5158) $(am__append_5165) \
+-      $(am__append_5172) $(nodist_video_colors_module_SOURCES) \
+-      $(am__append_5179) $(am__append_5186) \
++      $(nodist_tga_module_SOURCES) $(am__append_4885) \
++      $(am__append_4892) $(am__append_4899) $(am__append_4906) \
++      $(am__append_4913) $(am__append_4920) $(am__append_4927) \
++      $(am__append_4934) $(am__append_4941) $(am__append_4948) \
++      $(am__append_4955) $(am__append_4962) $(am__append_4969) \
++      $(am__append_4976) $(am__append_4983) $(am__append_4990) \
++      $(am__append_4997) $(am__append_5004) $(am__append_5011) \
++      $(am__append_5018) $(am__append_5025) $(am__append_5032) \
++      $(am__append_5039) $(am__append_5046) $(am__append_5053) \
++      $(am__append_5060) $(am__append_5067) $(am__append_5074) \
++      $(am__append_5081) $(am__append_5088) $(am__append_5095) \
++      $(am__append_5102) $(am__append_5109) $(am__append_5116) \
++      $(am__append_5123) $(am__append_5130) $(am__append_5137) \
++      $(am__append_5144) $(am__append_5151) $(am__append_5158) \
++      $(am__append_5165) $(nodist_video_colors_module_SOURCES) \
++      $(am__append_5172) $(am__append_5179) \
+       $(nodist_datehook_module_SOURCES) $(nodist_net_module_SOURCES) \
+       $(nodist_tftp_module_SOURCES) $(nodist_http_module_SOURCES) \
+-      $(am__append_5193) $(am__append_5200) $(am__append_5207) \
+-      $(am__append_5214) $(am__append_5221) $(am__append_5228) \
+-      $(am__append_5235) $(am__append_5242) $(am__append_5249) \
+-      $(am__append_5256) $(am__append_5263) $(am__append_5270) \
+-      $(am__append_5277) $(am__append_5284) $(am__append_5291) \
+-      $(am__append_5298) $(am__append_5305) $(am__append_5312) \
++      $(am__append_5186) $(am__append_5193) $(am__append_5200) \
++      $(am__append_5207) $(am__append_5214) $(am__append_5221) \
++      $(am__append_5228) $(am__append_5235) $(am__append_5242) \
++      $(am__append_5249) $(am__append_5256) $(am__append_5263) \
++      $(am__append_5270) $(am__append_5277) $(am__append_5284) \
++      $(am__append_5291) $(am__append_5298) $(am__append_5305) \
+       $(nodist_syslinuxcfg_module_SOURCES) \
+       $(nodist_test_blockarg_module_SOURCES) \
+       $(nodist_xzio_module_SOURCES) $(nodist_lzopio_module_SOURCES) \
+-      $(nodist_testload_module_SOURCES) $(am__append_5319) \
+-      $(am__append_5326) $(am__append_5333) $(am__append_5340) \
+-      $(am__append_5347) $(am__append_5354) $(am__append_5361) \
+-      $(am__append_5368) $(am__append_5375) $(am__append_5382) \
+-      $(am__append_5389) $(am__append_5396) $(am__append_5403) \
+-      $(am__append_5410) $(am__append_5417) $(am__append_5424) \
+-      $(am__append_5431) $(nodist_priority_queue_module_SOURCES) \
+-      $(nodist_time_module_SOURCES) $(am__append_5438) \
+-      $(am__append_5445) $(nodist_adler32_module_SOURCES) \
++      $(nodist_testload_module_SOURCES) $(am__append_5312) \
++      $(am__append_5319) $(am__append_5326) $(am__append_5333) \
++      $(am__append_5340) $(am__append_5347) $(am__append_5354) \
++      $(am__append_5361) $(am__append_5368) $(am__append_5375) \
++      $(am__append_5382) $(am__append_5389) $(am__append_5396) \
++      $(am__append_5403) $(am__append_5410) $(am__append_5417) \
++      $(am__append_5424) $(nodist_priority_queue_module_SOURCES) \
++      $(nodist_time_module_SOURCES) $(am__append_5431) \
++      $(am__append_5438) $(nodist_adler32_module_SOURCES) \
+       $(nodist_crc64_module_SOURCES) $(nodist_mpi_module_SOURCES) \
+-      $(nodist_all_video_module_SOURCES) $(am__append_5452) \
+-      $(am__append_5459) $(am__append_5466) $(am__append_5473) \
+-      $(am__append_5480) $(am__append_5487) \
+-      $(nodist_testspeed_module_SOURCES) $(am__append_5494) \
++      $(nodist_all_video_module_SOURCES) $(am__append_5445) \
++      $(am__append_5452) $(am__append_5459) $(am__append_5466) \
++      $(am__append_5473) $(am__append_5480) \
++      $(nodist_testspeed_module_SOURCES) $(am__append_5487) \
+       $(nodist_tr_module_SOURCES) $(nodist_progress_module_SOURCES) \
+-      $(nodist_file_module_SOURCES) $(am__append_5501) \
+-      $(am__append_5508) $(am__append_5515) $(am__append_5522) \
+-      $(am__append_5529) $(am__append_5536) $(am__append_5543) \
+-      $(am__append_5550) $(am__append_5557) $(am__append_5564) \
+-      $(am__append_5571) $(am__append_5578) $(am__append_5585) \
+-      $(am__append_5592) $(nodist_gcry_arcfour_module_SOURCES) \
++      $(nodist_file_module_SOURCES) $(am__append_5494) \
++      $(am__append_5501) $(am__append_5508) $(am__append_5515) \
++      $(am__append_5522) $(am__append_5529) $(am__append_5536) \
++      $(am__append_5543) $(am__append_5550) $(am__append_5557) \
++      $(am__append_5564) $(am__append_5571) $(am__append_5578) \
++      $(am__append_5585) $(nodist_gcry_arcfour_module_SOURCES) \
+       $(nodist_gcry_blowfish_module_SOURCES) \
+       $(nodist_gcry_camellia_module_SOURCES) \
+       $(nodist_gcry_cast5_module_SOURCES) \
+@@ -17631,20 +17606,20 @@ BUILT_SOURCES = $(nodist_disk_module_SOURCES) \
+       $(nodist_gcry_sha512_module_SOURCES) \
+       $(nodist_gcry_tiger_module_SOURCES) \
+       $(nodist_gcry_twofish_module_SOURCES) \
+-      $(nodist_gcry_whirlpool_module_SOURCES) $(am__append_5598) \
+-      $(am__append_5603) $(am__append_5608) $(am__append_5613) \
+-      $(am__append_5618) $(am__append_5623) $(am__append_5628) \
+-      $(am__append_5633) $(am__append_5638) $(am__append_5643) \
+-      $(am__append_5648) $(am__append_5653) $(am__append_5658) \
+-      $(am__append_5663) $(am__append_5668) $(am__append_5673) \
+-      $(am__append_5678) $(am__append_5683) $(am__append_5688) \
+-      $(am__append_5693) $(am__append_5698) $(am__append_5703) \
+-      $(am__append_5708) $(am__append_5713) $(am__append_5718) \
+-      $(am__append_5723) $(am__append_5728) $(am__append_5733) \
+-      $(am__append_5738) $(am__append_5743) $(am__append_5748) \
+-      $(am__append_5753) $(am__append_5758) $(am__append_5763) \
+-      $(am__append_5768) $(am__append_5773) $(am__append_5778) \
+-      $(am__append_5783) $(am__append_5788) $(am__append_5795) \
++      $(nodist_gcry_whirlpool_module_SOURCES) $(am__append_5591) \
++      $(am__append_5596) $(am__append_5601) $(am__append_5606) \
++      $(am__append_5611) $(am__append_5616) $(am__append_5621) \
++      $(am__append_5626) $(am__append_5631) $(am__append_5636) \
++      $(am__append_5641) $(am__append_5646) $(am__append_5651) \
++      $(am__append_5656) $(am__append_5661) $(am__append_5666) \
++      $(am__append_5671) $(am__append_5676) $(am__append_5681) \
++      $(am__append_5686) $(am__append_5691) $(am__append_5696) \
++      $(am__append_5701) $(am__append_5706) $(am__append_5711) \
++      $(am__append_5716) $(am__append_5721) $(am__append_5726) \
++      $(am__append_5731) $(am__append_5736) $(am__append_5741) \
++      $(am__append_5746) $(am__append_5751) $(am__append_5756) \
++      $(am__append_5761) $(am__append_5766) $(am__append_5771) \
++      $(am__append_5776) $(am__append_5781) $(am__append_5788) \
+       symlist.h symlist.c
+ MACHO2IMG = $(top_builddir)/grub-macho2img
+ AM_CFLAGS = $(TARGET_CFLAGS)
+@@ -20083,14 +20058,6 @@ pgp_module_LDFLAGS = $(AM_LDFLAGS) $(LDFLAGS_MODULE)
+ pgp_module_CPPFLAGS = $(AM_CPPFLAGS) $(CPPFLAGS_MODULE) -I$(srcdir)/lib/posix_wrap 
+ pgp_module_CCASFLAGS = $(AM_CCASFLAGS) $(CCASFLAGS_MODULE) 
+ pgp_module_DEPENDENCIES = $(TARGET_OBJ2ELF) 
+-@COND_x86_64_efi_TRUE@shim_lock_module_SOURCES = commands/efi/shim_lock.c  ## platform sources
+-@COND_x86_64_efi_TRUE@nodist_shim_lock_module_SOURCES = ## platform nodist sources
+-@COND_x86_64_efi_TRUE@shim_lock_module_LDADD = 
+-@COND_x86_64_efi_TRUE@shim_lock_module_CFLAGS = $(AM_CFLAGS) $(CFLAGS_MODULE) 
+-@COND_x86_64_efi_TRUE@shim_lock_module_LDFLAGS = $(AM_LDFLAGS) $(LDFLAGS_MODULE) 
+-@COND_x86_64_efi_TRUE@shim_lock_module_CPPFLAGS = $(AM_CPPFLAGS) $(CPPFLAGS_MODULE) 
+-@COND_x86_64_efi_TRUE@shim_lock_module_CCASFLAGS = $(AM_CCASFLAGS) $(CCASFLAGS_MODULE) 
+-@COND_x86_64_efi_TRUE@shim_lock_module_DEPENDENCIES = $(TARGET_OBJ2ELF) 
+ @COND_i386_coreboot_TRUE@hdparm_module_SOURCES = commands/hdparm.c  ## platform sources
+ @COND_i386_efi_TRUE@hdparm_module_SOURCES = commands/hdparm.c  ## platform sources
+ @COND_i386_ieee1275_TRUE@hdparm_module_SOURCES = commands/hdparm.c  ## platform sources
+@@ -29924,13 +29891,6 @@ tests/shift_test_module-shift_test.$(OBJEXT): tests/$(am__dirstamp) \
+ shift_test.module$(EXEEXT): $(shift_test_module_OBJECTS) $(shift_test_module_DEPENDENCIES) $(EXTRA_shift_test_module_DEPENDENCIES) 
+       @rm -f shift_test.module$(EXEEXT)
+       $(AM_V_CCLD)$(shift_test_module_LINK) $(shift_test_module_OBJECTS) $(shift_test_module_LDADD) $(LIBS)
+-commands/efi/shim_lock_module-shim_lock.$(OBJEXT):  \
+-      commands/efi/$(am__dirstamp) \
+-      commands/efi/$(DEPDIR)/$(am__dirstamp)
+-
+-shim_lock.module$(EXEEXT): $(shim_lock_module_OBJECTS) $(shim_lock_module_DEPENDENCIES) $(EXTRA_shim_lock_module_DEPENDENCIES) 
+-      @rm -f shim_lock.module$(EXEEXT)
+-      $(AM_V_CCLD)$(shim_lock_module_LINK) $(shim_lock_module_OBJECTS) $(shim_lock_module_LDADD) $(LIBS)
+ tests/signature_test_module-signature_test.$(OBJEXT):  \
+       tests/$(am__dirstamp) tests/$(DEPDIR)/$(am__dirstamp)
+@@ -30831,7 +30791,6 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@commands/efi/$(DEPDIR)/lsefimmap_module-lsefimmap.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@commands/efi/$(DEPDIR)/lsefisystab_module-lsefisystab.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@commands/efi/$(DEPDIR)/lssal_module-lssal.Po@am__quote@
+-@AMDEP_TRUE@@am__include@ @am__quote@commands/efi/$(DEPDIR)/shim_lock_module-shim_lock.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@commands/efi/$(DEPDIR)/tpm_module-tpm.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@commands/i386/$(DEPDIR)/cmosdump_module-cmosdump.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@commands/i386/$(DEPDIR)/cmostest_module-cmostest.Po@am__quote@
+@@ -40402,20 +40361,6 @@ tests/shift_test_module-shift_test.obj: tests/shift_test.c
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shift_test_module_CPPFLAGS) $(CPPFLAGS) $(shift_test_module_CFLAGS) $(CFLAGS) -c -o tests/shift_test_module-shift_test.obj `if test -f 'tests/shift_test.c'; then $(CYGPATH_W) 'tests/shift_test.c'; else $(CYGPATH_W) '$(srcdir)/tests/shift_test.c'; fi`
+-commands/efi/shim_lock_module-shim_lock.o: commands/efi/shim_lock.c
+-@am__fastdepCC_TRUE@  $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shim_lock_module_CPPFLAGS) $(CPPFLAGS) $(shim_lock_module_CFLAGS) $(CFLAGS) -MT commands/efi/shim_lock_module-shim_lock.o -MD -MP -MF commands/efi/$(DEPDIR)/shim_lock_module-shim_lock.Tpo -c -o commands/efi/shim_lock_module-shim_lock.o `test -f 'commands/efi/shim_lock.c' || echo '$(srcdir)/'`commands/efi/shim_lock.c
+-@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) commands/efi/$(DEPDIR)/shim_lock_module-shim_lock.Tpo commands/efi/$(DEPDIR)/shim_lock_module-shim_lock.Po
+-@AMDEP_TRUE@@am__fastdepCC_FALSE@     $(AM_V_CC)source='commands/efi/shim_lock.c' object='commands/efi/shim_lock_module-shim_lock.o' libtool=no @AMDEPBACKSLASH@
+-@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shim_lock_module_CPPFLAGS) $(CPPFLAGS) $(shim_lock_module_CFLAGS) $(CFLAGS) -c -o commands/efi/shim_lock_module-shim_lock.o `test -f 'commands/efi/shim_lock.c' || echo '$(srcdir)/'`commands/efi/shim_lock.c
+-
+-commands/efi/shim_lock_module-shim_lock.obj: commands/efi/shim_lock.c
+-@am__fastdepCC_TRUE@  $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shim_lock_module_CPPFLAGS) $(CPPFLAGS) $(shim_lock_module_CFLAGS) $(CFLAGS) -MT commands/efi/shim_lock_module-shim_lock.obj -MD -MP -MF commands/efi/$(DEPDIR)/shim_lock_module-shim_lock.Tpo -c -o commands/efi/shim_lock_module-shim_lock.obj `if test -f 'commands/efi/shim_lock.c'; then $(CYGPATH_W) 'commands/efi/shim_lock.c'; else $(CYGPATH_W) '$(srcdir)/commands/efi/shim_lock.c'; fi`
+-@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) commands/efi/$(DEPDIR)/shim_lock_module-shim_lock.Tpo commands/efi/$(DEPDIR)/shim_lock_module-shim_lock.Po
+-@AMDEP_TRUE@@am__fastdepCC_FALSE@     $(AM_V_CC)source='commands/efi/shim_lock.c' object='commands/efi/shim_lock_module-shim_lock.obj' libtool=no @AMDEPBACKSLASH@
+-@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shim_lock_module_CPPFLAGS) $(CPPFLAGS) $(shim_lock_module_CFLAGS) $(CFLAGS) -c -o commands/efi/shim_lock_module-shim_lock.obj `if test -f 'commands/efi/shim_lock.c'; then $(CYGPATH_W) 'commands/efi/shim_lock.c'; else $(CYGPATH_W) '$(srcdir)/commands/efi/shim_lock.c'; fi`
+-
+ tests/signature_test_module-signature_test.o: tests/signature_test.c
+ @am__fastdepCC_TRUE@  $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(signature_test_module_CPPFLAGS) $(CPPFLAGS) $(signature_test_module_CFLAGS) $(CFLAGS) -MT tests/signature_test_module-signature_test.o -MD -MP -MF tests/$(DEPDIR)/signature_test_module-signature_test.Tpo -c -o tests/signature_test_module-signature_test.o `test -f 'tests/signature_test.c' || echo '$(srcdir)/'`tests/signature_test.c
+ @am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) tests/$(DEPDIR)/signature_test_module-signature_test.Tpo tests/$(DEPDIR)/signature_test_module-signature_test.Po
+@@ -43738,10 +43683,6 @@ pgp.marker: $(pgp_module_SOURCES) $(nodist_pgp_module_SOURCES)
+       $(TARGET_CPP) -DGRUB_LST_GENERATOR $(CPPFLAGS_MARKER) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pgp_module_CPPFLAGS) $(CPPFLAGS) $^ > $@.new || (rm -f $@; exit 1)
+       grep 'MARKER' $@.new > $@; rm -f $@.new
+-@COND_x86_64_efi_TRUE@shim_lock.marker: $(shim_lock_module_SOURCES) $(nodist_shim_lock_module_SOURCES)
+-@COND_x86_64_efi_TRUE@        $(TARGET_CPP) -DGRUB_LST_GENERATOR $(CPPFLAGS_MARKER) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(shim_lock_module_CPPFLAGS) $(CPPFLAGS) $^ > $@.new || (rm -f $@; exit 1)
+-@COND_x86_64_efi_TRUE@        grep 'MARKER' $@.new > $@; rm -f $@.new
+-
+ @COND_i386_pc_TRUE@hdparm.marker: $(hdparm_module_SOURCES) $(nodist_hdparm_module_SOURCES)
+ @COND_i386_pc_TRUE@   $(TARGET_CPP) -DGRUB_LST_GENERATOR $(CPPFLAGS_MARKER) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hdparm_module_CPPFLAGS) $(CPPFLAGS) $^ > $@.new || (rm -f $@; exit 1)
+ @COND_i386_pc_TRUE@   grep 'MARKER' $@.new > $@; rm -f $@.new
+diff --git a/grub-core/commands/efi/shim_lock.c b/grub-core/commands/efi/shim_lock.c
+deleted file mode 100644
+index d8f52d7..0000000
+--- a/grub-core/commands/efi/shim_lock.c
++++ /dev/null
+@@ -1,130 +0,0 @@
+-/*
+- *  GRUB  --  GRand Unified Bootloader
+- *  Copyright (C) 2017  Free Software Foundation, Inc.
+- *
+- *  GRUB is free software: you can redistribute it and/or modify
+- *  it under the terms of the GNU General Public License as published by
+- *  the Free Software Foundation, either version 3 of the License, or
+- *  (at your option) any later version.
+- *
+- *  GRUB is distributed in the hope that it will be useful,
+- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- *  GNU General Public License for more details.
+- *
+- *  You should have received a copy of the GNU General Public License
+- *  along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
+- *
+- *  EFI shim lock verifier.
+- */
+-
+-#include <grub/dl.h>
+-#include <grub/efi/efi.h>
+-#include <grub/err.h>
+-#include <grub/file.h>
+-#include <grub/misc.h>
+-#include <grub/verify.h>
+-
+-GRUB_MOD_LICENSE ("GPLv3+");
+-
+-static grub_efi_guid_t shim_lock_guid = GRUB_EFI_SHIM_LOCK_GUID;
+-static grub_efi_shim_lock_protocol_t *sl;
+-
+-/* List of modules which cannot be loaded if UEFI secure boot mode is enabled. */
+-static const char * const disabled_mods[] = {"iorw", "memrw", "wrmsr", NULL};
+-
+-static grub_err_t
+-shim_lock_init (grub_file_t io, enum grub_file_type type,
+-              void **context __attribute__ ((unused)),
+-              enum grub_verify_flags *flags)
+-{
+-  const char *b, *e;
+-  int i;
+-
+-  *flags = GRUB_VERIFY_FLAGS_SKIP_VERIFICATION;
+-
+-  if (!sl)
+-    return GRUB_ERR_NONE;
+-
+-  switch (type & GRUB_FILE_TYPE_MASK)
+-    {
+-    case GRUB_FILE_TYPE_GRUB_MODULE:
+-      /* Establish GRUB module name. */
+-      b = grub_strrchr (io->name, '/');
+-      e = grub_strrchr (io->name, '.');
+-
+-      b = b ? (b + 1) : io->name;
+-      e = e ? e : io->name + grub_strlen (io->name);
+-      e = (e > b) ? e : io->name + grub_strlen (io->name);
+-
+-      for (i = 0; disabled_mods[i]; i++)
+-      if (!grub_strncmp (b, disabled_mods[i], grub_strlen (b) - grub_strlen (e)))
+-        {
+-          grub_error (GRUB_ERR_ACCESS_DENIED,
+-                      N_("module cannot be loaded in UEFI secure boot mode: %s"),
+-                      io->name);
+-          return GRUB_ERR_ACCESS_DENIED;
+-        }
+-
+-      /* Fall through. */
+-
+-    case GRUB_FILE_TYPE_ACPI_TABLE:
+-    case GRUB_FILE_TYPE_DEVICE_TREE_IMAGE:
+-      *flags = GRUB_VERIFY_FLAGS_DEFER_AUTH;
+-
+-      return GRUB_ERR_NONE;
+-
+-    case GRUB_FILE_TYPE_LINUX_KERNEL:
+-    case GRUB_FILE_TYPE_MULTIBOOT_KERNEL:
+-    case GRUB_FILE_TYPE_BSD_KERNEL:
+-    case GRUB_FILE_TYPE_XNU_KERNEL:
+-    case GRUB_FILE_TYPE_PLAN9_KERNEL:
+-      for (i = 0; disabled_mods[i]; i++)
+-      if (grub_dl_get (disabled_mods[i]))
+-        {
+-          grub_error (GRUB_ERR_ACCESS_DENIED,
+-                      N_("cannot boot due to dangerous module in memory: %s"),
+-                      disabled_mods[i]);
+-          return GRUB_ERR_ACCESS_DENIED;
+-        }
+-
+-      *flags = GRUB_VERIFY_FLAGS_SINGLE_CHUNK;
+-
+-      /* Fall through. */
+-
+-    default:
+-      return GRUB_ERR_NONE;
+-    }
+-}
+-
+-static grub_err_t
+-shim_lock_write (void *context __attribute__ ((unused)), void *buf, grub_size_t size)
+-{
+-  if (sl->verify (buf, size) != GRUB_EFI_SUCCESS)
+-    return grub_error (GRUB_ERR_BAD_SIGNATURE, N_("bad shim signature"));
+-
+-  return GRUB_ERR_NONE;
+-}
+-
+-struct grub_file_verifier shim_lock =
+-  {
+-    .name = "shim_lock",
+-    .init = shim_lock_init,
+-    .write = shim_lock_write
+-  };
+-
+-GRUB_MOD_INIT(shim_lock)
+-{
+-  sl = grub_efi_locate_protocol (&shim_lock_guid, 0);
+-  grub_verifier_register (&shim_lock);
+-
+-  if (!sl)
+-    return;
+-
+-  grub_dl_set_persistent (mod);
+-}
+-
+-GRUB_MOD_FINI(shim_lock)
+-{
+-  grub_verifier_unregister (&shim_lock);
+-}
+diff --git a/grub-core/kern/efi/init.c b/grub-core/kern/efi/init.c
+index 2c31847..b683bec 100644
+--- a/grub-core/kern/efi/init.c
++++ b/grub-core/kern/efi/init.c
+@@ -20,6 +20,7 @@
+ #include <grub/efi/efi.h>
+ #include <grub/efi/console.h>
+ #include <grub/efi/disk.h>
++#include <grub/efi/sb.h>
+ #include <grub/term.h>
+ #include <grub/misc.h>
+ #include <grub/env.h>
+@@ -39,6 +40,9 @@ grub_efi_init (void)
+   /* Initialize the memory management system.  */
+   grub_efi_mm_init ();
++  /* Register the shim_lock verifier if UEFI Secure Boot is enabled. */
++  grub_shim_lock_verifier_setup ();
++
+   efi_call_4 (grub_efi_system_table->boot_services->set_watchdog_timer,
+             0, 0, 0, NULL);
+diff --git a/grub-core/kern/efi/sb.c b/grub-core/kern/efi/sb.c
+index 19658d9..ce3b7f6 100644
+--- a/grub-core/kern/efi/sb.c
++++ b/grub-core/kern/efi/sb.c
+@@ -22,9 +22,16 @@
+ #include <grub/efi/pe32.h>
+ #include <grub/efi/sb.h>
+ #include <grub/err.h>
++#include <grub/file.h>
+ #include <grub/i386/linux.h>
+ #include <grub/mm.h>
+ #include <grub/types.h>
++#include <grub/verify.h>
++
++static grub_efi_guid_t shim_lock_guid = GRUB_EFI_SHIM_LOCK_GUID;
++
++/* List of modules which cannot be loaded if UEFI secure boot mode is enabled. */
++static const char * const disabled_mods[] = {"iorw", "memrw", NULL};
+ /*
+  * Determine whether we're in secure boot mode.
+@@ -107,3 +114,101 @@ grub_efi_get_secureboot (void)
+   return secureboot;
+ }
++
++static grub_err_t
++shim_lock_verifier_init (grub_file_t io __attribute__ ((unused)),
++                       enum grub_file_type type,
++                       void **context __attribute__ ((unused)),
++                       enum grub_verify_flags *flags)
++{
++  const char *b, *e;
++  int i;
++
++  *flags = GRUB_VERIFY_FLAGS_SKIP_VERIFICATION;
++
++  switch (type & GRUB_FILE_TYPE_MASK)
++    {
++    case GRUB_FILE_TYPE_GRUB_MODULE:
++      /* Establish GRUB module name. */
++      b = grub_strrchr (io->name, '/');
++      e = grub_strrchr (io->name, '.');
++
++      b = b ? (b + 1) : io->name;
++      e = e ? e : io->name + grub_strlen (io->name);
++      e = (e > b) ? e : io->name + grub_strlen (io->name);
++
++      for (i = 0; disabled_mods[i]; i++)
++      if (!grub_strncmp (b, disabled_mods[i], grub_strlen (b) - grub_strlen (e)))
++        {
++          grub_error (GRUB_ERR_ACCESS_DENIED,
++                      N_("module cannot be loaded in UEFI secure boot mode: %s"),
++                      io->name);
++          return GRUB_ERR_ACCESS_DENIED;
++        }
++
++      /* Fall through. */
++
++    case GRUB_FILE_TYPE_ACPI_TABLE:
++    case GRUB_FILE_TYPE_DEVICE_TREE_IMAGE:
++      *flags = GRUB_VERIFY_FLAGS_DEFER_AUTH;
++
++      return GRUB_ERR_NONE;
++
++    case GRUB_FILE_TYPE_LINUX_KERNEL:
++    case GRUB_FILE_TYPE_MULTIBOOT_KERNEL:
++    case GRUB_FILE_TYPE_BSD_KERNEL:
++    case GRUB_FILE_TYPE_XNU_KERNEL:
++    case GRUB_FILE_TYPE_PLAN9_KERNEL:
++      for (i = 0; disabled_mods[i]; i++)
++      if (grub_dl_get (disabled_mods[i]))
++        {
++          grub_error (GRUB_ERR_ACCESS_DENIED,
++                      N_("cannot boot due to dangerous module in memory: %s"),
++                      disabled_mods[i]);
++          return GRUB_ERR_ACCESS_DENIED;
++        }
++
++      *flags = GRUB_VERIFY_FLAGS_SINGLE_CHUNK;
++
++      /* Fall through. */
++
++    default:
++      return GRUB_ERR_NONE;
++    }
++}
++
++static grub_err_t
++shim_lock_verifier_write (void *context __attribute__ ((unused)), void *buf, grub_size_t size)
++{
++  grub_efi_shim_lock_protocol_t *sl = grub_efi_locate_protocol (&shim_lock_guid, 0);
++
++  if (!sl)
++    return grub_error (GRUB_ERR_ACCESS_DENIED, N_("shim_lock protocol not found"));
++
++  if (sl->verify (buf, size) != GRUB_EFI_SUCCESS)
++    return grub_error (GRUB_ERR_BAD_SIGNATURE, N_("bad shim signature"));
++
++  return GRUB_ERR_NONE;
++}
++
++struct grub_file_verifier shim_lock_verifier =
++  {
++    .name = "shim_lock_verifier",
++    .init = shim_lock_verifier_init,
++    .write = shim_lock_verifier_write
++  };
++
++void
++grub_shim_lock_verifier_setup (void)
++{
++  grub_efi_shim_lock_protocol_t *sl =
++    grub_efi_locate_protocol (&shim_lock_guid, 0);
++
++  if (!sl)
++    return;
++
++  if (grub_efi_get_secureboot () != GRUB_EFI_SECUREBOOT_MODE_ENABLED)
++    return;
++
++  grub_verifier_register (&shim_lock_verifier);
++}
+diff --git a/include/grub/efi/sb.h b/include/grub/efi/sb.h
+index a33d985..30c4335 100644
+--- a/include/grub/efi/sb.h
++++ b/include/grub/efi/sb.h
+@@ -30,6 +30,9 @@
+ #ifdef GRUB_MACHINE_EFI
+ extern grub_uint8_t
+ EXPORT_FUNC (grub_efi_get_secureboot) (void);
++
++extern void
++grub_shim_lock_verifier_setup (void);
+ #else
+ static inline grub_uint8_t
+ grub_efi_get_secureboot (void)
+diff --git a/po/POTFILES.in b/po/POTFILES.in
+index 11c799f..49755d3 100644
+--- a/po/POTFILES.in
++++ b/po/POTFILES.in
+@@ -39,7 +39,6 @@
+ ./grub-core/commands/efi/lsefimmap.c
+ ./grub-core/commands/efi/lsefisystab.c
+ ./grub-core/commands/efi/lssal.c
+-./grub-core/commands/efi/shim_lock.c
+ ./grub-core/commands/efi/tpm.c
+ ./grub-core/commands/eval.c
+ ./grub-core/commands/extcmd.c
+-- 
+2.14.2
+
diff --git a/boot/grub2/0035-kern-Add-lockdown-support.patch b/boot/grub2/0035-kern-Add-lockdown-support.patch
new file mode 100644 (file)
index 0000000..268b652
--- /dev/null
@@ -0,0 +1,763 @@
+From 578c95298bcc46e0296f4c786db64c2ff26ce2cc Mon Sep 17 00:00:00 2001
+From: Javier Martinez Canillas <javierm@redhat.com>
+Date: Mon, 28 Sep 2020 20:08:02 +0200
+Subject: [PATCH] kern: Add lockdown support
+
+When the GRUB starts on a secure boot platform, some commands can be
+used to subvert the protections provided by the verification mechanism and
+could lead to booting untrusted system.
+
+To prevent that situation, allow GRUB to be locked down. That way the code
+may check if GRUB has been locked down and further restrict the commands
+that are registered or what subset of their functionality could be used.
+
+The lockdown support adds the following components:
+
+* The grub_lockdown() function which can be used to lockdown GRUB if,
+  e.g., UEFI Secure Boot is enabled.
+
+* The grub_is_lockdown() function which can be used to check if the GRUB
+  was locked down.
+
+* A verifier that flags OS kernels, the GRUB modules, Device Trees and ACPI
+  tables as GRUB_VERIFY_FLAGS_DEFER_AUTH to defer verification to other
+  verifiers. These files are only successfully verified if another registered
+  verifier returns success. Otherwise, the whole verification process fails.
+
+  For example, PE/COFF binaries verification can be done by the shim_lock
+  verifier which validates the signatures using the shim_lock protocol.
+  However, the verification is not deferred directly to the shim_lock verifier.
+  The shim_lock verifier is hooked into the verification process instead.
+
+* A set of grub_{command,extcmd}_lockdown functions that can be used by
+  code registering command handlers, to only register unsafe commands if
+  the GRUB has not been locked down.
+
+Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+[Add changes to generated files]
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ Makefile.in                 |  2 ++
+ conf/Makefile.common        |  2 ++
+ docs/grub-dev.texi          | 27 +++++++++++++++
+ docs/grub.texi              |  8 +++++
+ grub-core/Makefile.am       |  5 ++-
+ grub-core/Makefile.core.am  | 14 ++++----
+ grub-core/Makefile.core.def |  1 +
+ grub-core/Makefile.in       | 73 ++++++++++++++++++++++++++++++-----------
+ grub-core/commands/extcmd.c | 23 +++++++++++++
+ grub-core/kern/command.c    | 24 ++++++++++++++
+ grub-core/kern/lockdown.c   | 80 +++++++++++++++++++++++++++++++++++++++++++++
+ include/grub/command.h      |  5 +++
+ include/grub/extcmd.h       |  7 ++++
+ include/grub/lockdown.h     | 44 +++++++++++++++++++++++++
+ po/POTFILES.in              |  2 ++
+ 15 files changed, 290 insertions(+), 27 deletions(-)
+ create mode 100644 grub-core/kern/lockdown.c
+ create mode 100644 include/grub/lockdown.h
+
+diff --git a/Makefile.in b/Makefile.in
+index e6a185b..ecb3278 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -2617,7 +2617,9 @@ CPPFLAGS_PARTTOOL_LIST = -Dgrub_parttool_register=PARTTOOL_LIST_MARKER
+ CPPFLAGS_TERMINAL_LIST = '-Dgrub_term_register_input(...)=INPUT_TERMINAL_LIST_MARKER(__VA_ARGS__)' \
+       '-Dgrub_term_register_output(...)=OUTPUT_TERMINAL_LIST_MARKER(__VA_ARGS__)'
+ CPPFLAGS_COMMAND_LIST = '-Dgrub_register_command(...)=COMMAND_LIST_MARKER(__VA_ARGS__)' \
++      '-Dgrub_register_command_lockdown(...)=COMMAND_LOCKDOWN_LIST_MARKER(__VA_ARGS__)' \
+       '-Dgrub_register_extcmd(...)=EXTCOMMAND_LIST_MARKER(__VA_ARGS__)' \
++      '-Dgrub_register_extcmd_lockdown(...)=EXTCOMMAND_LOCKDOWN_LIST_MARKER(__VA_ARGS__)' \
+       '-Dgrub_register_command_p1(...)=P1COMMAND_LIST_MARKER(__VA_ARGS__)'
+ CPPFLAGS_FDT_LIST := '-Dgrub_fdtbus_register(...)=FDT_DRIVER_LIST_MARKER(__VA_ARGS__)'
+ CPPFLAGS_MARKER = $(CPPFLAGS_FS_LIST) $(CPPFLAGS_VIDEO_LIST) \
+diff --git a/conf/Makefile.common b/conf/Makefile.common
+index 6cd71cb..2a1a886 100644
+--- a/conf/Makefile.common
++++ b/conf/Makefile.common
+@@ -84,7 +84,9 @@ CPPFLAGS_PARTTOOL_LIST = -Dgrub_parttool_register=PARTTOOL_LIST_MARKER
+ CPPFLAGS_TERMINAL_LIST = '-Dgrub_term_register_input(...)=INPUT_TERMINAL_LIST_MARKER(__VA_ARGS__)'
+ CPPFLAGS_TERMINAL_LIST += '-Dgrub_term_register_output(...)=OUTPUT_TERMINAL_LIST_MARKER(__VA_ARGS__)'
+ CPPFLAGS_COMMAND_LIST = '-Dgrub_register_command(...)=COMMAND_LIST_MARKER(__VA_ARGS__)'
++CPPFLAGS_COMMAND_LIST += '-Dgrub_register_command_lockdown(...)=COMMAND_LOCKDOWN_LIST_MARKER(__VA_ARGS__)'
+ CPPFLAGS_COMMAND_LIST += '-Dgrub_register_extcmd(...)=EXTCOMMAND_LIST_MARKER(__VA_ARGS__)'
++CPPFLAGS_COMMAND_LIST += '-Dgrub_register_extcmd_lockdown(...)=EXTCOMMAND_LOCKDOWN_LIST_MARKER(__VA_ARGS__)'
+ CPPFLAGS_COMMAND_LIST += '-Dgrub_register_command_p1(...)=P1COMMAND_LIST_MARKER(__VA_ARGS__)'
+ CPPFLAGS_FDT_LIST := '-Dgrub_fdtbus_register(...)=FDT_DRIVER_LIST_MARKER(__VA_ARGS__)'
+ CPPFLAGS_MARKER = $(CPPFLAGS_FS_LIST) $(CPPFLAGS_VIDEO_LIST) \
+diff --git a/docs/grub-dev.texi b/docs/grub-dev.texi
+index ee389fd..635ec72 100644
+--- a/docs/grub-dev.texi
++++ b/docs/grub-dev.texi
+@@ -86,6 +86,7 @@ This edition documents version @value{VERSION}.
+ * PFF2 Font File Format::
+ * Graphical Menu Software Design::
+ * Verifiers framework::
++* Lockdown framework::
+ * Copying This Manual::         Copying This Manual
+ * Index::
+ @end menu
+@@ -2086,6 +2087,32 @@ Optionally at the end of the file @samp{fini}, if it exists, is called with just
+ the context. If you return no error during any of @samp{init}, @samp{write} and
+ @samp{fini} then the file is considered as having succeded verification.
++@node Lockdown framework
++@chapter Lockdown framework
++
++The GRUB can be locked down, which is a restricted mode where some operations
++are not allowed. For instance, some commands cannot be used when the GRUB is
++locked down.
++
++The function
++@code{grub_lockdown()} is used to lockdown GRUB and the function
++@code{grub_is_lockdown()} function can be used to check whether lockdown is
++enabled or not. When enabled, the function returns @samp{GRUB_LOCKDOWN_ENABLED}
++and @samp{GRUB_LOCKDOWN_DISABLED} when is not enabled.
++
++The following functions can be used to register the commands that can only be
++used when lockdown is disabled:
++
++@itemize
++
++@item @code{grub_cmd_lockdown()} registers command which should not run when the
++GRUB is in lockdown mode.
++
++@item @code{grub_cmd_lockdown()} registers extended command which should not run
++when the GRUB is in lockdown mode.
++
++@end itemize
++
+ @node Copying This Manual
+ @appendix Copying This Manual
+diff --git a/docs/grub.texi b/docs/grub.texi
+index aefe032..a25459f 100644
+--- a/docs/grub.texi
++++ b/docs/grub.texi
+@@ -5581,6 +5581,7 @@ environment variables and commands are listed in the same order.
+ * Using digital signatures::         Booting digitally signed code
+ * UEFI secure boot and shim::        Booting digitally signed PE files
+ * Measured Boot::                    Measuring boot components
++* Lockdown::                         Lockdown when booting on a secure setup
+ @end menu
+ @node Authentication and authorisation
+@@ -5795,6 +5796,13 @@ into @file{core.img} in order to avoid a potential gap in measurement between
+ Measured boot is currently only supported on EFI platforms.
++@node Lockdown
++@section Lockdown when booting on a secure setup
++
++The GRUB can be locked down when booted on a secure boot environment, for example
++if the UEFI secure boot is enabled. On a locked down configuration, the GRUB will
++be restricted and some operations/commands cannot be executed.
++
+ @node Platform limitations
+ @chapter Platform limitations
+diff --git a/grub-core/Makefile.am b/grub-core/Makefile.am
+index cc6fc7d..30e23ad 100644
+--- a/grub-core/Makefile.am
++++ b/grub-core/Makefile.am
+@@ -80,6 +80,7 @@ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/fs.h
+ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i18n.h
+ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/kernel.h
+ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/list.h
++KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lockdown.h
+ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/misc.h
+ if COND_emu
+ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/compiler-rt-emu.h
+@@ -377,8 +378,10 @@ command.lst: $(MARKER_FILES)
+         b=`basename $$pp .marker`; \
+         sed -n \
+           -e "/EXTCOMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/*\1: $$b/;p;}" \
++          -e "/EXTCOMMAND_LOCKDOWN_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/*\1: $$b/;p;}" \
+           -e "/P1COMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/*\1: $$b/;p;}" \
+-          -e "/COMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/\1: $$b/;p;}" $$pp; \
++          -e "/COMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/\1: $$b/;p;}" \
++          -e "/COMMAND_LOCKDOWN_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/\1: $$b/;p;}" $$pp; \
+       done) | sort -u > $@
+ platform_DATA += command.lst
+ CLEANFILES += command.lst
+diff --git a/grub-core/Makefile.core.am b/grub-core/Makefile.core.am
+index 5623a5e..fbfb627 100644
+--- a/grub-core/Makefile.core.am
++++ b/grub-core/Makefile.core.am
+@@ -22378,7 +22378,7 @@ endif
+ if COND_i386_efi
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/i386/efi/startup.S 
+-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 kern/verifiers.c 
++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/lockdown.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22488,7 +22488,7 @@ endif
+ if COND_x86_64_efi
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/x86_64/efi/startup.S 
+-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 kern/verifiers.c 
++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/lockdown.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22664,7 +22664,7 @@ endif
+ if COND_ia64_efi
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = 
+-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 kern/verifiers.c 
++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/lockdown.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) -fno-builtin -fpic -minline-int-divide-max-throughput 
+@@ -22730,7 +22730,7 @@ endif
+ if COND_arm_efi
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/arm/efi/startup.S 
+-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 kern/verifiers.c 
++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/lockdown.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22752,7 +22752,7 @@ endif
+ if COND_arm64_efi
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/arm64/efi/startup.S 
+-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 kern/verifiers.c 
++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/lockdown.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22796,7 +22796,7 @@ endif
+ if COND_riscv32_efi
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/riscv/efi/startup.S 
+-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 kern/verifiers.c 
++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/lockdown.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22818,7 +22818,7 @@ endif
+ if COND_riscv64_efi
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/riscv/efi/startup.S 
+-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 kern/verifiers.c 
++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/lockdown.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
+index 4d380ed..ee8dc55 100644
+--- a/grub-core/Makefile.core.def
++++ b/grub-core/Makefile.core.def
+@@ -205,6 +205,7 @@ kernel = {
+   efi = kern/acpi.c;
+   efi = kern/efi/acpi.c;
+   efi = kern/efi/sb.c;
++  efi = kern/lockdown.c;
+   i386_coreboot = kern/i386/pc/acpi.c;
+   i386_multiboot = kern/i386/pc/acpi.c;
+   i386_coreboot = kern/acpi.c;
+diff --git a/grub-core/Makefile.in b/grub-core/Makefile.in
+index 09dc802..ac400ea 100644
+--- a/grub-core/Makefile.in
++++ b/grub-core/Makefile.in
+@@ -10457,13 +10457,14 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+       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 \
+-      kern/verifiers.c kern/arm/startup.S kern/arm/coreboot/init.c \
++      kern/efi/acpi.c kern/efi/sb.c kern/lockdown.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 kern/verifiers.c \
++      kern/arm/startup.S kern/arm/coreboot/init.c \
+       kern/arm/coreboot/timer.c kern/arm/coreboot/coreboot.S \
+       lib/fdt.c bus/fdt.c term/ps2.c term/arm/pl050.c \
+       term/arm/cros.c term/arm/cros_ec.c bus/spi/rk3288_spi.c \
+@@ -10572,6 +10573,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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) \
+ @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) \
+ @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) \
++@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-lockdown.$(OBJEXT) \
+ @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) \
+ @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) \
+ @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) \
+@@ -10646,6 +10648,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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) \
+ @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) \
+ @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) \
++@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-lockdown.$(OBJEXT) \
+ @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) \
+ @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) \
+ @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) \
+@@ -10683,6 +10686,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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) \
+ @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) \
+ @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) \
++@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-lockdown.$(OBJEXT) \
+ @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) \
+ @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) \
+ @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) \
+@@ -10884,6 +10888,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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) \
+ @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) \
+ @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) \
++@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-lockdown.$(OBJEXT) \
+ @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) \
+ @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) \
+ @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) \
+@@ -11120,6 +11125,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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) \
+ @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) \
+ @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) \
++@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-lockdown.$(OBJEXT) \
+ @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) \
+ @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) \
+ @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) \
+@@ -11287,6 +11293,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@    kern/kernel_exec-acpi.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@    kern/efi/kernel_exec-acpi.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@    kern/efi/kernel_exec-sb.$(OBJEXT) \
++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@    kern/kernel_exec-lockdown.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@    kern/kernel_exec-compiler-rt.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@    kern/kernel_exec-mm.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@    kern/kernel_exec-time.$(OBJEXT) \
+@@ -11379,6 +11386,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @COND_arm64_efi_TRUE@ kern/kernel_exec-acpi.$(OBJEXT) \
+ @COND_arm64_efi_TRUE@ kern/efi/kernel_exec-acpi.$(OBJEXT) \
+ @COND_arm64_efi_TRUE@ kern/efi/kernel_exec-sb.$(OBJEXT) \
++@COND_arm64_efi_TRUE@ kern/kernel_exec-lockdown.$(OBJEXT) \
+ @COND_arm64_efi_TRUE@ kern/kernel_exec-compiler-rt.$(OBJEXT) \
+ @COND_arm64_efi_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \
+ @COND_arm64_efi_TRUE@ kern/kernel_exec-time.$(OBJEXT) \
+@@ -15379,7 +15387,9 @@ CPPFLAGS_PARTTOOL_LIST = -Dgrub_parttool_register=PARTTOOL_LIST_MARKER
+ CPPFLAGS_TERMINAL_LIST = '-Dgrub_term_register_input(...)=INPUT_TERMINAL_LIST_MARKER(__VA_ARGS__)' \
+       '-Dgrub_term_register_output(...)=OUTPUT_TERMINAL_LIST_MARKER(__VA_ARGS__)'
+ CPPFLAGS_COMMAND_LIST = '-Dgrub_register_command(...)=COMMAND_LIST_MARKER(__VA_ARGS__)' \
++      '-Dgrub_register_command_lockdown(...)=COMMAND_LOCKDOWN_LIST_MARKER(__VA_ARGS__)' \
+       '-Dgrub_register_extcmd(...)=EXTCOMMAND_LIST_MARKER(__VA_ARGS__)' \
++      '-Dgrub_register_extcmd_lockdown(...)=EXTCOMMAND_LOCKDOWN_LIST_MARKER(__VA_ARGS__)' \
+       '-Dgrub_register_command_p1(...)=P1COMMAND_LIST_MARKER(__VA_ARGS__)'
+ CPPFLAGS_FDT_LIST := '-Dgrub_fdtbus_register(...)=FDT_DRIVER_LIST_MARKER(__VA_ARGS__)'
+ CPPFLAGS_MARKER = $(CPPFLAGS_FS_LIST) $(CPPFLAGS_VIDEO_LIST) \
+@@ -16387,6 +16397,7 @@ KERNEL_HEADER_FILES = $(top_srcdir)/include/grub/cache.h \
+       $(top_srcdir)/include/grub/i18n.h \
+       $(top_srcdir)/include/grub/kernel.h \
+       $(top_srcdir)/include/grub/list.h \
++      $(top_srcdir)/include/grub/lockdown.h \
+       $(top_srcdir)/include/grub/misc.h $(am__append_5794) \
+       $(am__append_5795) $(top_srcdir)/include/grub/mm.h \
+       $(top_srcdir)/include/grub/parser.h \
+@@ -25594,7 +25605,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_arm64_efi_TRUE@ kern/efi/efi.c kern/efi/init.c \
+ @COND_arm64_efi_TRUE@ kern/efi/mm.c term/efi/console.c \
+ @COND_arm64_efi_TRUE@ kern/acpi.c kern/efi/acpi.c kern/efi/sb.c \
+-@COND_arm64_efi_TRUE@ kern/compiler-rt.c kern/mm.c kern/time.c \
++@COND_arm64_efi_TRUE@ kern/lockdown.c kern/compiler-rt.c \
++@COND_arm64_efi_TRUE@ kern/mm.c kern/time.c \
+ @COND_arm64_efi_TRUE@ kern/generic/millisleep.c kern/command.c \
+ @COND_arm64_efi_TRUE@ kern/corecmd.c kern/device.c kern/disk.c \
+ @COND_arm64_efi_TRUE@ kern/dl.c kern/env.c kern/err.c \
+@@ -25645,7 +25657,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_arm_efi_TRUE@   kern/efi/init.c kern/efi/mm.c \
+ @COND_arm_efi_TRUE@   term/efi/console.c kern/acpi.c \
+ @COND_arm_efi_TRUE@   kern/efi/acpi.c kern/efi/sb.c \
+-@COND_arm_efi_TRUE@   kern/compiler-rt.c kern/mm.c kern/time.c \
++@COND_arm_efi_TRUE@   kern/lockdown.c kern/compiler-rt.c \
++@COND_arm_efi_TRUE@   kern/mm.c kern/time.c \
+ @COND_arm_efi_TRUE@   kern/generic/millisleep.c kern/command.c \
+ @COND_arm_efi_TRUE@   kern/corecmd.c kern/device.c kern/disk.c \
+ @COND_arm_efi_TRUE@   kern/dl.c kern/env.c kern/err.c kern/file.c \
+@@ -25725,7 +25738,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_i386_efi_TRUE@  kern/efi/efi.c kern/efi/init.c \
+ @COND_i386_efi_TRUE@  kern/efi/mm.c term/efi/console.c \
+ @COND_i386_efi_TRUE@  kern/acpi.c kern/efi/acpi.c kern/efi/sb.c \
+-@COND_i386_efi_TRUE@  kern/compiler-rt.c kern/mm.c kern/time.c \
++@COND_i386_efi_TRUE@  kern/lockdown.c kern/compiler-rt.c \
++@COND_i386_efi_TRUE@  kern/mm.c kern/time.c \
+ @COND_i386_efi_TRUE@  kern/generic/millisleep.c kern/command.c \
+ @COND_i386_efi_TRUE@  kern/corecmd.c kern/device.c kern/disk.c \
+ @COND_i386_efi_TRUE@  kern/dl.c kern/env.c kern/err.c \
+@@ -25843,7 +25857,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_ia64_efi_TRUE@  kern/efi/efi.c kern/efi/init.c \
+ @COND_ia64_efi_TRUE@  kern/efi/mm.c term/efi/console.c \
+ @COND_ia64_efi_TRUE@  kern/acpi.c kern/efi/acpi.c kern/efi/sb.c \
+-@COND_ia64_efi_TRUE@  kern/compiler-rt.c kern/mm.c kern/time.c \
++@COND_ia64_efi_TRUE@  kern/lockdown.c kern/compiler-rt.c \
++@COND_ia64_efi_TRUE@  kern/mm.c kern/time.c \
+ @COND_ia64_efi_TRUE@  kern/generic/millisleep.c kern/command.c \
+ @COND_ia64_efi_TRUE@  kern/corecmd.c kern/device.c kern/disk.c \
+ @COND_ia64_efi_TRUE@  kern/dl.c kern/env.c kern/err.c \
+@@ -25956,8 +25971,9 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_riscv32_efi_TRUE@       kern/efi/init.c kern/efi/mm.c \
+ @COND_riscv32_efi_TRUE@       term/efi/console.c kern/acpi.c \
+ @COND_riscv32_efi_TRUE@       kern/efi/acpi.c kern/efi/sb.c \
+-@COND_riscv32_efi_TRUE@       kern/compiler-rt.c kern/mm.c \
+-@COND_riscv32_efi_TRUE@       kern/time.c kern/generic/millisleep.c \
++@COND_riscv32_efi_TRUE@       kern/lockdown.c kern/compiler-rt.c \
++@COND_riscv32_efi_TRUE@       kern/mm.c kern/time.c \
++@COND_riscv32_efi_TRUE@       kern/generic/millisleep.c \
+ @COND_riscv32_efi_TRUE@       kern/command.c kern/corecmd.c \
+ @COND_riscv32_efi_TRUE@       kern/device.c kern/disk.c kern/dl.c \
+ @COND_riscv32_efi_TRUE@       kern/env.c kern/err.c kern/file.c \
+@@ -25974,9 +25990,9 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_riscv64_efi_TRUE@       kern/efi/efi.c kern/efi/init.c \
+ @COND_riscv64_efi_TRUE@       kern/efi/mm.c term/efi/console.c \
+ @COND_riscv64_efi_TRUE@       kern/acpi.c kern/efi/acpi.c \
+-@COND_riscv64_efi_TRUE@       kern/efi/sb.c kern/compiler-rt.c \
+-@COND_riscv64_efi_TRUE@       kern/mm.c kern/time.c \
+-@COND_riscv64_efi_TRUE@       kern/generic/millisleep.c \
++@COND_riscv64_efi_TRUE@       kern/efi/sb.c kern/lockdown.c \
++@COND_riscv64_efi_TRUE@       kern/compiler-rt.c kern/mm.c \
++@COND_riscv64_efi_TRUE@       kern/time.c kern/generic/millisleep.c \
+ @COND_riscv64_efi_TRUE@       kern/command.c kern/corecmd.c \
+ @COND_riscv64_efi_TRUE@       kern/device.c kern/disk.c kern/dl.c \
+ @COND_riscv64_efi_TRUE@       kern/env.c kern/err.c kern/file.c \
+@@ -26022,8 +26038,8 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_x86_64_efi_TRUE@        kern/efi/efi.c kern/efi/init.c \
+ @COND_x86_64_efi_TRUE@        kern/efi/mm.c term/efi/console.c \
+ @COND_x86_64_efi_TRUE@        kern/acpi.c kern/efi/acpi.c \
+-@COND_x86_64_efi_TRUE@        kern/efi/sb.c kern/compiler-rt.c \
+-@COND_x86_64_efi_TRUE@        kern/mm.c kern/time.c \
++@COND_x86_64_efi_TRUE@        kern/efi/sb.c kern/lockdown.c \
++@COND_x86_64_efi_TRUE@        kern/compiler-rt.c kern/mm.c kern/time.c \
+ @COND_x86_64_efi_TRUE@        kern/generic/millisleep.c kern/command.c \
+ @COND_x86_64_efi_TRUE@        kern/corecmd.c kern/device.c kern/disk.c \
+ @COND_x86_64_efi_TRUE@        kern/dl.c kern/env.c kern/err.c \
+@@ -27994,6 +28010,8 @@ kern/efi/kernel_exec-acpi.$(OBJEXT): kern/efi/$(am__dirstamp) \
+       kern/efi/$(DEPDIR)/$(am__dirstamp)
+ kern/efi/kernel_exec-sb.$(OBJEXT): kern/efi/$(am__dirstamp) \
+       kern/efi/$(DEPDIR)/$(am__dirstamp)
++kern/kernel_exec-lockdown.$(OBJEXT): kern/$(am__dirstamp) \
++      kern/$(DEPDIR)/$(am__dirstamp)
+ kern/kernel_exec-compiler-rt.$(OBJEXT): kern/$(am__dirstamp) \
+       kern/$(DEPDIR)/$(am__dirstamp)
+ kern/kernel_exec-mm.$(OBJEXT): kern/$(am__dirstamp) \
+@@ -30945,6 +30963,7 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-file.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-fs.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-list.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-lockdown.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-main.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-misc.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-mm.Po@am__quote@
+@@ -35293,6 +35312,20 @@ kern/efi/kernel_exec-sb.obj: kern/efi/sb.c
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @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`
++kern/kernel_exec-lockdown.o: kern/lockdown.c
++@am__fastdepCC_TRUE@  $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -MT kern/kernel_exec-lockdown.o -MD -MP -MF kern/$(DEPDIR)/kernel_exec-lockdown.Tpo -c -o kern/kernel_exec-lockdown.o `test -f 'kern/lockdown.c' || echo '$(srcdir)/'`kern/lockdown.c
++@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) kern/$(DEPDIR)/kernel_exec-lockdown.Tpo kern/$(DEPDIR)/kernel_exec-lockdown.Po
++@AMDEP_TRUE@@am__fastdepCC_FALSE@     $(AM_V_CC)source='kern/lockdown.c' object='kern/kernel_exec-lockdown.o' libtool=no @AMDEPBACKSLASH@
++@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -c -o kern/kernel_exec-lockdown.o `test -f 'kern/lockdown.c' || echo '$(srcdir)/'`kern/lockdown.c
++
++kern/kernel_exec-lockdown.obj: kern/lockdown.c
++@am__fastdepCC_TRUE@  $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -MT kern/kernel_exec-lockdown.obj -MD -MP -MF kern/$(DEPDIR)/kernel_exec-lockdown.Tpo -c -o kern/kernel_exec-lockdown.obj `if test -f 'kern/lockdown.c'; then $(CYGPATH_W) 'kern/lockdown.c'; else $(CYGPATH_W) '$(srcdir)/kern/lockdown.c'; fi`
++@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) kern/$(DEPDIR)/kernel_exec-lockdown.Tpo kern/$(DEPDIR)/kernel_exec-lockdown.Po
++@AMDEP_TRUE@@am__fastdepCC_FALSE@     $(AM_V_CC)source='kern/lockdown.c' object='kern/kernel_exec-lockdown.obj' libtool=no @AMDEPBACKSLASH@
++@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -c -o kern/kernel_exec-lockdown.obj `if test -f 'kern/lockdown.c'; then $(CYGPATH_W) 'kern/lockdown.c'; else $(CYGPATH_W) '$(srcdir)/kern/lockdown.c'; fi`
++
+ kern/kernel_exec-compiler-rt.o: kern/compiler-rt.c
+ @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
+ @am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) kern/$(DEPDIR)/kernel_exec-compiler-rt.Tpo kern/$(DEPDIR)/kernel_exec-compiler-rt.Po
+@@ -46650,8 +46683,10 @@ command.lst: $(MARKER_FILES)
+         b=`basename $$pp .marker`; \
+         sed -n \
+           -e "/EXTCOMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/*\1: $$b/;p;}" \
++          -e "/EXTCOMMAND_LOCKDOWN_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/*\1: $$b/;p;}" \
+           -e "/P1COMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/*\1: $$b/;p;}" \
+-          -e "/COMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/\1: $$b/;p;}" $$pp; \
++          -e "/COMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/\1: $$b/;p;}" \
++          -e "/COMMAND_LOCKDOWN_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/\1: $$b/;p;}" $$pp; \
+       done) | sort -u > $@
+ partmap.lst: $(MARKER_FILES)
+diff --git a/grub-core/commands/extcmd.c b/grub-core/commands/extcmd.c
+index 69574e2..90a5ca2 100644
+--- a/grub-core/commands/extcmd.c
++++ b/grub-core/commands/extcmd.c
+@@ -19,6 +19,7 @@
+ #include <grub/mm.h>
+ #include <grub/list.h>
++#include <grub/lockdown.h>
+ #include <grub/misc.h>
+ #include <grub/extcmd.h>
+ #include <grub/script_sh.h>
+@@ -110,6 +111,28 @@ grub_register_extcmd (const char *name, grub_extcmd_func_t func,
+                                   summary, description, parser, 1);
+ }
++static grub_err_t
++grub_extcmd_lockdown (grub_extcmd_context_t ctxt __attribute__ ((unused)),
++                      int argc __attribute__ ((unused)),
++                      char **argv __attribute__ ((unused)))
++{
++  return grub_error (GRUB_ERR_ACCESS_DENIED,
++                     N_("%s: the command is not allowed when lockdown is enforced"),
++                     ctxt->extcmd->cmd->name);
++}
++
++grub_extcmd_t
++grub_register_extcmd_lockdown (const char *name, grub_extcmd_func_t func,
++                               grub_command_flags_t flags, const char *summary,
++                               const char *description,
++                               const struct grub_arg_option *parser)
++{
++  if (grub_is_lockdown () == GRUB_LOCKDOWN_ENABLED)
++    func = grub_extcmd_lockdown;
++
++  return grub_register_extcmd (name, func, flags, summary, description, parser);
++}
++
+ void
+ grub_unregister_extcmd (grub_extcmd_t ext)
+ {
+diff --git a/grub-core/kern/command.c b/grub-core/kern/command.c
+index acd7218..4aabcd4 100644
+--- a/grub-core/kern/command.c
++++ b/grub-core/kern/command.c
+@@ -17,6 +17,7 @@
+  *  along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
+  */
++#include <grub/lockdown.h>
+ #include <grub/mm.h>
+ #include <grub/command.h>
+@@ -77,6 +78,29 @@ grub_register_command_prio (const char *name,
+   return cmd;
+ }
++static grub_err_t
++grub_cmd_lockdown (grub_command_t cmd __attribute__ ((unused)),
++                   int argc __attribute__ ((unused)),
++                   char **argv __attribute__ ((unused)))
++
++{
++  return grub_error (GRUB_ERR_ACCESS_DENIED,
++                     N_("%s: the command is not allowed when lockdown is enforced"),
++                     cmd->name);
++}
++
++grub_command_t
++grub_register_command_lockdown (const char *name,
++                                grub_command_func_t func,
++                                const char *summary,
++                                const char *description)
++{
++  if (grub_is_lockdown () == GRUB_LOCKDOWN_ENABLED)
++    func = grub_cmd_lockdown;
++
++  return grub_register_command_prio (name, func, summary, description, 0);
++}
++
+ void
+ grub_unregister_command (grub_command_t cmd)
+ {
+diff --git a/grub-core/kern/lockdown.c b/grub-core/kern/lockdown.c
+new file mode 100644
+index 0000000..1e56c0b
+--- /dev/null
++++ b/grub-core/kern/lockdown.c
+@@ -0,0 +1,80 @@
++/*
++ *  GRUB  --  GRand Unified Bootloader
++ *  Copyright (C) 2020  Free Software Foundation, Inc.
++ *
++ *  GRUB is free software: you can redistribute it and/or modify
++ *  it under the terms of the GNU General Public License as published by
++ *  the Free Software Foundation, either version 3 of the License, or
++ *  (at your option) any later version.
++ *
++ *  GRUB is distributed in the hope that it will be useful,
++ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *  GNU General Public License for more details.
++ *
++ *  You should have received a copy of the GNU General Public License
++ *  along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
++ *
++ */
++
++#include <grub/dl.h>
++#include <grub/file.h>
++#include <grub/lockdown.h>
++#include <grub/verify.h>
++
++static int lockdown = GRUB_LOCKDOWN_DISABLED;
++
++static grub_err_t
++lockdown_verifier_init (grub_file_t io __attribute__ ((unused)),
++                    enum grub_file_type type,
++                    void **context __attribute__ ((unused)),
++                    enum grub_verify_flags *flags)
++{
++  *flags = GRUB_VERIFY_FLAGS_SKIP_VERIFICATION;
++
++  switch (type & GRUB_FILE_TYPE_MASK)
++    {
++    case GRUB_FILE_TYPE_GRUB_MODULE:
++    case GRUB_FILE_TYPE_LINUX_KERNEL:
++    case GRUB_FILE_TYPE_MULTIBOOT_KERNEL:
++    case GRUB_FILE_TYPE_XEN_HYPERVISOR:
++    case GRUB_FILE_TYPE_BSD_KERNEL:
++    case GRUB_FILE_TYPE_XNU_KERNEL:
++    case GRUB_FILE_TYPE_PLAN9_KERNEL:
++    case GRUB_FILE_TYPE_NTLDR:
++    case GRUB_FILE_TYPE_TRUECRYPT:
++    case GRUB_FILE_TYPE_FREEDOS:
++    case GRUB_FILE_TYPE_PXECHAINLOADER:
++    case GRUB_FILE_TYPE_PCCHAINLOADER:
++    case GRUB_FILE_TYPE_COREBOOT_CHAINLOADER:
++    case GRUB_FILE_TYPE_EFI_CHAINLOADED_IMAGE:
++    case GRUB_FILE_TYPE_ACPI_TABLE:
++    case GRUB_FILE_TYPE_DEVICE_TREE_IMAGE:
++      *flags = GRUB_VERIFY_FLAGS_DEFER_AUTH;
++
++      /* Fall through. */
++
++    default:
++      return GRUB_ERR_NONE;
++    }
++}
++
++struct grub_file_verifier lockdown_verifier =
++  {
++    .name = "lockdown_verifier",
++    .init = lockdown_verifier_init,
++  };
++
++void
++grub_lockdown (void)
++{
++  lockdown = GRUB_LOCKDOWN_ENABLED;
++
++  grub_verifier_register (&lockdown_verifier);
++}
++
++int
++grub_is_lockdown (void)
++{
++  return lockdown;
++}
+diff --git a/include/grub/command.h b/include/grub/command.h
+index eee4e84..2a6f7f8 100644
+--- a/include/grub/command.h
++++ b/include/grub/command.h
+@@ -86,6 +86,11 @@ EXPORT_FUNC(grub_register_command_prio) (const char *name,
+                                        const char *summary,
+                                        const char *description,
+                                        int prio);
++grub_command_t
++EXPORT_FUNC(grub_register_command_lockdown) (const char *name,
++                                             grub_command_func_t func,
++                                             const char *summary,
++                                             const char *description);
+ void EXPORT_FUNC(grub_unregister_command) (grub_command_t cmd);
+ static inline grub_command_t
+diff --git a/include/grub/extcmd.h b/include/grub/extcmd.h
+index 19fe592..fe9248b 100644
+--- a/include/grub/extcmd.h
++++ b/include/grub/extcmd.h
+@@ -62,6 +62,13 @@ grub_extcmd_t EXPORT_FUNC(grub_register_extcmd) (const char *name,
+                                                const char *description,
+                                                const struct grub_arg_option *parser);
++grub_extcmd_t EXPORT_FUNC(grub_register_extcmd_lockdown) (const char *name,
++                                                          grub_extcmd_func_t func,
++                                                          grub_command_flags_t flags,
++                                                          const char *summary,
++                                                          const char *description,
++                                                          const struct grub_arg_option *parser);
++
+ grub_extcmd_t EXPORT_FUNC(grub_register_extcmd_prio) (const char *name,
+                                                     grub_extcmd_func_t func,
+                                                     grub_command_flags_t flags,
+diff --git a/include/grub/lockdown.h b/include/grub/lockdown.h
+new file mode 100644
+index 0000000..40531fa
+--- /dev/null
++++ b/include/grub/lockdown.h
+@@ -0,0 +1,44 @@
++/*
++ *  GRUB  --  GRand Unified Bootloader
++ *  Copyright (C) 2020  Free Software Foundation, Inc.
++ *
++ *  GRUB is free software: you can redistribute it and/or modify
++ *  it under the terms of the GNU General Public License as published by
++ *  the Free Software Foundation, either version 3 of the License, or
++ *  (at your option) any later version.
++ *
++ *  GRUB is distributed in the hope that it will be useful,
++ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *  GNU General Public License for more details.
++ *
++ *  You should have received a copy of the GNU General Public License
++ *  along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#ifndef GRUB_LOCKDOWN_H
++#define GRUB_LOCKDOWN_H 1
++
++#include <grub/symbol.h>
++
++#define GRUB_LOCKDOWN_DISABLED       0
++#define GRUB_LOCKDOWN_ENABLED        1
++
++#ifdef GRUB_MACHINE_EFI
++extern void
++EXPORT_FUNC (grub_lockdown) (void);
++extern int
++EXPORT_FUNC (grub_is_lockdown) (void);
++#else
++static inline void
++grub_lockdown (void)
++{
++}
++
++static inline int
++grub_is_lockdown (void)
++{
++  return GRUB_LOCKDOWN_DISABLED;
++}
++#endif
++#endif /* ! GRUB_LOCKDOWN_H */
+diff --git a/po/POTFILES.in b/po/POTFILES.in
+index 49755d3..5e26845 100644
+--- a/po/POTFILES.in
++++ b/po/POTFILES.in
+@@ -309,6 +309,7 @@
+ ./grub-core/kern/ieee1275/mmap.c
+ ./grub-core/kern/ieee1275/openfw.c
+ ./grub-core/kern/list.c
++./grub-core/kern/lockdown.c
+ ./grub-core/kern/main.c
+ ./grub-core/kern/mips/arc/init.c
+ ./grub-core/kern/mips/dl.c
+@@ -1207,6 +1208,7 @@
+ ./include/grub/linux.h
+ ./include/grub/list.h
+ ./include/grub/loader.h
++./include/grub/lockdown.h
+ ./include/grub/lvm.h
+ ./include/grub/macho.h
+ ./include/grub/machoload.h
+-- 
+2.14.2
+
diff --git a/boot/grub2/0036-kern-lockdown-Set-a-variable-if-the-GRUB-is-locked-d.patch b/boot/grub2/0036-kern-lockdown-Set-a-variable-if-the-GRUB-is-locked-d.patch
new file mode 100644 (file)
index 0000000..e630d33
--- /dev/null
@@ -0,0 +1,57 @@
+From d90367471779c240e002e62edfb6b31fc85b4908 Mon Sep 17 00:00:00 2001
+From: Javier Martinez Canillas <javierm@redhat.com>
+Date: Tue, 2 Feb 2021 19:59:48 +0100
+Subject: [PATCH] kern/lockdown: Set a variable if the GRUB is locked down
+
+It may be useful for scripts to determine whether the GRUB is locked
+down or not. Add the lockdown variable which is set to "y" when the GRUB
+is locked down.
+
+Suggested-by: Dimitri John Ledkov <xnox@ubuntu.com>
+Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ docs/grub.texi            | 3 +++
+ grub-core/kern/lockdown.c | 4 ++++
+ 2 files changed, 7 insertions(+)
+
+diff --git a/docs/grub.texi b/docs/grub.texi
+index a25459f..bdbb329 100644
+--- a/docs/grub.texi
++++ b/docs/grub.texi
+@@ -5803,6 +5803,9 @@ The GRUB can be locked down when booted on a secure boot environment, for exampl
+ if the UEFI secure boot is enabled. On a locked down configuration, the GRUB will
+ be restricted and some operations/commands cannot be executed.
++The @samp{lockdown} variable is set to @samp{y} when the GRUB is locked down.
++Otherwise it does not exit.
++
+ @node Platform limitations
+ @chapter Platform limitations
+diff --git a/grub-core/kern/lockdown.c b/grub-core/kern/lockdown.c
+index 1e56c0b..0bc70fd 100644
+--- a/grub-core/kern/lockdown.c
++++ b/grub-core/kern/lockdown.c
+@@ -18,6 +18,7 @@
+  */
+ #include <grub/dl.h>
++#include <grub/env.h>
+ #include <grub/file.h>
+ #include <grub/lockdown.h>
+ #include <grub/verify.h>
+@@ -71,6 +72,9 @@ grub_lockdown (void)
+   lockdown = GRUB_LOCKDOWN_ENABLED;
+   grub_verifier_register (&lockdown_verifier);
++
++  grub_env_set ("lockdown", "y");
++  grub_env_export ("lockdown");
+ }
+ int
+-- 
+2.14.2
+
diff --git a/boot/grub2/0037-efi-Lockdown-the-GRUB-when-the-UEFI-Secure-Boot-is-e.patch b/boot/grub2/0037-efi-Lockdown-the-GRUB-when-the-UEFI-Secure-Boot-is-e.patch
new file mode 100644 (file)
index 0000000..b55772d
--- /dev/null
@@ -0,0 +1,49 @@
+From 98b00a403cbf2ba6833d1ac0499871b27a08eb77 Mon Sep 17 00:00:00 2001
+From: Javier Martinez Canillas <javierm@redhat.com>
+Date: Mon, 28 Sep 2020 20:08:29 +0200
+Subject: [PATCH] efi: Lockdown the GRUB when the UEFI Secure Boot is enabled
+
+If the UEFI Secure Boot is enabled then the GRUB must be locked down
+to prevent executing code that can potentially be used to subvert its
+verification mechanisms.
+
+Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/kern/efi/init.c | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/grub-core/kern/efi/init.c b/grub-core/kern/efi/init.c
+index b683bec..1333465 100644
+--- a/grub-core/kern/efi/init.c
++++ b/grub-core/kern/efi/init.c
+@@ -21,6 +21,7 @@
+ #include <grub/efi/console.h>
+ #include <grub/efi/disk.h>
+ #include <grub/efi/sb.h>
++#include <grub/lockdown.h>
+ #include <grub/term.h>
+ #include <grub/misc.h>
+ #include <grub/env.h>
+@@ -40,8 +41,15 @@ grub_efi_init (void)
+   /* Initialize the memory management system.  */
+   grub_efi_mm_init ();
+-  /* Register the shim_lock verifier if UEFI Secure Boot is enabled. */
+-  grub_shim_lock_verifier_setup ();
++  /*
++   * Lockdown the GRUB and register the shim_lock verifier
++   * if the UEFI Secure Boot is enabled.
++   */
++  if (grub_efi_get_secureboot () == GRUB_EFI_SECUREBOOT_MODE_ENABLED)
++    {
++      grub_lockdown ();
++      grub_shim_lock_verifier_setup ();
++    }
+   efi_call_4 (grub_efi_system_table->boot_services->set_watchdog_timer,
+             0, 0, 0, NULL);
+-- 
+2.14.2
+
diff --git a/boot/grub2/0038-efi-Use-grub_is_lockdown-instead-of-hardcoding-a-dis.patch b/boot/grub2/0038-efi-Use-grub_is_lockdown-instead-of-hardcoding-a-dis.patch
new file mode 100644 (file)
index 0000000..c551822
--- /dev/null
@@ -0,0 +1,232 @@
+From 8f73052885892bc0dbc01e297f79d7cf4925e491 Mon Sep 17 00:00:00 2001
+From: Javier Martinez Canillas <javierm@redhat.com>
+Date: Mon, 28 Sep 2020 20:08:33 +0200
+Subject: [PATCH] efi: Use grub_is_lockdown() instead of hardcoding a disabled
+ modules list
+
+Now the GRUB can check if it has been locked down and this can be used to
+prevent executing commands that can be utilized to circumvent the UEFI
+Secure Boot mechanisms. So, instead of hardcoding a list of modules that
+have to be disabled, prevent the usage of commands that can be dangerous.
+
+This not only allows the commands to be disabled on other platforms, but
+also properly separate the concerns. Since the shim_lock verifier logic
+should be only about preventing to run untrusted binaries and not about
+defining these kind of policies.
+
+Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ docs/grub.texi                  | 15 +++++++++------
+ grub-core/commands/i386/wrmsr.c |  5 +++--
+ grub-core/commands/iorw.c       | 19 ++++++++++---------
+ grub-core/commands/memrw.c      | 19 ++++++++++---------
+ grub-core/kern/efi/sb.c         | 41 -----------------------------------------
+ 5 files changed, 32 insertions(+), 67 deletions(-)
+
+diff --git a/docs/grub.texi b/docs/grub.texi
+index bdbb329..bbe60a4 100644
+--- a/docs/grub.texi
++++ b/docs/grub.texi
+@@ -5256,6 +5256,9 @@ only applies to the particular cpu/core/thread that runs the command.
+ Also, if you specify a reserved or unimplemented MSR address, it will
+ cause a general protection exception (which is not currently being handled)
+ and the system will reboot.
++
++Note: The command is not allowed when lockdown is enforced (@pxref{Lockdown}).
++      This is done to prevent subverting various security mechanisms.
+ @end deffn
+ @node xen_hypervisor
+@@ -5752,12 +5755,12 @@ boot and the shim. This functionality is provided by the shim_lock verifier. It
+ is built into the @file{core.img} and is registered if the UEFI secure boot is
+ enabled.
+-All modules not stored in the @file{core.img} and the ACPI tables for the
+-@command{acpi} command have to be signed, e.g. using PGP. Additionally, the
+-@command{iorw}, the @command{memrw} and the @command{wrmsr} commands are
+-prohibited if the UEFI secure boot is enabled. This is done due to
+-security reasons. All above mentioned requirements are enforced by the
+-shim_lock verifier logic.
++All GRUB modules not stored in the @file{core.img}, OS kernels, ACPI tables,
++Device Trees, etc. have to be signed, e.g, using PGP. Additionally, the commands
++that can be used to subvert the UEFI secure boot mechanism, such as @command{iorw}
++and @command{memrw} will not be available when the UEFI secure boot is enabled.
++This is done for security reasons and are enforced by the GRUB Lockdown mechanism
++(@pxref{Lockdown}).
+ @node Measured Boot
+ @section Measuring boot components
+diff --git a/grub-core/commands/i386/wrmsr.c b/grub-core/commands/i386/wrmsr.c
+index 9c5e510..56a29c2 100644
+--- a/grub-core/commands/i386/wrmsr.c
++++ b/grub-core/commands/i386/wrmsr.c
+@@ -24,6 +24,7 @@
+ #include <grub/env.h>
+ #include <grub/command.h>
+ #include <grub/extcmd.h>
++#include <grub/lockdown.h>
+ #include <grub/i18n.h>
+ #include <grub/i386/cpuid.h>
+ #include <grub/i386/wrmsr.h>
+@@ -83,8 +84,8 @@ grub_cmd_msr_write (grub_command_t cmd __attribute__ ((unused)), int argc, char
+ GRUB_MOD_INIT(wrmsr)
+ {
+-  cmd_write = grub_register_command ("wrmsr", grub_cmd_msr_write, N_("ADDR VALUE"),
+-                                   N_("Write a value to a CPU model specific register."));
++  cmd_write = grub_register_command_lockdown ("wrmsr", grub_cmd_msr_write, N_("ADDR VALUE"),
++                                              N_("Write a value to a CPU model specific register."));
+ }
+ GRUB_MOD_FINI(wrmsr)
+diff --git a/grub-core/commands/iorw.c b/grub-core/commands/iorw.c
+index a0c164e..584baec 100644
+--- a/grub-core/commands/iorw.c
++++ b/grub-core/commands/iorw.c
+@@ -23,6 +23,7 @@
+ #include <grub/env.h>
+ #include <grub/cpu/io.h>
+ #include <grub/i18n.h>
++#include <grub/lockdown.h>
+ GRUB_MOD_LICENSE ("GPLv3+");
+@@ -131,17 +132,17 @@ GRUB_MOD_INIT(memrw)
+                         N_("PORT"), N_("Read 32-bit value from PORT."),
+                         options);
+   cmd_write_byte =
+-    grub_register_command ("outb", grub_cmd_write,
+-                         N_("PORT VALUE [MASK]"),
+-                         N_("Write 8-bit VALUE to PORT."));
++    grub_register_command_lockdown ("outb", grub_cmd_write,
++                                    N_("PORT VALUE [MASK]"),
++                                    N_("Write 8-bit VALUE to PORT."));
+   cmd_write_word =
+-    grub_register_command ("outw", grub_cmd_write,
+-                         N_("PORT VALUE [MASK]"),
+-                         N_("Write 16-bit VALUE to PORT."));
++    grub_register_command_lockdown ("outw", grub_cmd_write,
++                                    N_("PORT VALUE [MASK]"),
++                                    N_("Write 16-bit VALUE to PORT."));
+   cmd_write_dword =
+-    grub_register_command ("outl", grub_cmd_write,
+-                         N_("ADDR VALUE [MASK]"),
+-                         N_("Write 32-bit VALUE to PORT."));
++    grub_register_command_lockdown ("outl", grub_cmd_write,
++                                    N_("ADDR VALUE [MASK]"),
++                                    N_("Write 32-bit VALUE to PORT."));
+ }
+ GRUB_MOD_FINI(memrw)
+diff --git a/grub-core/commands/memrw.c b/grub-core/commands/memrw.c
+index 98769ea..d401a6d 100644
+--- a/grub-core/commands/memrw.c
++++ b/grub-core/commands/memrw.c
+@@ -22,6 +22,7 @@
+ #include <grub/extcmd.h>
+ #include <grub/env.h>
+ #include <grub/i18n.h>
++#include <grub/lockdown.h>
+ GRUB_MOD_LICENSE ("GPLv3+");
+@@ -133,17 +134,17 @@ GRUB_MOD_INIT(memrw)
+                         N_("ADDR"), N_("Read 32-bit value from ADDR."),
+                         options);
+   cmd_write_byte =
+-    grub_register_command ("write_byte", grub_cmd_write,
+-                         N_("ADDR VALUE [MASK]"),
+-                         N_("Write 8-bit VALUE to ADDR."));
++    grub_register_command_lockdown ("write_byte", grub_cmd_write,
++                                    N_("ADDR VALUE [MASK]"),
++                                    N_("Write 8-bit VALUE to ADDR."));
+   cmd_write_word =
+-    grub_register_command ("write_word", grub_cmd_write,
+-                         N_("ADDR VALUE [MASK]"),
+-                         N_("Write 16-bit VALUE to ADDR."));
++    grub_register_command_lockdown ("write_word", grub_cmd_write,
++                                    N_("ADDR VALUE [MASK]"),
++                                    N_("Write 16-bit VALUE to ADDR."));
+   cmd_write_dword =
+-    grub_register_command ("write_dword", grub_cmd_write,
+-                         N_("ADDR VALUE [MASK]"),
+-                         N_("Write 32-bit VALUE to ADDR."));
++    grub_register_command_lockdown ("write_dword", grub_cmd_write,
++                                    N_("ADDR VALUE [MASK]"),
++                                    N_("Write 32-bit VALUE to ADDR."));
+ }
+ GRUB_MOD_FINI(memrw)
+diff --git a/grub-core/kern/efi/sb.c b/grub-core/kern/efi/sb.c
+index ce3b7f6..5d7210a 100644
+--- a/grub-core/kern/efi/sb.c
++++ b/grub-core/kern/efi/sb.c
+@@ -30,9 +30,6 @@
+ static grub_efi_guid_t shim_lock_guid = GRUB_EFI_SHIM_LOCK_GUID;
+-/* List of modules which cannot be loaded if UEFI secure boot mode is enabled. */
+-static const char * const disabled_mods[] = {"iorw", "memrw", NULL};
+-
+ /*
+  * Determine whether we're in secure boot mode.
+  *
+@@ -121,53 +118,15 @@ shim_lock_verifier_init (grub_file_t io __attribute__ ((unused)),
+                        void **context __attribute__ ((unused)),
+                        enum grub_verify_flags *flags)
+ {
+-  const char *b, *e;
+-  int i;
+-
+   *flags = GRUB_VERIFY_FLAGS_SKIP_VERIFICATION;
+   switch (type & GRUB_FILE_TYPE_MASK)
+     {
+-    case GRUB_FILE_TYPE_GRUB_MODULE:
+-      /* Establish GRUB module name. */
+-      b = grub_strrchr (io->name, '/');
+-      e = grub_strrchr (io->name, '.');
+-
+-      b = b ? (b + 1) : io->name;
+-      e = e ? e : io->name + grub_strlen (io->name);
+-      e = (e > b) ? e : io->name + grub_strlen (io->name);
+-
+-      for (i = 0; disabled_mods[i]; i++)
+-      if (!grub_strncmp (b, disabled_mods[i], grub_strlen (b) - grub_strlen (e)))
+-        {
+-          grub_error (GRUB_ERR_ACCESS_DENIED,
+-                      N_("module cannot be loaded in UEFI secure boot mode: %s"),
+-                      io->name);
+-          return GRUB_ERR_ACCESS_DENIED;
+-        }
+-
+-      /* Fall through. */
+-
+-    case GRUB_FILE_TYPE_ACPI_TABLE:
+-    case GRUB_FILE_TYPE_DEVICE_TREE_IMAGE:
+-      *flags = GRUB_VERIFY_FLAGS_DEFER_AUTH;
+-
+-      return GRUB_ERR_NONE;
+-
+     case GRUB_FILE_TYPE_LINUX_KERNEL:
+     case GRUB_FILE_TYPE_MULTIBOOT_KERNEL:
+     case GRUB_FILE_TYPE_BSD_KERNEL:
+     case GRUB_FILE_TYPE_XNU_KERNEL:
+     case GRUB_FILE_TYPE_PLAN9_KERNEL:
+-      for (i = 0; disabled_mods[i]; i++)
+-      if (grub_dl_get (disabled_mods[i]))
+-        {
+-          grub_error (GRUB_ERR_ACCESS_DENIED,
+-                      N_("cannot boot due to dangerous module in memory: %s"),
+-                      disabled_mods[i]);
+-          return GRUB_ERR_ACCESS_DENIED;
+-        }
+-
+       *flags = GRUB_VERIFY_FLAGS_SINGLE_CHUNK;
+       /* Fall through. */
+-- 
+2.14.2
+
diff --git a/boot/grub2/0039-acpi-Don-t-register-the-acpi-command-when-locked-dow.patch b/boot/grub2/0039-acpi-Don-t-register-the-acpi-command-when-locked-dow.patch
new file mode 100644 (file)
index 0000000..b258b51
--- /dev/null
@@ -0,0 +1,76 @@
+From 3e8e4c0549240fa209acffceb473e1e509b50c95 Mon Sep 17 00:00:00 2001
+From: Javier Martinez Canillas <javierm@redhat.com>
+Date: Mon, 28 Sep 2020 20:08:41 +0200
+Subject: [PATCH] acpi: Don't register the acpi command when locked down
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The command is not allowed when lockdown is enforced. Otherwise an
+attacker can instruct the GRUB to load an SSDT table to overwrite
+the kernel lockdown configuration and later load and execute
+unsigned code.
+
+Fixes: CVE-2020-14372
+
+Reported-by: Máté Kukri <km@mkukri.xyz>
+Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ docs/grub.texi            |  5 +++++
+ grub-core/commands/acpi.c | 15 ++++++++-------
+ 2 files changed, 13 insertions(+), 7 deletions(-)
+
+diff --git a/docs/grub.texi b/docs/grub.texi
+index bbe60a4..98592d3 100644
+--- a/docs/grub.texi
++++ b/docs/grub.texi
+@@ -3986,6 +3986,11 @@ Normally, this command will replace the Root System Description Pointer
+ (RSDP) in the Extended BIOS Data Area to point to the new tables. If the
+ @option{--no-ebda} option is used, the new tables will be known only to
+ GRUB, but may be used by GRUB's EFI emulation.
++
++Note: The command is not allowed when lockdown is enforced (@pxref{Lockdown}).
++      Otherwise an attacker can instruct the GRUB to load an SSDT table to
++      overwrite the kernel lockdown configuration and later load and execute
++      unsigned code.
+ @end deffn
+diff --git a/grub-core/commands/acpi.c b/grub-core/commands/acpi.c
+index 5a1499a..1215f2a 100644
+--- a/grub-core/commands/acpi.c
++++ b/grub-core/commands/acpi.c
+@@ -27,6 +27,7 @@
+ #include <grub/mm.h>
+ #include <grub/memory.h>
+ #include <grub/i18n.h>
++#include <grub/lockdown.h>
+ #ifdef GRUB_MACHINE_EFI
+ #include <grub/efi/efi.h>
+@@ -775,13 +776,13 @@ static grub_extcmd_t cmd;
+ GRUB_MOD_INIT(acpi)
+ {
+-  cmd = grub_register_extcmd ("acpi", grub_cmd_acpi, 0,
+-                            N_("[-1|-2] [--exclude=TABLE1,TABLE2|"
+-                            "--load-only=TABLE1,TABLE2] FILE1"
+-                            " [FILE2] [...]"),
+-                            N_("Load host ACPI tables and tables "
+-                            "specified by arguments."),
+-                            options);
++  cmd = grub_register_extcmd_lockdown ("acpi", grub_cmd_acpi, 0,
++                                       N_("[-1|-2] [--exclude=TABLE1,TABLE2|"
++                                          "--load-only=TABLE1,TABLE2] FILE1"
++                                          " [FILE2] [...]"),
++                                       N_("Load host ACPI tables and tables "
++                                          "specified by arguments."),
++                                       options);
+ }
+ GRUB_MOD_FINI(acpi)
+-- 
+2.14.2
+
diff --git a/boot/grub2/0040-mmap-Don-t-register-cutmem-and-badram-commands-when-.patch b/boot/grub2/0040-mmap-Don-t-register-cutmem-and-badram-commands-when-.patch
new file mode 100644 (file)
index 0000000..e7376e6
--- /dev/null
@@ -0,0 +1,70 @@
+From d298b41f90cbf1f2e5a10e29daa1fc92ddee52c9 Mon Sep 17 00:00:00 2001
+From: Javier Martinez Canillas <javierm@redhat.com>
+Date: Wed, 14 Oct 2020 16:33:42 +0200
+Subject: [PATCH] mmap: Don't register cutmem and badram commands when lockdown
+ is enforced
+
+The cutmem and badram commands can be used to remove EFI memory regions
+and potentially disable the UEFI Secure Boot. Prevent the commands to be
+registered if the GRUB is locked down.
+
+Fixes: CVE-2020-27779
+
+Reported-by: Teddy Reed <teddy.reed@gmail.com>
+Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ docs/grub.texi        |  4 ++++
+ grub-core/mmap/mmap.c | 13 +++++++------
+ 2 files changed, 11 insertions(+), 6 deletions(-)
+
+diff --git a/docs/grub.texi b/docs/grub.texi
+index 98592d3..f2fe149 100644
+--- a/docs/grub.texi
++++ b/docs/grub.texi
+@@ -4051,6 +4051,10 @@ this page is to be filtered.  This syntax makes it easy to represent patterns
+ that are often result of memory damage, due to physical distribution of memory
+ cells.
++Note: The command is not allowed when lockdown is enforced (@pxref{Lockdown}).
++      This prevents removing EFI memory regions to potentially subvert the
++      security mechanisms provided by the UEFI secure boot.
++
+ @node blocklist
+ @subsection blocklist
+diff --git a/grub-core/mmap/mmap.c b/grub-core/mmap/mmap.c
+index 57b4e9a..7ebf32e 100644
+--- a/grub-core/mmap/mmap.c
++++ b/grub-core/mmap/mmap.c
+@@ -20,6 +20,7 @@
+ #include <grub/memory.h>
+ #include <grub/machine/memory.h>
+ #include <grub/err.h>
++#include <grub/lockdown.h>
+ #include <grub/misc.h>
+ #include <grub/mm.h>
+ #include <grub/command.h>
+@@ -534,12 +535,12 @@ static grub_command_t cmd, cmd_cut;
\f
+ GRUB_MOD_INIT(mmap)
+ {
+-  cmd = grub_register_command ("badram", grub_cmd_badram,
+-                             N_("ADDR1,MASK1[,ADDR2,MASK2[,...]]"),
+-                             N_("Declare memory regions as faulty (badram)."));
+-  cmd_cut = grub_register_command ("cutmem", grub_cmd_cutmem,
+-                                 N_("FROM[K|M|G] TO[K|M|G]"),
+-                                 N_("Remove any memory regions in specified range."));
++  cmd = grub_register_command_lockdown ("badram", grub_cmd_badram,
++                                        N_("ADDR1,MASK1[,ADDR2,MASK2[,...]]"),
++                                        N_("Declare memory regions as faulty (badram)."));
++  cmd_cut = grub_register_command_lockdown ("cutmem", grub_cmd_cutmem,
++                                            N_("FROM[K|M|G] TO[K|M|G]"),
++                                            N_("Remove any memory regions in specified range."));
+ }
+-- 
+2.14.2
+
diff --git a/boot/grub2/0041-commands-Restrict-commands-that-can-load-BIOS-or-DT-.patch b/boot/grub2/0041-commands-Restrict-commands-that-can-load-BIOS-or-DT-.patch
new file mode 100644 (file)
index 0000000..1980d6d
--- /dev/null
@@ -0,0 +1,105 @@
+From 468a5699b249fe6816b4e7e86c5dc9d325c9b09e Mon Sep 17 00:00:00 2001
+From: Javier Martinez Canillas <javierm@redhat.com>
+Date: Wed, 24 Feb 2021 09:00:05 +0100
+Subject: [PATCH] commands: Restrict commands that can load BIOS or DT blobs
+ when locked down
+
+There are some more commands that should be restricted when the GRUB is
+locked down. Following is the list of commands and reasons to restrict:
+
+  * fakebios:   creates BIOS-like structures for backward compatibility with
+                existing OSes. This should not be allowed when locked down.
+
+  * loadbios:   reads a BIOS dump from storage and loads it. This action
+                should not be allowed when locked down.
+
+  * devicetree: loads a Device Tree blob and passes it to the OS. It replaces
+                any Device Tree provided by the firmware. This also should
+                not be allowed when locked down.
+
+Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ docs/grub.texi                    |  3 +++
+ grub-core/commands/efi/loadbios.c | 16 ++++++++--------
+ grub-core/loader/arm/linux.c      |  6 +++---
+ grub-core/loader/efi/fdt.c        |  4 ++--
+ 4 files changed, 16 insertions(+), 13 deletions(-)
+
+diff --git a/docs/grub.texi b/docs/grub.texi
+index f2fe149..79f58c5 100644
+--- a/docs/grub.texi
++++ b/docs/grub.texi
+@@ -4235,6 +4235,9 @@ hour, minute, and second unchanged.
+ Load a device tree blob (.dtb) from a filesystem, for later use by a Linux
+ kernel. Does not perform merging with any device tree supplied by firmware,
+ but rather replaces it completely.
++
++Note: The command is not allowed when lockdown is enforced (@pxref{Lockdown}).
++      This is done to prevent subverting various security mechanisms.
+ @ref{GNU/Linux}.
+ @end deffn
+diff --git a/grub-core/commands/efi/loadbios.c b/grub-core/commands/efi/loadbios.c
+index d41d521..5c7725f 100644
+--- a/grub-core/commands/efi/loadbios.c
++++ b/grub-core/commands/efi/loadbios.c
+@@ -205,14 +205,14 @@ static grub_command_t cmd_fakebios, cmd_loadbios;
+ GRUB_MOD_INIT(loadbios)
+ {
+-  cmd_fakebios = grub_register_command ("fakebios", grub_cmd_fakebios,
+-                                      0, N_("Create BIOS-like structures for"
+-                                            " backward compatibility with"
+-                                            " existing OS."));
+-
+-  cmd_loadbios = grub_register_command ("loadbios", grub_cmd_loadbios,
+-                                      N_("BIOS_DUMP [INT10_DUMP]"),
+-                                      N_("Load BIOS dump."));
++  cmd_fakebios = grub_register_command_lockdown ("fakebios", grub_cmd_fakebios,
++                                               0, N_("Create BIOS-like structures for"
++                                                     " backward compatibility with"
++                                                     " existing OS."));
++
++  cmd_loadbios = grub_register_command_lockdown ("loadbios", grub_cmd_loadbios,
++                                               N_("BIOS_DUMP [INT10_DUMP]"),
++                                               N_("Load BIOS dump."));
+ }
+ GRUB_MOD_FINI(loadbios)
+diff --git a/grub-core/loader/arm/linux.c b/grub-core/loader/arm/linux.c
+index d70c174..ed23dc7 100644
+--- a/grub-core/loader/arm/linux.c
++++ b/grub-core/loader/arm/linux.c
+@@ -493,9 +493,9 @@ GRUB_MOD_INIT (linux)
+                                    0, N_("Load Linux."));
+   cmd_initrd = grub_register_command ("initrd", grub_cmd_initrd,
+                                     0, N_("Load initrd."));
+-  cmd_devicetree = grub_register_command ("devicetree", grub_cmd_devicetree,
+-                                        /* TRANSLATORS: DTB stands for device tree blob.  */
+-                                        0, N_("Load DTB file."));
++  cmd_devicetree = grub_register_command_lockdown ("devicetree", grub_cmd_devicetree,
++                                                 /* TRANSLATORS: DTB stands for device tree blob. */
++                                                 0, N_("Load DTB file."));
+   my_mod = mod;
+   current_fdt = (const void *) grub_arm_firmware_get_boot_data ();
+   machine_type = grub_arm_firmware_get_machine_type ();
+diff --git a/grub-core/loader/efi/fdt.c b/grub-core/loader/efi/fdt.c
+index ee9c559..003d07c 100644
+--- a/grub-core/loader/efi/fdt.c
++++ b/grub-core/loader/efi/fdt.c
+@@ -165,8 +165,8 @@ static grub_command_t cmd_devicetree;
+ GRUB_MOD_INIT (fdt)
+ {
+   cmd_devicetree =
+-    grub_register_command ("devicetree", grub_cmd_devicetree, 0,
+-                         N_("Load DTB file."));
++    grub_register_command_lockdown ("devicetree", grub_cmd_devicetree, 0,
++                                  N_("Load DTB file."));
+ }
+ GRUB_MOD_FINI (fdt)
+-- 
+2.14.2
+
diff --git a/boot/grub2/0042-commands-setpci-Restrict-setpci-command-when-locked-.patch b/boot/grub2/0042-commands-setpci-Restrict-setpci-command-when-locked-.patch
new file mode 100644 (file)
index 0000000..dcddfe1
--- /dev/null
@@ -0,0 +1,37 @@
+From 58b77d4069823b44c5fa916fa8ddfc9c4cd51e02 Mon Sep 17 00:00:00 2001
+From: Javier Martinez Canillas <javierm@redhat.com>
+Date: Wed, 24 Feb 2021 22:59:59 +0100
+Subject: [PATCH] commands/setpci: Restrict setpci command when locked down
+
+This command can set PCI devices register values, which makes it dangerous
+in a locked down configuration. Restrict it so can't be used on this setup.
+
+Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/commands/setpci.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/grub-core/commands/setpci.c b/grub-core/commands/setpci.c
+index d5bc97d..fa2ba7d 100644
+--- a/grub-core/commands/setpci.c
++++ b/grub-core/commands/setpci.c
+@@ -329,10 +329,10 @@ static grub_extcmd_t cmd;
+ GRUB_MOD_INIT(setpci)
+ {
+-  cmd = grub_register_extcmd ("setpci", grub_cmd_setpci, 0,
+-                            N_("[-s POSITION] [-d DEVICE] [-v VAR] "
+-                               "REGISTER[=VALUE[:MASK]]"),
+-                            N_("Manipulate PCI devices."), options);
++  cmd = grub_register_extcmd_lockdown ("setpci", grub_cmd_setpci, 0,
++                                     N_("[-s POSITION] [-d DEVICE] [-v VAR] "
++                                        "REGISTER[=VALUE[:MASK]]"),
++                                     N_("Manipulate PCI devices."), options);
+ }
+ GRUB_MOD_FINI(setpci)
+-- 
+2.14.2
+
diff --git a/boot/grub2/0043-commands-hdparm-Restrict-hdparm-command-when-locked-.patch b/boot/grub2/0043-commands-hdparm-Restrict-hdparm-command-when-locked-.patch
new file mode 100644 (file)
index 0000000..3c26c86
--- /dev/null
@@ -0,0 +1,35 @@
+From 5c97492a29c6063567b65ed1a069f5e6f4e211f0 Mon Sep 17 00:00:00 2001
+From: Javier Martinez Canillas <javierm@redhat.com>
+Date: Wed, 24 Feb 2021 12:59:29 +0100
+Subject: [PATCH] commands/hdparm: Restrict hdparm command when locked down
+
+The command can be used to get/set ATA disk parameters. Some of these can
+be dangerous since change the disk behavior. Restrict it when locked down.
+
+Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/commands/hdparm.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/grub-core/commands/hdparm.c b/grub-core/commands/hdparm.c
+index d3fa966..2e2319e 100644
+--- a/grub-core/commands/hdparm.c
++++ b/grub-core/commands/hdparm.c
+@@ -436,9 +436,9 @@ static grub_extcmd_t cmd;
+ GRUB_MOD_INIT(hdparm)
+ {
+-  cmd = grub_register_extcmd ("hdparm", grub_cmd_hdparm, 0,
+-                            N_("[OPTIONS] DISK"),
+-                            N_("Get/set ATA disk parameters."), options);
++  cmd = grub_register_extcmd_lockdown ("hdparm", grub_cmd_hdparm, 0,
++                                     N_("[OPTIONS] DISK"),
++                                     N_("Get/set ATA disk parameters."), options);
+ }
+ GRUB_MOD_FINI(hdparm)
+-- 
+2.14.2
+
diff --git a/boot/grub2/0044-gdb-Restrict-GDB-access-when-locked-down.patch b/boot/grub2/0044-gdb-Restrict-GDB-access-when-locked-down.patch
new file mode 100644 (file)
index 0000000..c671ad8
--- /dev/null
@@ -0,0 +1,62 @@
+From 508270838998f151a82e9c13e7cb8a470a2dc23d Mon Sep 17 00:00:00 2001
+From: Javier Martinez Canillas <javierm@redhat.com>
+Date: Wed, 24 Feb 2021 15:03:26 +0100
+Subject: [PATCH] gdb: Restrict GDB access when locked down
+
+The gdbstub* commands allow to start and control a GDB stub running on
+local host that can be used to connect from a remote debugger. Restrict
+this functionality when the GRUB is locked down.
+
+Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/gdb/gdb.c | 32 ++++++++++++++++++--------------
+ 1 file changed, 18 insertions(+), 14 deletions(-)
+
+diff --git a/grub-core/gdb/gdb.c b/grub-core/gdb/gdb.c
+index 847a1e1..1818cb6 100644
+--- a/grub-core/gdb/gdb.c
++++ b/grub-core/gdb/gdb.c
+@@ -75,20 +75,24 @@ static grub_command_t cmd, cmd_stop, cmd_break;
+ GRUB_MOD_INIT (gdb)
+ {
+   grub_gdb_idtinit ();
+-  cmd = grub_register_command ("gdbstub", grub_cmd_gdbstub,
+-                             N_("PORT"), 
+-                             /* TRANSLATORS: GDB stub is a small part of
+-                                GDB functionality running on local host
+-                                which allows remote debugger to
+-                                connect to it.  */
+-                             N_("Start GDB stub on given port"));
+-  cmd_break = grub_register_command ("gdbstub_break", grub_cmd_gdb_break,
+-                                   /* TRANSLATORS: this refers to triggering
+-                                      a breakpoint so that the user will land
+-                                      into GDB.  */
+-                                   0, N_("Break into GDB"));
+-  cmd_stop = grub_register_command ("gdbstub_stop", grub_cmd_gdbstop,
+-                                  0, N_("Stop GDB stub"));
++  cmd = grub_register_command_lockdown ("gdbstub", grub_cmd_gdbstub,
++                                      N_("PORT"),
++                                      /*
++                                       * TRANSLATORS: GDB stub is a small part of
++                                       * GDB functionality running on local host
++                                       * which allows remote debugger to
++                                       * connect to it.
++                                       */
++                                      N_("Start GDB stub on given port"));
++  cmd_break = grub_register_command_lockdown ("gdbstub_break", grub_cmd_gdb_break,
++                                            /*
++                                             * TRANSLATORS: this refers to triggering
++                                             * a breakpoint so that the user will land
++                                             * into GDB.
++                                             */
++                                            0, N_("Break into GDB"));
++  cmd_stop = grub_register_command_lockdown ("gdbstub_stop", grub_cmd_gdbstop,
++                                           0, N_("Stop GDB stub"));
+ }
+ GRUB_MOD_FINI (gdb)
+-- 
+2.14.2
+
diff --git a/boot/grub2/0045-loader-xnu-Don-t-allow-loading-extension-and-package.patch b/boot/grub2/0045-loader-xnu-Don-t-allow-loading-extension-and-package.patch
new file mode 100644 (file)
index 0000000..6548c0d
--- /dev/null
@@ -0,0 +1,61 @@
+From 9c5565135f12400a925ee901b25984e7af4442f5 Mon Sep 17 00:00:00 2001
+From: Javier Martinez Canillas <javierm@redhat.com>
+Date: Wed, 24 Feb 2021 14:44:38 +0100
+Subject: [PATCH] loader/xnu: Don't allow loading extension and packages when
+ locked down
+
+The shim_lock verifier validates the XNU kernels but no its extensions
+and packages. Prevent these to be loaded when the GRUB is locked down.
+
+Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/loader/xnu.c | 31 +++++++++++++++++--------------
+ 1 file changed, 17 insertions(+), 14 deletions(-)
+
+diff --git a/grub-core/loader/xnu.c b/grub-core/loader/xnu.c
+index 9ae4ceb..44fd5a9 100644
+--- a/grub-core/loader/xnu.c
++++ b/grub-core/loader/xnu.c
+@@ -1485,20 +1485,23 @@ GRUB_MOD_INIT(xnu)
+                                     N_("Load XNU image."));
+   cmd_kernel64 = grub_register_command ("xnu_kernel64", grub_cmd_xnu_kernel64,
+                                       0, N_("Load 64-bit XNU image."));
+-  cmd_mkext = grub_register_command ("xnu_mkext", grub_cmd_xnu_mkext, 0,
+-                                   N_("Load XNU extension package."));
+-  cmd_kext = grub_register_command ("xnu_kext", grub_cmd_xnu_kext, 0,
+-                                  N_("Load XNU extension."));
+-  cmd_kextdir = grub_register_command ("xnu_kextdir", grub_cmd_xnu_kextdir,
+-                                     /* TRANSLATORS: OSBundleRequired is a
+-                                        variable name in xnu extensions
+-                                        manifests. It behaves mostly like
+-                                        GNU/Linux runlevels.
+-                                     */
+-                                     N_("DIRECTORY [OSBundleRequired]"),
+-                                     /* TRANSLATORS: There are many extensions
+-                                        in extension directory.  */
+-                                     N_("Load XNU extension directory."));
++  cmd_mkext = grub_register_command_lockdown ("xnu_mkext", grub_cmd_xnu_mkext, 0,
++                                            N_("Load XNU extension package."));
++  cmd_kext = grub_register_command_lockdown ("xnu_kext", grub_cmd_xnu_kext, 0,
++                                           N_("Load XNU extension."));
++  cmd_kextdir = grub_register_command_lockdown ("xnu_kextdir", grub_cmd_xnu_kextdir,
++                                              /*
++                                               * TRANSLATORS: OSBundleRequired is
++                                               * a variable name in xnu extensions
++                                               * manifests. It behaves mostly like
++                                               * GNU/Linux runlevels.
++                                               */
++                                              N_("DIRECTORY [OSBundleRequired]"),
++                                              /*
++                                               * TRANSLATORS: There are many extensions
++                                               * in extension directory.
++                                               */
++                                              N_("Load XNU extension directory."));
+   cmd_ramdisk = grub_register_command ("xnu_ramdisk", grub_cmd_xnu_ramdisk, 0,
+    /* TRANSLATORS: ramdisk here isn't identifier. It can be translated.  */
+                                      N_("Load XNU ramdisk. "
+-- 
+2.14.2
+
diff --git a/boot/grub2/0046-docs-Document-the-cutmem-command.patch b/boot/grub2/0046-docs-Document-the-cutmem-command.patch
new file mode 100644 (file)
index 0000000..978aeab
--- /dev/null
@@ -0,0 +1,65 @@
+From f05e79a0143beb2d9a482a3ebf4fe0ce76778122 Mon Sep 17 00:00:00 2001
+From: Javier Martinez Canillas <javierm@redhat.com>
+Date: Sat, 7 Nov 2020 01:03:18 +0100
+Subject: [PATCH] docs: Document the cutmem command
+
+The command is not present in the docs/grub.texi user documentation.
+
+Reported-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
+Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
+Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ docs/grub.texi | 21 +++++++++++++++++++++
+ 1 file changed, 21 insertions(+)
+
+diff --git a/docs/grub.texi b/docs/grub.texi
+index 79f58c5..8518cc0 100644
+--- a/docs/grub.texi
++++ b/docs/grub.texi
+@@ -3892,6 +3892,7 @@ you forget a command, you can run the command @command{help}
+ * cpuid::                       Check for CPU features
+ * crc::                         Compute or check CRC32 checksums
+ * cryptomount::                 Mount a crypto device
++* cutmem::                      Remove memory regions
+ * date::                        Display or set current date and time
+ * devicetree::                  Load a device tree blob
+ * distrust::                    Remove a pubkey from trusted keys
+@@ -4051,6 +4052,8 @@ this page is to be filtered.  This syntax makes it easy to represent patterns
+ that are often result of memory damage, due to physical distribution of memory
+ cells.
++The command is similar to @command{cutmem} command.
++
+ Note: The command is not allowed when lockdown is enforced (@pxref{Lockdown}).
+       This prevents removing EFI memory regions to potentially subvert the
+       security mechanisms provided by the UEFI secure boot.
+@@ -4214,6 +4217,24 @@ GRUB suports devices encrypted using LUKS and geli. Note that necessary modules
+ be used.
+ @end deffn
++@node cutmem
++@subsection cutmem
++
++@deffn Command cutmem from[K|M|G] to[K|M|G]
++Remove any memory regions in specified range.
++@end deffn
++
++This command notifies the memory manager that specified regions of RAM ought to
++be filtered out. This remains in effect after a payload kernel has been loaded
++by GRUB, as long as the loaded kernel obtains its memory map from GRUB. Kernels
++that support this include Linux, GNU Mach, the kernel of FreeBSD and Multiboot
++kernels in general.
++
++The command is similar to @command{badram} command.
++
++Note: The command is not allowed when lockdown is enforced (@pxref{Lockdown}).
++      This prevents removing EFI memory regions to potentially subvert the
++      security mechanisms provided by the UEFI secure boot.
+ @node date
+ @subsection date
+-- 
+2.14.2
+
diff --git a/boot/grub2/0047-dl-Only-allow-unloading-modules-that-are-not-depende.patch b/boot/grub2/0047-dl-Only-allow-unloading-modules-that-are-not-depende.patch
new file mode 100644 (file)
index 0000000..3bb02ad
--- /dev/null
@@ -0,0 +1,87 @@
+From 7630ec5397fe418276b360f9011934b8c034936c Mon Sep 17 00:00:00 2001
+From: Javier Martinez Canillas <javierm@redhat.com>
+Date: Tue, 29 Sep 2020 14:08:55 +0200
+Subject: [PATCH] dl: Only allow unloading modules that are not dependencies
+
+When a module is attempted to be removed its reference counter is always
+decremented. This means that repeated rmmod invocations will cause the
+module to be unloaded even if another module depends on it.
+
+This may lead to a use-after-free scenario allowing an attacker to execute
+arbitrary code and by-pass the UEFI Secure Boot protection.
+
+While being there, add the extern keyword to some function declarations in
+that header file.
+
+Fixes: CVE-2020-25632
+
+Reported-by: Chris Coulson <chris.coulson@canonical.com>
+Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/commands/minicmd.c | 7 +++++--
+ grub-core/kern/dl.c          | 9 +++++++++
+ include/grub/dl.h            | 8 +++++---
+ 3 files changed, 19 insertions(+), 5 deletions(-)
+
+diff --git a/grub-core/commands/minicmd.c b/grub-core/commands/minicmd.c
+index 6bbce31..fa49893 100644
+--- a/grub-core/commands/minicmd.c
++++ b/grub-core/commands/minicmd.c
+@@ -140,8 +140,11 @@ grub_mini_cmd_rmmod (struct grub_command *cmd __attribute__ ((unused)),
+   if (grub_dl_is_persistent (mod))
+     return grub_error (GRUB_ERR_BAD_ARGUMENT, "cannot unload persistent module");
+-  if (grub_dl_unref (mod) <= 0)
+-    grub_dl_unload (mod);
++  if (grub_dl_ref_count (mod) > 1)
++    return grub_error (GRUB_ERR_BAD_ARGUMENT, "cannot unload referenced module");
++
++  grub_dl_unref (mod);
++  grub_dl_unload (mod);
+   return 0;
+ }
+diff --git a/grub-core/kern/dl.c b/grub-core/kern/dl.c
+index 48eb5e7..48f8a79 100644
+--- a/grub-core/kern/dl.c
++++ b/grub-core/kern/dl.c
+@@ -549,6 +549,15 @@ grub_dl_unref (grub_dl_t mod)
+   return --mod->ref_count;
+ }
++int
++grub_dl_ref_count (grub_dl_t mod)
++{
++  if (mod == NULL)
++    return 0;
++
++  return mod->ref_count;
++}
++
+ static void
+ grub_dl_flush_cache (grub_dl_t mod)
+ {
+diff --git a/include/grub/dl.h b/include/grub/dl.h
+index f03c035..b3753c9 100644
+--- a/include/grub/dl.h
++++ b/include/grub/dl.h
+@@ -203,9 +203,11 @@ grub_dl_t EXPORT_FUNC(grub_dl_load) (const char *name);
+ grub_dl_t grub_dl_load_core (void *addr, grub_size_t size);
+ grub_dl_t EXPORT_FUNC(grub_dl_load_core_noinit) (void *addr, grub_size_t size);
+ int EXPORT_FUNC(grub_dl_unload) (grub_dl_t mod);
+-void grub_dl_unload_unneeded (void);
+-int EXPORT_FUNC(grub_dl_ref) (grub_dl_t mod);
+-int EXPORT_FUNC(grub_dl_unref) (grub_dl_t mod);
++extern void grub_dl_unload_unneeded (void);
++extern int EXPORT_FUNC(grub_dl_ref) (grub_dl_t mod);
++extern int EXPORT_FUNC(grub_dl_unref) (grub_dl_t mod);
++extern int EXPORT_FUNC(grub_dl_ref_count) (grub_dl_t mod);
++
+ extern grub_dl_t EXPORT_VAR(grub_dl_head);
+ #ifndef GRUB_UTIL
+-- 
+2.14.2
+
diff --git a/boot/grub2/0048-usb-Avoid-possible-out-of-bound-accesses-caused-by-m.patch b/boot/grub2/0048-usb-Avoid-possible-out-of-bound-accesses-caused-by-m.patch
new file mode 100644 (file)
index 0000000..6a056e5
--- /dev/null
@@ -0,0 +1,116 @@
+From 128c16a682034263eb519c89bc0934eeb6fa8cfa Mon Sep 17 00:00:00 2001
+From: Javier Martinez Canillas <javierm@redhat.com>
+Date: Fri, 11 Dec 2020 19:19:21 +0100
+Subject: [PATCH] usb: Avoid possible out-of-bound accesses caused by malicious
+ devices
+
+The maximum number of configurations and interfaces are fixed but there is
+no out-of-bound checking to prevent a malicious USB device to report large
+values for these and cause accesses outside the arrays' memory.
+
+Fixes: CVE-2020-25647
+
+Reported-by: Joseph Tartaro <joseph.tartaro@ioactive.com>
+Reported-by: Ilja Van Sprundel <ivansprundel@ioactive.com>
+Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/bus/usb/usb.c | 15 ++++++++++++---
+ include/grub/usb.h      | 10 +++++++---
+ 2 files changed, 19 insertions(+), 6 deletions(-)
+
+diff --git a/grub-core/bus/usb/usb.c b/grub-core/bus/usb/usb.c
+index 8da5e4c..7cb3cc2 100644
+--- a/grub-core/bus/usb/usb.c
++++ b/grub-core/bus/usb/usb.c
+@@ -75,6 +75,9 @@ grub_usb_controller_iterate (grub_usb_controller_iterate_hook_t hook,
+ grub_usb_err_t
+ grub_usb_clear_halt (grub_usb_device_t dev, int endpoint)
+ {
++  if (endpoint >= GRUB_USB_MAX_TOGGLE)
++    return GRUB_USB_ERR_BADDEVICE;
++
+   dev->toggle[endpoint] = 0;
+   return grub_usb_control_msg (dev, (GRUB_USB_REQTYPE_OUT
+                                    | GRUB_USB_REQTYPE_STANDARD
+@@ -134,10 +137,10 @@ grub_usb_device_initialize (grub_usb_device_t dev)
+     return err;
+   descdev = &dev->descdev;
+-  for (i = 0; i < 8; i++)
++  for (i = 0; i < GRUB_USB_MAX_CONF; i++)
+     dev->config[i].descconf = NULL;
+-  if (descdev->configcnt == 0)
++  if (descdev->configcnt == 0 || descdev->configcnt > GRUB_USB_MAX_CONF)
+     {
+       err = GRUB_USB_ERR_BADDEVICE;
+       goto fail;
+@@ -172,6 +175,12 @@ grub_usb_device_initialize (grub_usb_device_t dev)
+       /* Skip the configuration descriptor.  */
+       pos = dev->config[i].descconf->length;
++      if (dev->config[i].descconf->numif > GRUB_USB_MAX_IF)
++        {
++          err = GRUB_USB_ERR_BADDEVICE;
++          goto fail;
++        }
++
+       /* Read all interfaces.  */
+       for (currif = 0; currif < dev->config[i].descconf->numif; currif++)
+       {
+@@ -217,7 +226,7 @@ grub_usb_device_initialize (grub_usb_device_t dev)
+  fail:
+-  for (i = 0; i < 8; i++)
++  for (i = 0; i < GRUB_USB_MAX_CONF; i++)
+     grub_free (dev->config[i].descconf);
+   return err;
+diff --git a/include/grub/usb.h b/include/grub/usb.h
+index 512ae1d..6475c55 100644
+--- a/include/grub/usb.h
++++ b/include/grub/usb.h
+@@ -23,6 +23,10 @@
+ #include <grub/usbdesc.h>
+ #include <grub/usbtrans.h>
++#define GRUB_USB_MAX_CONF    8
++#define GRUB_USB_MAX_IF      32
++#define GRUB_USB_MAX_TOGGLE  256
++
+ typedef struct grub_usb_device *grub_usb_device_t;
+ typedef struct grub_usb_controller *grub_usb_controller_t;
+ typedef struct grub_usb_controller_dev *grub_usb_controller_dev_t;
+@@ -167,7 +171,7 @@ struct grub_usb_configuration
+   struct grub_usb_desc_config *descconf;
+   /* Interfaces associated to this configuration.  */
+-  struct grub_usb_interface interf[32];
++  struct grub_usb_interface interf[GRUB_USB_MAX_IF];
+ };
+ struct grub_usb_hub_port
+@@ -191,7 +195,7 @@ struct grub_usb_device
+   struct grub_usb_controller controller;
+   /* Device configurations (after opening the device).  */
+-  struct grub_usb_configuration config[8];
++  struct grub_usb_configuration config[GRUB_USB_MAX_CONF];
+   /* Device address.  */
+   int addr;
+@@ -203,7 +207,7 @@ struct grub_usb_device
+   int initialized;
+   /* Data toggle values (used for bulk transfers only).  */
+-  int toggle[256];
++  int toggle[GRUB_USB_MAX_TOGGLE];
+   /* Used by libusb wrapper.  Schedulded for removal. */
+   void *data;
+-- 
+2.14.2
+
diff --git a/boot/grub2/0049-mmap-Fix-memory-leak-when-iterating-over-mapped-memo.patch b/boot/grub2/0049-mmap-Fix-memory-leak-when-iterating-over-mapped-memo.patch
new file mode 100644 (file)
index 0000000..f443f19
--- /dev/null
@@ -0,0 +1,40 @@
+From 8cb2848f9699642a698af84b12ba187cab722031 Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Thu, 3 Dec 2020 14:39:45 +0000
+Subject: [PATCH] mmap: Fix memory leak when iterating over mapped memory
+
+When returning from grub_mmap_iterate() the memory allocated to present
+is not being released causing it to leak.
+
+Fixes: CID 96655
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/mmap/mmap.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/grub-core/mmap/mmap.c b/grub-core/mmap/mmap.c
+index 7ebf32e..8bf235f 100644
+--- a/grub-core/mmap/mmap.c
++++ b/grub-core/mmap/mmap.c
+@@ -270,6 +270,7 @@ grub_mmap_iterate (grub_memory_hook_t hook, void *hook_data)
+                  hook_data))
+       {
+         grub_free (ctx.scanline_events);
++        grub_free (present);
+         return GRUB_ERR_NONE;
+       }
+@@ -282,6 +283,7 @@ grub_mmap_iterate (grub_memory_hook_t hook, void *hook_data)
+     }
+   grub_free (ctx.scanline_events);
++  grub_free (present);
+   return GRUB_ERR_NONE;
+ }
+-- 
+2.14.2
+
diff --git a/boot/grub2/0050-net-net-Fix-possible-dereference-to-of-a-NULL-pointe.patch b/boot/grub2/0050-net-net-Fix-possible-dereference-to-of-a-NULL-pointe.patch
new file mode 100644 (file)
index 0000000..5a8cc6d
--- /dev/null
@@ -0,0 +1,40 @@
+From 03f2515ae0c503406f1a99a2178405049c6555db Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Fri, 27 Nov 2020 15:10:26 +0000
+Subject: [PATCH] net/net: Fix possible dereference to of a NULL pointer
+
+It is always possible that grub_zalloc() could fail, so we should check for
+a NULL return. Otherwise we run the risk of dereferencing a NULL pointer.
+
+Fixes: CID 296221
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/net/net.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/grub-core/net/net.c b/grub-core/net/net.c
+index 38f19df..7c2cdf2 100644
+--- a/grub-core/net/net.c
++++ b/grub-core/net/net.c
+@@ -86,8 +86,13 @@ grub_net_link_layer_add_address (struct grub_net_card *card,
+   /* Add sender to cache table.  */
+   if (card->link_layer_table == NULL)
+-    card->link_layer_table = grub_zalloc (LINK_LAYER_CACHE_SIZE
+-                                        * sizeof (card->link_layer_table[0]));
++    {
++      card->link_layer_table = grub_zalloc (LINK_LAYER_CACHE_SIZE
++                                          * sizeof (card->link_layer_table[0]));
++      if (card->link_layer_table == NULL)
++      return;
++    }
++
+   entry = &(card->link_layer_table[card->new_ll_entry]);
+   entry->avail = 1;
+   grub_memcpy (&entry->ll_address, ll, sizeof (entry->ll_address));
+-- 
+2.14.2
+
diff --git a/boot/grub2/0051-net-tftp-Fix-dangling-memory-pointer.patch b/boot/grub2/0051-net-tftp-Fix-dangling-memory-pointer.patch
new file mode 100644 (file)
index 0000000..cc3983e
--- /dev/null
@@ -0,0 +1,34 @@
+From 0cb838b281a68b536a09681f9557ea6a7ac5da7a Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Fri, 19 Feb 2021 17:12:23 +0000
+Subject: [PATCH] net/tftp: Fix dangling memory pointer
+
+The static code analysis tool, Parfait, reported that the valid of
+file->data was left referencing memory that was freed by the call to
+grub_free(data) where data was initialized from file->data.
+
+To ensure that there is no unintentional access to this memory
+referenced by file->data we should set the pointer to NULL.
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/net/tftp.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/grub-core/net/tftp.c b/grub-core/net/tftp.c
+index b4297bc..c106704 100644
+--- a/grub-core/net/tftp.c
++++ b/grub-core/net/tftp.c
+@@ -406,6 +406,7 @@ tftp_close (struct grub_file *file)
+       grub_net_udp_close (data->sock);
+     }
+   grub_free (data);
++  file->data = NULL;
+   return GRUB_ERR_NONE;
+ }
+-- 
+2.14.2
+
diff --git a/boot/grub2/0052-kern-parser-Fix-resource-leak-if-argc-0.patch b/boot/grub2/0052-kern-parser-Fix-resource-leak-if-argc-0.patch
new file mode 100644 (file)
index 0000000..dd01092
--- /dev/null
@@ -0,0 +1,51 @@
+From d06161b035dde4769199ad65aa0a587a5920012b Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Fri, 22 Jan 2021 12:32:41 +0000
+Subject: [PATCH] kern/parser: Fix resource leak if argc == 0
+
+After processing the command-line yet arriving at the point where we are
+setting argv, we are allocating memory, even if argc == 0, which makes
+no sense since we never put anything into the allocated argv.
+
+The solution is to simply return that we've successfully processed the
+arguments but that argc == 0, and also ensure that argv is NULL when
+we're not allocating anything in it.
+
+There are only 2 callers of this function, and both are handling a zero
+value in argc assuming nothing is allocated in argv.
+
+Fixes: CID 96680
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/kern/parser.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/grub-core/kern/parser.c b/grub-core/kern/parser.c
+index 619db31..d1cf061 100644
+--- a/grub-core/kern/parser.c
++++ b/grub-core/kern/parser.c
+@@ -146,6 +146,7 @@ grub_parser_split_cmdline (const char *cmdline,
+   int i;
+   *argc = 0;
++  *argv = NULL;
+   do
+     {
+       if (!rd || !*rd)
+@@ -207,6 +208,10 @@ grub_parser_split_cmdline (const char *cmdline,
+       (*argc)++;
+     }
++  /* If there are no args, then we're done. */
++  if (!*argc)
++    return 0;
++
+   /* Reserve memory for the return values.  */
+   args = grub_malloc (bp - buffer);
+   if (!args)
+-- 
+2.14.2
+
diff --git a/boot/grub2/0053-kern-efi-Fix-memory-leak-on-failure.patch b/boot/grub2/0053-kern-efi-Fix-memory-leak-on-failure.patch
new file mode 100644 (file)
index 0000000..e2c4997
--- /dev/null
@@ -0,0 +1,31 @@
+From ed286ceba6015d37a9304f04602451c47bf195d7 Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Thu, 5 Nov 2020 10:15:25 +0000
+Subject: [PATCH] kern/efi: Fix memory leak on failure
+
+Free the memory allocated to name before returning on failure.
+
+Fixes: CID 296222
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/kern/efi/efi.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/grub-core/kern/efi/efi.c b/grub-core/kern/efi/efi.c
+index 9cfd88d..4fc14d6 100644
+--- a/grub-core/kern/efi/efi.c
++++ b/grub-core/kern/efi/efi.c
+@@ -388,6 +388,7 @@ grub_efi_get_filename (grub_efi_device_path_t *dp0)
+           {
+             grub_error (GRUB_ERR_OUT_OF_RANGE,
+                         "malformed EFI Device Path node has length=%d", len);
++            grub_free (name);
+             return NULL;
+           }
+-- 
+2.14.2
+
diff --git a/boot/grub2/0054-kern-efi-mm-Fix-possible-NULL-pointer-dereference.patch b/boot/grub2/0054-kern-efi-mm-Fix-possible-NULL-pointer-dereference.patch
new file mode 100644 (file)
index 0000000..04ef9fc
--- /dev/null
@@ -0,0 +1,66 @@
+From 6aee4bfd6973c714056fb7b56890b8d524e94ee1 Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Fri, 11 Dec 2020 15:03:13 +0000
+Subject: [PATCH] kern/efi/mm: Fix possible NULL pointer dereference
+
+The model of grub_efi_get_memory_map() is that if memory_map is NULL,
+then the purpose is to discover how much memory should be allocated to
+it for the subsequent call.
+
+The problem here is that with grub_efi_is_finished set to 1, there is no
+check at all that the function is being called with a non-NULL memory_map.
+
+While this MAY be true, we shouldn't assume it.
+
+The solution to this is to behave as expected, and if memory_map is NULL,
+then don't try to use it and allow memory_map_size to be filled in, and
+return 0 as is done later in the code if the buffer is too small (or NULL).
+
+Additionally, drop unneeded ret = 1.
+
+Fixes: CID 96632
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/kern/efi/mm.c | 19 ++++++++++++++-----
+ 1 file changed, 14 insertions(+), 5 deletions(-)
+
+diff --git a/grub-core/kern/efi/mm.c b/grub-core/kern/efi/mm.c
+index b02fab1..5afcef7 100644
+--- a/grub-core/kern/efi/mm.c
++++ b/grub-core/kern/efi/mm.c
+@@ -328,15 +328,24 @@ grub_efi_get_memory_map (grub_efi_uintn_t *memory_map_size,
+   if (grub_efi_is_finished)
+     {
+       int ret = 1;
+-      if (*memory_map_size < finish_mmap_size)
++
++      if (memory_map != NULL)
+       {
+-        grub_memcpy (memory_map, finish_mmap_buf, *memory_map_size);
+-        ret = 0;
++        if (*memory_map_size < finish_mmap_size)
++          {
++            grub_memcpy (memory_map, finish_mmap_buf, *memory_map_size);
++            ret = 0;
++          }
++          else
++          grub_memcpy (memory_map, finish_mmap_buf, finish_mmap_size);
+       }
+       else
+       {
+-        grub_memcpy (memory_map, finish_mmap_buf, finish_mmap_size);
+-        ret = 1;
++        /*
++         * Incomplete, no buffer to copy into, same as
++         * GRUB_EFI_BUFFER_TOO_SMALL below.
++         */
++        ret = 0;
+       }
+       *memory_map_size = finish_mmap_size;
+       if (map_key)
+-- 
+2.14.2
+
diff --git a/boot/grub2/0055-gnulib-regexec-Resolve-unused-variable.patch b/boot/grub2/0055-gnulib-regexec-Resolve-unused-variable.patch
new file mode 100644 (file)
index 0000000..99e1354
--- /dev/null
@@ -0,0 +1,90 @@
+From a983d36bd9178d377d2072fd4b11c635fdc404b4 Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Wed, 21 Oct 2020 14:41:27 +0000
+Subject: [PATCH] gnulib/regexec: Resolve unused variable
+
+This is a really minor issue where a variable is being assigned to but
+not checked before it is overwritten again.
+
+The reason for this issue is that we are not building with DEBUG set and
+this in turn means that the assert() that reads the value of the
+variable match_last is being processed out.
+
+The solution, move the assignment to match_last in to an ifdef DEBUG too.
+
+Fixes: CID 292459
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+[Add changes to generated files]
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ Makefile.in                                         |  1 +
+ conf/Makefile.extra-dist                            |  1 +
+ grub-core/lib/gnulib-patches/fix-unused-value.patch | 14 ++++++++++++++
+ grub-core/lib/gnulib/regexec.c                      |  4 ++++
+ 4 files changed, 20 insertions(+)
+ create mode 100644 grub-core/lib/gnulib-patches/fix-unused-value.patch
+
+diff --git a/Makefile.in b/Makefile.in
+index ecb3278..e6b287b 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -2742,6 +2742,7 @@ EXTRA_DIST = autogen.sh geninit.sh gentpl.py Makefile.util.def \
+       grub-core/gensyminfo.sh.in grub-core/gensymlist.sh \
+       grub-core/genemuinit.sh grub-core/genemuinitheader.sh \
+       grub-core/lib/gnulib-patches/fix-null-deref.patch \
++      grub-core/lib/gnulib-patches/fix-unused-value.patch \
+       grub-core/lib/gnulib-patches/fix-width.patch \
+       grub-core/lib/gnulib-patches/no-abort.patch \
+       grub-core/lib/libgcrypt \
+diff --git a/conf/Makefile.extra-dist b/conf/Makefile.extra-dist
+index 46c4e95..9b01152 100644
+--- a/conf/Makefile.extra-dist
++++ b/conf/Makefile.extra-dist
+@@ -29,6 +29,7 @@ EXTRA_DIST += grub-core/genemuinit.sh
+ EXTRA_DIST += grub-core/genemuinitheader.sh
+ EXTRA_DIST += grub-core/lib/gnulib-patches/fix-null-deref.patch
++EXTRA_DIST += grub-core/lib/gnulib-patches/fix-unused-value.patch
+ EXTRA_DIST += grub-core/lib/gnulib-patches/fix-width.patch
+ EXTRA_DIST += grub-core/lib/gnulib-patches/no-abort.patch
+diff --git a/grub-core/lib/gnulib-patches/fix-unused-value.patch b/grub-core/lib/gnulib-patches/fix-unused-value.patch
+new file mode 100644
+index 0000000..ba51f1b
+--- /dev/null
++++ b/grub-core/lib/gnulib-patches/fix-unused-value.patch
+@@ -0,0 +1,14 @@
++--- a/lib/regexec.c   2020-10-21 14:25:35.310195912 +0000
+++++ b/lib/regexec.c   2020-10-21 14:32:07.961765604 +0000
++@@ -828,7 +828,11 @@
++                  break;
++                if (__glibc_unlikely (err != REG_NOMATCH))
++                  goto free_return;
+++#ifdef DEBUG
+++               /* Only used for assertion below when DEBUG is set, otherwise
+++                  it will be over-written when we loop around.  */
++                match_last = -1;
+++#endif
++              }
++            else
++              break; /* We found a match.  */
+diff --git a/grub-core/lib/gnulib/regexec.c b/grub-core/lib/gnulib/regexec.c
+index 21cf791..98a25f5 100644
+--- a/grub-core/lib/gnulib/regexec.c
++++ b/grub-core/lib/gnulib/regexec.c
+@@ -828,6 +828,10 @@ re_search_internal (const regex_t *preg, const char *string, Idx length,
+                   break;
+                 if (__glibc_unlikely (err != REG_NOMATCH))
+                   goto free_return;
++#ifdef DEBUG
++                /* Only used for assertion below when DEBUG is set, otherwise
++                   it will be over-written when we loop around.  */
++#endif
+                 match_last = -1;
+               }
+             else
+-- 
+2.14.2
+
diff --git a/boot/grub2/0056-gnulib-regcomp-Fix-uninitialized-token-structure.patch b/boot/grub2/0056-gnulib-regcomp-Fix-uninitialized-token-structure.patch
new file mode 100644 (file)
index 0000000..2464561
--- /dev/null
@@ -0,0 +1,82 @@
+From 75c3d3cec4f408848f575d6d5e30a95bd6313db0 Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Thu, 22 Oct 2020 13:54:06 +0000
+Subject: [PATCH] gnulib/regcomp: Fix uninitialized token structure
+
+The code is assuming that the value of br_token.constraint was
+initialized to zero when it wasn't.
+
+While some compilers will ensure that, not all do, so it is better to
+fix this explicitly than leave it to chance.
+
+Fixes: CID 73749
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+[Add changes to generated files]
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ Makefile.in                                             |  1 +
+ conf/Makefile.extra-dist                                |  1 +
+ grub-core/lib/gnulib-patches/fix-uninit-structure.patch | 11 +++++++++++
+ grub-core/lib/gnulib/regcomp.c                          |  2 +-
+ 4 files changed, 14 insertions(+), 1 deletion(-)
+ create mode 100644 grub-core/lib/gnulib-patches/fix-uninit-structure.patch
+
+diff --git a/Makefile.in b/Makefile.in
+index e6b287b..d58a7d7 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -2742,6 +2742,7 @@ EXTRA_DIST = autogen.sh geninit.sh gentpl.py Makefile.util.def \
+       grub-core/gensyminfo.sh.in grub-core/gensymlist.sh \
+       grub-core/genemuinit.sh grub-core/genemuinitheader.sh \
+       grub-core/lib/gnulib-patches/fix-null-deref.patch \
++      grub-core/lib/gnulib-patches/fix-uninit-structure.patch \
+       grub-core/lib/gnulib-patches/fix-unused-value.patch \
+       grub-core/lib/gnulib-patches/fix-width.patch \
+       grub-core/lib/gnulib-patches/no-abort.patch \
+diff --git a/conf/Makefile.extra-dist b/conf/Makefile.extra-dist
+index 9b01152..9e55458 100644
+--- a/conf/Makefile.extra-dist
++++ b/conf/Makefile.extra-dist
+@@ -29,6 +29,7 @@ EXTRA_DIST += grub-core/genemuinit.sh
+ EXTRA_DIST += grub-core/genemuinitheader.sh
+ EXTRA_DIST += grub-core/lib/gnulib-patches/fix-null-deref.patch
++EXTRA_DIST += grub-core/lib/gnulib-patches/fix-uninit-structure.patch
+ EXTRA_DIST += grub-core/lib/gnulib-patches/fix-unused-value.patch
+ EXTRA_DIST += grub-core/lib/gnulib-patches/fix-width.patch
+ EXTRA_DIST += grub-core/lib/gnulib-patches/no-abort.patch
+diff --git a/grub-core/lib/gnulib-patches/fix-uninit-structure.patch b/grub-core/lib/gnulib-patches/fix-uninit-structure.patch
+new file mode 100644
+index 0000000..7b4d9f6
+--- /dev/null
++++ b/grub-core/lib/gnulib-patches/fix-uninit-structure.patch
+@@ -0,0 +1,11 @@
++--- a/lib/regcomp.c   2020-10-22 13:49:06.770168928 +0000
+++++ b/lib/regcomp.c   2020-10-22 13:50:37.026528298 +0000
++@@ -3662,7 +3662,7 @@
++   Idx alloc = 0;
++ #endif /* not RE_ENABLE_I18N */
++   reg_errcode_t ret;
++-  re_token_t br_token;
+++  re_token_t br_token = {0};
++   bin_tree_t *tree;
++ 
++   sbcset = (re_bitset_ptr_t) calloc (sizeof (bitset_t), 1);
+diff --git a/grub-core/lib/gnulib/regcomp.c b/grub-core/lib/gnulib/regcomp.c
+index fe7dfcb..2545d3e 100644
+--- a/grub-core/lib/gnulib/regcomp.c
++++ b/grub-core/lib/gnulib/regcomp.c
+@@ -3662,7 +3662,7 @@ build_charclass_op (re_dfa_t *dfa, RE_TRANSLATE_TYPE trans,
+   Idx alloc = 0;
+ #endif /* not RE_ENABLE_I18N */
+   reg_errcode_t ret;
+-  re_token_t br_token;
++  re_token_t br_token = {0};
+   bin_tree_t *tree;
+   sbcset = (re_bitset_ptr_t) calloc (sizeof (bitset_t), 1);
+-- 
+2.14.2
+
diff --git a/boot/grub2/0057-gnulib-argp-help-Fix-dereference-of-a-possibly-NULL-.patch b/boot/grub2/0057-gnulib-argp-help-Fix-dereference-of-a-possibly-NULL-.patch
new file mode 100644 (file)
index 0000000..34c630b
--- /dev/null
@@ -0,0 +1,82 @@
+From 3a37bf120a9194c373257c70175cdb5b337bc107 Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Wed, 28 Oct 2020 14:43:01 +0000
+Subject: [PATCH] gnulib/argp-help: Fix dereference of a possibly NULL state
+
+All other instances of call to __argp_failure() where there is
+a dgettext() call is first checking whether state is NULL before
+attempting to dereference it to get the root_argp->argp_domain.
+
+Fixes: CID 292436
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+[Add changes to generated files]
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ Makefile.in                                             |  1 +
+ conf/Makefile.extra-dist                                |  1 +
+ grub-core/lib/gnulib-patches/fix-null-state-deref.patch | 12 ++++++++++++
+ grub-core/lib/gnulib/argp-help.c                        |  3 ++-
+ 4 files changed, 16 insertions(+), 1 deletion(-)
+ create mode 100644 grub-core/lib/gnulib-patches/fix-null-state-deref.patch
+
+diff --git a/Makefile.in b/Makefile.in
+index d58a7d7..812b7c2 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -2742,6 +2742,7 @@ EXTRA_DIST = autogen.sh geninit.sh gentpl.py Makefile.util.def \
+       grub-core/gensyminfo.sh.in grub-core/gensymlist.sh \
+       grub-core/genemuinit.sh grub-core/genemuinitheader.sh \
+       grub-core/lib/gnulib-patches/fix-null-deref.patch \
++      grub-core/lib/gnulib-patches/fix-null-state-deref.patch \
+       grub-core/lib/gnulib-patches/fix-uninit-structure.patch \
+       grub-core/lib/gnulib-patches/fix-unused-value.patch \
+       grub-core/lib/gnulib-patches/fix-width.patch \
+diff --git a/conf/Makefile.extra-dist b/conf/Makefile.extra-dist
+index 9e55458..96d7e69 100644
+--- a/conf/Makefile.extra-dist
++++ b/conf/Makefile.extra-dist
+@@ -29,6 +29,7 @@ EXTRA_DIST += grub-core/genemuinit.sh
+ EXTRA_DIST += grub-core/genemuinitheader.sh
+ EXTRA_DIST += grub-core/lib/gnulib-patches/fix-null-deref.patch
++EXTRA_DIST += grub-core/lib/gnulib-patches/fix-null-state-deref.patch
+ EXTRA_DIST += grub-core/lib/gnulib-patches/fix-uninit-structure.patch
+ EXTRA_DIST += grub-core/lib/gnulib-patches/fix-unused-value.patch
+ EXTRA_DIST += grub-core/lib/gnulib-patches/fix-width.patch
+diff --git a/grub-core/lib/gnulib-patches/fix-null-state-deref.patch b/grub-core/lib/gnulib-patches/fix-null-state-deref.patch
+new file mode 100644
+index 0000000..813ec09
+--- /dev/null
++++ b/grub-core/lib/gnulib-patches/fix-null-state-deref.patch
+@@ -0,0 +1,12 @@
++--- a/lib/argp-help.c 2020-10-28 14:32:19.189215988 +0000
+++++ b/lib/argp-help.c 2020-10-28 14:38:21.204673940 +0000
++@@ -145,7 +145,8 @@
++       if (*(int *)((char *)upptr + up->uparams_offs) >= upptr->rmargin)
++         {
++           __argp_failure (state, 0, 0,
++-                          dgettext (state->root_argp->argp_domain,
+++                          dgettext (state == NULL ? NULL
+++                                    : state->root_argp->argp_domain,
++                                     "\
++ ARGP_HELP_FMT: %s value is less than or equal to %s"),
++                           "rmargin", up->name);
+diff --git a/grub-core/lib/gnulib/argp-help.c b/grub-core/lib/gnulib/argp-help.c
+index 5d8f451..c75568c 100644
+--- a/grub-core/lib/gnulib/argp-help.c
++++ b/grub-core/lib/gnulib/argp-help.c
+@@ -145,7 +145,8 @@ validate_uparams (const struct argp_state *state, struct uparams *upptr)
+       if (*(int *)((char *)upptr + up->uparams_offs) >= upptr->rmargin)
+         {
+           __argp_failure (state, 0, 0,
+-                          dgettext (state->root_argp->argp_domain,
++                          dgettext (state == NULL ? NULL
++                                    : state->root_argp->argp_domain,
+                                     "\
+ ARGP_HELP_FMT: %s value is less than or equal to %s"),
+                           "rmargin", up->name);
+-- 
+2.14.2
+
diff --git a/boot/grub2/0058-gnulib-regexec-Fix-possible-null-dereference.patch b/boot/grub2/0058-gnulib-regexec-Fix-possible-null-dereference.patch
new file mode 100644 (file)
index 0000000..0ced54a
--- /dev/null
@@ -0,0 +1,83 @@
+From 0b7f347638153e403ee2dd518af3ce26f4f99647 Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Thu, 5 Nov 2020 10:57:14 +0000
+Subject: [PATCH] gnulib/regexec: Fix possible null-dereference
+
+It appears to be possible that the mctx->state_log field may be NULL,
+and the name of this function, clean_state_log_if_needed(), suggests
+that it should be checking that it is valid to be cleaned before
+assuming that it does.
+
+Fixes: CID 86720
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+[Add changes to generated files]
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ Makefile.in                                               |  1 +
+ conf/Makefile.extra-dist                                  |  1 +
+ grub-core/lib/gnulib-patches/fix-regexec-null-deref.patch | 12 ++++++++++++
+ grub-core/lib/gnulib/regexec.c                            |  3 +++
+ 4 files changed, 17 insertions(+)
+ create mode 100644 grub-core/lib/gnulib-patches/fix-regexec-null-deref.patch
+
+diff --git a/Makefile.in b/Makefile.in
+index 812b7c2..d9da6e9 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -2743,6 +2743,7 @@ EXTRA_DIST = autogen.sh geninit.sh gentpl.py Makefile.util.def \
+       grub-core/genemuinit.sh grub-core/genemuinitheader.sh \
+       grub-core/lib/gnulib-patches/fix-null-deref.patch \
+       grub-core/lib/gnulib-patches/fix-null-state-deref.patch \
++      grub-core/lib/gnulib-patches/fix-regexec-null-deref.patch \
+       grub-core/lib/gnulib-patches/fix-uninit-structure.patch \
+       grub-core/lib/gnulib-patches/fix-unused-value.patch \
+       grub-core/lib/gnulib-patches/fix-width.patch \
+diff --git a/conf/Makefile.extra-dist b/conf/Makefile.extra-dist
+index 96d7e69..d27d3a9 100644
+--- a/conf/Makefile.extra-dist
++++ b/conf/Makefile.extra-dist
+@@ -30,6 +30,7 @@ EXTRA_DIST += grub-core/genemuinitheader.sh
+ EXTRA_DIST += grub-core/lib/gnulib-patches/fix-null-deref.patch
+ EXTRA_DIST += grub-core/lib/gnulib-patches/fix-null-state-deref.patch
++EXTRA_DIST += grub-core/lib/gnulib-patches/fix-regexec-null-deref.patch
+ EXTRA_DIST += grub-core/lib/gnulib-patches/fix-uninit-structure.patch
+ EXTRA_DIST += grub-core/lib/gnulib-patches/fix-unused-value.patch
+ EXTRA_DIST += grub-core/lib/gnulib-patches/fix-width.patch
+diff --git a/grub-core/lib/gnulib-patches/fix-regexec-null-deref.patch b/grub-core/lib/gnulib-patches/fix-regexec-null-deref.patch
+new file mode 100644
+index 0000000..db6dac9
+--- /dev/null
++++ b/grub-core/lib/gnulib-patches/fix-regexec-null-deref.patch
+@@ -0,0 +1,12 @@
++--- a/lib/regexec.c   2020-10-21 14:25:35.310195912 +0000
+++++ b/lib/regexec.c   2020-11-05 10:55:09.621542984 +0000
++@@ -1692,6 +1692,9 @@
++ {
++   Idx top = mctx->state_log_top;
++
+++  if (mctx->state_log == NULL)
+++    return REG_NOERROR;
+++
++   if ((next_state_log_idx >= mctx->input.bufs_len
++        && mctx->input.bufs_len < mctx->input.len)
++       || (next_state_log_idx >= mctx->input.valid_len
+diff --git a/grub-core/lib/gnulib/regexec.c b/grub-core/lib/gnulib/regexec.c
+index 98a25f5..df97667 100644
+--- a/grub-core/lib/gnulib/regexec.c
++++ b/grub-core/lib/gnulib/regexec.c
+@@ -1696,6 +1696,9 @@ clean_state_log_if_needed (re_match_context_t *mctx, Idx next_state_log_idx)
+ {
+   Idx top = mctx->state_log_top;
++  if (mctx->state_log == NULL)
++    return REG_NOERROR;
++
+   if ((next_state_log_idx >= mctx->input.bufs_len
+        && mctx->input.bufs_len < mctx->input.len)
+       || (next_state_log_idx >= mctx->input.valid_len
+-- 
+2.14.2
+
diff --git a/boot/grub2/0059-gnulib-regcomp-Fix-uninitialized-re_token.patch b/boot/grub2/0059-gnulib-regcomp-Fix-uninitialized-re_token.patch
new file mode 100644 (file)
index 0000000..ecdc93c
--- /dev/null
@@ -0,0 +1,88 @@
+From 03477085f9a33789ba6cca7cd49ab9326a1baa0e Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Tue, 24 Nov 2020 18:04:22 +0000
+Subject: [PATCH] gnulib/regcomp: Fix uninitialized re_token
+
+This issue has been fixed in the latest version of gnulib, so to
+maintain consistency, I've backported that change rather than doing
+something different.
+
+Fixes: CID 73828
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+[Add changes to generated files]
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ Makefile.in                                               |  1 +
+ conf/Makefile.extra-dist                                  |  1 +
+ .../lib/gnulib-patches/fix-regcomp-uninit-token.patch     | 15 +++++++++++++++
+ grub-core/lib/gnulib/regcomp.c                            |  6 +-----
+ 4 files changed, 18 insertions(+), 5 deletions(-)
+ create mode 100644 grub-core/lib/gnulib-patches/fix-regcomp-uninit-token.patch
+
+diff --git a/Makefile.in b/Makefile.in
+index d9da6e9..9442504 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -2743,6 +2743,7 @@ EXTRA_DIST = autogen.sh geninit.sh gentpl.py Makefile.util.def \
+       grub-core/genemuinit.sh grub-core/genemuinitheader.sh \
+       grub-core/lib/gnulib-patches/fix-null-deref.patch \
+       grub-core/lib/gnulib-patches/fix-null-state-deref.patch \
++      grub-core/lib/gnulib-patches/fix-regcomp-uninit-token.patch \
+       grub-core/lib/gnulib-patches/fix-regexec-null-deref.patch \
+       grub-core/lib/gnulib-patches/fix-uninit-structure.patch \
+       grub-core/lib/gnulib-patches/fix-unused-value.patch \
+diff --git a/conf/Makefile.extra-dist b/conf/Makefile.extra-dist
+index d27d3a9..ffe6829 100644
+--- a/conf/Makefile.extra-dist
++++ b/conf/Makefile.extra-dist
+@@ -30,6 +30,7 @@ EXTRA_DIST += grub-core/genemuinitheader.sh
+ EXTRA_DIST += grub-core/lib/gnulib-patches/fix-null-deref.patch
+ EXTRA_DIST += grub-core/lib/gnulib-patches/fix-null-state-deref.patch
++EXTRA_DIST += grub-core/lib/gnulib-patches/fix-regcomp-uninit-token.patch
+ EXTRA_DIST += grub-core/lib/gnulib-patches/fix-regexec-null-deref.patch
+ EXTRA_DIST += grub-core/lib/gnulib-patches/fix-uninit-structure.patch
+ EXTRA_DIST += grub-core/lib/gnulib-patches/fix-unused-value.patch
+diff --git a/grub-core/lib/gnulib-patches/fix-regcomp-uninit-token.patch b/grub-core/lib/gnulib-patches/fix-regcomp-uninit-token.patch
+new file mode 100644
+index 0000000..02e0631
+--- /dev/null
++++ b/grub-core/lib/gnulib-patches/fix-regcomp-uninit-token.patch
+@@ -0,0 +1,15 @@
++--- a/lib/regcomp.c   2020-11-24 17:06:08.159223858 +0000
+++++ b/lib/regcomp.c   2020-11-24 17:06:15.630253923 +0000
++@@ -3808,11 +3808,7 @@
++ create_tree (re_dfa_t *dfa, bin_tree_t *left, bin_tree_t *right,
++           re_token_type_t type)
++ {
++-  re_token_t t;
++-#if defined GCC_LINT || defined lint
++-  memset (&t, 0, sizeof t);
++-#endif
++-  t.type = type;
+++  re_token_t t = { .type = type };
++   return create_token_tree (dfa, left, right, &t);
++ }
++ 
+diff --git a/grub-core/lib/gnulib/regcomp.c b/grub-core/lib/gnulib/regcomp.c
+index 2545d3e..64a4fa7 100644
+--- a/grub-core/lib/gnulib/regcomp.c
++++ b/grub-core/lib/gnulib/regcomp.c
+@@ -3808,11 +3808,7 @@ static bin_tree_t *
+ create_tree (re_dfa_t *dfa, bin_tree_t *left, bin_tree_t *right,
+            re_token_type_t type)
+ {
+-  re_token_t t;
+-#if defined GCC_LINT || defined lint
+-  memset (&t, 0, sizeof t);
+-#endif
+-  t.type = type;
++  re_token_t t = { .type = type };
+   return create_token_tree (dfa, left, right, &t);
+ }
+-- 
+2.14.2
+
diff --git a/boot/grub2/0060-io-lzopio-Resolve-unnecessary-self-assignment-errors.patch b/boot/grub2/0060-io-lzopio-Resolve-unnecessary-self-assignment-errors.patch
new file mode 100644 (file)
index 0000000..cc6b217
--- /dev/null
@@ -0,0 +1,42 @@
+From 59666e520f44177c97b82a44c169b3b315d63b42 Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Wed, 21 Oct 2020 14:44:10 +0000
+Subject: [PATCH] io/lzopio: Resolve unnecessary self-assignment errors
+
+These 2 assignments are unnecessary since they are just assigning
+to themselves.
+
+Fixes: CID 73643
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/io/lzopio.c | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/grub-core/io/lzopio.c b/grub-core/io/lzopio.c
+index 3014485..a7d4425 100644
+--- a/grub-core/io/lzopio.c
++++ b/grub-core/io/lzopio.c
+@@ -125,8 +125,6 @@ read_block_header (struct grub_lzopio *lzopio)
+                         sizeof (lzopio->block.ucheck)) !=
+         sizeof (lzopio->block.ucheck))
+       return -1;
+-
+-      lzopio->block.ucheck = lzopio->block.ucheck;
+     }
+   /* Read checksum of compressed data.  */
+@@ -143,8 +141,6 @@ read_block_header (struct grub_lzopio *lzopio)
+                             sizeof (lzopio->block.ccheck)) !=
+             sizeof (lzopio->block.ccheck))
+           return -1;
+-
+-        lzopio->block.ccheck = lzopio->block.ccheck;
+       }
+     }
+-- 
+2.14.2
+
diff --git a/boot/grub2/0061-zstd-Initialize-seq_t-structure-fully.patch b/boot/grub2/0061-zstd-Initialize-seq_t-structure-fully.patch
new file mode 100644 (file)
index 0000000..5e1752b
--- /dev/null
@@ -0,0 +1,35 @@
+From 2777cf4466719921dbe4b30af358a75e7d76f217 Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Thu, 5 Nov 2020 10:29:59 +0000
+Subject: [PATCH] zstd: Initialize seq_t structure fully
+
+While many compilers will initialize this to zero, not all will, so it
+is better to be sure that fields not being explicitly set are at known
+values, and there is code that checks this fields value elsewhere in the
+code.
+
+Fixes: CID 292440
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/lib/zstd/zstd_decompress.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/grub-core/lib/zstd/zstd_decompress.c b/grub-core/lib/zstd/zstd_decompress.c
+index 711b5b6..e4b5670 100644
+--- a/grub-core/lib/zstd/zstd_decompress.c
++++ b/grub-core/lib/zstd/zstd_decompress.c
+@@ -1325,7 +1325,7 @@ typedef enum { ZSTD_lo_isRegularOffset, ZSTD_lo_isLongOffset=1 } ZSTD_longOffset
+ FORCE_INLINE_TEMPLATE seq_t
+ ZSTD_decodeSequence(seqState_t* seqState, const ZSTD_longOffset_e longOffsets)
+ {
+-    seq_t seq;
++    seq_t seq = {0};
+     U32 const llBits = seqState->stateLL.table[seqState->stateLL.state].nbAdditionalBits;
+     U32 const mlBits = seqState->stateML.table[seqState->stateML.state].nbAdditionalBits;
+     U32 const ofBits = seqState->stateOffb.table[seqState->stateOffb.state].nbAdditionalBits;
+-- 
+2.14.2
+
diff --git a/boot/grub2/0062-kern-partition-Check-for-NULL-before-dereferencing-i.patch b/boot/grub2/0062-kern-partition-Check-for-NULL-before-dereferencing-i.patch
new file mode 100644 (file)
index 0000000..431d45f
--- /dev/null
@@ -0,0 +1,44 @@
+From bc9c468a2ce84bc767234eec888b71f1bc744fff Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Fri, 23 Oct 2020 09:49:59 +0000
+Subject: [PATCH] kern/partition: Check for NULL before dereferencing input
+ string
+
+There is the possibility that the value of str comes from an external
+source and continuing to use it before ever checking its validity is
+wrong. So, needs fixing.
+
+Additionally, drop unneeded part initialization.
+
+Fixes: CID 292444
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/kern/partition.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/grub-core/kern/partition.c b/grub-core/kern/partition.c
+index e499147..b10a184 100644
+--- a/grub-core/kern/partition.c
++++ b/grub-core/kern/partition.c
+@@ -109,11 +109,14 @@ grub_partition_map_probe (const grub_partition_map_t partmap,
+ grub_partition_t
+ grub_partition_probe (struct grub_disk *disk, const char *str)
+ {
+-  grub_partition_t part = 0;
++  grub_partition_t part;
+   grub_partition_t curpart = 0;
+   grub_partition_t tail;
+   const char *ptr;
++  if (str == NULL)
++    return 0;
++
+   part = tail = disk->partition;
+   for (ptr = str; *ptr;)
+-- 
+2.14.2
+
diff --git a/boot/grub2/0063-disk-ldm-Make-sure-comp-data-is-freed-before-exiting.patch b/boot/grub2/0063-disk-ldm-Make-sure-comp-data-is-freed-before-exiting.patch
new file mode 100644 (file)
index 0000000..5bebd40
--- /dev/null
@@ -0,0 +1,129 @@
+From 23e39f50ca7a107f6b66396ed4d177a914dee035 Mon Sep 17 00:00:00 2001
+From: Marco A Benatto <mbenatto@redhat.com>
+Date: Mon, 7 Dec 2020 11:53:03 -0300
+Subject: [PATCH] disk/ldm: Make sure comp data is freed before exiting from
+ make_vg()
+
+Several error handling paths in make_vg() do not free comp data before
+jumping to fail2 label and returning from the function. This will leak
+memory. So, let's fix all issues of that kind.
+
+Fixes: CID 73804
+
+Signed-off-by: Marco A Benatto <mbenatto@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/disk/ldm.c | 51 ++++++++++++++++++++++++++++++++++++++++++++-------
+ 1 file changed, 44 insertions(+), 7 deletions(-)
+
+diff --git a/grub-core/disk/ldm.c b/grub-core/disk/ldm.c
+index 58f8a53..428415f 100644
+--- a/grub-core/disk/ldm.c
++++ b/grub-core/disk/ldm.c
+@@ -554,7 +554,11 @@ make_vg (grub_disk_t disk,
+             comp->segments = grub_calloc (comp->segment_alloc,
+                                           sizeof (*comp->segments));
+             if (!comp->segments)
+-              goto fail2;
++              {
++                grub_free (comp->internal_id);
++                grub_free (comp);
++                goto fail2;
++              }
+           }
+         else
+           {
+@@ -562,7 +566,11 @@ make_vg (grub_disk_t disk,
+             comp->segment_count = 1;
+             comp->segments = grub_malloc (sizeof (*comp->segments));
+             if (!comp->segments)
+-              goto fail2;
++              {
++                grub_free (comp->internal_id);
++                grub_free (comp);
++                goto fail2;
++              }
+             comp->segments->start_extent = 0;
+             comp->segments->extent_count = lv->size;
+             comp->segments->layout = 0;
+@@ -574,15 +582,26 @@ make_vg (grub_disk_t disk,
+                 comp->segments->layout = GRUB_RAID_LAYOUT_SYMMETRIC_MASK;
+               }
+             else
+-              goto fail2;
++              {
++                grub_free (comp->segments);
++                grub_free (comp->internal_id);
++                grub_free (comp);
++                goto fail2;
++              }
+             ptr += *ptr + 1;
+             ptr++;
+             if (!(vblk[i].flags & 0x10))
+-              goto fail2;
++              {
++                grub_free (comp->segments);
++                grub_free (comp->internal_id);
++                grub_free (comp);
++                goto fail2;
++              }
+             if (ptr >= vblk[i].dynamic + sizeof (vblk[i].dynamic)
+                 || ptr + *ptr + 1 >= vblk[i].dynamic
+                 + sizeof (vblk[i].dynamic))
+               {
++                grub_free (comp->segments);
+                 grub_free (comp->internal_id);
+                 grub_free (comp);
+                 goto fail2;
+@@ -592,6 +611,7 @@ make_vg (grub_disk_t disk,
+             if (ptr + *ptr + 1 >= vblk[i].dynamic
+                 + sizeof (vblk[i].dynamic))
+               {
++                grub_free (comp->segments);
+                 grub_free (comp->internal_id);
+                 grub_free (comp);
+                 goto fail2;
+@@ -601,7 +621,12 @@ make_vg (grub_disk_t disk,
+             comp->segments->nodes = grub_calloc (comp->segments->node_alloc,
+                                                  sizeof (*comp->segments->nodes));
+             if (!lv->segments->nodes)
+-              goto fail2;
++              {
++                grub_free (comp->segments);
++                grub_free (comp->internal_id);
++                grub_free (comp);
++                goto fail2;
++              }
+           }
+         if (lv->segments->node_alloc == lv->segments->node_count)
+@@ -611,11 +636,23 @@ make_vg (grub_disk_t disk,
+             if (grub_mul (lv->segments->node_alloc, 2, &lv->segments->node_alloc) ||
+                 grub_mul (lv->segments->node_alloc, sizeof (*lv->segments->nodes), &sz))
+-              goto fail2;
++              {
++                grub_free (comp->segments->nodes);
++                grub_free (comp->segments);
++                grub_free (comp->internal_id);
++                grub_free (comp);
++                goto fail2;
++              }
+             t = grub_realloc (lv->segments->nodes, sz);
+             if (!t)
+-              goto fail2;
++              {
++                grub_free (comp->segments->nodes);
++                grub_free (comp->segments);
++                grub_free (comp->internal_id);
++                grub_free (comp);
++                goto fail2;
++              }
+             lv->segments->nodes = t;
+           }
+         lv->segments->nodes[lv->segments->node_count].pv = 0;
+-- 
+2.14.2
+
diff --git a/boot/grub2/0064-disk-ldm-If-failed-then-free-vg-variable-too.patch b/boot/grub2/0064-disk-ldm-If-failed-then-free-vg-variable-too.patch
new file mode 100644 (file)
index 0000000..24417a1
--- /dev/null
@@ -0,0 +1,29 @@
+From e0b83df5da538d2a38f770e60817b3a4b9d5b4d7 Mon Sep 17 00:00:00 2001
+From: Paulo Flabiano Smorigo <pfsmorigo@canonical.com>
+Date: Mon, 7 Dec 2020 10:07:47 -0300
+Subject: [PATCH] disk/ldm: If failed then free vg variable too
+
+Fixes: CID 73809
+
+Signed-off-by: Paulo Flabiano Smorigo <pfsmorigo@canonical.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/disk/ldm.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/grub-core/disk/ldm.c b/grub-core/disk/ldm.c
+index 428415f..54713f4 100644
+--- a/grub-core/disk/ldm.c
++++ b/grub-core/disk/ldm.c
+@@ -199,6 +199,7 @@ make_vg (grub_disk_t disk,
+     {
+       grub_free (vg->uuid);
+       grub_free (vg->name);
++      grub_free (vg);
+       return NULL;
+     }
+   grub_memcpy (vg->uuid, label->group_guid, LDM_GUID_STRLEN);
+-- 
+2.14.2
+
diff --git a/boot/grub2/0065-disk-ldm-Fix-memory-leak-on-uninserted-lv-references.patch b/boot/grub2/0065-disk-ldm-Fix-memory-leak-on-uninserted-lv-references.patch
new file mode 100644 (file)
index 0000000..ee424e8
--- /dev/null
@@ -0,0 +1,51 @@
+From 156c281a1625dc73fd350530630c6f2d5673d4f6 Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Tue, 8 Dec 2020 10:00:51 +0000
+Subject: [PATCH] disk/ldm: Fix memory leak on uninserted lv references
+
+The problem here is that the memory allocated to the variable lv is not
+yet inserted into the list that is being processed at the label fail2.
+
+As we can already see at line 342, which correctly frees lv before going
+to fail2, we should also be doing that at these earlier jumps to fail2.
+
+Fixes: CID 73824
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/disk/ldm.c | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/grub-core/disk/ldm.c b/grub-core/disk/ldm.c
+index 54713f4..e82e989 100644
+--- a/grub-core/disk/ldm.c
++++ b/grub-core/disk/ldm.c
+@@ -321,7 +321,10 @@ make_vg (grub_disk_t disk,
+         lv->visible = 1;
+         lv->segments = grub_zalloc (sizeof (*lv->segments));
+         if (!lv->segments)
+-          goto fail2;
++          {
++            grub_free (lv);
++            goto fail2;
++          }
+         lv->segments->start_extent = 0;
+         lv->segments->type = GRUB_DISKFILTER_MIRROR;
+         lv->segments->node_count = 0;
+@@ -329,7 +332,10 @@ make_vg (grub_disk_t disk,
+         lv->segments->nodes = grub_calloc (lv->segments->node_alloc,
+                                            sizeof (*lv->segments->nodes));
+         if (!lv->segments->nodes)
+-          goto fail2;
++          {
++            grub_free (lv);
++            goto fail2;
++          }
+         ptr = vblk[i].dynamic;
+         if (ptr + *ptr + 1 >= vblk[i].dynamic
+             + sizeof (vblk[i].dynamic))
+-- 
+2.14.2
+
diff --git a/boot/grub2/0066-disk-cryptodisk-Fix-potential-integer-overflow.patch b/boot/grub2/0066-disk-cryptodisk-Fix-potential-integer-overflow.patch
new file mode 100644 (file)
index 0000000..781ebc1
--- /dev/null
@@ -0,0 +1,51 @@
+From a201ad17caa430aa710654fdf2e6ab4c8166f031 Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Thu, 21 Jan 2021 11:38:31 +0000
+Subject: [PATCH] disk/cryptodisk: Fix potential integer overflow
+
+The encrypt and decrypt functions expect a grub_size_t. So, we need to
+ensure that the constant bit shift is using grub_size_t rather than
+unsigned int when it is performing the shift.
+
+Fixes: CID 307788
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/disk/cryptodisk.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/grub-core/disk/cryptodisk.c b/grub-core/disk/cryptodisk.c
+index 5037768..6883f48 100644
+--- a/grub-core/disk/cryptodisk.c
++++ b/grub-core/disk/cryptodisk.c
+@@ -311,10 +311,10 @@ grub_cryptodisk_endecrypt (struct grub_cryptodisk *dev,
+       case GRUB_CRYPTODISK_MODE_CBC:
+         if (do_encrypt)
+           err = grub_crypto_cbc_encrypt (dev->cipher, data + i, data + i,
+-                                         (1U << dev->log_sector_size), iv);
++                                         ((grub_size_t) 1 << dev->log_sector_size), iv);
+         else
+           err = grub_crypto_cbc_decrypt (dev->cipher, data + i, data + i,
+-                                         (1U << dev->log_sector_size), iv);
++                                         ((grub_size_t) 1 << dev->log_sector_size), iv);
+         if (err)
+           return err;
+         break;
+@@ -322,10 +322,10 @@ grub_cryptodisk_endecrypt (struct grub_cryptodisk *dev,
+       case GRUB_CRYPTODISK_MODE_PCBC:
+         if (do_encrypt)
+           err = grub_crypto_pcbc_encrypt (dev->cipher, data + i, data + i,
+-                                          (1U << dev->log_sector_size), iv);
++                                          ((grub_size_t) 1 << dev->log_sector_size), iv);
+         else
+           err = grub_crypto_pcbc_decrypt (dev->cipher, data + i, data + i,
+-                                          (1U << dev->log_sector_size), iv);
++                                          ((grub_size_t) 1 << dev->log_sector_size), iv);
+         if (err)
+           return err;
+         break;
+-- 
+2.14.2
+
diff --git a/boot/grub2/0067-hfsplus-Check-that-the-volume-name-length-is-valid.patch b/boot/grub2/0067-hfsplus-Check-that-the-volume-name-length-is-valid.patch
new file mode 100644 (file)
index 0000000..78cff9b
--- /dev/null
@@ -0,0 +1,44 @@
+From 2298f6e0d951251bb9ca97d891d1bc8b74515f8c Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Fri, 23 Oct 2020 17:09:31 +0000
+Subject: [PATCH] hfsplus: Check that the volume name length is valid
+
+HFS+ documentation suggests that the maximum filename and volume name is
+255 Unicode characters in length.
+
+So, when converting from big-endian to little-endian, we should ensure
+that the name of the volume has a length that is between 0 and 255,
+inclusive.
+
+Fixes: CID 73641
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/fs/hfsplus.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/grub-core/fs/hfsplus.c b/grub-core/fs/hfsplus.c
+index 9c4e4c8..8fe7c12 100644
+--- a/grub-core/fs/hfsplus.c
++++ b/grub-core/fs/hfsplus.c
+@@ -1012,6 +1012,15 @@ grub_hfsplus_label (grub_device_t device, char **label)
+     grub_hfsplus_btree_recptr (&data->catalog_tree, node, ptr);
+   label_len = grub_be_to_cpu16 (catkey->namelen);
++
++  /* Ensure that the length is >= 0. */
++  if (label_len < 0)
++    label_len = 0;
++
++  /* Ensure label length is at most 255 Unicode characters. */
++  if (label_len > 255)
++    label_len = 255;
++
+   label_name = grub_calloc (label_len, sizeof (*label_name));
+   if (!label_name)
+     {
+-- 
+2.14.2
+
diff --git a/boot/grub2/0068-zfs-Fix-possible-negative-shift-operation.patch b/boot/grub2/0068-zfs-Fix-possible-negative-shift-operation.patch
new file mode 100644 (file)
index 0000000..3445619
--- /dev/null
@@ -0,0 +1,43 @@
+From a02091834d3e167320d8a262ff04b8e83c5e616d Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Tue, 24 Nov 2020 16:41:49 +0000
+Subject: [PATCH] zfs: Fix possible negative shift operation
+
+While it is possible for the return value from zfs_log2() to be zero
+(0), it is quite unlikely, given that the previous assignment to blksz
+is shifted up by SPA_MINBLOCKSHIFT (9) before 9 is subtracted at the
+assignment to epbs.
+
+But, while unlikely during a normal operation, it may be that a carefully
+crafted ZFS filesystem could result in a zero (0) value to the
+dn_datalbkszsec field, which means that the shift left does nothing
+and assigns zero (0) to blksz, resulting in a negative epbs value.
+
+Fixes: CID 73608
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/fs/zfs/zfs.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/grub-core/fs/zfs/zfs.c b/grub-core/fs/zfs/zfs.c
+index 36d0373..0c42cba 100644
+--- a/grub-core/fs/zfs/zfs.c
++++ b/grub-core/fs/zfs/zfs.c
+@@ -2667,6 +2667,11 @@ dnode_get (dnode_end_t * mdn, grub_uint64_t objnum, grub_uint8_t type,
+   blksz = grub_zfs_to_cpu16 (mdn->dn.dn_datablkszsec, 
+                            mdn->endian) << SPA_MINBLOCKSHIFT;
+   epbs = zfs_log2 (blksz) - DNODE_SHIFT;
++
++  /* While this should never happen, we should check that epbs is not negative. */
++  if (epbs < 0)
++    epbs = 0;
++
+   blkid = objnum >> epbs;
+   idx = objnum & ((1 << epbs) - 1);
+-- 
+2.14.2
+
diff --git a/boot/grub2/0069-zfs-Fix-resource-leaks-while-constructing-path.patch b/boot/grub2/0069-zfs-Fix-resource-leaks-while-constructing-path.patch
new file mode 100644 (file)
index 0000000..d4a3f64
--- /dev/null
@@ -0,0 +1,122 @@
+From 89bdab965805e8d54d7f75349024e1a11cbe2eb8 Mon Sep 17 00:00:00 2001
+From: Paulo Flabiano Smorigo <pfsmorigo@canonical.com>
+Date: Mon, 14 Dec 2020 18:54:49 -0300
+Subject: [PATCH] zfs: Fix resource leaks while constructing path
+
+There are several exit points in dnode_get_path() that are causing possible
+memory leaks.
+
+In the while(1) the correct exit mechanism should not be to do a direct return,
+but to instead break out of the loop, setting err first if it is not already set.
+
+The reason behind this is that the dnode_path is a linked list, and while doing
+through this loop, it is being allocated and built up - the only way to
+correctly unravel it is to traverse it, which is what is being done at the end
+of the function outside of the loop.
+
+Several of the existing exit points correctly did a break, but not all so this
+change makes that more consistent and should resolve the leaking of memory as
+found by Coverity.
+
+Fixes: CID 73741
+
+Signed-off-by: Paulo Flabiano Smorigo <pfsmorigo@canonical.com>
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/fs/zfs/zfs.c | 30 +++++++++++++++++++++---------
+ 1 file changed, 21 insertions(+), 9 deletions(-)
+
+diff --git a/grub-core/fs/zfs/zfs.c b/grub-core/fs/zfs/zfs.c
+index 0c42cba..9087a72 100644
+--- a/grub-core/fs/zfs/zfs.c
++++ b/grub-core/fs/zfs/zfs.c
+@@ -2836,8 +2836,8 @@ dnode_get_path (struct subvolume *subvol, const char *path_in, dnode_end_t *dn,
+       if (dnode_path->dn.dn.dn_type != DMU_OT_DIRECTORY_CONTENTS)
+       {
+-        grub_free (path_buf);
+-        return grub_error (GRUB_ERR_BAD_FILE_TYPE, N_("not a directory"));
++        err = grub_error (GRUB_ERR_BAD_FILE_TYPE, N_("not a directory"));
++        break;
+       }
+       err = zap_lookup (&(dnode_path->dn), cname, &objnum,
+                       data, subvol->case_insensitive);
+@@ -2879,11 +2879,18 @@ dnode_get_path (struct subvolume *subvol, const char *path_in, dnode_end_t *dn,
+                      << SPA_MINBLOCKSHIFT);
+             if (blksz == 0)
+-              return grub_error(GRUB_ERR_BAD_FS, "0-sized block");
++                {
++                  err = grub_error (GRUB_ERR_BAD_FS, "0-sized block");
++                  break;
++                }
+             sym_value = grub_malloc (sym_sz);
+             if (!sym_value)
+-              return grub_errno;
++              {
++                err = grub_errno;
++                break;
++              }
++
+             for (block = 0; block < (sym_sz + blksz - 1) / blksz; block++)
+               {
+                 void *t;
+@@ -2893,7 +2900,7 @@ dnode_get_path (struct subvolume *subvol, const char *path_in, dnode_end_t *dn,
+                 if (err)
+                   {
+                     grub_free (sym_value);
+-                    return err;
++                    break;
+                   }
+                 movesize = sym_sz - block * blksz;
+@@ -2903,6 +2910,8 @@ dnode_get_path (struct subvolume *subvol, const char *path_in, dnode_end_t *dn,
+                 grub_memcpy (sym_value + block * blksz, t, movesize);
+                 grub_free (t);
+               }
++              if (err)
++                break;
+             free_symval = 1;
+           }       
+         path = path_buf = grub_malloc (sym_sz + grub_strlen (oldpath) + 1);
+@@ -2911,7 +2920,8 @@ dnode_get_path (struct subvolume *subvol, const char *path_in, dnode_end_t *dn,
+             grub_free (oldpathbuf);
+             if (free_symval)
+               grub_free (sym_value);
+-            return grub_errno;
++            err = grub_errno;
++            break;
+           }
+         grub_memcpy (path, sym_value, sym_sz);
+         if (free_symval)
+@@ -2949,11 +2959,12 @@ dnode_get_path (struct subvolume *subvol, const char *path_in, dnode_end_t *dn,
+             
+             err = zio_read (bp, dnode_path->dn.endian, &sahdrp, NULL, data);
+             if (err)
+-              return err;
++              break;
+           }
+         else
+           {
+-            return grub_error (GRUB_ERR_BAD_FS, "filesystem is corrupt");
++            err = grub_error (GRUB_ERR_BAD_FS, "filesystem is corrupt");
++            break;
+           }
+         hdrsize = SA_HDR_SIZE (((sa_hdr_phys_t *) sahdrp));
+@@ -2974,7 +2985,8 @@ dnode_get_path (struct subvolume *subvol, const char *path_in, dnode_end_t *dn,
+             if (!path_buf)
+               {
+                 grub_free (oldpathbuf);
+-                return grub_errno;
++                err = grub_errno;
++                break;
+               }
+             grub_memcpy (path, sym_value, sym_sz);
+             path [sym_sz] = 0;
+-- 
+2.14.2
+
diff --git a/boot/grub2/0070-zfs-Fix-possible-integer-overflows.patch b/boot/grub2/0070-zfs-Fix-possible-integer-overflows.patch
new file mode 100644 (file)
index 0000000..b4791e6
--- /dev/null
@@ -0,0 +1,57 @@
+From 302c12ff5714bc455949117c1c9548ccb324d55b Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Tue, 8 Dec 2020 22:17:04 +0000
+Subject: [PATCH] zfs: Fix possible integer overflows
+
+In all cases the problem is that the value being acted upon by
+a left-shift is a 32-bit number which is then being used in the
+context of a 64-bit number.
+
+To avoid overflow we ensure that the number being shifted is 64-bit
+before the shift is done.
+
+Fixes: CID 73684, CID 73695, CID 73764
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/fs/zfs/zfs.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/grub-core/fs/zfs/zfs.c b/grub-core/fs/zfs/zfs.c
+index 9087a72..b078ccc 100644
+--- a/grub-core/fs/zfs/zfs.c
++++ b/grub-core/fs/zfs/zfs.c
+@@ -564,7 +564,7 @@ find_bestub (uberblock_phys_t * ub_array,
+       ubptr = (uberblock_phys_t *) ((grub_properly_aligned_t *) ub_array
+                                   + ((i << ub_shift)
+                                      / sizeof (grub_properly_aligned_t)));
+-      err = uberblock_verify (ubptr, offset, 1 << ub_shift);
++      err = uberblock_verify (ubptr, offset, (grub_size_t) 1 << ub_shift);
+       if (err)
+       {
+         grub_errno = GRUB_ERR_NONE;
+@@ -1543,7 +1543,7 @@ read_device (grub_uint64_t offset, struct grub_zfs_device_desc *desc,
+           high = grub_divmod64 ((offset >> desc->ashift) + c,
+                                 desc->n_children, &devn);
+-          csize = bsize << desc->ashift;
++          csize = (grub_size_t) bsize << desc->ashift;
+           if (csize > len)
+             csize = len;
+@@ -1635,8 +1635,8 @@ read_device (grub_uint64_t offset, struct grub_zfs_device_desc *desc,
+           while (len > 0)
+             {
+-              grub_size_t csize;
+-              csize = ((s / (desc->n_children - desc->nparity))
++              grub_size_t csize = s;
++              csize = ((csize / (desc->n_children - desc->nparity))
+                        << desc->ashift);
+               if (csize > len)
+                 csize = len;
+-- 
+2.14.2
+
diff --git a/boot/grub2/0071-zfsinfo-Correct-a-check-for-error-allocating-memory.patch b/boot/grub2/0071-zfsinfo-Correct-a-check-for-error-allocating-memory.patch
new file mode 100644 (file)
index 0000000..817fbc3
--- /dev/null
@@ -0,0 +1,36 @@
+From 7aab03418ec6a9b991aa44416cb2585aff4e7972 Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Thu, 26 Nov 2020 10:56:45 +0000
+Subject: [PATCH] zfsinfo: Correct a check for error allocating memory
+
+While arguably the check for grub_errno is correct, we should really be
+checking the return value from the function since it is always possible
+that grub_errno was set elsewhere, making this code behave incorrectly.
+
+Fixes: CID 73668
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/fs/zfs/zfsinfo.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/grub-core/fs/zfs/zfsinfo.c b/grub-core/fs/zfs/zfsinfo.c
+index c8a28ac..bf29180 100644
+--- a/grub-core/fs/zfs/zfsinfo.c
++++ b/grub-core/fs/zfs/zfsinfo.c
+@@ -358,8 +358,8 @@ grub_cmd_zfs_bootfs (grub_command_t cmd __attribute__ ((unused)), int argc,
+     return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("one argument expected"));
+   devname = grub_file_get_device_name (args[0]);
+-  if (grub_errno)
+-    return grub_errno;
++  if (devname == NULL)
++    return GRUB_ERR_OUT_OF_MEMORY;
+   dev = grub_device_open (devname);
+   grub_free (devname);
+-- 
+2.14.2
+
diff --git a/boot/grub2/0072-affs-Fix-memory-leaks.patch b/boot/grub2/0072-affs-Fix-memory-leaks.patch
new file mode 100644 (file)
index 0000000..bcbc037
--- /dev/null
@@ -0,0 +1,83 @@
+From 178ac5107389f8e5b32489d743d6824a5ebf342a Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Thu, 26 Nov 2020 12:48:07 +0000
+Subject: [PATCH] affs: Fix memory leaks
+
+The node structure reference is being allocated but not freed if it
+reaches the end of the function. If any of the hooks had returned
+a non-zero value, then node would have been copied in to the context
+reference, but otherwise node is not stored and should be freed.
+
+Similarly, the call to grub_affs_create_node() replaces the allocated
+memory in node with a newly allocated structure, leaking the existing
+memory pointed by node.
+
+Finally, when dir->parent is set, then we again replace node with newly
+allocated memory, which seems unnecessary when we copy in the values
+from dir->parent immediately after.
+
+Fixes: CID 73759
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/fs/affs.c | 18 ++++++++----------
+ 1 file changed, 8 insertions(+), 10 deletions(-)
+
+diff --git a/grub-core/fs/affs.c b/grub-core/fs/affs.c
+index 220b371..230e26a 100644
+--- a/grub-core/fs/affs.c
++++ b/grub-core/fs/affs.c
+@@ -400,12 +400,12 @@ grub_affs_iterate_dir (grub_fshelp_node_t dir,
+ {
+   unsigned int i;
+   struct grub_affs_file file;
+-  struct grub_fshelp_node *node = 0;
++  struct grub_fshelp_node *node, *orig_node;
+   struct grub_affs_data *data = dir->data;
+   grub_uint32_t *hashtable;
+   /* Create the directory entries for `.' and `..'.  */
+-  node = grub_zalloc (sizeof (*node));
++  node = orig_node = grub_zalloc (sizeof (*node));
+   if (!node)
+     return 1;
+     
+@@ -414,9 +414,6 @@ grub_affs_iterate_dir (grub_fshelp_node_t dir,
+     return 1;
+   if (dir->parent)
+     {
+-      node = grub_zalloc (sizeof (*node));
+-      if (!node)
+-      return 1;
+       *node = *dir->parent;
+       if (hook ("..", GRUB_FSHELP_DIR, node, hook_data))
+       return 1;
+@@ -456,17 +453,18 @@ grub_affs_iterate_dir (grub_fshelp_node_t dir,
+         if (grub_affs_create_node (dir, hook, hook_data, &node, &hashtable,
+                                    next, &file))
+-          return 1;
++          {
++            /* Node has been replaced in function. */
++            grub_free (orig_node);
++            return 1;
++          }
+         next = grub_be_to_cpu32 (file.next);
+       }
+     }
+-  grub_free (hashtable);
+-  return 0;
+-
+  fail:
+-  grub_free (node);
++  grub_free (orig_node);
+   grub_free (hashtable);
+   return 0;
+ }
+-- 
+2.14.2
+
diff --git a/boot/grub2/0073-libgcrypt-mpi-Fix-possible-unintended-sign-extension.patch b/boot/grub2/0073-libgcrypt-mpi-Fix-possible-unintended-sign-extension.patch
new file mode 100644 (file)
index 0000000..5e5bb2f
--- /dev/null
@@ -0,0 +1,50 @@
+From e8814c811132a70f9b55418f7567378a34ad3883 Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Tue, 3 Nov 2020 16:43:37 +0000
+Subject: [PATCH] libgcrypt/mpi: Fix possible unintended sign extension
+
+The array of unsigned char gets promoted to a signed 32-bit int before
+it is finally promoted to a size_t. There is the possibility that this
+may result in the signed-bit being set for the intermediate signed
+32-bit int. We should ensure that the promotion is to the correct type
+before we bitwise-OR the values.
+
+Fixes: CID 96697
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/lib/libgcrypt-grub/mpi/mpicoder.c | 2 +-
+ grub-core/lib/libgcrypt/mpi/mpicoder.c      | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/grub-core/lib/libgcrypt-grub/mpi/mpicoder.c b/grub-core/lib/libgcrypt-grub/mpi/mpicoder.c
+index 3d55dfc..faf1cd6 100644
+--- a/grub-core/lib/libgcrypt-grub/mpi/mpicoder.c
++++ b/grub-core/lib/libgcrypt-grub/mpi/mpicoder.c
+@@ -460,7 +460,7 @@ gcry_mpi_scan (struct gcry_mpi **ret_mpi, enum gcry_mpi_format format,
+       if (len && len < 4)
+         return gcry_error (GPG_ERR_TOO_SHORT);
+-      n = (s[0] << 24 | s[1] << 16 | s[2] << 8 | s[3]);
++      n = ((size_t)s[0] << 24 | (size_t)s[1] << 16 | (size_t)s[2] << 8 | (size_t)s[3]);
+       s += 4;
+       if (len)
+         len -= 4;
+diff --git a/grub-core/lib/libgcrypt/mpi/mpicoder.c b/grub-core/lib/libgcrypt/mpi/mpicoder.c
+index a3435ed..7ecad27 100644
+--- a/grub-core/lib/libgcrypt/mpi/mpicoder.c
++++ b/grub-core/lib/libgcrypt/mpi/mpicoder.c
+@@ -458,7 +458,7 @@ gcry_mpi_scan (struct gcry_mpi **ret_mpi, enum gcry_mpi_format format,
+       if (len && len < 4)
+         return gcry_error (GPG_ERR_TOO_SHORT);
+-      n = (s[0] << 24 | s[1] << 16 | s[2] << 8 | s[3]);
++      n = ((size_t)s[0] << 24 | (size_t)s[1] << 16 | (size_t)s[2] << 8 | (size_t)s[3]);
+       s += 4;
+       if (len)
+         len -= 4;
+-- 
+2.14.2
+
diff --git a/boot/grub2/0074-libgcrypt-mpi-Fix-possible-NULL-dereference.patch b/boot/grub2/0074-libgcrypt-mpi-Fix-possible-NULL-dereference.patch
new file mode 100644 (file)
index 0000000..80446aa
--- /dev/null
@@ -0,0 +1,49 @@
+From ae0f3fabeba7b393113d5dc185b6aff9b728136d Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Thu, 26 Nov 2020 10:41:54 +0000
+Subject: [PATCH] libgcrypt/mpi: Fix possible NULL dereference
+
+The code in gcry_mpi_scan() assumes that buffer is not NULL, but there
+is no explicit check for that, so we add one.
+
+Fixes: CID 73757
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/lib/libgcrypt-grub/mpi/mpicoder.c | 3 +++
+ grub-core/lib/libgcrypt/mpi/mpicoder.c      | 3 +++
+ 2 files changed, 6 insertions(+)
+
+diff --git a/grub-core/lib/libgcrypt-grub/mpi/mpicoder.c b/grub-core/lib/libgcrypt-grub/mpi/mpicoder.c
+index faf1cd6..e734dcf 100644
+--- a/grub-core/lib/libgcrypt-grub/mpi/mpicoder.c
++++ b/grub-core/lib/libgcrypt-grub/mpi/mpicoder.c
+@@ -381,6 +381,9 @@ gcry_mpi_scan (struct gcry_mpi **ret_mpi, enum gcry_mpi_format format,
+   unsigned int len;
+   int secure = (buffer && gcry_is_secure (buffer));
++  if (!buffer)
++    return gcry_error (GPG_ERR_INV_ARG);
++
+   if (format == GCRYMPI_FMT_SSH)
+     len = 0;
+   else
+diff --git a/grub-core/lib/libgcrypt/mpi/mpicoder.c b/grub-core/lib/libgcrypt/mpi/mpicoder.c
+index 7ecad27..6fe3891 100644
+--- a/grub-core/lib/libgcrypt/mpi/mpicoder.c
++++ b/grub-core/lib/libgcrypt/mpi/mpicoder.c
+@@ -379,6 +379,9 @@ gcry_mpi_scan (struct gcry_mpi **ret_mpi, enum gcry_mpi_format format,
+   unsigned int len;
+   int secure = (buffer && gcry_is_secure (buffer));
++  if (!buffer)
++    return gcry_error (GPG_ERR_INV_ARG);
++
+   if (format == GCRYMPI_FMT_SSH)
+     len = 0;
+   else
+-- 
+2.14.2
+
diff --git a/boot/grub2/0075-syslinux-Fix-memory-leak-while-parsing.patch b/boot/grub2/0075-syslinux-Fix-memory-leak-while-parsing.patch
new file mode 100644 (file)
index 0000000..acc3034
--- /dev/null
@@ -0,0 +1,44 @@
+From 95bc016dba94cab3d398dd74160665915cd08ad6 Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Thu, 26 Nov 2020 15:31:53 +0000
+Subject: [PATCH] syslinux: Fix memory leak while parsing
+
+In syslinux_parse_real() the 2 points where return is being called
+didn't release the memory stored in buf which is no longer required.
+
+Fixes: CID 176634
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/lib/syslinux_parse.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/grub-core/lib/syslinux_parse.c b/grub-core/lib/syslinux_parse.c
+index 4afa992..3acc6b4 100644
+--- a/grub-core/lib/syslinux_parse.c
++++ b/grub-core/lib/syslinux_parse.c
+@@ -737,7 +737,10 @@ syslinux_parse_real (struct syslinux_menu *menu)
+                 && grub_strncasecmp ("help", ptr3, ptr4 - ptr3) == 0))
+           {
+             if (helptext (ptr5, file, menu))
+-              return 1;
++              {
++                grub_free (buf);
++                return 1;
++              }
+             continue;
+           }
+@@ -757,6 +760,7 @@ syslinux_parse_real (struct syslinux_menu *menu)
+     }
+  fail:
+   grub_file_close (file);
++  grub_free (buf);
+   return err;
+ }
+-- 
+2.14.2
+
diff --git a/boot/grub2/0076-normal-completion-Fix-leaking-of-memory-when-process.patch b/boot/grub2/0076-normal-completion-Fix-leaking-of-memory-when-process.patch
new file mode 100644 (file)
index 0000000..52f01ab
--- /dev/null
@@ -0,0 +1,53 @@
+From 9213575b7a95b514bce80be5964a28d407d7d56d Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Fri, 4 Dec 2020 18:56:48 +0000
+Subject: [PATCH] normal/completion: Fix leaking of memory when processing a
+ completion
+
+It is possible for the code to reach the end of the function without
+freeing the memory allocated to argv and argc still to be 0.
+
+We should always call grub_free(argv). The grub_free() will handle
+a NULL argument correctly if it reaches that code without the memory
+being allocated.
+
+Fixes: CID 96672
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/normal/completion.c | 10 ++++------
+ 1 file changed, 4 insertions(+), 6 deletions(-)
+
+diff --git a/grub-core/normal/completion.c b/grub-core/normal/completion.c
+index 5961028..46e473c 100644
+--- a/grub-core/normal/completion.c
++++ b/grub-core/normal/completion.c
+@@ -400,8 +400,8 @@ char *
+ grub_normal_do_completion (char *buf, int *restore,
+                          void (*hook) (const char *, grub_completion_type_t, int))
+ {
+-  int argc;
+-  char **argv;
++  int argc = 0;
++  char **argv = NULL;
+   /* Initialize variables.  */
+   match = 0;
+@@ -516,10 +516,8 @@ grub_normal_do_completion (char *buf, int *restore,
+  fail:
+   if (argc != 0)
+-    {
+-      grub_free (argv[0]);
+-      grub_free (argv);
+-    }
++    grub_free (argv[0]);
++  grub_free (argv);
+   grub_free (match);
+   grub_errno = GRUB_ERR_NONE;
+-- 
+2.14.2
+
diff --git a/boot/grub2/0077-commands-hashsum-Fix-a-memory-leak.patch b/boot/grub2/0077-commands-hashsum-Fix-a-memory-leak.patch
new file mode 100644 (file)
index 0000000..ce06c55
--- /dev/null
@@ -0,0 +1,57 @@
+From 8b6f528e52e18b7a69f90b8dc3671d7b1147d9f3 Mon Sep 17 00:00:00 2001
+From: Chris Coulson <chris.coulson@canonical.com>
+Date: Tue, 1 Dec 2020 23:41:24 +0000
+Subject: [PATCH] commands/hashsum: Fix a memory leak
+
+check_list() uses grub_file_getline(), which allocates a buffer.
+If the hash list file contains invalid lines, the function leaks
+this buffer when it returns an error.
+
+Fixes: CID 176635
+
+Signed-off-by: Chris Coulson <chris.coulson@canonical.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/commands/hashsum.c | 15 ++++++++++++---
+ 1 file changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/grub-core/commands/hashsum.c b/grub-core/commands/hashsum.c
+index 456ba90..b8a22b0 100644
+--- a/grub-core/commands/hashsum.c
++++ b/grub-core/commands/hashsum.c
+@@ -128,11 +128,17 @@ check_list (const gcry_md_spec_t *hash, const char *hashfilename,
+         high = hextoval (*p++);
+         low = hextoval (*p++);
+         if (high < 0 || low < 0)
+-          return grub_error (GRUB_ERR_BAD_FILE_TYPE, "invalid hash list");
++          {
++            grub_free (buf);
++            return grub_error (GRUB_ERR_BAD_FILE_TYPE, "invalid hash list");
++          }
+         expected[i] = (high << 4) | low;
+       }
+       if ((p[0] != ' ' && p[0] != '\t') || (p[1] != ' ' && p[1] != '\t'))
+-      return grub_error (GRUB_ERR_BAD_FILE_TYPE, "invalid hash list");
++      {
++        grub_free (buf);
++        return grub_error (GRUB_ERR_BAD_FILE_TYPE, "invalid hash list");
++      }
+       p += 2;
+       if (prefix)
+       {
+@@ -140,7 +146,10 @@ check_list (const gcry_md_spec_t *hash, const char *hashfilename,
+         
+         filename = grub_xasprintf ("%s/%s", prefix, p);
+         if (!filename)
+-          return grub_errno;
++          {
++            grub_free (buf);
++            return grub_errno;
++          }
+         file = grub_file_open (filename, GRUB_FILE_TYPE_TO_HASH
+                                | (!uncompress ? GRUB_FILE_TYPE_NO_DECOMPRESS
+                                   : GRUB_FILE_TYPE_NONE));
+-- 
+2.14.2
+
diff --git a/boot/grub2/0079-video-efi_gop-Remove-unnecessary-return-value-of-gru.patch b/boot/grub2/0079-video-efi_gop-Remove-unnecessary-return-value-of-gru.patch
new file mode 100644 (file)
index 0000000..f459159
--- /dev/null
@@ -0,0 +1,95 @@
+From fc5951d3b1616055ef81a019a5affc09d13344d0 Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Tue, 8 Dec 2020 21:14:31 +0000
+Subject: [PATCH] video/efi_gop: Remove unnecessary return value of
+ grub_video_gop_fill_mode_info()
+
+The return value of grub_video_gop_fill_mode_info() is never able to be
+anything other than GRUB_ERR_NONE. So, rather than continue to return
+a value and checking it each time, it is more correct to redefine the
+function to not return anything and remove checks of its return value
+altogether.
+
+Fixes: CID 96701
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/video/efi_gop.c | 25 ++++++-------------------
+ 1 file changed, 6 insertions(+), 19 deletions(-)
+
+diff --git a/grub-core/video/efi_gop.c b/grub-core/video/efi_gop.c
+index 7f9d1c2..db2ee98 100644
+--- a/grub-core/video/efi_gop.c
++++ b/grub-core/video/efi_gop.c
+@@ -227,7 +227,7 @@ grub_video_gop_fill_real_mode_info (unsigned mode,
+   return GRUB_ERR_NONE;
+ }
+-static grub_err_t
++static void
+ grub_video_gop_fill_mode_info (unsigned mode,
+                              struct grub_efi_gop_mode_info *in,
+                              struct grub_video_mode_info *out)
+@@ -252,8 +252,6 @@ grub_video_gop_fill_mode_info (unsigned mode,
+   out->blit_format = GRUB_VIDEO_BLIT_FORMAT_BGRA_8888;
+   out->mode_type |= (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED
+                    | GRUB_VIDEO_MODE_TYPE_UPDATING_SWAP);
+-
+-  return GRUB_ERR_NONE;
+ }
+ static int
+@@ -266,7 +264,6 @@ grub_video_gop_iterate (int (*hook) (const struct grub_video_mode_info *info, vo
+       grub_efi_uintn_t size;
+       grub_efi_status_t status;
+       struct grub_efi_gop_mode_info *info = NULL;
+-      grub_err_t err;
+       struct grub_video_mode_info mode_info;
+        
+       status = efi_call_4 (gop->query_mode, gop, mode, &size, &info);
+@@ -277,12 +274,7 @@ grub_video_gop_iterate (int (*hook) (const struct grub_video_mode_info *info, vo
+         continue;
+       }
+-      err = grub_video_gop_fill_mode_info (mode, info, &mode_info);
+-      if (err)
+-      {
+-        grub_errno = GRUB_ERR_NONE;
+-        continue;
+-      }
++      grub_video_gop_fill_mode_info (mode, info, &mode_info);
+       if (hook (&mode_info, hook_arg))
+       return 1;
+     }
+@@ -466,13 +458,8 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
+   info = gop->mode->info;
+-  err = grub_video_gop_fill_mode_info (gop->mode->mode, info,
+-                                     &framebuffer.mode_info);
+-  if (err)
+-    {
+-      grub_dprintf ("video", "GOP: couldn't fill mode info\n");
+-      return err;
+-    }
++  grub_video_gop_fill_mode_info (gop->mode->mode, info,
++                               &framebuffer.mode_info);
+   framebuffer.ptr = (void *) (grub_addr_t) gop->mode->fb_base;
+   framebuffer.offscreen
+@@ -486,8 +473,8 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
+     {
+       grub_dprintf ("video", "GOP: couldn't allocate shadow\n");
+       grub_errno = 0;
+-      err = grub_video_gop_fill_mode_info (gop->mode->mode, info,
+-                                         &framebuffer.mode_info);
++      grub_video_gop_fill_mode_info (gop->mode->mode, info,
++                                   &framebuffer.mode_info);
+       buffer = framebuffer.ptr;
+     }
+     
+-- 
+2.14.2
+
diff --git a/boot/grub2/0080-video-fb-fbfill-Fix-potential-integer-overflow.patch b/boot/grub2/0080-video-fb-fbfill-Fix-potential-integer-overflow.patch
new file mode 100644 (file)
index 0000000..ef0cb1d
--- /dev/null
@@ -0,0 +1,79 @@
+From 7ce3259f67ac2cd93acb0ec0080c24b3b69e66c6 Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Wed, 4 Nov 2020 15:10:51 +0000
+Subject: [PATCH] video/fb/fbfill: Fix potential integer overflow
+
+The multiplication of 2 unsigned 32-bit integers may overflow before
+promotion to unsigned 64-bit. We should ensure that the multiplication
+is done with overflow detection. Additionally, use grub_sub() for
+subtraction.
+
+Fixes: CID 73640, CID 73697, CID 73702, CID 73823
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Signed-off-by: Marco A Benatto <mbenatto@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/video/fb/fbfill.c | 17 +++++++++++++----
+ 1 file changed, 13 insertions(+), 4 deletions(-)
+
+diff --git a/grub-core/video/fb/fbfill.c b/grub-core/video/fb/fbfill.c
+index 11816d0..a37acd1 100644
+--- a/grub-core/video/fb/fbfill.c
++++ b/grub-core/video/fb/fbfill.c
+@@ -31,6 +31,7 @@
+ #include <grub/fbfill.h>
+ #include <grub/fbutil.h>
+ #include <grub/types.h>
++#include <grub/safemath.h>
+ #include <grub/video.h>
+ /* Generic filler that works for every supported mode.  */
+@@ -61,7 +62,9 @@ grub_video_fbfill_direct32 (struct grub_video_fbblit_info *dst,
+   /* Calculate the number of bytes to advance from the end of one line
+      to the beginning of the next line.  */
+-  rowskip = dst->mode_info->pitch - dst->mode_info->bytes_per_pixel * width;
++  if (grub_mul (dst->mode_info->bytes_per_pixel, width, &rowskip) ||
++      grub_sub (dst->mode_info->pitch, rowskip, &rowskip))
++    return;
+   /* Get the start address.  */
+   dstptr = grub_video_fb_get_video_ptr (dst, x, y);
+@@ -98,7 +101,9 @@ grub_video_fbfill_direct24 (struct grub_video_fbblit_info *dst,
+ #endif
+   /* Calculate the number of bytes to advance from the end of one line
+      to the beginning of the next line.  */
+-  rowskip = dst->mode_info->pitch - dst->mode_info->bytes_per_pixel * width;
++  if (grub_mul (dst->mode_info->bytes_per_pixel, width, &rowskip) ||
++      grub_sub (dst->mode_info->pitch, rowskip, &rowskip))
++    return;
+   /* Get the start address.  */
+   dstptr = grub_video_fb_get_video_ptr (dst, x, y);
+@@ -131,7 +136,9 @@ grub_video_fbfill_direct16 (struct grub_video_fbblit_info *dst,
+   /* Calculate the number of bytes to advance from the end of one line
+      to the beginning of the next line.  */
+-  rowskip = (dst->mode_info->pitch - dst->mode_info->bytes_per_pixel * width);
++  if (grub_mul (dst->mode_info->bytes_per_pixel, width, &rowskip) ||
++      grub_sub (dst->mode_info->pitch, rowskip, &rowskip))
++    return;
+   /* Get the start address.  */
+   dstptr = grub_video_fb_get_video_ptr (dst, x, y);
+@@ -161,7 +168,9 @@ grub_video_fbfill_direct8 (struct grub_video_fbblit_info *dst,
+   /* Calculate the number of bytes to advance from the end of one line
+      to the beginning of the next line.  */
+-  rowskip = dst->mode_info->pitch - dst->mode_info->bytes_per_pixel * width;
++  if (grub_mul (dst->mode_info->bytes_per_pixel, width, &rowskip) ||
++      grub_sub (dst->mode_info->pitch, rowskip, &rowskip))
++    return;
+   /* Get the start address.  */
+   dstptr = grub_video_fb_get_video_ptr (dst, x, y);
+-- 
+2.14.2
+
diff --git a/boot/grub2/0081-video-fb-video_fb-Fix-multiple-integer-overflows.patch b/boot/grub2/0081-video-fb-video_fb-Fix-multiple-integer-overflows.patch
new file mode 100644 (file)
index 0000000..cd75284
--- /dev/null
@@ -0,0 +1,105 @@
+From 08e098b1dbf01e96376f594b337491bc4cfa48dd Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Wed, 4 Nov 2020 14:43:44 +0000
+Subject: [PATCH] video/fb/video_fb: Fix multiple integer overflows
+
+The calculation of the unsigned 64-bit value is being generated by
+multiplying 2, signed or unsigned, 32-bit integers which may overflow
+before promotion to unsigned 64-bit. Fix all of them.
+
+Fixes: CID 73703, CID 73767, CID 73833
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/video/fb/video_fb.c | 52 ++++++++++++++++++++++++++++++-------------
+ 1 file changed, 36 insertions(+), 16 deletions(-)
+
+diff --git a/grub-core/video/fb/video_fb.c b/grub-core/video/fb/video_fb.c
+index 1a602c8..1c9a138 100644
+--- a/grub-core/video/fb/video_fb.c
++++ b/grub-core/video/fb/video_fb.c
+@@ -25,6 +25,7 @@
+ #include <grub/fbutil.h>
+ #include <grub/bitmap.h>
+ #include <grub/dl.h>
++#include <grub/safemath.h>
+ GRUB_MOD_LICENSE ("GPLv3+");
+@@ -1417,15 +1418,23 @@ doublebuf_blit_update_screen (void)
+ {
+   if (framebuffer.current_dirty.first_line
+       <= framebuffer.current_dirty.last_line)
+-    grub_memcpy ((char *) framebuffer.pages[0]
+-               + framebuffer.current_dirty.first_line
+-               * framebuffer.back_target->mode_info.pitch,
+-               (char *) framebuffer.back_target->data
+-               + framebuffer.current_dirty.first_line
+-               * framebuffer.back_target->mode_info.pitch,
+-               framebuffer.back_target->mode_info.pitch
+-               * (framebuffer.current_dirty.last_line
+-                  - framebuffer.current_dirty.first_line));
++    {
++      grub_size_t copy_size;
++
++      if (grub_sub (framebuffer.current_dirty.last_line,
++                  framebuffer.current_dirty.first_line, &copy_size) ||
++        grub_mul (framebuffer.back_target->mode_info.pitch, copy_size, &copy_size))
++      {
++        /* Shouldn't happen, but if it does we've a bug. */
++        return GRUB_ERR_BUG;
++      }
++
++      grub_memcpy ((char *) framebuffer.pages[0] + framebuffer.current_dirty.first_line *
++                 framebuffer.back_target->mode_info.pitch,
++                 (char *) framebuffer.back_target->data + framebuffer.current_dirty.first_line *
++                 framebuffer.back_target->mode_info.pitch,
++                 copy_size);
++    }
+   framebuffer.current_dirty.first_line
+     = framebuffer.back_target->mode_info.height;
+   framebuffer.current_dirty.last_line = 0;
+@@ -1439,7 +1448,7 @@ grub_video_fb_doublebuf_blit_init (struct grub_video_fbrender_target **back,
+                                  volatile void *framebuf)
+ {
+   grub_err_t err;
+-  grub_size_t page_size = mode_info.pitch * mode_info.height;
++  grub_size_t page_size = (grub_size_t) mode_info.pitch * mode_info.height;
+   framebuffer.offscreen_buffer = grub_zalloc (page_size);
+   if (! framebuffer.offscreen_buffer)
+@@ -1482,12 +1491,23 @@ doublebuf_pageflipping_update_screen (void)
+     last_line = framebuffer.previous_dirty.last_line;
+   if (first_line <= last_line)
+-    grub_memcpy ((char *) framebuffer.pages[framebuffer.render_page]
+-               + first_line * framebuffer.back_target->mode_info.pitch,
+-               (char *) framebuffer.back_target->data
+-               + first_line * framebuffer.back_target->mode_info.pitch,
+-               framebuffer.back_target->mode_info.pitch
+-               * (last_line - first_line));
++    {
++      grub_size_t copy_size;
++
++      if (grub_sub (last_line, first_line, &copy_size) ||
++        grub_mul (framebuffer.back_target->mode_info.pitch, copy_size, &copy_size))
++      {
++        /* Shouldn't happen, but if it does we've a bug. */
++        return GRUB_ERR_BUG;
++      }
++
++      grub_memcpy ((char *) framebuffer.pages[framebuffer.render_page] + first_line *
++                 framebuffer.back_target->mode_info.pitch,
++                 (char *) framebuffer.back_target->data + first_line *
++                 framebuffer.back_target->mode_info.pitch,
++                 copy_size);
++    }
++
+   framebuffer.previous_dirty = framebuffer.current_dirty;
+   framebuffer.current_dirty.first_line
+     = framebuffer.back_target->mode_info.height;
+-- 
+2.14.2
+
diff --git a/boot/grub2/0082-video-fb-video_fb-Fix-possible-integer-overflow.patch b/boot/grub2/0082-video-fb-video_fb-Fix-possible-integer-overflow.patch
new file mode 100644 (file)
index 0000000..3b4bc22
--- /dev/null
@@ -0,0 +1,40 @@
+From 08413f2f4edec0e2d9bf15f836f6ee5ca2e379cb Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Fri, 4 Dec 2020 14:51:30 +0000
+Subject: [PATCH] video/fb/video_fb: Fix possible integer overflow
+
+It is minimal possibility that the values being used here will overflow.
+So, change the code to use the safemath function grub_mul() to ensure
+that doesn't happen.
+
+Fixes: CID 73761
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/video/fb/video_fb.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/grub-core/video/fb/video_fb.c b/grub-core/video/fb/video_fb.c
+index 1c9a138..ae6b89f 100644
+--- a/grub-core/video/fb/video_fb.c
++++ b/grub-core/video/fb/video_fb.c
+@@ -1537,7 +1537,13 @@ doublebuf_pageflipping_init (struct grub_video_mode_info *mode_info,
+                            volatile void *page1_ptr)
+ {
+   grub_err_t err;
+-  grub_size_t page_size = mode_info->pitch * mode_info->height;
++  grub_size_t page_size = 0;
++
++  if (grub_mul (mode_info->pitch, mode_info->height, &page_size))
++    {
++      /* Shouldn't happen, but if it does we've a bug. */
++      return GRUB_ERR_BUG;
++    }
+   framebuffer.offscreen_buffer = grub_malloc (page_size);
+   if (! framebuffer.offscreen_buffer)
+-- 
+2.14.2
+
diff --git a/boot/grub2/0083-video-readers-jpeg-Test-for-an-invalid-next-marker-r.patch b/boot/grub2/0083-video-readers-jpeg-Test-for-an-invalid-next-marker-r.patch
new file mode 100644 (file)
index 0000000..12aba36
--- /dev/null
@@ -0,0 +1,39 @@
+From 5f5eb7ca8e971227e95745abe541df3e1509360e Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Fri, 4 Dec 2020 15:39:00 +0000
+Subject: [PATCH] video/readers/jpeg: Test for an invalid next marker reference
+ from a jpeg file
+
+While it may never happen, and potentially could be caught at the end of
+the function, it is worth checking up front for a bad reference to the
+next marker just in case of a maliciously crafted file being provided.
+
+Fixes: CID 73694
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/video/readers/jpeg.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/grub-core/video/readers/jpeg.c b/grub-core/video/readers/jpeg.c
+index 31359a4..0b6ce3c 100644
+--- a/grub-core/video/readers/jpeg.c
++++ b/grub-core/video/readers/jpeg.c
+@@ -253,6 +253,12 @@ grub_jpeg_decode_quan_table (struct grub_jpeg_data *data)
+   next_marker = data->file->offset;
+   next_marker += grub_jpeg_get_word (data);
++  if (next_marker > data->file->size)
++    {
++      /* Should never be set beyond the size of the file. */
++      return grub_error (GRUB_ERR_BAD_FILE_TYPE, "jpeg: invalid next reference");
++    }
++
+   while (data->file->offset + sizeof (data->quan_table[id]) + 1
+        <= next_marker)
+     {
+-- 
+2.14.2
+
diff --git a/boot/grub2/0084-gfxmenu-gui_list-Remove-code-that-coverity-is-flaggi.patch b/boot/grub2/0084-gfxmenu-gui_list-Remove-code-that-coverity-is-flaggi.patch
new file mode 100644 (file)
index 0000000..73fcd78
--- /dev/null
@@ -0,0 +1,35 @@
+From 4a1aa5917595650efbd46b581368c470ebee42ab Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Mon, 7 Dec 2020 14:44:47 +0000
+Subject: [PATCH] gfxmenu/gui_list: Remove code that coverity is flagging as
+ dead
+
+The test of value for NULL before calling grub_strdup() is not required,
+since the if condition prior to this has already tested for value being
+NULL and cannot reach this code if it is.
+
+Fixes: CID 73659
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/gfxmenu/gui_list.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/grub-core/gfxmenu/gui_list.c b/grub-core/gfxmenu/gui_list.c
+index 01477cd..df334a6 100644
+--- a/grub-core/gfxmenu/gui_list.c
++++ b/grub-core/gfxmenu/gui_list.c
+@@ -771,7 +771,7 @@ list_set_property (void *vself, const char *name, const char *value)
+         {
+           self->need_to_recreate_boxes = 1;
+           grub_free (self->selected_item_box_pattern);
+-          self->selected_item_box_pattern = value ? grub_strdup (value) : 0;
++          self->selected_item_box_pattern = grub_strdup (value);
+           self->selected_item_box_pattern_inherit = 0;
+         }
+     }
+-- 
+2.14.2
+
diff --git a/boot/grub2/0085-loader-bsd-Check-for-NULL-arg-up-front.patch b/boot/grub2/0085-loader-bsd-Check-for-NULL-arg-up-front.patch
new file mode 100644 (file)
index 0000000..c370457
--- /dev/null
@@ -0,0 +1,48 @@
+From 5d5391b0a05abe76e04c1eb68dcc6cbef5326c4a Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Tue, 8 Dec 2020 21:47:13 +0000
+Subject: [PATCH] loader/bsd: Check for NULL arg up-front
+
+The code in the next block suggests that it is possible for .set to be
+true but .arg may still be NULL.
+
+This code assumes that it is never NULL, yet later is testing if it is
+NULL - that is inconsistent.
+
+So we should check first if .arg is not NULL, and remove this check that
+is being flagged by Coverity since it is no longer required.
+
+Fixes: CID 292471
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/loader/i386/bsd.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/grub-core/loader/i386/bsd.c b/grub-core/loader/i386/bsd.c
+index b92cbe9..8432283 100644
+--- a/grub-core/loader/i386/bsd.c
++++ b/grub-core/loader/i386/bsd.c
+@@ -1605,7 +1605,7 @@ grub_cmd_openbsd (grub_extcmd_context_t ctxt, int argc, char *argv[])
+   kernel_type = KERNEL_TYPE_OPENBSD;
+   bootflags = grub_bsd_parse_flags (ctxt->state, openbsd_flags);
+-  if (ctxt->state[OPENBSD_ROOT_ARG].set)
++  if (ctxt->state[OPENBSD_ROOT_ARG].set && ctxt->state[OPENBSD_ROOT_ARG].arg != NULL)
+     {
+       const char *arg = ctxt->state[OPENBSD_ROOT_ARG].arg;
+       unsigned type, unit, part;
+@@ -1622,7 +1622,7 @@ grub_cmd_openbsd (grub_extcmd_context_t ctxt, int argc, char *argv[])
+                          "unknown disk type name");
+       unit = grub_strtoul (arg, (char **) &arg, 10);
+-      if (! (arg && *arg >= 'a' && *arg <= 'z'))
++      if (! (*arg >= 'a' && *arg <= 'z'))
+       return grub_error (GRUB_ERR_BAD_ARGUMENT,
+                          "only device specifications of form "
+                          "<type><number><lowercase letter> are supported");
+-- 
+2.14.2
+
diff --git a/boot/grub2/0086-loader-xnu-Fix-memory-leak.patch b/boot/grub2/0086-loader-xnu-Fix-memory-leak.patch
new file mode 100644 (file)
index 0000000..aae6774
--- /dev/null
@@ -0,0 +1,39 @@
+From bcb59ece3263d118510c4440c4da0950f224bb7f Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Thu, 26 Nov 2020 12:53:10 +0000
+Subject: [PATCH] loader/xnu: Fix memory leak
+
+The code here is finished with the memory stored in name, but it only
+frees it if there curvalue is valid, while it could actually free it
+regardless.
+
+The fix is a simple relocation of the grub_free() to before the test
+of curvalue.
+
+Fixes: CID 96646
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/loader/xnu.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/grub-core/loader/xnu.c b/grub-core/loader/xnu.c
+index 44fd5a9..eb14462 100644
+--- a/grub-core/loader/xnu.c
++++ b/grub-core/loader/xnu.c
+@@ -1391,9 +1391,9 @@ grub_xnu_fill_devicetree (void)
+     name[len] = 0;
+     curvalue = grub_xnu_create_value (curkey, name);
++    grub_free (name);
+     if (!curvalue)
+       return grub_errno;
+-    grub_free (name);
+    
+     data = grub_malloc (grub_strlen (var->value) + 1);
+     if (!data)
+-- 
+2.14.2
+
diff --git a/boot/grub2/0087-loader-xnu-Free-driverkey-data-when-an-error-is-dete.patch b/boot/grub2/0087-loader-xnu-Free-driverkey-data-when-an-error-is-dete.patch
new file mode 100644 (file)
index 0000000..6388c5c
--- /dev/null
@@ -0,0 +1,78 @@
+From 4b4027b6b1c877d7ab467896b04c7bd1aadcfa15 Mon Sep 17 00:00:00 2001
+From: Marco A Benatto <mbenatto@redhat.com>
+Date: Mon, 30 Nov 2020 12:18:24 -0300
+Subject: [PATCH] loader/xnu: Free driverkey data when an error is detected in
+ grub_xnu_writetree_toheap()
+
+... to avoid memory leaks.
+
+Fixes: CID 96640
+
+Signed-off-by: Marco A Benatto <mbenatto@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/loader/xnu.c | 24 ++++++++++++++++++++----
+ 1 file changed, 20 insertions(+), 4 deletions(-)
+
+diff --git a/grub-core/loader/xnu.c b/grub-core/loader/xnu.c
+index eb14462..1a590db 100644
+--- a/grub-core/loader/xnu.c
++++ b/grub-core/loader/xnu.c
+@@ -227,26 +227,33 @@ grub_xnu_writetree_toheap (grub_addr_t *target, grub_size_t *size)
+   if (! memorymap)
+     return grub_errno;
+-  driverkey = (struct grub_xnu_devtree_key *) grub_malloc (sizeof (*driverkey));
++  driverkey = (struct grub_xnu_devtree_key *) grub_zalloc (sizeof (*driverkey));
+   if (! driverkey)
+     return grub_errno;
+   driverkey->name = grub_strdup ("DeviceTree");
+   if (! driverkey->name)
+-    return grub_errno;
++    {
++      err = grub_errno;
++      goto fail;
++    }
++
+   driverkey->datasize = sizeof (*extdesc);
+   driverkey->next = memorymap->first_child;
+   memorymap->first_child = driverkey;
+   driverkey->data = extdesc
+     = (struct grub_xnu_extdesc *) grub_malloc (sizeof (*extdesc));
+   if (! driverkey->data)
+-    return grub_errno;
++    {
++      err = grub_errno;
++      goto fail;
++    }
+   /* Allocate the space based on the size with dummy value. */
+   *size = grub_xnu_writetree_get_size (grub_xnu_devtree_root, "/");
+   err = grub_xnu_heap_malloc (ALIGN_UP (*size + 1, GRUB_XNU_PAGESIZE),
+                             &src, target);
+   if (err)
+-    return err;
++    goto fail;
+   /* Put real data in the dummy. */
+   extdesc->addr = *target;
+@@ -255,6 +262,15 @@ grub_xnu_writetree_toheap (grub_addr_t *target, grub_size_t *size)
+   /* Write the tree to heap. */
+   grub_xnu_writetree_toheap_real (src, grub_xnu_devtree_root, "/");
+   return GRUB_ERR_NONE;
++
++ fail:
++  memorymap->first_child = NULL;
++
++  grub_free (driverkey->data);
++  grub_free (driverkey->name);
++  grub_free (driverkey);
++
++  return err;
+ }
+ /* Find a key or value in parent key. */
+-- 
+2.14.2
+
diff --git a/boot/grub2/0088-loader-xnu-Check-if-pointer-is-NULL-before-using-it.patch b/boot/grub2/0088-loader-xnu-Check-if-pointer-is-NULL-before-using-it.patch
new file mode 100644 (file)
index 0000000..c26c264
--- /dev/null
@@ -0,0 +1,43 @@
+From 7c8a2b5d1421a0f2a33d33531f7561f3da93b844 Mon Sep 17 00:00:00 2001
+From: Paulo Flabiano Smorigo <pfsmorigo@canonical.com>
+Date: Mon, 30 Nov 2020 10:36:00 -0300
+Subject: [PATCH] loader/xnu: Check if pointer is NULL before using it
+
+Fixes: CID 73654
+
+Signed-off-by: Paulo Flabiano Smorigo <pfsmorigo@canonical.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/loader/xnu.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/grub-core/loader/xnu.c b/grub-core/loader/xnu.c
+index 1a590db..1c0cf6a 100644
+--- a/grub-core/loader/xnu.c
++++ b/grub-core/loader/xnu.c
+@@ -670,6 +670,9 @@ grub_xnu_load_driver (char *infoplistname, grub_file_t binaryfile,
+   char *name, *nameend;
+   int namelen;
++  if (infoplistname == NULL)
++    return grub_error (GRUB_ERR_BAD_FILENAME, N_("missing p-list filename"));
++
+   name = get_name_ptr (infoplistname);
+   nameend = grub_strchr (name, '/');
+@@ -701,10 +704,7 @@ grub_xnu_load_driver (char *infoplistname, grub_file_t binaryfile,
+   else
+     macho = 0;
+-  if (infoplistname)
+-    infoplist = grub_file_open (infoplistname, GRUB_FILE_TYPE_XNU_INFO_PLIST);
+-  else
+-    infoplist = 0;
++  infoplist = grub_file_open (infoplistname, GRUB_FILE_TYPE_XNU_INFO_PLIST);
+   grub_errno = GRUB_ERR_NONE;
+   if (infoplist)
+     {
+-- 
+2.14.2
+
diff --git a/boot/grub2/0089-util-grub-install-Fix-NULL-pointer-dereferences.patch b/boot/grub2/0089-util-grub-install-Fix-NULL-pointer-dereferences.patch
new file mode 100644 (file)
index 0000000..f9c3f5d
--- /dev/null
@@ -0,0 +1,42 @@
+From 8b3a95655b4391122e7b0315d8cc6f876caf8183 Mon Sep 17 00:00:00 2001
+From: Daniel Kiper <daniel.kiper@oracle.com>
+Date: Thu, 25 Feb 2021 18:35:01 +0100
+Subject: [PATCH] util/grub-install: Fix NULL pointer dereferences
+
+Two grub_device_open() calls does not have associated NULL checks
+for returned values. Fix that and appease the Coverity.
+
+Fixes: CID 314583
+
+Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
+Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ util/grub-install.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/util/grub-install.c b/util/grub-install.c
+index a82725f..367350f 100644
+--- a/util/grub-install.c
++++ b/util/grub-install.c
+@@ -1775,6 +1775,8 @@ main (int argc, char *argv[])
+         fill_core_services (core_services);
+         ins_dev = grub_device_open (install_drive);
++        if (ins_dev == NULL)
++          grub_util_error ("%s", grub_errmsg);
+         bless (ins_dev, core_services, 0);
+@@ -1875,6 +1877,8 @@ main (int argc, char *argv[])
+         fill_core_services(core_services);
+         ins_dev = grub_device_open (install_drive);
++        if (ins_dev == NULL)
++          grub_util_error ("%s", grub_errmsg);
+         bless (ins_dev, boot_efi, 1);
+         if (!removable && update_nvram)
+-- 
+2.14.2
+
diff --git a/boot/grub2/0090-util-grub-editenv-Fix-incorrect-casting-of-a-signed-.patch b/boot/grub2/0090-util-grub-editenv-Fix-incorrect-casting-of-a-signed-.patch
new file mode 100644 (file)
index 0000000..4420152
--- /dev/null
@@ -0,0 +1,47 @@
+From 5dc41edc4eba259c6043ae7698c245ec1baaacc6 Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Thu, 5 Nov 2020 14:33:50 +0000
+Subject: [PATCH] util/grub-editenv: Fix incorrect casting of a signed value
+
+The return value of ftell() may be negative (-1) on error. While it is
+probably unlikely to occur, we should not blindly cast to an unsigned
+value without first testing that it is not negative.
+
+Fixes: CID 73856
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ util/grub-editenv.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/util/grub-editenv.c b/util/grub-editenv.c
+index f3662c9..db6f187 100644
+--- a/util/grub-editenv.c
++++ b/util/grub-editenv.c
+@@ -125,6 +125,7 @@ open_envblk_file (const char *name)
+ {
+   FILE *fp;
+   char *buf;
++  long loc;
+   size_t size;
+   grub_envblk_t envblk;
+@@ -143,7 +144,12 @@ open_envblk_file (const char *name)
+     grub_util_error (_("cannot seek `%s': %s"), name,
+                    strerror (errno));
+-  size = (size_t) ftell (fp);
++  loc = ftell (fp);
++  if (loc < 0)
++    grub_util_error (_("cannot get file location `%s': %s"), name,
++                   strerror (errno));
++
++  size = (size_t) loc;
+   if (fseek (fp, 0, SEEK_SET) < 0)
+     grub_util_error (_("cannot seek `%s': %s"), name,
+-- 
+2.14.2
+
diff --git a/boot/grub2/0091-util-glue-efi-Fix-incorrect-use-of-a-possibly-negati.patch b/boot/grub2/0091-util-glue-efi-Fix-incorrect-use-of-a-possibly-negati.patch
new file mode 100644 (file)
index 0000000..6acc371
--- /dev/null
@@ -0,0 +1,51 @@
+From 1641d74e16f9d1ca35ba1a87ee4a0bf3afa48e72 Mon Sep 17 00:00:00 2001
+From: Darren Kenny <darren.kenny@oracle.com>
+Date: Fri, 4 Dec 2020 15:04:28 +0000
+Subject: [PATCH] util/glue-efi: Fix incorrect use of a possibly negative value
+
+It is possible for the ftell() function to return a negative value,
+although it is fairly unlikely here, we should be checking for
+a negative value before we assign it to an unsigned value.
+
+Fixes: CID 73744
+
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ util/glue-efi.c | 14 ++++++++++++--
+ 1 file changed, 12 insertions(+), 2 deletions(-)
+
+diff --git a/util/glue-efi.c b/util/glue-efi.c
+index 68f5316..de0fa6d 100644
+--- a/util/glue-efi.c
++++ b/util/glue-efi.c
+@@ -39,13 +39,23 @@ write_fat (FILE *in32, FILE *in64, FILE *out, const char *out_filename,
+   struct grub_macho_fat_header head;
+   struct grub_macho_fat_arch arch32, arch64;
+   grub_uint32_t size32, size64;
++  long size;
+   char *buf;
+   fseek (in32, 0, SEEK_END);
+-  size32 = ftell (in32);
++  size = ftell (in32);
++  if (size < 0)
++    grub_util_error ("cannot get end of input file '%s': %s",
++                   name32, strerror (errno));
++  size32 = (grub_uint32_t) size;
+   fseek (in32, 0, SEEK_SET);
++
+   fseek (in64, 0, SEEK_END);
+-  size64 = ftell (in64);
++  size = ftell (in64);
++  if (size < 0)
++    grub_util_error ("cannot get end of input file '%s': %s",
++                   name64, strerror (errno));
++  size64 = (grub_uint64_t) size;
+   fseek (in64, 0, SEEK_SET);
+   head.magic = grub_cpu_to_le32_compile_time (GRUB_MACHO_FAT_EFI_MAGIC);
+-- 
+2.14.2
+
diff --git a/boot/grub2/0092-script-execute-Fix-NULL-dereference-in-grub_script_e.patch b/boot/grub2/0092-script-execute-Fix-NULL-dereference-in-grub_script_e.patch
new file mode 100644 (file)
index 0000000..028e587
--- /dev/null
@@ -0,0 +1,29 @@
+From 41ae93b2e6c75453514629bcfe684300e3aec0ce Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Fri, 3 Apr 2020 23:05:13 +1100
+Subject: [PATCH] script/execute: Fix NULL dereference in
+ grub_script_execute_cmdline()
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/script/execute.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/grub-core/script/execute.c b/grub-core/script/execute.c
+index 7e028e1..5ea2aef 100644
+--- a/grub-core/script/execute.c
++++ b/grub-core/script/execute.c
+@@ -940,7 +940,7 @@ grub_script_execute_cmdline (struct grub_script_cmd *cmd)
+   struct grub_script_argv argv = { 0, 0, 0 };
+   /* Lookup the command.  */
+-  if (grub_script_arglist_to_argv (cmdline->arglist, &argv) || ! argv.args[0])
++  if (grub_script_arglist_to_argv (cmdline->arglist, &argv) || ! argv.args || ! argv.args[0])
+     return grub_errno;
+   for (i = 0; i < argv.argc; i++)
+-- 
+2.14.2
+
diff --git a/boot/grub2/0093-commands-ls-Require-device_name-is-not-NULL-before-p.patch b/boot/grub2/0093-commands-ls-Require-device_name-is-not-NULL-before-p.patch
new file mode 100644 (file)
index 0000000..58b61fd
--- /dev/null
@@ -0,0 +1,34 @@
+From 6afbe6063c95b827372f9ec310c9fc7461311eb1 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Mon, 11 Jan 2021 16:57:37 +1100
+Subject: [PATCH] commands/ls: Require device_name is not NULL before printing
+
+This can be triggered with:
+  ls -l (0 0*)
+and causes a NULL deref in grub_normal_print_device_info().
+
+I'm not sure if there's any implication with the IEEE 1275 platform.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/commands/ls.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/grub-core/commands/ls.c b/grub-core/commands/ls.c
+index 5b7491a..326d2d6 100644
+--- a/grub-core/commands/ls.c
++++ b/grub-core/commands/ls.c
+@@ -196,7 +196,7 @@ grub_ls_list_files (char *dirname, int longlist, int all, int human)
+       goto fail;
+     }
+-  if (! *path)
++  if (! *path && device_name)
+     {
+       if (grub_errno == GRUB_ERR_UNKNOWN_FS)
+       grub_errno = GRUB_ERR_NONE;
+-- 
+2.14.2
+
diff --git a/boot/grub2/0094-script-execute-Avoid-crash-when-using-outside-a-func.patch b/boot/grub2/0094-script-execute-Avoid-crash-when-using-outside-a-func.patch
new file mode 100644 (file)
index 0000000..a373908
--- /dev/null
@@ -0,0 +1,38 @@
+From fe0586347ee46f927ae27bb9673532da9f5dead5 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Mon, 11 Jan 2021 17:30:42 +1100
+Subject: [PATCH] script/execute: Avoid crash when using "$#" outside a
+ function scope
+
+"$#" represents the number of arguments to a function. It is only
+defined in a function scope, where "scope" is non-NULL. Currently,
+if we attempt to evaluate "$#" outside a function scope, "scope" will
+be NULL and we will crash with a NULL pointer dereference.
+
+Do not attempt to count arguments for "$#" if "scope" is NULL. This
+will result in "$#" being interpreted as an empty string if evaluated
+outside a function scope.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/script/execute.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/grub-core/script/execute.c b/grub-core/script/execute.c
+index 5ea2aef..23d34bd 100644
+--- a/grub-core/script/execute.c
++++ b/grub-core/script/execute.c
+@@ -485,7 +485,7 @@ gettext_putvar (const char *str, grub_size_t len,
+     return 0;
+   /* Enough for any number.  */
+-  if (len == 1 && str[0] == '#')
++  if (len == 1 && str[0] == '#' && scope != NULL)
+     {
+       grub_snprintf (*ptr, 30, "%u", scope->argv.argc);
+       *ptr += grub_strlen (*ptr);
+-- 
+2.14.2
+
diff --git a/boot/grub2/0095-lib-arg-Block-repeated-short-options-that-require-an.patch b/boot/grub2/0095-lib-arg-Block-repeated-short-options-that-require-an.patch
new file mode 100644 (file)
index 0000000..0338502
--- /dev/null
@@ -0,0 +1,56 @@
+From 2a330dba93ff11bc00eda76e9419bc52b0c7ead6 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Fri, 22 Jan 2021 16:07:29 +1100
+Subject: [PATCH] lib/arg: Block repeated short options that require an
+ argument
+
+Fuzzing found the following crash:
+
+  search -hhhhhhhhhhhhhf
+
+We didn't allocate enough option space for 13 hints because the
+allocation code counts the number of discrete arguments (i.e. argc).
+However, the shortopt parsing code will happily keep processing
+a combination of short options without checking if those short
+options require an argument. This means you can easily end writing
+past the allocated option space.
+
+This fixes a OOB write which can cause heap corruption.
+
+Fixes: CVE-2021-20225
+
+Reported-by: Daniel Axtens <dja@axtens.net>
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/lib/arg.c | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+diff --git a/grub-core/lib/arg.c b/grub-core/lib/arg.c
+index 3288609..537c5e9 100644
+--- a/grub-core/lib/arg.c
++++ b/grub-core/lib/arg.c
+@@ -299,6 +299,19 @@ grub_arg_parse (grub_extcmd_t cmd, int argc, char **argv,
+                it can have an argument value.  */
+             if (*curshort)
+               {
++                /*
++                 * Only permit further short opts if this one doesn't
++                 * require a value.
++                 */
++                if (opt->type != ARG_TYPE_NONE &&
++                    !(opt->flags & GRUB_ARG_OPTION_OPTIONAL))
++                  {
++                    grub_error (GRUB_ERR_BAD_ARGUMENT,
++                                N_("missing mandatory option for `%s'"),
++                                opt->longarg);
++                    goto fail;
++                  }
++
+                 if (parse_option (cmd, opt, 0, usr) || grub_errno)
+                   goto fail;
+               }
+-- 
+2.14.2
+
diff --git a/boot/grub2/0096-script-execute-Don-t-crash-on-a-for-loop-with-no-ite.patch b/boot/grub2/0096-script-execute-Don-t-crash-on-a-for-loop-with-no-ite.patch
new file mode 100644 (file)
index 0000000..4f543c5
--- /dev/null
@@ -0,0 +1,40 @@
+From 0a05f88e2bb33ed2a0cfd93f481f471efb7791aa Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Fri, 22 Jan 2021 16:18:26 +1100
+Subject: [PATCH] script/execute: Don't crash on a "for" loop with no items
+
+The following crashes the parser:
+
+  for x in; do
+  0
+  done
+
+This is because grub_script_arglist_to_argv() doesn't consider the
+possibility that arglist is NULL. Catch that explicitly.
+
+This avoids a NULL pointer dereference.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/script/execute.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/grub-core/script/execute.c b/grub-core/script/execute.c
+index 23d34bd..31dac25 100644
+--- a/grub-core/script/execute.c
++++ b/grub-core/script/execute.c
+@@ -624,6 +624,9 @@ grub_script_arglist_to_argv (struct grub_script_arglist *arglist,
+   struct grub_script_arg *arg = 0;
+   struct grub_script_argv result = { 0, 0, 0 };
++  if (arglist == NULL)
++    return 1;
++
+   for (; arglist && arglist->arg; arglist = arglist->next)
+     {
+       if (grub_script_argv_next (&result))
+-- 
+2.14.2
+
diff --git a/boot/grub2/0097-commands-menuentry-Fix-quoting-in-setparams_prefix.patch b/boot/grub2/0097-commands-menuentry-Fix-quoting-in-setparams_prefix.patch
new file mode 100644 (file)
index 0000000..23818d4
--- /dev/null
@@ -0,0 +1,48 @@
+From 2f533a89a8dfcacbf2c9dbc77d910f111f24bf33 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Fri, 22 Jan 2021 17:10:48 +1100
+Subject: [PATCH] commands/menuentry: Fix quoting in setparams_prefix()
+
+Commit 9acdcbf32542 (use single quotes in menuentry setparams command)
+says that expressing a quoted single quote will require 3 characters. It
+actually requires (and always did require!) 4 characters:
+
+  str: a'b => a'\''b
+  len:  3  => 6 (2 for the letters + 4 for the quote)
+
+This leads to not allocating enough memory and thus out of bounds writes
+that have been observed to cause heap corruption.
+
+Allocate 4 bytes for each single quote.
+
+Commit 22e7dbb2bb81 (Fix quoting in legacy parser.) does the same
+quoting, but it adds 3 as extra overhead on top of the single byte that
+the quote already needs. So it's correct.
+
+Fixes: 9acdcbf32542 (use single quotes in menuentry setparams command)
+Fixes: CVE-2021-20233
+
+Reported-by: Daniel Axtens <dja@axtens.net>
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/commands/menuentry.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/grub-core/commands/menuentry.c b/grub-core/commands/menuentry.c
+index 9164df7..720e6d8 100644
+--- a/grub-core/commands/menuentry.c
++++ b/grub-core/commands/menuentry.c
+@@ -230,7 +230,7 @@ setparams_prefix (int argc, char **args)
+       len += 3; /* 3 = 1 space + 2 quotes */
+       p = args[i];
+       while (*p)
+-      len += (*p++ == '\'' ? 3 : 1);
++      len += (*p++ == '\'' ? 4 : 1);
+     }
+   result = grub_malloc (len + 2);
+-- 
+2.14.2
+
diff --git a/boot/grub2/0098-kern-misc-Always-set-end-in-grub_strtoull.patch b/boot/grub2/0098-kern-misc-Always-set-end-in-grub_strtoull.patch
new file mode 100644 (file)
index 0000000..838804a
--- /dev/null
@@ -0,0 +1,47 @@
+From f41f0af48ab7f7c135aac17ac862c30bde0bbab7 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Wed, 13 Jan 2021 22:19:01 +1100
+Subject: [PATCH] kern/misc: Always set *end in grub_strtoull()
+
+Currently, if there is an error in grub_strtoull(), *end is not set.
+This differs from the usual behavior of strtoull(), and also means that
+some callers may use an uninitialized value for *end.
+
+Set *end unconditionally.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/kern/misc.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/grub-core/kern/misc.c b/grub-core/kern/misc.c
+index a7abd36..b02693b 100644
+--- a/grub-core/kern/misc.c
++++ b/grub-core/kern/misc.c
+@@ -406,6 +406,10 @@ grub_strtoull (const char *str, char **end, int base)
+       {
+         grub_error (GRUB_ERR_OUT_OF_RANGE,
+                     N_("overflow is detected"));
++
++          if (end)
++            *end = (char *) str;
++
+         return ~0ULL;
+       }
+@@ -417,6 +421,10 @@ grub_strtoull (const char *str, char **end, int base)
+     {
+       grub_error (GRUB_ERR_BAD_NUMBER,
+                 N_("unrecognized number"));
++
++      if (end)
++        *end = (char *) str;
++
+       return 0;
+     }
+-- 
+2.14.2
+
diff --git a/boot/grub2/0099-video-readers-jpeg-Catch-files-with-unsupported-quan.patch b/boot/grub2/0099-video-readers-jpeg-Catch-files-with-unsupported-quan.patch
new file mode 100644 (file)
index 0000000..d09f777
--- /dev/null
@@ -0,0 +1,53 @@
+From 693989598fd38c3c0b2a928f4f64865b5681762f Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Fri, 15 Jan 2021 12:57:04 +1100
+Subject: [PATCH] video/readers/jpeg: Catch files with unsupported quantization
+ or Huffman tables
+
+Our decoder only supports 2 quantization tables. If a file asks for
+a quantization table with index > 1, reject it.
+
+Similarly, our decoder only supports 4 Huffman tables. If a file asks
+for a Huffman table with index > 3, reject it.
+
+This fixes some out of bounds reads. It's not clear what degree of control
+over subsequent execution could be gained by someone who can carefully
+set up the contents of memory before loading an invalid JPEG file.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/video/readers/jpeg.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/grub-core/video/readers/jpeg.c b/grub-core/video/readers/jpeg.c
+index 0b6ce3c..23f919a 100644
+--- a/grub-core/video/readers/jpeg.c
++++ b/grub-core/video/readers/jpeg.c
+@@ -333,7 +333,11 @@ grub_jpeg_decode_sof (struct grub_jpeg_data *data)
+       else if (ss != JPEG_SAMPLING_1x1)
+       return grub_error (GRUB_ERR_BAD_FILE_TYPE,
+                          "jpeg: sampling method not supported");
++
+       data->comp_index[id][0] = grub_jpeg_get_byte (data);
++      if (data->comp_index[id][0] > 1)
++      return grub_error (GRUB_ERR_BAD_FILE_TYPE,
++                         "jpeg: too many quantization tables");
+     }
+   if (data->file->offset != next_marker)
+@@ -602,6 +606,10 @@ grub_jpeg_decode_sos (struct grub_jpeg_data *data)
+       ht = grub_jpeg_get_byte (data);
+       data->comp_index[id][1] = (ht >> 4);
+       data->comp_index[id][2] = (ht & 0xF) + 2;
++
++      if ((data->comp_index[id][1] < 0) || (data->comp_index[id][1] > 3) ||
++        (data->comp_index[id][2] < 0) || (data->comp_index[id][2] > 3))
++      return grub_error (GRUB_ERR_BAD_FILE_TYPE, "jpeg: invalid hufftable index");
+     }
+   grub_jpeg_get_byte (data);  /* Skip 3 unused bytes.  */
+-- 
+2.14.2
+
diff --git a/boot/grub2/0100-video-readers-jpeg-Catch-OOB-reads-writes-in-grub_jp.patch b/boot/grub2/0100-video-readers-jpeg-Catch-OOB-reads-writes-in-grub_jp.patch
new file mode 100644 (file)
index 0000000..9dabd97
--- /dev/null
@@ -0,0 +1,48 @@
+From 34b85a6e07014383ddcad09f99ff239ad752dd1a Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Fri, 15 Jan 2021 13:29:53 +1100
+Subject: [PATCH] video/readers/jpeg: Catch OOB reads/writes in
+ grub_jpeg_decode_du()
+
+The key line is:
+
+  du[jpeg_zigzag_order[pos]] = val * (int) data->quan_table[qt][pos];
+
+jpeg_zigzag_order is grub_uint8_t[64].
+
+I don't understand JPEG decoders quite well enough to explain what's
+going on here. However, I observe sometimes pos=64, which leads to an
+OOB read of the jpeg_zigzag_order global then an OOB write to du.
+That leads to various unpleasant memory corruption conditions.
+
+Catch where pos >= ARRAY_SIZE(jpeg_zigzag_order) and bail.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/video/readers/jpeg.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/grub-core/video/readers/jpeg.c b/grub-core/video/readers/jpeg.c
+index 23f919a..e514812 100644
+--- a/grub-core/video/readers/jpeg.c
++++ b/grub-core/video/readers/jpeg.c
+@@ -526,6 +526,14 @@ grub_jpeg_decode_du (struct grub_jpeg_data *data, int id, jpeg_data_unit_t du)
+       val = grub_jpeg_get_number (data, num & 0xF);
+       num >>= 4;
+       pos += num;
++
++      if (pos >= ARRAY_SIZE (jpeg_zigzag_order))
++      {
++        grub_error (GRUB_ERR_BAD_FILE_TYPE,
++                    "jpeg: invalid position in zigzag order!?");
++        return;
++      }
++
+       du[jpeg_zigzag_order[pos]] = val * (int) data->quan_table[qt][pos];
+       pos++;
+     }
+-- 
+2.14.2
+
diff --git a/boot/grub2/0101-video-readers-jpeg-Don-t-decode-data-before-start-of.patch b/boot/grub2/0101-video-readers-jpeg-Don-t-decode-data-before-start-of.patch
new file mode 100644 (file)
index 0000000..89d0830
--- /dev/null
@@ -0,0 +1,40 @@
+From 8338a8238f08d9f3ae4c2ddfff0603eff80af9e2 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Fri, 15 Jan 2021 14:06:46 +1100
+Subject: [PATCH] video/readers/jpeg: Don't decode data before start of stream
+
+When a start of stream marker is encountered, we call grub_jpeg_decode_sos()
+which allocates space for a bitmap.
+
+When a restart marker is encountered, we call grub_jpeg_decode_data() which
+then fills in that bitmap.
+
+If we get a restart marker before the start of stream marker, we will
+attempt to write to a bitmap_ptr that hasn't been allocated. Catch this
+and bail out. This fixes an attempt to write to NULL.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/video/readers/jpeg.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/grub-core/video/readers/jpeg.c b/grub-core/video/readers/jpeg.c
+index e514812..e31602f 100644
+--- a/grub-core/video/readers/jpeg.c
++++ b/grub-core/video/readers/jpeg.c
+@@ -646,6 +646,10 @@ grub_jpeg_decode_data (struct grub_jpeg_data *data)
+   nr1 = (data->image_height + vb - 1) >> (3 + data->log_vs);
+   nc1 = (data->image_width + hb - 1)  >> (3 + data->log_hs);
++  if (data->bitmap_ptr == NULL)
++    return grub_error(GRUB_ERR_BAD_FILE_TYPE,
++                    "jpeg: attempted to decode data before start of stream");
++
+   for (; data->r1 < nr1 && (!data->dri || rst);
+        data->r1++, data->bitmap_ptr += (vb * data->image_width - hb * nc1) * 3)
+     for (c1 = 0;  c1 < nc1 && (!data->dri || rst);
+-- 
+2.14.2
+
diff --git a/boot/grub2/0102-term-gfxterm-Don-t-set-up-a-font-with-glyphs-that-ar.patch b/boot/grub2/0102-term-gfxterm-Don-t-set-up-a-font-with-glyphs-that-ar.patch
new file mode 100644 (file)
index 0000000..fa81874
--- /dev/null
@@ -0,0 +1,52 @@
+From 829329bddb2c3e623270cc634cc9ab32e6455fe7 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Fri, 15 Jan 2021 20:03:20 +1100
+Subject: [PATCH] term/gfxterm: Don't set up a font with glyphs that are too
+ big
+
+Catch the case where we have a font so big that it causes the number of
+rows or columns to be 0. Currently we continue and allocate a
+virtual_screen.text_buffer of size 0. We then try to use that for glpyhs
+and things go badly.
+
+On the emu platform, malloc() may give us a valid pointer, in which case
+we'll access heap memory which we shouldn't. Alternatively, it may give us
+NULL, in which case we'll crash. For other platforms, if I understand
+grub_memalign() correctly, we will receive a valid but small allocation
+that we will very likely later overrun.
+
+Prevent the creation of a virtual screen that isn't at least 40 cols
+by 12 rows. This is arbitrary, but it seems that if your width or height
+is half a standard 80x24 terminal, you're probably going to struggle to
+read anything anyway.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/term/gfxterm.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/grub-core/term/gfxterm.c b/grub-core/term/gfxterm.c
+index af7c090..b40fcce 100644
+--- a/grub-core/term/gfxterm.c
++++ b/grub-core/term/gfxterm.c
+@@ -232,6 +232,15 @@ grub_virtual_screen_setup (unsigned int x, unsigned int y,
+   virtual_screen.columns = virtual_screen.width / virtual_screen.normal_char_width;
+   virtual_screen.rows = virtual_screen.height / virtual_screen.normal_char_height;
++  /*
++   * There must be a minimum number of rows and columns for the screen to
++   * make sense. Arbitrarily pick half of 80x24. If either dimensions is 0
++   * we would allocate 0 bytes for the text_buffer.
++   */
++  if (virtual_screen.columns < 40 || virtual_screen.rows < 12)
++    return grub_error (GRUB_ERR_BAD_FONT,
++                     "font: glyphs too large to fit on screen");
++
+   /* Allocate memory for text buffer.  */
+   virtual_screen.text_buffer =
+     (struct grub_colored_char *) grub_malloc (virtual_screen.columns
+-- 
+2.14.2
+
diff --git a/boot/grub2/0103-fs-fshelp-Catch-impermissibly-large-block-sizes-in-r.patch b/boot/grub2/0103-fs-fshelp-Catch-impermissibly-large-block-sizes-in-r.patch
new file mode 100644 (file)
index 0000000..00523ec
--- /dev/null
@@ -0,0 +1,47 @@
+From b5bc456f664bc301ab4cd5a17d3d23c6661c259e Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Mon, 18 Jan 2021 11:46:39 +1100
+Subject: [PATCH] fs/fshelp: Catch impermissibly large block sizes in read
+ helper
+
+A fuzzed HFS+ filesystem had log2blocksize = 22. This gave
+log2blocksize + GRUB_DISK_SECTOR_BITS = 31. 1 << 31 = 0x80000000,
+which is -1 as an int. This caused some wacky behavior later on in
+the function, leading to out-of-bounds writes on the destination buffer.
+
+Catch log2blocksize + GRUB_DISK_SECTOR_BITS >= 31. We could be stricter,
+but this is the minimum that will prevent integer size weirdness.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/fs/fshelp.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/grub-core/fs/fshelp.c b/grub-core/fs/fshelp.c
+index 4c902ad..a2d0d29 100644
+--- a/grub-core/fs/fshelp.c
++++ b/grub-core/fs/fshelp.c
+@@ -362,6 +362,18 @@ grub_fshelp_read_file (grub_disk_t disk, grub_fshelp_node_t node,
+   grub_disk_addr_t i, blockcnt;
+   int blocksize = 1 << (log2blocksize + GRUB_DISK_SECTOR_BITS);
++  /*
++   * Catch blatantly invalid log2blocksize. We could be a lot stricter, but
++   * this is the most permissive we can be before we start to see integer
++   * overflow/underflow issues.
++   */
++  if (log2blocksize + GRUB_DISK_SECTOR_BITS >= 31)
++    {
++      grub_error (GRUB_ERR_OUT_OF_RANGE,
++                N_("blocksize too large"));
++      return -1;
++    }
++
+   if (pos > filesize)
+     {
+       grub_error (GRUB_ERR_OUT_OF_RANGE,
+-- 
+2.14.2
+
diff --git a/boot/grub2/0104-fs-hfsplus-Don-t-fetch-a-key-beyond-the-end-of-the-n.patch b/boot/grub2/0104-fs-hfsplus-Don-t-fetch-a-key-beyond-the-end-of-the-n.patch
new file mode 100644 (file)
index 0000000..a8609a6
--- /dev/null
@@ -0,0 +1,33 @@
+From 58ea11d5b9ca0966bd9c68d8ba5240cf7dc3ba83 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Fri, 22 Jan 2021 18:13:56 +1100
+Subject: [PATCH] fs/hfsplus: Don't fetch a key beyond the end of the node
+
+Otherwise you get a wild pointer, leading to a bunch of invalid reads.
+Check it falls inside the given node.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/fs/hfsplus.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/grub-core/fs/hfsplus.c b/grub-core/fs/hfsplus.c
+index 8fe7c12..1c7791b 100644
+--- a/grub-core/fs/hfsplus.c
++++ b/grub-core/fs/hfsplus.c
+@@ -635,6 +635,10 @@ grub_hfsplus_btree_search (struct grub_hfsplus_btree *btree,
+             pointer = ((char *) currkey
+                        + grub_be_to_cpu16 (currkey->keylen)
+                        + 2);
++
++            if ((char *) pointer > node + btree->nodesize - 2)
++              return grub_error (GRUB_ERR_BAD_FS, "HFS+ key beyond end of node");
++
+             currnode = grub_be_to_cpu32 (grub_get_unaligned32 (pointer));
+             match = 1;
+           }
+-- 
+2.14.2
+
diff --git a/boot/grub2/0105-fs-hfsplus-Don-t-use-uninitialized-data-on-corrupt-f.patch b/boot/grub2/0105-fs-hfsplus-Don-t-use-uninitialized-data-on-corrupt-f.patch
new file mode 100644 (file)
index 0000000..a83a21e
--- /dev/null
@@ -0,0 +1,108 @@
+From 2ca0e5dbcdcb6fc93ccae39a0f39d0dba4a7ff20 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Tue, 2 Feb 2021 16:59:35 +1100
+Subject: [PATCH] fs/hfsplus: Don't use uninitialized data on corrupt
+ filesystems
+
+Valgrind identified the following use of uninitialized data:
+
+  ==2782220== Conditional jump or move depends on uninitialised value(s)
+  ==2782220==    at 0x42B364: grub_hfsplus_btree_search (hfsplus.c:566)
+  ==2782220==    by 0x42B21D: grub_hfsplus_read_block (hfsplus.c:185)
+  ==2782220==    by 0x42A693: grub_fshelp_read_file (fshelp.c:386)
+  ==2782220==    by 0x42C598: grub_hfsplus_read_file (hfsplus.c:219)
+  ==2782220==    by 0x42C598: grub_hfsplus_mount (hfsplus.c:330)
+  ==2782220==    by 0x42B8C5: grub_hfsplus_dir (hfsplus.c:958)
+  ==2782220==    by 0x4C1AE6: grub_fs_probe (fs.c:73)
+  ==2782220==    by 0x407C94: grub_ls_list_files (ls.c:186)
+  ==2782220==    by 0x407C94: grub_cmd_ls (ls.c:284)
+  ==2782220==    by 0x4D7130: grub_extcmd_dispatcher (extcmd.c:55)
+  ==2782220==    by 0x4045A6: execute_command (grub-fstest.c:59)
+  ==2782220==    by 0x4045A6: fstest (grub-fstest.c:433)
+  ==2782220==    by 0x4045A6: main (grub-fstest.c:772)
+  ==2782220==  Uninitialised value was created by a heap allocation
+  ==2782220==    at 0x483C7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
+  ==2782220==    by 0x4C0305: grub_malloc (mm.c:42)
+  ==2782220==    by 0x42C21D: grub_hfsplus_mount (hfsplus.c:239)
+  ==2782220==    by 0x42B8C5: grub_hfsplus_dir (hfsplus.c:958)
+  ==2782220==    by 0x4C1AE6: grub_fs_probe (fs.c:73)
+  ==2782220==    by 0x407C94: grub_ls_list_files (ls.c:186)
+  ==2782220==    by 0x407C94: grub_cmd_ls (ls.c:284)
+  ==2782220==    by 0x4D7130: grub_extcmd_dispatcher (extcmd.c:55)
+  ==2782220==    by 0x4045A6: execute_command (grub-fstest.c:59)
+  ==2782220==    by 0x4045A6: fstest (grub-fstest.c:433)
+  ==2782220==    by 0x4045A6: main (grub-fstest.c:772)
+
+This happens when the process of reading the catalog file goes sufficiently
+wrong that there's an attempt to read the extent overflow file, which has
+not yet been loaded. Keep track of when the extent overflow file is
+fully loaded and refuse to use it before then.
+
+The load valgrind doesn't like is btree->nodesize, and that's then used
+to allocate a data structure. It looks like there are subsequently a lot
+of reads based on that pointer so OOB reads are likely, and indeed crashes
+(albeit difficult-to-replicate ones) have been observed in fuzzing.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/fs/hfsplus.c | 14 ++++++++++++++
+ include/grub/hfsplus.h |  2 ++
+ 2 files changed, 16 insertions(+)
+
+diff --git a/grub-core/fs/hfsplus.c b/grub-core/fs/hfsplus.c
+index 1c7791b..361e5be 100644
+--- a/grub-core/fs/hfsplus.c
++++ b/grub-core/fs/hfsplus.c
+@@ -177,6 +177,17 @@ grub_hfsplus_read_block (grub_fshelp_node_t node, grub_disk_addr_t fileblock)
+         break;
+       }
++      /*
++       * If the extent overflow tree isn't ready yet, we can't look
++       * in it. This can happen where the catalog file is corrupted.
++       */
++      if (!node->data->extoverflow_tree_ready)
++      {
++        grub_error (GRUB_ERR_BAD_FS,
++                    "attempted to read extent overflow tree before loading");
++        break;
++      }
++
+       /* Set up the key to look for in the extent overflow file.  */
+       extoverflow.extkey.fileid = node->fileid;
+       extoverflow.extkey.type = 0;
+@@ -241,6 +252,7 @@ grub_hfsplus_mount (grub_disk_t disk)
+     return 0;
+   data->disk = disk;
++  data->extoverflow_tree_ready = 0;
+   /* Read the bootblock.  */
+   grub_disk_read (disk, GRUB_HFSPLUS_SBLOCK, 0, sizeof (volheader),
+@@ -357,6 +369,8 @@ grub_hfsplus_mount (grub_disk_t disk)
+   if (data->extoverflow_tree.nodesize < 2)
+     goto fail;
++  data->extoverflow_tree_ready = 1;
++
+   if (grub_hfsplus_read_file (&data->attr_tree.file, 0, 0,
+                             sizeof (struct grub_hfsplus_btnode),
+                             sizeof (header), (char *) &header) <= 0)
+diff --git a/include/grub/hfsplus.h b/include/grub/hfsplus.h
+index 117740a..e14dd31 100644
+--- a/include/grub/hfsplus.h
++++ b/include/grub/hfsplus.h
+@@ -113,6 +113,8 @@ struct grub_hfsplus_data
+   struct grub_hfsplus_btree extoverflow_tree;
+   struct grub_hfsplus_btree attr_tree;
++  int extoverflow_tree_ready;
++
+   struct grub_hfsplus_file dirroot;
+   struct grub_hfsplus_file opened_file;
+-- 
+2.14.2
+
diff --git a/boot/grub2/0106-fs-hfs-Disable-under-lockdown.patch b/boot/grub2/0106-fs-hfs-Disable-under-lockdown.patch
new file mode 100644 (file)
index 0000000..42e4ee4
--- /dev/null
@@ -0,0 +1,47 @@
+From 1c15848838d924552611247110723e2a1c17a5a1 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Mon, 18 Jan 2021 12:19:07 +1100
+Subject: [PATCH] fs/hfs: Disable under lockdown
+
+HFS has issues such as infinite mutual recursion that are simply too
+complex to fix for such a legacy format. So simply do not permit
+it to be loaded under lockdown.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/fs/hfs.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/grub-core/fs/hfs.c b/grub-core/fs/hfs.c
+index 3fe842b..9a5b7bb 100644
+--- a/grub-core/fs/hfs.c
++++ b/grub-core/fs/hfs.c
+@@ -30,6 +30,7 @@
+ #include <grub/hfs.h>
+ #include <grub/i18n.h>
+ #include <grub/fshelp.h>
++#include <grub/lockdown.h>
+ GRUB_MOD_LICENSE ("GPLv3+");
+@@ -1433,11 +1434,13 @@ static struct grub_fs grub_hfs_fs =
+ GRUB_MOD_INIT(hfs)
+ {
+-  grub_fs_register (&grub_hfs_fs);
++  if (!grub_is_lockdown ())
++    grub_fs_register (&grub_hfs_fs);
+   my_mod = mod;
+ }
+ GRUB_MOD_FINI(hfs)
+ {
+-  grub_fs_unregister (&grub_hfs_fs);
++  if (!grub_is_lockdown())
++    grub_fs_unregister (&grub_hfs_fs);
+ }
+-- 
+2.14.2
+
diff --git a/boot/grub2/0107-fs-sfs-Fix-over-read-of-root-object-name.patch b/boot/grub2/0107-fs-sfs-Fix-over-read-of-root-object-name.patch
new file mode 100644 (file)
index 0000000..840bfc2
--- /dev/null
@@ -0,0 +1,50 @@
+From 8d3ae59dee2930d640add3bba983006e1f5dd1b6 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Mon, 18 Jan 2021 14:34:58 +1100
+Subject: [PATCH] fs/sfs: Fix over-read of root object name
+
+There's a read of the name of the root object that assumes that the name
+is nul-terminated within the root block. This isn't guaranteed - it seems
+SFS would require you to read multiple blocks to get a full name in general,
+but maybe that doesn't apply to the root object.
+
+Either way, figure out how much space is left in the root block and don't
+over-read it. This fixes some OOB reads.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/fs/sfs.c | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/grub-core/fs/sfs.c b/grub-core/fs/sfs.c
+index de2b107..983e880 100644
+--- a/grub-core/fs/sfs.c
++++ b/grub-core/fs/sfs.c
+@@ -373,6 +373,7 @@ grub_sfs_mount (grub_disk_t disk)
+   struct grub_sfs_objc *rootobjc;
+   char *rootobjc_data = 0;
+   grub_uint32_t blk;
++  unsigned int max_len;
+   data = grub_malloc (sizeof (*data));
+   if (!data)
+@@ -421,7 +422,13 @@ grub_sfs_mount (grub_disk_t disk)
+   data->diropen.data = data;
+   data->diropen.cache = 0;
+   data->disk = disk;
+-  data->label = grub_strdup ((char *) (rootobjc->objects[0].filename));
++
++  /* We only read 1 block of data, so truncate the name if needed. */
++  max_len = ((GRUB_DISK_SECTOR_SIZE << data->log_blocksize)
++           - 24    /* offsetof (struct grub_sfs_objc, objects) */
++           - 25);  /* offsetof (struct grub_sfs_obj, filename) */
++  data->label = grub_zalloc (max_len + 1);
++  grub_strncpy (data->label, (char *) rootobjc->objects[0].filename, max_len);
+   grub_free (rootobjc_data);
+   return data;
+-- 
+2.14.2
+
diff --git a/boot/grub2/0108-fs-jfs-Do-not-move-to-leaf-level-if-name-length-is-n.patch b/boot/grub2/0108-fs-jfs-Do-not-move-to-leaf-level-if-name-length-is-n.patch
new file mode 100644 (file)
index 0000000..dc629ba
--- /dev/null
@@ -0,0 +1,34 @@
+From ffd5a46f68710e2781899d0be4d701429a5a817d Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Mon, 18 Jan 2021 14:51:11 +1100
+Subject: [PATCH] fs/jfs: Do not move to leaf level if name length is negative
+
+Fuzzing JFS revealed crashes where a negative number would be passed
+to le_to_cpu16_copy(). There it would be cast to a large positive number
+and the copy would read and write off the end of the respective buffers.
+
+Catch this at the top as well as the bottom of the loop.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/fs/jfs.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/grub-core/fs/jfs.c b/grub-core/fs/jfs.c
+index d5a6d65..e5bbda6 100644
+--- a/grub-core/fs/jfs.c
++++ b/grub-core/fs/jfs.c
+@@ -567,7 +567,7 @@ grub_jfs_getent (struct grub_jfs_diropen *diro)
+   /* Move down to the leaf level.  */
+   nextent = leaf->next;
+-  if (leaf->next != 255)
++  if (leaf->next != 255 && len > 0)
+     do
+       {
+       next_leaf = &diro->next_leaf[nextent];
+-- 
+2.14.2
+
diff --git a/boot/grub2/0109-fs-jfs-Limit-the-extents-that-getblk-can-consider.patch b/boot/grub2/0109-fs-jfs-Limit-the-extents-that-getblk-can-consider.patch
new file mode 100644 (file)
index 0000000..9c8ecd2
--- /dev/null
@@ -0,0 +1,62 @@
+From bd0cf8148ccf721f6e39ffbd70f8abad0c8897f0 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Mon, 18 Jan 2021 14:57:17 +1100
+Subject: [PATCH] fs/jfs: Limit the extents that getblk() can consider
+
+getblk() implicitly trusts that treehead->count is an accurate count of
+the number of extents. However, that value is read from disk and is not
+trustworthy, leading to OOB reads and crashes. I am not sure to what
+extent the data read from OOB can influence subsequent program execution.
+
+Require callers to pass in the maximum number of extents for which
+they have storage.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/fs/jfs.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/grub-core/fs/jfs.c b/grub-core/fs/jfs.c
+index e5bbda6..804c42d 100644
+--- a/grub-core/fs/jfs.c
++++ b/grub-core/fs/jfs.c
+@@ -261,13 +261,15 @@ static grub_err_t grub_jfs_lookup_symlink (struct grub_jfs_data *data, grub_uint
+ static grub_int64_t
+ getblk (struct grub_jfs_treehead *treehead,
+       struct grub_jfs_tree_extent *extents,
++      int max_extents,
+       struct grub_jfs_data *data,
+       grub_uint64_t blk)
+ {
+   int found = -1;
+   int i;
+-  for (i = 0; i < grub_le_to_cpu16 (treehead->count) - 2; i++)
++  for (i = 0; i < grub_le_to_cpu16 (treehead->count) - 2 &&
++            i < max_extents; i++)
+     {
+       if (treehead->flags & GRUB_JFS_TREE_LEAF)
+       {
+@@ -302,7 +304,7 @@ getblk (struct grub_jfs_treehead *treehead,
+                          << (grub_le_to_cpu16 (data->sblock.log2_blksz)
+                              - GRUB_DISK_SECTOR_BITS), 0,
+                          sizeof (*tree), (char *) tree))
+-      ret = getblk (&tree->treehead, &tree->extents[0], data, blk);
++      ret = getblk (&tree->treehead, &tree->extents[0], 254, data, blk);
+       grub_free (tree);
+       return ret;
+     }
+@@ -316,7 +318,7 @@ static grub_int64_t
+ grub_jfs_blkno (struct grub_jfs_data *data, struct grub_jfs_inode *inode,
+               grub_uint64_t blk)
+ {
+-  return getblk (&inode->file.tree, &inode->file.extents[0], data, blk);
++  return getblk (&inode->file.tree, &inode->file.extents[0], 16, data, blk);
+ }
+-- 
+2.14.2
+
diff --git a/boot/grub2/0110-fs-jfs-Catch-infinite-recursion.patch b/boot/grub2/0110-fs-jfs-Catch-infinite-recursion.patch
new file mode 100644 (file)
index 0000000..9886659
--- /dev/null
@@ -0,0 +1,46 @@
+From 223120dd83745126cb232a0248c9a8901d7e350d Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Mon, 18 Jan 2021 15:47:24 +1100
+Subject: [PATCH] fs/jfs: Catch infinite recursion
+
+It's possible with a fuzzed filesystem for JFS to keep getblk()-ing
+the same data over and over again, leading to stack exhaustion.
+
+Check if we'd be calling the function with exactly the same data as
+was passed in, and if so abort.
+
+I'm not sure what the performance impact of this is and am open to
+better ideas.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/fs/jfs.c | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/grub-core/fs/jfs.c b/grub-core/fs/jfs.c
+index 804c42d..6f7c439 100644
+--- a/grub-core/fs/jfs.c
++++ b/grub-core/fs/jfs.c
+@@ -304,7 +304,16 @@ getblk (struct grub_jfs_treehead *treehead,
+                          << (grub_le_to_cpu16 (data->sblock.log2_blksz)
+                              - GRUB_DISK_SECTOR_BITS), 0,
+                          sizeof (*tree), (char *) tree))
+-      ret = getblk (&tree->treehead, &tree->extents[0], 254, data, blk);
++      {
++        if (grub_memcmp (&tree->treehead, treehead, sizeof (struct grub_jfs_treehead)) ||
++            grub_memcmp (&tree->extents, extents, 254 * sizeof (struct grub_jfs_tree_extent)))
++          ret = getblk (&tree->treehead, &tree->extents[0], 254, data, blk);
++        else
++          {
++            grub_error (GRUB_ERR_BAD_FS, "jfs: infinite recursion detected");
++            ret = -1;
++          }
++      }
+       grub_free (tree);
+       return ret;
+     }
+-- 
+2.14.2
+
diff --git a/boot/grub2/0111-fs-nilfs2-Reject-too-large-keys.patch b/boot/grub2/0111-fs-nilfs2-Reject-too-large-keys.patch
new file mode 100644 (file)
index 0000000..d442f3c
--- /dev/null
@@ -0,0 +1,46 @@
+From 20ab8cb44bc140a1dedda82a3fccdd45e9bc6929 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Mon, 18 Jan 2021 16:49:09 +1100
+Subject: [PATCH] fs/nilfs2: Reject too-large keys
+
+NILFS2 has up to 7 keys, per the data structure. Do not permit array
+indices in excess of that.
+
+This catches some OOB reads. I don't know how controllable the invalidly
+read data is or if that could be used later in the program.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/fs/nilfs2.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/grub-core/fs/nilfs2.c b/grub-core/fs/nilfs2.c
+index 7ed148d..fee2242 100644
+--- a/grub-core/fs/nilfs2.c
++++ b/grub-core/fs/nilfs2.c
+@@ -569,6 +569,11 @@ grub_nilfs2_btree_lookup (struct grub_nilfs2_data *data,
+ static inline grub_uint64_t
+ grub_nilfs2_direct_lookup (struct grub_nilfs2_inode *inode, grub_uint64_t key)
+ {
++  if (1 + key > 6)
++    {
++      grub_error (GRUB_ERR_BAD_FS, "key is too large");
++      return 0xffffffffffffffff;
++    }
+   return grub_le_to_cpu64 (inode->i_bmap[1 + key]);
+ }
+@@ -584,7 +589,7 @@ grub_nilfs2_bmap_lookup (struct grub_nilfs2_data *data,
+     {
+       grub_uint64_t ptr;
+       ptr = grub_nilfs2_direct_lookup (inode, key);
+-      if (need_translate)
++      if (ptr != ((grub_uint64_t) 0xffffffffffffffff) && need_translate)
+       ptr = grub_nilfs2_dat_translate (data, ptr);
+       return ptr;
+     }
+-- 
+2.14.2
+
diff --git a/boot/grub2/0112-fs-nilfs2-Don-t-search-children-if-provided-number-i.patch b/boot/grub2/0112-fs-nilfs2-Don-t-search-children-if-provided-number-i.patch
new file mode 100644 (file)
index 0000000..426acee
--- /dev/null
@@ -0,0 +1,100 @@
+From 37c0eb05cdcc64c28d31c4ebd300f14d5239d05e Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Mon, 18 Jan 2021 16:49:44 +1100
+Subject: [PATCH] fs/nilfs2: Don't search children if provided number is too
+ large
+
+NILFS2 reads the number of children a node has from the node. Unfortunately,
+that's not trustworthy. Check if it's beyond what the filesystem permits and
+reject it if so.
+
+This blocks some OOB reads. I'm not sure how controllable the read is and what
+could be done with invalidly read data later on.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/fs/nilfs2.c | 38 +++++++++++++++++++++++---------------
+ 1 file changed, 23 insertions(+), 15 deletions(-)
+
+diff --git a/grub-core/fs/nilfs2.c b/grub-core/fs/nilfs2.c
+index fee2242..43ac1ad 100644
+--- a/grub-core/fs/nilfs2.c
++++ b/grub-core/fs/nilfs2.c
+@@ -416,14 +416,34 @@ grub_nilfs2_btree_node_get_key (struct grub_nilfs2_btree_node *node,
+ }
+ static inline int
+-grub_nilfs2_btree_node_lookup (struct grub_nilfs2_btree_node *node,
++grub_nilfs2_btree_node_nchildren_max (struct grub_nilfs2_data *data,
++                                    struct grub_nilfs2_btree_node *node)
++{
++  int node_children_max = ((NILFS2_BLOCK_SIZE (data) -
++                          sizeof (struct grub_nilfs2_btree_node) -
++                          NILFS_BTREE_NODE_EXTRA_PAD_SIZE) /
++                         (sizeof (grub_uint64_t) + sizeof (grub_uint64_t)));
++
++  return (node->bn_flags & NILFS_BTREE_NODE_ROOT) ? 3 : node_children_max;
++}
++
++static inline int
++grub_nilfs2_btree_node_lookup (struct grub_nilfs2_data *data,
++                             struct grub_nilfs2_btree_node *node,
+                              grub_uint64_t key, int *indexp)
+ {
+   grub_uint64_t nkey;
+   int index, low, high, s;
+   low = 0;
++
+   high = grub_le_to_cpu16 (node->bn_nchildren) - 1;
++  if (high >= grub_nilfs2_btree_node_nchildren_max (data, node))
++    {
++      grub_error (GRUB_ERR_BAD_FS, "too many children");
++      return 0;
++    }
++
+   index = 0;
+   s = 0;
+   while (low <= high)
+@@ -459,18 +479,6 @@ grub_nilfs2_btree_node_lookup (struct grub_nilfs2_btree_node *node,
+   return s == 0;
+ }
+-static inline int
+-grub_nilfs2_btree_node_nchildren_max (struct grub_nilfs2_data *data,
+-                                    struct grub_nilfs2_btree_node *node)
+-{
+-  int node_children_max = ((NILFS2_BLOCK_SIZE (data) -
+-                          sizeof (struct grub_nilfs2_btree_node) -
+-                          NILFS_BTREE_NODE_EXTRA_PAD_SIZE) /
+-                         (sizeof (grub_uint64_t) + sizeof (grub_uint64_t)));
+-
+-  return (node->bn_flags & NILFS_BTREE_NODE_ROOT) ? 3 : node_children_max;
+-}
+-
+ static inline grub_uint64_t *
+ grub_nilfs2_btree_node_dptrs (struct grub_nilfs2_data *data,
+                             struct grub_nilfs2_btree_node *node)
+@@ -517,7 +525,7 @@ grub_nilfs2_btree_lookup (struct grub_nilfs2_data *data,
+   node = grub_nilfs2_btree_get_root (inode);
+   level = grub_nilfs2_btree_get_level (node);
+-  found = grub_nilfs2_btree_node_lookup (node, key, &index);
++  found = grub_nilfs2_btree_node_lookup (data, node, key, &index);
+   ptr = grub_nilfs2_btree_node_get_ptr (data, node, index);
+   if (need_translate)
+     ptr = grub_nilfs2_dat_translate (data, ptr);
+@@ -538,7 +546,7 @@ grub_nilfs2_btree_lookup (struct grub_nilfs2_data *data,
+       }
+       if (!found)
+-      found = grub_nilfs2_btree_node_lookup (node, key, &index);
++      found = grub_nilfs2_btree_node_lookup (data, node, key, &index);
+       else
+       index = 0;
+-- 
+2.14.2
+
diff --git a/boot/grub2/0113-fs-nilfs2-Properly-bail-on-errors-in-grub_nilfs2_btr.patch b/boot/grub2/0113-fs-nilfs2-Properly-bail-on-errors-in-grub_nilfs2_btr.patch
new file mode 100644 (file)
index 0000000..85cb82d
--- /dev/null
@@ -0,0 +1,68 @@
+From ca5d9ac206043b1fb4cb06259272fb1c5946bb6d Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Mon, 18 Jan 2021 17:06:19 +1100
+Subject: [PATCH] fs/nilfs2: Properly bail on errors in
+ grub_nilfs2_btree_node_lookup()
+
+We just introduced an error return in grub_nilfs2_btree_node_lookup().
+Make sure the callers catch it.
+
+At the same time, make sure that grub_nilfs2_btree_node_lookup() always
+inits the index pointer passed to it.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/fs/nilfs2.c | 11 ++++++++---
+ 1 file changed, 8 insertions(+), 3 deletions(-)
+
+diff --git a/grub-core/fs/nilfs2.c b/grub-core/fs/nilfs2.c
+index 43ac1ad..aaba002 100644
+--- a/grub-core/fs/nilfs2.c
++++ b/grub-core/fs/nilfs2.c
+@@ -433,7 +433,7 @@ grub_nilfs2_btree_node_lookup (struct grub_nilfs2_data *data,
+                              grub_uint64_t key, int *indexp)
+ {
+   grub_uint64_t nkey;
+-  int index, low, high, s;
++  int index = 0, low, high, s;
+   low = 0;
+@@ -441,10 +441,10 @@ grub_nilfs2_btree_node_lookup (struct grub_nilfs2_data *data,
+   if (high >= grub_nilfs2_btree_node_nchildren_max (data, node))
+     {
+       grub_error (GRUB_ERR_BAD_FS, "too many children");
++      *indexp = index;
+       return 0;
+     }
+-  index = 0;
+   s = 0;
+   while (low <= high)
+     {
+@@ -526,6 +526,10 @@ grub_nilfs2_btree_lookup (struct grub_nilfs2_data *data,
+   level = grub_nilfs2_btree_get_level (node);
+   found = grub_nilfs2_btree_node_lookup (data, node, key, &index);
++
++  if (grub_errno != GRUB_ERR_NONE)
++    goto fail;
++
+   ptr = grub_nilfs2_btree_node_get_ptr (data, node, index);
+   if (need_translate)
+     ptr = grub_nilfs2_dat_translate (data, ptr);
+@@ -550,7 +554,8 @@ grub_nilfs2_btree_lookup (struct grub_nilfs2_data *data,
+       else
+       index = 0;
+-      if (index < grub_nilfs2_btree_node_nchildren_max (data, node))
++      if (index < grub_nilfs2_btree_node_nchildren_max (data, node) &&
++        grub_errno == GRUB_ERR_NONE)
+       {
+         ptr = grub_nilfs2_btree_node_get_ptr (data, node, index);
+         if (need_translate)
+-- 
+2.14.2
+
diff --git a/boot/grub2/0114-io-gzio-Bail-if-gzio-tl-td-is-NULL.patch b/boot/grub2/0114-io-gzio-Bail-if-gzio-tl-td-is-NULL.patch
new file mode 100644 (file)
index 0000000..cf6b778
--- /dev/null
@@ -0,0 +1,67 @@
+From 3334a5e6c86f10e715cca3bf66ce0fc2f164b61b Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Wed, 13 Jan 2021 20:59:09 +1100
+Subject: [PATCH] io/gzio: Bail if gzio->tl/td is NULL
+
+This is an ugly fix that doesn't address why gzio->tl comes to be NULL.
+However, it seems to be sufficient to patch up a bunch of NULL derefs.
+
+It would be good to revisit this in future and see if we can have
+a cleaner solution that addresses some of the causes of the unexpected
+NULL pointers.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/io/gzio.c | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+diff --git a/grub-core/io/gzio.c b/grub-core/io/gzio.c
+index 43d98a7..4a8eaea 100644
+--- a/grub-core/io/gzio.c
++++ b/grub-core/io/gzio.c
+@@ -669,6 +669,13 @@ inflate_codes_in_window (grub_gzio_t gzio)
+     {
+       if (! gzio->code_state)
+       {
++
++        if (gzio->tl == NULL)
++          {
++            grub_error (GRUB_ERR_BAD_COMPRESSED_DATA, "NULL gzio->tl");
++            return 1;
++          }
++
+         NEEDBITS ((unsigned) gzio->bl);
+         if ((e = (t = gzio->tl + ((unsigned) b & ml))->e) > 16)
+           do
+@@ -707,6 +714,12 @@ inflate_codes_in_window (grub_gzio_t gzio)
+             n = t->v.n + ((unsigned) b & mask_bits[e]);
+             DUMPBITS (e);
++            if (gzio->td == NULL)
++              {
++                grub_error (GRUB_ERR_BAD_COMPRESSED_DATA, "NULL gzio->td");
++                return 1;
++              }
++
+             /* decode distance of block to copy */
+             NEEDBITS ((unsigned) gzio->bd);
+             if ((e = (t = gzio->td + ((unsigned) b & md))->e) > 16)
+@@ -917,6 +930,13 @@ init_dynamic_block (grub_gzio_t gzio)
+   n = nl + nd;
+   m = mask_bits[gzio->bl];
+   i = l = 0;
++
++  if (gzio->tl == NULL)
++    {
++      grub_error (GRUB_ERR_BAD_COMPRESSED_DATA, "NULL gzio->tl");
++      return;
++    }
++
+   while ((unsigned) i < n)
+     {
+       NEEDBITS ((unsigned) gzio->bl);
+-- 
+2.14.2
+
diff --git a/boot/grub2/0115-io-gzio-Add-init_dynamic_block-clean-up-if-unpacking.patch b/boot/grub2/0115-io-gzio-Add-init_dynamic_block-clean-up-if-unpacking.patch
new file mode 100644 (file)
index 0000000..25b270a
--- /dev/null
@@ -0,0 +1,67 @@
+From 18490336d91da2b532277cba56473bfed1376fc4 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Thu, 21 Jan 2021 00:05:58 +1100
+Subject: [PATCH] io/gzio: Add init_dynamic_block() clean up if unpacking codes
+ fails
+
+init_dynamic_block() didn't clean up gzio->tl and td in some error
+paths. This left td pointing to part of tl. Then in grub_gzio_close(),
+when tl was freed the storage for td would also be freed. The code then
+attempts to free td explicitly, performing a UAF and then a double free.
+
+Explicitly clean up tl and td in the error paths.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/io/gzio.c | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/grub-core/io/gzio.c b/grub-core/io/gzio.c
+index 4a8eaea..4236f0f 100644
+--- a/grub-core/io/gzio.c
++++ b/grub-core/io/gzio.c
+@@ -953,7 +953,7 @@ init_dynamic_block (grub_gzio_t gzio)
+         if ((unsigned) i + j > n)
+           {
+             grub_error (GRUB_ERR_BAD_COMPRESSED_DATA, "too many codes found");
+-            return;
++            goto fail;
+           }
+         while (j--)
+           ll[i++] = l;
+@@ -966,7 +966,7 @@ init_dynamic_block (grub_gzio_t gzio)
+         if ((unsigned) i + j > n)
+           {
+             grub_error (GRUB_ERR_BAD_COMPRESSED_DATA, "too many codes found");
+-            return;
++            goto fail;
+           }
+         while (j--)
+           ll[i++] = 0;
+@@ -981,7 +981,7 @@ init_dynamic_block (grub_gzio_t gzio)
+         if ((unsigned) i + j > n)
+           {
+             grub_error (GRUB_ERR_BAD_COMPRESSED_DATA, "too many codes found");
+-            return;
++            goto fail;
+           }
+         while (j--)
+           ll[i++] = 0;
+@@ -1019,6 +1019,12 @@ init_dynamic_block (grub_gzio_t gzio)
+   /* indicate we're now working on a block */
+   gzio->code_state = 0;
+   gzio->block_len++;
++  return;
++
++ fail:
++  huft_free (gzio->tl);
++  gzio->td = NULL;
++  gzio->tl = NULL;
+ }
+-- 
+2.14.2
+
diff --git a/boot/grub2/0116-io-gzio-Catch-missing-values-in-huft_build-and-bail.patch b/boot/grub2/0116-io-gzio-Catch-missing-values-in-huft_build-and-bail.patch
new file mode 100644 (file)
index 0000000..3ee520c
--- /dev/null
@@ -0,0 +1,57 @@
+From 4e76b08f7171a8603d74fcafb27409a91f578647 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Thu, 21 Jan 2021 12:20:49 +1100
+Subject: [PATCH] io/gzio: Catch missing values in huft_build() and bail
+
+In huft_build(), "v" is a table of values in order of bit length.
+The code later (when setting up table entries in "r") assumes that all
+elements of this array corresponding to a code are initialized and less
+than N_MAX. However, it doesn't enforce this.
+
+With sufficiently manipulated inputs (e.g. from fuzzing), there can be
+elements of "v" that are not filled. Therefore a lookup into "e" or "d"
+will use an uninitialized value. This can lead to an invalid/OOB read on
+those values, often leading to a crash.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/io/gzio.c | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/grub-core/io/gzio.c b/grub-core/io/gzio.c
+index 4236f0f..19adebe 100644
+--- a/grub-core/io/gzio.c
++++ b/grub-core/io/gzio.c
+@@ -507,6 +507,7 @@ huft_build (unsigned *b,   /* code lengths in bits (all assumed <= BMAX) */
+     }
+   /* Make a table of values in order of bit lengths */
++  grub_memset (v, N_MAX, ARRAY_SIZE (v));
+   p = b;
+   i = 0;
+   do
+@@ -588,11 +589,18 @@ huft_build (unsigned *b, /* code lengths in bits (all assumed <= BMAX) */
+             r.v.n = (ush) (*p);       /* simple code is just the value */
+             p++;              /* one compiler does not like *p++ */
+           }
+-        else
++        else if (*p < N_MAX)
+           {
+             r.e = (uch) e[*p - s];    /* non-simple--look up in lists */
+             r.v.n = d[*p++ - s];
+           }
++        else
++          {
++            /* Detected an uninitialised value, abort. */
++            if (h)
++              huft_free (u[0]);
++            return 2;
++          }
+         /* fill code-like entries with r */
+         f = 1 << (k - w);
+-- 
+2.14.2
+
diff --git a/boot/grub2/0117-io-gzio-Zero-gzio-tl-td-in-init_dynamic_block-if-huf.patch b/boot/grub2/0117-io-gzio-Zero-gzio-tl-td-in-init_dynamic_block-if-huf.patch
new file mode 100644 (file)
index 0000000..a7ae3fb
--- /dev/null
@@ -0,0 +1,42 @@
+From b5a2b59cc5b8f5ee7ba3b951e7693e402d5b3a6f Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Thu, 21 Jan 2021 12:22:28 +1100
+Subject: [PATCH] io/gzio: Zero gzio->tl/td in init_dynamic_block() if
+ huft_build() fails
+
+If huft_build() fails, gzio->tl or gzio->td could contain pointers that
+are no longer valid. Zero them out.
+
+This prevents a double free when grub_gzio_close() comes through and
+attempts to free them again.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/io/gzio.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/grub-core/io/gzio.c b/grub-core/io/gzio.c
+index 19adebe..aea86a0 100644
+--- a/grub-core/io/gzio.c
++++ b/grub-core/io/gzio.c
+@@ -1010,6 +1010,7 @@ init_dynamic_block (grub_gzio_t gzio)
+   gzio->bl = lbits;
+   if (huft_build (ll, nl, 257, cplens, cplext, &gzio->tl, &gzio->bl) != 0)
+     {
++      gzio->tl = 0;
+       grub_error (GRUB_ERR_BAD_COMPRESSED_DATA,
+                 "failed in building a Huffman code table");
+       return;
+@@ -1019,6 +1020,7 @@ init_dynamic_block (grub_gzio_t gzio)
+     {
+       huft_free (gzio->tl);
+       gzio->tl = 0;
++      gzio->td = 0;
+       grub_error (GRUB_ERR_BAD_COMPRESSED_DATA,
+                 "failed in building a Huffman code table");
+       return;
+-- 
+2.14.2
+
diff --git a/boot/grub2/0118-disk-lvm-Don-t-go-beyond-the-end-of-the-data-we-read.patch b/boot/grub2/0118-disk-lvm-Don-t-go-beyond-the-end-of-the-data-we-read.patch
new file mode 100644 (file)
index 0000000..31c99fb
--- /dev/null
@@ -0,0 +1,49 @@
+From a8cc95de74ccc3ad090e8062ac335c844f13c9f4 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Thu, 21 Jan 2021 17:59:14 +1100
+Subject: [PATCH] disk/lvm: Don't go beyond the end of the data we read from
+ disk
+
+We unconditionally trusted offset_xl from the LVM label header, even if
+it told us that the PV header/disk locations were way off past the end
+of the data we read from disk.
+
+Require that the offset be sane, fixing an OOB read and crash.
+
+Fixes: CID 314367, CID 314371
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/disk/lvm.c | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+diff --git a/grub-core/disk/lvm.c b/grub-core/disk/lvm.c
+index 139fafd..8136122 100644
+--- a/grub-core/disk/lvm.c
++++ b/grub-core/disk/lvm.c
+@@ -141,6 +141,20 @@ grub_lvm_detect (grub_disk_t disk,
+       goto fail;
+     }
++  /*
++   * We read a grub_lvm_pv_header and then 2 grub_lvm_disk_locns that
++   * immediately follow the PV header. Make sure we have space for both.
++   */
++  if (grub_le_to_cpu32 (lh->offset_xl) >=
++      GRUB_LVM_LABEL_SIZE - sizeof (struct grub_lvm_pv_header) -
++      2 * sizeof (struct grub_lvm_disk_locn))
++    {
++#ifdef GRUB_UTIL
++      grub_util_info ("LVM PV header/disk locations are beyond the end of the block");
++#endif
++      goto fail;
++    }
++
+   pvh = (struct grub_lvm_pv_header *) (buf + grub_le_to_cpu32(lh->offset_xl));
+   for (i = 0, j = 0; i < GRUB_LVM_ID_LEN; i++)
+-- 
+2.14.2
+
diff --git a/boot/grub2/0119-disk-lvm-Don-t-blast-past-the-end-of-the-circular-me.patch b/boot/grub2/0119-disk-lvm-Don-t-blast-past-the-end-of-the-circular-me.patch
new file mode 100644 (file)
index 0000000..4f08384
--- /dev/null
@@ -0,0 +1,43 @@
+From 27a79bf38e6d050e497eb96a3fdddce43af25577 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Thu, 21 Jan 2021 18:19:51 +1100
+Subject: [PATCH] disk/lvm: Don't blast past the end of the circular metadata
+ buffer
+
+This catches at least some OOB reads, and it's possible I suppose that
+if 2 * mda_size is less than GRUB_LVM_MDA_HEADER_SIZE it might catch some
+OOB writes too (although that hasn't showed up as a crash in fuzzing yet).
+
+It's a bit ugly and I'd appreciate better suggestions.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/disk/lvm.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/grub-core/disk/lvm.c b/grub-core/disk/lvm.c
+index 8136122..36da575 100644
+--- a/grub-core/disk/lvm.c
++++ b/grub-core/disk/lvm.c
+@@ -214,6 +214,16 @@ grub_lvm_detect (grub_disk_t disk,
+   if (grub_le_to_cpu64 (rlocn->offset) + grub_le_to_cpu64 (rlocn->size) >
+       grub_le_to_cpu64 (mdah->size))
+     {
++      if (2 * mda_size < GRUB_LVM_MDA_HEADER_SIZE ||
++          (grub_le_to_cpu64 (rlocn->offset) + grub_le_to_cpu64 (rlocn->size) -
++         grub_le_to_cpu64 (mdah->size) > mda_size - GRUB_LVM_MDA_HEADER_SIZE))
++      {
++#ifdef GRUB_UTIL
++        grub_util_info ("cannot copy metadata wrap in circular buffer");
++#endif
++        goto fail2;
++      }
++
+       /* Metadata is circular. Copy the wrap in place. */
+       grub_memcpy (metadatabuf + mda_size,
+                  metadatabuf + GRUB_LVM_MDA_HEADER_SIZE,
+-- 
+2.14.2
+
diff --git a/boot/grub2/0120-disk-lvm-Bail-on-missing-PV-list.patch b/boot/grub2/0120-disk-lvm-Bail-on-missing-PV-list.patch
new file mode 100644 (file)
index 0000000..f237406
--- /dev/null
@@ -0,0 +1,35 @@
+From 2958695c4cdc785de6ed708709af071a2d20afef Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Thu, 21 Jan 2021 18:54:29 +1100
+Subject: [PATCH] disk/lvm: Bail on missing PV list
+
+There's an if block for the presence of "physical_volumes {", but if
+that block is absent, then p remains NULL and a NULL-deref will result
+when looking for logical volumes.
+
+It doesn't seem like LVM makes sense without physical volumes, so error
+out rather than crashing.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/disk/lvm.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/grub-core/disk/lvm.c b/grub-core/disk/lvm.c
+index 36da575..8e560f3 100644
+--- a/grub-core/disk/lvm.c
++++ b/grub-core/disk/lvm.c
+@@ -370,6 +370,8 @@ grub_lvm_detect (grub_disk_t disk,
+             goto fail4;
+           }
+       }
++      else
++        goto fail4;
+       p = grub_strstr (p, "logical_volumes {");
+       if (p)
+-- 
+2.14.2
+
diff --git a/boot/grub2/0121-disk-lvm-Do-not-crash-if-an-expected-string-is-not-f.patch b/boot/grub2/0121-disk-lvm-Do-not-crash-if-an-expected-string-is-not-f.patch
new file mode 100644 (file)
index 0000000..720e5a2
--- /dev/null
@@ -0,0 +1,83 @@
+From db29073fc7aec71a40dabfc722a96ea9f3280907 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Thu, 21 Jan 2021 18:35:22 +1100
+Subject: [PATCH] disk/lvm: Do not crash if an expected string is not found
+
+Clean up a bunch of cases where we could have strstr() fail and lead to
+us dereferencing NULL.
+
+We'll still leak memory in some cases (loops don't clean up allocations
+from earlier iterations if a later iteration fails) but at least we're
+not crashing.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/disk/lvm.c | 22 +++++++++++++++++-----
+ 1 file changed, 17 insertions(+), 5 deletions(-)
+
+diff --git a/grub-core/disk/lvm.c b/grub-core/disk/lvm.c
+index 8e560f3..bd5ae87 100644
+--- a/grub-core/disk/lvm.c
++++ b/grub-core/disk/lvm.c
+@@ -539,7 +539,16 @@ grub_lvm_detect (grub_disk_t disk,
+                       }
+                     if (seg->node_count != 1)
+-                      seg->stripe_size = grub_lvm_getvalue (&p, "stripe_size = ");
++                      {
++                        seg->stripe_size = grub_lvm_getvalue (&p, "stripe_size = ");
++                        if (p == NULL)
++                          {
++#ifdef GRUB_UTIL
++                            grub_util_info ("unknown stripe_size");
++#endif
++                            goto lvs_segment_fail;
++                          }
++                      }
+                     seg->nodes = grub_calloc (seg->node_count,
+                                               sizeof (*stripe));
+@@ -559,7 +568,7 @@ grub_lvm_detect (grub_disk_t disk,
+                       {
+                         p = grub_strchr (p, '"');
+                         if (p == NULL)
+-                          continue;
++                          goto lvs_segment_fail2;
+                         q = ++p;
+                         while (*q != '"')
+                           q++;
+@@ -578,7 +587,10 @@ grub_lvm_detect (grub_disk_t disk,
+                         stripe->start = grub_lvm_getvalue (&p, ",")
+                           * vg->extent_size;
+                         if (p == NULL)
+-                          continue;
++                          {
++                            grub_free (stripe->name);
++                            goto lvs_segment_fail2;
++                          }
+                         stripe++;
+                       }
+@@ -615,7 +627,7 @@ grub_lvm_detect (grub_disk_t disk,
+                         p = grub_strchr (p, '"');
+                         if (p == NULL)
+-                          continue;
++                          goto lvs_segment_fail2;
+                         q = ++p;
+                         while (*q != '"')
+                           q++;
+@@ -703,7 +715,7 @@ grub_lvm_detect (grub_disk_t disk,
+                         p = p ? grub_strchr (p + 1, '"') : 0;
+                         p = p ? grub_strchr (p + 1, '"') : 0;
+                         if (p == NULL)
+-                          continue;
++                          goto lvs_segment_fail2;
+                         q = ++p;
+                         while (*q != '"')
+                           q++;
+-- 
+2.14.2
+
diff --git a/boot/grub2/0122-disk-lvm-Do-not-overread-metadata.patch b/boot/grub2/0122-disk-lvm-Do-not-overread-metadata.patch
new file mode 100644 (file)
index 0000000..1aeb61c
--- /dev/null
@@ -0,0 +1,111 @@
+From 1155d7dffd3337942cb7583706b429d567d4db86 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Thu, 21 Jan 2021 18:35:22 +1100
+Subject: [PATCH] disk/lvm: Do not overread metadata
+
+We could reach the end of valid metadata and not realize, leading to
+some buffer overreads. Check if we have reached the end and bail.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/disk/lvm.c | 31 +++++++++++++++++++++++++------
+ 1 file changed, 25 insertions(+), 6 deletions(-)
+
+diff --git a/grub-core/disk/lvm.c b/grub-core/disk/lvm.c
+index bd5ae87..742ecd6 100644
+--- a/grub-core/disk/lvm.c
++++ b/grub-core/disk/lvm.c
+@@ -313,17 +313,23 @@ grub_lvm_detect (grub_disk_t disk,
+         while (1)
+           {
+             grub_ssize_t s;
+-            while (grub_isspace (*p))
++            while (grub_isspace (*p) && p < mda_end)
+               p++;
++            if (p == mda_end)
++              goto fail4;
++
+             if (*p == '}')
+               break;
+             pv = grub_zalloc (sizeof (*pv));
+             q = p;
+-            while (*q != ' ')
++            while (*q != ' ' && q < mda_end)
+               q++;
++            if (q == mda_end)
++              goto pvs_fail_noname;
++
+             s = q - p;
+             pv->name = grub_malloc (s + 1);
+             grub_memcpy (pv->name, p, s);
+@@ -366,6 +372,7 @@ grub_lvm_detect (grub_disk_t disk,
+             continue;
+           pvs_fail:
+             grub_free (pv->name);
++          pvs_fail_noname:
+             grub_free (pv);
+             goto fail4;
+           }
+@@ -387,18 +394,24 @@ grub_lvm_detect (grub_disk_t disk,
+             struct grub_diskfilter_segment *seg;
+             int is_pvmove;
+-            while (grub_isspace (*p))
++            while (grub_isspace (*p) && p < mda_end)
+               p++;
++            if (p == mda_end)
++              goto fail4;
++
+             if (*p == '}')
+               break;
+             lv = grub_zalloc (sizeof (*lv));
+             q = p;
+-            while (*q != ' ')
++            while (*q != ' ' && q < mda_end)
+               q++;
++            if (q == mda_end)
++              goto lvs_fail;
++
+             s = q - p;
+             lv->name = grub_strndup (p, s);
+             if (!lv->name)
+@@ -570,9 +583,12 @@ grub_lvm_detect (grub_disk_t disk,
+                         if (p == NULL)
+                           goto lvs_segment_fail2;
+                         q = ++p;
+-                        while (*q != '"')
++                        while (q < mda_end && *q != '"')
+                           q++;
++                        if (q == mda_end)
++                          goto lvs_segment_fail2;
++
+                         s = q - p;
+                         stripe->name = grub_malloc (s + 1);
+@@ -629,9 +645,12 @@ grub_lvm_detect (grub_disk_t disk,
+                         if (p == NULL)
+                           goto lvs_segment_fail2;
+                         q = ++p;
+-                        while (*q != '"')
++                        while (q < mda_end && *q != '"')
+                           q++;
++                        if (q == mda_end)
++                          goto lvs_segment_fail2;
++
+                         s = q - p;
+                         lvname = grub_malloc (s + 1);
+-- 
+2.14.2
+
diff --git a/boot/grub2/0123-disk-lvm-Sanitize-rlocn-offset-to-prevent-wild-read.patch b/boot/grub2/0123-disk-lvm-Sanitize-rlocn-offset-to-prevent-wild-read.patch
new file mode 100644 (file)
index 0000000..449e263
--- /dev/null
@@ -0,0 +1,41 @@
+From 701293684742d00133b39bf957d3642c81dc83f4 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Fri, 22 Jan 2021 14:43:58 +1100
+Subject: [PATCH] disk/lvm: Sanitize rlocn->offset to prevent wild read
+
+rlocn->offset is read directly from disk and added to the metadatabuf
+pointer to create a pointer to a block of metadata. It's a 64-bit
+quantity so as long as you don't overflow you can set subsequent
+pointers to point anywhere in memory.
+
+Require that rlocn->offset fits within the metadata buffer size.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/disk/lvm.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/grub-core/disk/lvm.c b/grub-core/disk/lvm.c
+index 742ecd6..ed0712f 100644
+--- a/grub-core/disk/lvm.c
++++ b/grub-core/disk/lvm.c
+@@ -211,6 +211,14 @@ grub_lvm_detect (grub_disk_t disk,
+     }
+   rlocn = mdah->raw_locns;
++  if (grub_le_to_cpu64 (rlocn->offset) >= grub_le_to_cpu64 (mda_size))
++    {
++#ifdef GRUB_UTIL
++      grub_util_info ("metadata offset is beyond end of metadata area");
++#endif
++      goto fail2;
++    }
++
+   if (grub_le_to_cpu64 (rlocn->offset) + grub_le_to_cpu64 (rlocn->size) >
+       grub_le_to_cpu64 (mdah->size))
+     {
+-- 
+2.14.2
+
diff --git a/boot/grub2/0124-disk-lvm-Do-not-allow-a-LV-to-be-it-s-own-segment-s-.patch b/boot/grub2/0124-disk-lvm-Do-not-allow-a-LV-to-be-it-s-own-segment-s-.patch
new file mode 100644 (file)
index 0000000..183b1ff
--- /dev/null
@@ -0,0 +1,39 @@
+From e18a00073890021362b4a48097672f1d4b340d3c Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Fri, 22 Jan 2021 14:42:21 +1100
+Subject: [PATCH] disk/lvm: Do not allow a LV to be it's own segment's node's
+ LV
+
+This prevents infinite recursion in the diskfilter verification code.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/disk/lvm.c | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/grub-core/disk/lvm.c b/grub-core/disk/lvm.c
+index ed0712f..81dc375 100644
+--- a/grub-core/disk/lvm.c
++++ b/grub-core/disk/lvm.c
+@@ -838,9 +838,13 @@ grub_lvm_detect (grub_disk_t disk,
+                   }
+               if (lv1->segments[i].nodes[j].pv == NULL)
+                 for (lv2 = vg->lvs; lv2; lv2 = lv2->next)
+-                  if (grub_strcmp (lv2->name,
+-                                   lv1->segments[i].nodes[j].name) == 0)
+-                    lv1->segments[i].nodes[j].lv = lv2;
++                  {
++                    if (lv1 == lv2)
++                      continue;
++                    if (grub_strcmp (lv2->name,
++                                     lv1->segments[i].nodes[j].name) == 0)
++                      lv1->segments[i].nodes[j].lv = lv2;
++                  }
+             }
+       
+       }
+-- 
+2.14.2
+
diff --git a/boot/grub2/0125-fs-btrfs-Validate-the-number-of-stripes-parities-in-.patch b/boot/grub2/0125-fs-btrfs-Validate-the-number-of-stripes-parities-in-.patch
new file mode 100644 (file)
index 0000000..2caa1b0
--- /dev/null
@@ -0,0 +1,33 @@
+From b88a82e78cdd0ab8e0339c1c3f9564c4d8c0c969 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Mon, 18 Jan 2021 17:17:16 +1100
+Subject: [PATCH] fs/btrfs: Validate the number of stripes/parities in RAID5/6
+
+This prevents a divide by zero if nstripes == nparities, and
+also prevents propagation of invalid values if nstripes ends up
+less than nparities.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/fs/btrfs.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/grub-core/fs/btrfs.c b/grub-core/fs/btrfs.c
+index 2b65bd5..e4e87ba 100644
+--- a/grub-core/fs/btrfs.c
++++ b/grub-core/fs/btrfs.c
+@@ -1076,6 +1076,9 @@ grub_btrfs_read_logical (struct grub_btrfs_data *data, grub_disk_addr_t addr,
+              * stripen is computed without the parities
+              * (0 for A0, A1, A2, 1 for B0, B1, B2, etc.).
+              */
++            if (nparities >= nstripes)
++              return grub_error (GRUB_ERR_BAD_FS,
++                                 "invalid RAID5/6: nparities >= nstripes");
+             high = grub_divmod64 (stripe_nr, nstripes - nparities, &stripen);
+             /*
+-- 
+2.14.2
+
diff --git a/boot/grub2/0126-fs-btrfs-Squash-some-uninitialized-reads.patch b/boot/grub2/0126-fs-btrfs-Squash-some-uninitialized-reads.patch
new file mode 100644 (file)
index 0000000..32381f0
--- /dev/null
@@ -0,0 +1,43 @@
+From b911884dd707ba1e6f641eb17857df3155013a45 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Mon, 18 Jan 2021 17:27:18 +1100
+Subject: [PATCH] fs/btrfs: Squash some uninitialized reads
+
+We need to check errors before calling into a function that uses the result.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/fs/btrfs.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/grub-core/fs/btrfs.c b/grub-core/fs/btrfs.c
+index e4e87ba..d489cb0 100644
+--- a/grub-core/fs/btrfs.c
++++ b/grub-core/fs/btrfs.c
+@@ -381,9 +381,9 @@ next (struct grub_btrfs_data *data,
+       err = grub_btrfs_read_logical (data, grub_le_to_cpu64 (node.addr),
+                                    &head, sizeof (head), 0);
+-      check_btrfs_header (data, &head, grub_le_to_cpu64 (node.addr));
+       if (err)
+       return -err;
++      check_btrfs_header (data, &head, grub_le_to_cpu64 (node.addr));
+       save_ref (desc, grub_le_to_cpu64 (node.addr), 0,
+               grub_le_to_cpu32 (head.nitems), !head.level);
+@@ -443,9 +443,9 @@ lower_bound (struct grub_btrfs_data *data,
+       /* FIXME: preread few nodes into buffer. */
+       err = grub_btrfs_read_logical (data, addr, &head, sizeof (head),
+                                    recursion_depth + 1);
+-      check_btrfs_header (data, &head, addr);
+       if (err)
+       return err;
++      check_btrfs_header (data, &head, addr);
+       addr += sizeof (head);
+       if (head.level)
+       {
+-- 
+2.14.2
+
diff --git a/boot/grub2/0127-kern-parser-Fix-a-memory-leak.patch b/boot/grub2/0127-kern-parser-Fix-a-memory-leak.patch
new file mode 100644 (file)
index 0000000..77b1cac
--- /dev/null
@@ -0,0 +1,77 @@
+From c6c426e5ab6ea715153b72584de6bd8c82f698ec Mon Sep 17 00:00:00 2001
+From: Chris Coulson <chris.coulson@canonical.com>
+Date: Wed, 18 Nov 2020 00:59:24 +0000
+Subject: [PATCH] kern/parser: Fix a memory leak
+
+The getline() function supplied to grub_parser_split_cmdline() returns
+a newly allocated buffer and can be called multiple times, but the
+returned buffer is never freed.
+
+Signed-off-by: Chris Coulson <chris.coulson@canonical.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/kern/parser.c | 20 ++++++++++++++++----
+ 1 file changed, 16 insertions(+), 4 deletions(-)
+
+diff --git a/grub-core/kern/parser.c b/grub-core/kern/parser.c
+index d1cf061..39e4df6 100644
+--- a/grub-core/kern/parser.c
++++ b/grub-core/kern/parser.c
+@@ -140,6 +140,7 @@ grub_parser_split_cmdline (const char *cmdline,
+   char buffer[1024];
+   char *bp = buffer;
+   char *rd = (char *) cmdline;
++  char *rp = rd;
+   char varname[200];
+   char *vp = varname;
+   char *args;
+@@ -149,10 +150,18 @@ grub_parser_split_cmdline (const char *cmdline,
+   *argv = NULL;
+   do
+     {
+-      if (!rd || !*rd)
++      if (rp == NULL || *rp == '\0')
+       {
++        if (rd != cmdline)
++          {
++            grub_free (rd);
++            rd = rp = NULL;
++          }
+         if (getline)
+-          getline (&rd, 1, getline_data);
++          {
++            getline (&rd, 1, getline_data);
++            rp = rd;
++          }
+         else
+           break;
+       }
+@@ -160,12 +169,12 @@ grub_parser_split_cmdline (const char *cmdline,
+       if (!rd)
+       break;
+-      for (; *rd; rd++)
++      for (; *rp != '\0'; rp++)
+       {
+         grub_parser_state_t newstate;
+         char use;
+-        newstate = grub_parser_cmdline_state (state, *rd, &use);
++        newstate = grub_parser_cmdline_state (state, *rp, &use);
+         /* If a variable was being processed and this character does
+            not describe the variable anymore, write the variable to
+@@ -198,6 +207,9 @@ grub_parser_split_cmdline (const char *cmdline,
+     }
+   while (state != GRUB_PARSER_STATE_TEXT && !check_varstate (state));
++  if (rd != cmdline)
++    grub_free (rd);
++
+   /* A special case for when the last character was part of a
+      variable.  */
+   add_var (varname, &bp, &vp, state, GRUB_PARSER_STATE_TEXT);
+-- 
+2.14.2
+
diff --git a/boot/grub2/0128-kern-parser-Introduce-process_char-helper.patch b/boot/grub2/0128-kern-parser-Introduce-process_char-helper.patch
new file mode 100644 (file)
index 0000000..f771748
--- /dev/null
@@ -0,0 +1,120 @@
+From b1c9e9e889e4273fb15712051c887e6078511448 Mon Sep 17 00:00:00 2001
+From: Chris Coulson <chris.coulson@canonical.com>
+Date: Tue, 5 Jan 2021 22:17:28 +0000
+Subject: [PATCH] kern/parser: Introduce process_char() helper
+
+grub_parser_split_cmdline() iterates over each command line character.
+In order to add error checking and to simplify the subsequent error
+handling, split the character processing in to a separate function.
+
+Signed-off-by: Chris Coulson <chris.coulson@canonical.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/kern/parser.c | 74 ++++++++++++++++++++++++++++++-------------------
+ 1 file changed, 46 insertions(+), 28 deletions(-)
+
+diff --git a/grub-core/kern/parser.c b/grub-core/kern/parser.c
+index 39e4df6..0d3582b 100644
+--- a/grub-core/kern/parser.c
++++ b/grub-core/kern/parser.c
+@@ -1,7 +1,7 @@
+ /* parser.c - the part of the parser that can return partial tokens */
+ /*
+  *  GRUB  --  GRand Unified Bootloader
+- *  Copyright (C) 2005,2007,2009  Free Software Foundation, Inc.
++ *  Copyright (C) 2005,2007,2009,2021  Free Software Foundation, Inc.
+  *
+  *  GRUB is free software: you can redistribute it and/or modify
+  *  it under the terms of the GNU General Public License as published by
+@@ -129,6 +129,46 @@ add_var (char *varname, char **bp, char **vp,
+     *((*bp)++) = *val;
+ }
++static grub_err_t
++process_char (char c, char *buffer, char **bp, char *varname, char **vp,
++            grub_parser_state_t state, int *argc,
++            grub_parser_state_t *newstate)
++{
++  char use;
++
++  *newstate = grub_parser_cmdline_state (state, c, &use);
++
++  /*
++   * If a variable was being processed and this character does
++   * not describe the variable anymore, write the variable to
++   * the buffer.
++   */
++  add_var (varname, bp, vp, state, *newstate);
++
++  if (check_varstate (*newstate))
++    {
++      if (use)
++      *((*vp)++) = use;
++    }
++  else if (*newstate == GRUB_PARSER_STATE_TEXT &&
++         state != GRUB_PARSER_STATE_ESC && grub_isspace (use))
++    {
++      /*
++       * Don't add more than one argument if multiple
++       * spaces are used.
++       */
++      if (*bp != buffer && *((*bp) - 1) != '\0')
++      {
++        *((*bp)++) = '\0';
++        (*argc)++;
++      }
++    }
++  else if (use)
++    *((*bp)++) = use;
++
++  return GRUB_ERR_NONE;
++}
++
+ grub_err_t
+ grub_parser_split_cmdline (const char *cmdline,
+                          grub_reader_getline_t getline, void *getline_data,
+@@ -172,35 +212,13 @@ grub_parser_split_cmdline (const char *cmdline,
+       for (; *rp != '\0'; rp++)
+       {
+         grub_parser_state_t newstate;
+-        char use;
+-
+-        newstate = grub_parser_cmdline_state (state, *rp, &use);
+-        /* If a variable was being processed and this character does
+-           not describe the variable anymore, write the variable to
+-           the buffer.  */
+-        add_var (varname, &bp, &vp, state, newstate);
+-
+-        if (check_varstate (newstate))
+-          {
+-            if (use)
+-              *(vp++) = use;
+-          }
+-        else
++        if (process_char (*rp, buffer, &bp, varname, &vp, state, argc,
++                          &newstate) != GRUB_ERR_NONE)
+           {
+-            if (newstate == GRUB_PARSER_STATE_TEXT
+-                && state != GRUB_PARSER_STATE_ESC && grub_isspace (use))
+-              {
+-                /* Don't add more than one argument if multiple
+-                   spaces are used.  */
+-                if (bp != buffer && *(bp - 1))
+-                  {
+-                    *(bp++) = '\0';
+-                    (*argc)++;
+-                  }
+-              }
+-            else if (use)
+-              *(bp++) = use;
++            if (rd != cmdline)
++              grub_free (rd);
++            return grub_errno;
+           }
+         state = newstate;
+       }
+-- 
+2.14.2
+
diff --git a/boot/grub2/0129-kern-parser-Introduce-terminate_arg-helper.patch b/boot/grub2/0129-kern-parser-Introduce-terminate_arg-helper.patch
new file mode 100644 (file)
index 0000000..7ed9f98
--- /dev/null
@@ -0,0 +1,66 @@
+From 3d157bbd06506b170fde5ec23980c4bf9f7660e2 Mon Sep 17 00:00:00 2001
+From: Chris Coulson <chris.coulson@canonical.com>
+Date: Thu, 7 Jan 2021 19:53:55 +0000
+Subject: [PATCH] kern/parser: Introduce terminate_arg() helper
+
+process_char() and grub_parser_split_cmdline() use similar code for
+terminating the most recent argument. Add a helper function for this.
+
+Signed-off-by: Chris Coulson <chris.coulson@canonical.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/kern/parser.c | 23 +++++++++++++----------
+ 1 file changed, 13 insertions(+), 10 deletions(-)
+
+diff --git a/grub-core/kern/parser.c b/grub-core/kern/parser.c
+index 0d3582b..572c670 100644
+--- a/grub-core/kern/parser.c
++++ b/grub-core/kern/parser.c
+@@ -129,6 +129,16 @@ add_var (char *varname, char **bp, char **vp,
+     *((*bp)++) = *val;
+ }
++static void
++terminate_arg (char *buffer, char **bp, int *argc)
++{
++  if (*bp != buffer && *((*bp) - 1) != '\0')
++    {
++      *((*bp)++) = '\0';
++      (*argc)++;
++    }
++}
++
+ static grub_err_t
+ process_char (char c, char *buffer, char **bp, char *varname, char **vp,
+             grub_parser_state_t state, int *argc,
+@@ -157,11 +167,7 @@ process_char (char c, char *buffer, char **bp, char *varname, char **vp,
+        * Don't add more than one argument if multiple
+        * spaces are used.
+        */
+-      if (*bp != buffer && *((*bp) - 1) != '\0')
+-      {
+-        *((*bp)++) = '\0';
+-        (*argc)++;
+-      }
++      terminate_arg (buffer, bp, argc);
+     }
+   else if (use)
+     *((*bp)++) = use;
+@@ -232,11 +238,8 @@ grub_parser_split_cmdline (const char *cmdline,
+      variable.  */
+   add_var (varname, &bp, &vp, state, GRUB_PARSER_STATE_TEXT);
+-  if (bp != buffer && *(bp - 1))
+-    {
+-      *(bp++) = '\0';
+-      (*argc)++;
+-    }
++  /* Ensure that the last argument is terminated. */
++  terminate_arg (buffer, &bp, argc);
+   /* If there are no args, then we're done. */
+   if (!*argc)
+-- 
+2.14.2
+
diff --git a/boot/grub2/0130-kern-parser-Refactor-grub_parser_split_cmdline-clean.patch b/boot/grub2/0130-kern-parser-Refactor-grub_parser_split_cmdline-clean.patch
new file mode 100644 (file)
index 0000000..e1e955f
--- /dev/null
@@ -0,0 +1,92 @@
+From 8bc817014ce3d7a498db44eae33c8b90e2430926 Mon Sep 17 00:00:00 2001
+From: Chris Coulson <chris.coulson@canonical.com>
+Date: Wed, 6 Jan 2021 13:54:26 +0000
+Subject: [PATCH] kern/parser: Refactor grub_parser_split_cmdline() cleanup
+
+Introduce a common function epilogue used for cleaning up on all
+return paths, which will simplify additional error handling to be
+introduced in a subsequent commit.
+
+Signed-off-by: Chris Coulson <chris.coulson@canonical.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/kern/parser.c | 35 ++++++++++++++++++++---------------
+ 1 file changed, 20 insertions(+), 15 deletions(-)
+
+diff --git a/grub-core/kern/parser.c b/grub-core/kern/parser.c
+index 572c670..e010eaa 100644
+--- a/grub-core/kern/parser.c
++++ b/grub-core/kern/parser.c
+@@ -221,19 +221,13 @@ grub_parser_split_cmdline (const char *cmdline,
+         if (process_char (*rp, buffer, &bp, varname, &vp, state, argc,
+                           &newstate) != GRUB_ERR_NONE)
+-          {
+-            if (rd != cmdline)
+-              grub_free (rd);
+-            return grub_errno;
+-          }
++          goto fail;
++
+         state = newstate;
+       }
+     }
+   while (state != GRUB_PARSER_STATE_TEXT && !check_varstate (state));
+-  if (rd != cmdline)
+-    grub_free (rd);
+-
+   /* A special case for when the last character was part of a
+      variable.  */
+   add_var (varname, &bp, &vp, state, GRUB_PARSER_STATE_TEXT);
+@@ -243,20 +237,20 @@ grub_parser_split_cmdline (const char *cmdline,
+   /* If there are no args, then we're done. */
+   if (!*argc)
+-    return 0;
++    {
++      grub_errno = GRUB_ERR_NONE;
++      goto out;
++    }
+   /* Reserve memory for the return values.  */
+   args = grub_malloc (bp - buffer);
+   if (!args)
+-    return grub_errno;
++    goto fail;
+   grub_memcpy (args, buffer, bp - buffer);
+   *argv = grub_calloc (*argc + 1, sizeof (char *));
+   if (!*argv)
+-    {
+-      grub_free (args);
+-      return grub_errno;
+-    }
++    goto fail;
+   /* The arguments are separated with 0's, setup argv so it points to
+      the right values.  */
+@@ -269,7 +263,18 @@ grub_parser_split_cmdline (const char *cmdline,
+       bp++;
+     }
+-  return 0;
++  grub_errno = GRUB_ERR_NONE;
++
++ out:
++  if (rd != cmdline)
++    grub_free (rd);
++
++  return grub_errno;
++
++ fail:
++  grub_free (*argv);
++  grub_free (args);
++  goto out;
+ }
+ /* Helper for grub_parser_execute.  */
+-- 
+2.14.2
+
diff --git a/boot/grub2/0131-kern-buffer-Add-variable-sized-heap-buffer.patch b/boot/grub2/0131-kern-buffer-Add-variable-sized-heap-buffer.patch
new file mode 100644 (file)
index 0000000..1731011
--- /dev/null
@@ -0,0 +1,1237 @@
+From 030fb6c4fa354cdbd6a8d6903dfed5d36eaf3cb2 Mon Sep 17 00:00:00 2001
+From: Chris Coulson <chris.coulson@canonical.com>
+Date: Thu, 7 Jan 2021 15:15:43 +0000
+Subject: [PATCH] kern/buffer: Add variable sized heap buffer
+
+Add a new variable sized heap buffer type (grub_buffer_t) with simple
+operations for appending data, accessing the data and maintaining
+a read cursor.
+
+Signed-off-by: Chris Coulson <chris.coulson@canonical.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+[Add changes to generated files]
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/Makefile.core.am  |  46 +++---
+ grub-core/Makefile.core.def |   1 +
+ grub-core/Makefile.in       | 341 +++++++++++++++++++++++++-------------------
+ grub-core/kern/buffer.c     | 117 +++++++++++++++
+ include/grub/buffer.h       | 144 +++++++++++++++++++
+ po/POTFILES.in              |   2 +
+ 6 files changed, 485 insertions(+), 166 deletions(-)
+ create mode 100644 grub-core/kern/buffer.c
+ create mode 100644 include/grub/buffer.h
+
+diff --git a/grub-core/Makefile.core.am b/grub-core/Makefile.core.am
+index fbfb627..2fa9a8e 100644
+--- a/grub-core/Makefile.core.am
++++ b/grub-core/Makefile.core.am
+@@ -22334,7 +22334,7 @@ gcry_whirlpool.marker: $(gcry_whirlpool_module_SOURCES) $(nodist_gcry_whirlpool_
+ if COND_emu
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = 
+-kernel_exec_SOURCES += disk/host.c kern/emu/cache_s.S kern/emu/hostdisk.c osdep/unix/hostdisk.c osdep/exec.c osdep/devmapper/hostdisk.c osdep/hostdisk.c kern/emu/hostfs.c kern/emu/main.c kern/emu/argp_common.c kern/emu/misc.c kern/emu/mm.c kern/emu/time.c kern/emu/cache.c osdep/emuconsole.c osdep/dl.c osdep/sleep.c osdep/init.c osdep/emunet.c osdep/cputime.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.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 kern/verifiers.c 
++kernel_exec_SOURCES += disk/host.c kern/emu/cache_s.S kern/emu/hostdisk.c osdep/unix/hostdisk.c osdep/exec.c osdep/devmapper/hostdisk.c osdep/hostdisk.c kern/emu/hostfs.c kern/emu/main.c kern/emu/argp_common.c kern/emu/misc.c kern/emu/mm.c kern/emu/time.c kern/emu/cache.c osdep/emuconsole.c osdep/dl.c osdep/sleep.c osdep/init.c osdep/emunet.c osdep/cputime.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/buffer.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  =  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) $(CFLAGS_GNULIB) 
+@@ -22356,7 +22356,7 @@ endif
+ if COND_i386_pc
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/i386/pc/startup.S 
+-kernel_exec_SOURCES += kern/i386/pc/init.c kern/i386/pc/mmap.c term/i386/pc/console.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.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 kern/verifiers.c 
++kernel_exec_SOURCES += kern/i386/pc/init.c kern/i386/pc/mmap.c term/i386/pc/console.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22378,7 +22378,7 @@ endif
+ if COND_i386_efi
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/i386/efi/startup.S 
+-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/lockdown.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 kern/verifiers.c 
++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/lockdown.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22400,7 +22400,7 @@ endif
+ if COND_i386_qemu
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/i386/qemu/startup.S 
+-kernel_exec_SOURCES += kern/i386/qemu/init.c bus/pci.c kern/vga_init.c kern/i386/qemu/mmap.c term/i386/pc/vga_text.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.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 kern/verifiers.c 
++kernel_exec_SOURCES += kern/i386/qemu/init.c bus/pci.c kern/vga_init.c kern/i386/qemu/mmap.c term/i386/pc/vga_text.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22422,7 +22422,7 @@ endif
+ if COND_i386_coreboot
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/i386/coreboot/startup.S 
+-kernel_exec_SOURCES += kern/i386/coreboot/init.c kern/i386/pc/acpi.c kern/acpi.c kern/i386/tsc_pmtimer.c kern/i386/coreboot/cbtable.c video/coreboot/cbfb.c kern/coreboot/mmap.c kern/coreboot/cbtable.c term/gfxterm.c font/font.c font/font_cmd.c io/bufio.c video/fb/fbblit.c video/fb/fbfill.c video/fb/fbutil.c video/fb/video_fb.c video/video.c term/i386/pc/vga_text.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.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 kern/verifiers.c 
++kernel_exec_SOURCES += kern/i386/coreboot/init.c kern/i386/pc/acpi.c kern/acpi.c kern/i386/tsc_pmtimer.c kern/i386/coreboot/cbtable.c video/coreboot/cbfb.c kern/coreboot/mmap.c kern/coreboot/cbtable.c term/gfxterm.c font/font.c font/font_cmd.c io/bufio.c video/fb/fbblit.c video/fb/fbfill.c video/fb/fbutil.c video/fb/video_fb.c video/video.c term/i386/pc/vga_text.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22444,7 +22444,7 @@ endif
+ if COND_i386_multiboot
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/i386/coreboot/startup.S 
+-kernel_exec_SOURCES += kern/i386/coreboot/init.c kern/i386/pc/acpi.c kern/acpi.c kern/i386/multiboot_mmap.c term/i386/pc/vga_text.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.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 kern/verifiers.c 
++kernel_exec_SOURCES += kern/i386/coreboot/init.c kern/i386/pc/acpi.c kern/acpi.c kern/i386/multiboot_mmap.c term/i386/pc/vga_text.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22466,7 +22466,7 @@ endif
+ if COND_i386_ieee1275
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/i386/ieee1275/startup.S 
+-kernel_exec_SOURCES += disk/ieee1275/ofdisk.c kern/ieee1275/cmain.c kern/ieee1275/ieee1275.c kern/ieee1275/mmap.c kern/ieee1275/openfw.c term/ieee1275/console.c kern/ieee1275/init.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.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 kern/verifiers.c 
++kernel_exec_SOURCES += disk/ieee1275/ofdisk.c kern/ieee1275/cmain.c kern/ieee1275/ieee1275.c kern/ieee1275/mmap.c kern/ieee1275/openfw.c term/ieee1275/console.c kern/ieee1275/init.c kern/i386/dl.c kern/i386/tsc.c kern/i386/tsc_pit.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22488,7 +22488,7 @@ endif
+ if COND_x86_64_efi
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/x86_64/efi/startup.S 
+-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/lockdown.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 kern/verifiers.c 
++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/lockdown.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22510,7 +22510,7 @@ endif
+ if COND_i386_xen
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/i386/xen/startup.S 
+-kernel_exec_SOURCES += kern/i386/dl.c kern/i386/xen/hypercall.S kern/i386/tsc.c kern/i386/xen/tsc.c kern/xen/init.c term/xen/console.c disk/xen/xendisk.c commands/boot.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.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 kern/verifiers.c 
++kernel_exec_SOURCES += kern/i386/dl.c kern/i386/xen/hypercall.S kern/i386/tsc.c kern/i386/xen/tsc.c kern/xen/init.c term/xen/console.c disk/xen/xendisk.c commands/boot.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22532,7 +22532,7 @@ endif
+ if COND_x86_64_xen
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/x86_64/xen/startup.S 
+-kernel_exec_SOURCES += kern/x86_64/dl.c kern/x86_64/xen/hypercall.S kern/i386/tsc.c kern/i386/xen/tsc.c kern/xen/init.c term/xen/console.c disk/xen/xendisk.c commands/boot.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.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 kern/verifiers.c 
++kernel_exec_SOURCES += kern/x86_64/dl.c kern/x86_64/xen/hypercall.S kern/i386/tsc.c kern/i386/xen/tsc.c kern/xen/init.c term/xen/console.c disk/xen/xendisk.c commands/boot.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22554,7 +22554,7 @@ endif
+ if COND_i386_xen_pvh
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/i386/xen/startup_pvh.S 
+-kernel_exec_SOURCES += kern/i386/dl.c commands/boot.c disk/xen/xendisk.c kern/i386/tsc.c kern/i386/xen/tsc.c kern/i386/xen/pvh.c kern/xen/init.c term/xen/console.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.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 kern/verifiers.c 
++kernel_exec_SOURCES += kern/i386/dl.c commands/boot.c disk/xen/xendisk.c kern/i386/tsc.c kern/i386/xen/tsc.c kern/i386/xen/pvh.c kern/xen/init.c term/xen/console.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22576,7 +22576,7 @@ endif
+ if COND_mips_loongson
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/mips/startup.S 
+-kernel_exec_SOURCES += term/ns8250.c bus/bonito.c bus/cs5536.c bus/pci.c kern/mips/loongson/init.c term/at_keyboard.c term/ps2.c commands/boot.c term/serial.c video/sm712.c video/sis315pro.c video/radeon_fuloong2e.c video/radeon_yeeloong3a.c commands/keylayouts.c term/gfxterm.c font/font.c font/font_cmd.c io/bufio.c video/fb/fbblit.c video/fb/fbfill.c video/fb/fbutil.c video/fb/video_fb.c video/video.c kern/generic/rtc_get_time_ms.c kern/mips/cache.S kern/mips/dl.c kern/mips/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.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 kern/verifiers.c 
++kernel_exec_SOURCES += term/ns8250.c bus/bonito.c bus/cs5536.c bus/pci.c kern/mips/loongson/init.c term/at_keyboard.c term/ps2.c commands/boot.c term/serial.c video/sm712.c video/sis315pro.c video/radeon_fuloong2e.c video/radeon_yeeloong3a.c commands/keylayouts.c term/gfxterm.c font/font.c font/font_cmd.c io/bufio.c video/fb/fbblit.c video/fb/fbfill.c video/fb/fbutil.c video/fb/video_fb.c video/video.c kern/generic/rtc_get_time_ms.c kern/mips/cache.S kern/mips/dl.c kern/mips/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22598,7 +22598,7 @@ endif
+ if COND_sparc64_ieee1275
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/sparc64/ieee1275/crt0.S 
+-kernel_exec_SOURCES += kern/sparc64/cache.S kern/sparc64/dl.c kern/sparc64/ieee1275/ieee1275.c disk/ieee1275/obdisk.c disk/ieee1275/ofdisk.c kern/ieee1275/cmain.c kern/ieee1275/ieee1275.c kern/ieee1275/mmap.c kern/ieee1275/openfw.c term/ieee1275/console.c kern/ieee1275/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.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 kern/verifiers.c 
++kernel_exec_SOURCES += kern/sparc64/cache.S kern/sparc64/dl.c kern/sparc64/ieee1275/ieee1275.c disk/ieee1275/obdisk.c disk/ieee1275/ofdisk.c kern/ieee1275/cmain.c kern/ieee1275/ieee1275.c kern/ieee1275/mmap.c kern/ieee1275/openfw.c term/ieee1275/console.c kern/ieee1275/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22620,7 +22620,7 @@ endif
+ if COND_powerpc_ieee1275
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/powerpc/ieee1275/startup.S 
+-kernel_exec_SOURCES += kern/powerpc/cache.S kern/powerpc/dl.c kern/powerpc/compiler-rt.S disk/ieee1275/ofdisk.c kern/ieee1275/cmain.c kern/ieee1275/ieee1275.c kern/ieee1275/mmap.c kern/ieee1275/openfw.c term/ieee1275/console.c kern/ieee1275/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.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 kern/verifiers.c 
++kernel_exec_SOURCES += kern/powerpc/cache.S kern/powerpc/dl.c kern/powerpc/compiler-rt.S disk/ieee1275/ofdisk.c kern/ieee1275/cmain.c kern/ieee1275/ieee1275.c kern/ieee1275/mmap.c kern/ieee1275/openfw.c term/ieee1275/console.c kern/ieee1275/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22642,7 +22642,7 @@ endif
+ if COND_mips_arc
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/mips/startup.S 
+-kernel_exec_SOURCES += kern/mips/arc/init.c term/arc/console.c disk/arc/arcdisk.c kern/generic/rtc_get_time_ms.c kern/mips/cache.S kern/mips/dl.c kern/mips/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.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 kern/verifiers.c 
++kernel_exec_SOURCES += kern/mips/arc/init.c term/arc/console.c disk/arc/arcdisk.c kern/generic/rtc_get_time_ms.c kern/mips/cache.S kern/mips/dl.c kern/mips/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22664,7 +22664,7 @@ endif
+ if COND_ia64_efi
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = 
+-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/lockdown.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 kern/verifiers.c 
++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/lockdown.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) -fno-builtin -fpic -minline-int-divide-max-throughput 
+@@ -22686,7 +22686,7 @@ endif
+ if COND_mips_qemu_mips
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/mips/startup.S 
+-kernel_exec_SOURCES += kern/mips/qemu_mips/init.c term/ns8250.c term/serial.c term/at_keyboard.c term/ps2.c commands/boot.c commands/keylayouts.c term/i386/pc/vga_text.c kern/vga_init.c kern/generic/rtc_get_time_ms.c kern/mips/cache.S kern/mips/dl.c kern/mips/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.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 kern/verifiers.c 
++kernel_exec_SOURCES += kern/mips/qemu_mips/init.c term/ns8250.c term/serial.c term/at_keyboard.c term/ps2.c commands/boot.c commands/keylayouts.c term/i386/pc/vga_text.c kern/vga_init.c kern/generic/rtc_get_time_ms.c kern/mips/cache.S kern/mips/dl.c kern/mips/init.c term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22708,7 +22708,7 @@ endif
+ if COND_arm_uboot
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/arm/startup.S 
+-kernel_exec_SOURCES += kern/arm/uboot/init.c kern/arm/uboot/uboot.S disk/uboot/ubootdisk.c kern/uboot/uboot.c kern/uboot/init.c kern/uboot/hw.c term/uboot/console.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 term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.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 kern/verifiers.c 
++kernel_exec_SOURCES += kern/arm/uboot/init.c kern/arm/uboot/uboot.S disk/uboot/ubootdisk.c kern/uboot/uboot.c kern/uboot/init.c kern/uboot/hw.c term/uboot/console.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 term/terminfo.c term/tparm.c commands/extcmd.c lib/arg.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22730,7 +22730,7 @@ endif
+ if COND_arm_efi
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/arm/efi/startup.S 
+-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/lockdown.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 kern/verifiers.c 
++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/lockdown.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22752,7 +22752,7 @@ endif
+ if COND_arm64_efi
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/arm64/efi/startup.S 
+-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/lockdown.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 kern/verifiers.c 
++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/lockdown.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22774,7 +22774,7 @@ endif
+ if COND_arm_coreboot
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/arm/startup.S 
+-kernel_exec_SOURCES += kern/arm/coreboot/init.c kern/arm/coreboot/timer.c kern/arm/coreboot/coreboot.S lib/fdt.c bus/fdt.c term/ps2.c term/arm/pl050.c term/arm/cros.c term/arm/cros_ec.c bus/spi/rk3288_spi.c commands/keylayouts.c kern/arm/coreboot/dma.c kern/arm/coreboot/cbtable.c video/coreboot/cbfb.c kern/coreboot/mmap.c kern/coreboot/cbtable.c term/gfxterm.c font/font.c font/font_cmd.c io/bufio.c video/fb/fbblit.c video/fb/fbfill.c video/fb/fbutil.c video/fb/video_fb.c video/video.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 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 kern/verifiers.c 
++kernel_exec_SOURCES += kern/arm/coreboot/init.c kern/arm/coreboot/timer.c kern/arm/coreboot/coreboot.S lib/fdt.c bus/fdt.c term/ps2.c term/arm/pl050.c term/arm/cros.c term/arm/cros_ec.c bus/spi/rk3288_spi.c commands/keylayouts.c kern/arm/coreboot/dma.c kern/arm/coreboot/cbtable.c video/coreboot/cbfb.c kern/coreboot/mmap.c kern/coreboot/cbtable.c term/gfxterm.c font/font.c font/font_cmd.c io/bufio.c video/fb/fbblit.c video/fb/fbfill.c video/fb/fbutil.c video/fb/video_fb.c video/video.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 kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22796,7 +22796,7 @@ endif
+ if COND_riscv32_efi
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/riscv/efi/startup.S 
+-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/lockdown.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 kern/verifiers.c 
++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/lockdown.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+@@ -22818,7 +22818,7 @@ endif
+ if COND_riscv64_efi
+ platform_PROGRAMS += kernel.exec
+ kernel_exec_SOURCES  = kern/riscv/efi/startup.S 
+-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/lockdown.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 kern/verifiers.c 
++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/lockdown.c kern/compiler-rt.c kern/mm.c kern/time.c kern/generic/millisleep.c kern/buffer.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 kern/verifiers.c 
+ nodist_kernel_exec_SOURCES  = symlist.c  ## platform nodist sources
+ kernel_exec_LDADD  = 
+ kernel_exec_CFLAGS  = $(AM_CFLAGS) $(CFLAGS_KERNEL) 
+diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
+index ee8dc55..291b58a 100644
+--- a/grub-core/Makefile.core.def
++++ b/grub-core/Makefile.core.def
+@@ -123,6 +123,7 @@ kernel = {
+   riscv32_efi_startup = kern/riscv/efi/startup.S;
+   riscv64_efi_startup = kern/riscv/efi/startup.S;
++  common = kern/buffer.c;
+   common = kern/command.c;
+   common = kern/corecmd.c;
+   common = kern/device.c;
+diff --git a/grub-core/Makefile.in b/grub-core/Makefile.in
+index ac400ea..1f8133b 100644
+--- a/grub-core/Makefile.in
++++ b/grub-core/Makefile.in
+@@ -10459,12 +10459,12 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+       kern/efi/init.c kern/efi/mm.c term/efi/console.c kern/acpi.c \
+       kern/efi/acpi.c kern/efi/sb.c kern/lockdown.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 kern/verifiers.c \
+-      kern/arm/startup.S kern/arm/coreboot/init.c \
++      kern/generic/millisleep.c kern/buffer.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 \
++      kern/verifiers.c kern/arm/startup.S kern/arm/coreboot/init.c \
+       kern/arm/coreboot/timer.c kern/arm/coreboot/coreboot.S \
+       lib/fdt.c bus/fdt.c term/ps2.c term/arm/pl050.c \
+       term/arm/cros.c term/arm/cros_ec.c bus/spi/rk3288_spi.c \
+@@ -10538,6 +10538,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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_FALSE@@COND_x86_64_xen_TRUE@   kern/kernel_exec-mm.$(OBJEXT) \
+ @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_FALSE@@COND_x86_64_xen_TRUE@   kern/kernel_exec-time.$(OBJEXT) \
+ @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_FALSE@@COND_x86_64_xen_TRUE@   kern/generic/kernel_exec-millisleep.$(OBJEXT) \
++@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_FALSE@@COND_x86_64_xen_TRUE@   kern/kernel_exec-buffer.$(OBJEXT) \
+ @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_FALSE@@COND_x86_64_xen_TRUE@   kern/kernel_exec-command.$(OBJEXT) \
+ @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_FALSE@@COND_x86_64_xen_TRUE@   kern/kernel_exec-corecmd.$(OBJEXT) \
+ @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_FALSE@@COND_x86_64_xen_TRUE@   kern/kernel_exec-device.$(OBJEXT) \
+@@ -10578,6 +10579,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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) \
+ @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) \
+ @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/generic/kernel_exec-millisleep.$(OBJEXT) \
++@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-buffer.$(OBJEXT) \
+ @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-command.$(OBJEXT) \
+ @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-corecmd.$(OBJEXT) \
+ @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-device.$(OBJEXT) \
+@@ -10616,6 +10618,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \
+ @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_TRUE@ kern/kernel_exec-time.$(OBJEXT) \
+ @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_TRUE@ kern/generic/kernel_exec-millisleep.$(OBJEXT) \
++@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_TRUE@ kern/kernel_exec-buffer.$(OBJEXT) \
+ @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_TRUE@ kern/kernel_exec-command.$(OBJEXT) \
+ @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_TRUE@ kern/kernel_exec-corecmd.$(OBJEXT) \
+ @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_TRUE@ kern/kernel_exec-device.$(OBJEXT) \
+@@ -10653,6 +10656,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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) \
+ @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) \
+ @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/generic/kernel_exec-millisleep.$(OBJEXT) \
++@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-buffer.$(OBJEXT) \
+ @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-command.$(OBJEXT) \
+ @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-corecmd.$(OBJEXT) \
+ @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-device.$(OBJEXT) \
+@@ -10691,6 +10695,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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) \
+ @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) \
+ @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/generic/kernel_exec-millisleep.$(OBJEXT) \
++@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-buffer.$(OBJEXT) \
+ @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-command.$(OBJEXT) \
+ @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-corecmd.$(OBJEXT) \
+ @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-device.$(OBJEXT) \
+@@ -10728,6 +10733,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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_TRUE@      kern/kernel_exec-mm.$(OBJEXT) \
+ @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_TRUE@      kern/kernel_exec-time.$(OBJEXT) \
+ @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_TRUE@      kern/generic/kernel_exec-millisleep.$(OBJEXT) \
++@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_TRUE@      kern/kernel_exec-buffer.$(OBJEXT) \
+ @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_TRUE@      kern/kernel_exec-command.$(OBJEXT) \
+ @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_TRUE@      kern/kernel_exec-corecmd.$(OBJEXT) \
+ @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_TRUE@      kern/kernel_exec-device.$(OBJEXT) \
+@@ -10768,6 +10774,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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_TRUE@   kern/kernel_exec-mm.$(OBJEXT) \
+ @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_TRUE@   kern/kernel_exec-time.$(OBJEXT) \
+ @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_TRUE@   kern/generic/kernel_exec-millisleep.$(OBJEXT) \
++@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_TRUE@   kern/kernel_exec-buffer.$(OBJEXT) \
+ @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_TRUE@   kern/kernel_exec-command.$(OBJEXT) \
+ @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_TRUE@   kern/kernel_exec-corecmd.$(OBJEXT) \
+ @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_TRUE@   kern/kernel_exec-device.$(OBJEXT) \
+@@ -10822,6 +10829,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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_TRUE@      kern/kernel_exec-mm.$(OBJEXT) \
+ @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_TRUE@      kern/kernel_exec-time.$(OBJEXT) \
+ @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_TRUE@      kern/generic/kernel_exec-millisleep.$(OBJEXT) \
++@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_TRUE@      kern/kernel_exec-buffer.$(OBJEXT) \
+ @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_TRUE@      kern/kernel_exec-command.$(OBJEXT) \
+ @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_TRUE@      kern/kernel_exec-corecmd.$(OBJEXT) \
+ @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_TRUE@      kern/kernel_exec-device.$(OBJEXT) \
+@@ -10856,6 +10864,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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_TRUE@        kern/kernel_exec-mm.$(OBJEXT) \
+ @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_TRUE@        kern/kernel_exec-time.$(OBJEXT) \
+ @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_TRUE@        kern/generic/kernel_exec-millisleep.$(OBJEXT) \
++@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_TRUE@        kern/kernel_exec-buffer.$(OBJEXT) \
+ @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_TRUE@        kern/kernel_exec-command.$(OBJEXT) \
+ @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_TRUE@        kern/kernel_exec-corecmd.$(OBJEXT) \
+ @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_TRUE@        kern/kernel_exec-device.$(OBJEXT) \
+@@ -10893,6 +10902,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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) \
+ @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) \
+ @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/generic/kernel_exec-millisleep.$(OBJEXT) \
++@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-buffer.$(OBJEXT) \
+ @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-command.$(OBJEXT) \
+ @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-corecmd.$(OBJEXT) \
+ @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-device.$(OBJEXT) \
+@@ -10928,6 +10938,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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_TRUE@  kern/kernel_exec-mm.$(OBJEXT) \
+ @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_TRUE@  kern/kernel_exec-time.$(OBJEXT) \
+ @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_TRUE@  kern/generic/kernel_exec-millisleep.$(OBJEXT) \
++@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_TRUE@  kern/kernel_exec-buffer.$(OBJEXT) \
+ @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_TRUE@  kern/kernel_exec-command.$(OBJEXT) \
+ @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_TRUE@  kern/kernel_exec-corecmd.$(OBJEXT) \
+ @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_TRUE@  kern/kernel_exec-device.$(OBJEXT) \
+@@ -10963,6 +10974,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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_TRUE@   kern/kernel_exec-mm.$(OBJEXT) \
+ @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_TRUE@   kern/kernel_exec-time.$(OBJEXT) \
+ @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_TRUE@   kern/generic/kernel_exec-millisleep.$(OBJEXT) \
++@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_TRUE@   kern/kernel_exec-buffer.$(OBJEXT) \
+ @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_TRUE@   kern/kernel_exec-command.$(OBJEXT) \
+ @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_TRUE@   kern/kernel_exec-corecmd.$(OBJEXT) \
+ @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_TRUE@   kern/kernel_exec-device.$(OBJEXT) \
+@@ -10994,6 +11006,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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_TRUE@        kern/kernel_exec-mm.$(OBJEXT) \
+ @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_TRUE@        kern/kernel_exec-time.$(OBJEXT) \
+ @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_TRUE@        kern/generic/kernel_exec-millisleep.$(OBJEXT) \
++@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_TRUE@        kern/kernel_exec-buffer.$(OBJEXT) \
+ @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_TRUE@        kern/kernel_exec-command.$(OBJEXT) \
+ @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_TRUE@        kern/kernel_exec-corecmd.$(OBJEXT) \
+ @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_TRUE@        kern/kernel_exec-device.$(OBJEXT) \
+@@ -11023,6 +11036,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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_TRUE@      kern/kernel_exec-mm.$(OBJEXT) \
+ @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_TRUE@      kern/kernel_exec-time.$(OBJEXT) \
+ @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_TRUE@      kern/generic/kernel_exec-millisleep.$(OBJEXT) \
++@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_TRUE@      kern/kernel_exec-buffer.$(OBJEXT) \
+ @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_TRUE@      kern/kernel_exec-command.$(OBJEXT) \
+ @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_TRUE@      kern/kernel_exec-corecmd.$(OBJEXT) \
+ @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_TRUE@      kern/kernel_exec-device.$(OBJEXT) \
+@@ -11054,6 +11068,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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_TRUE@  kern/kernel_exec-mm.$(OBJEXT) \
+ @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_TRUE@  kern/kernel_exec-time.$(OBJEXT) \
+ @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_TRUE@  kern/generic/kernel_exec-millisleep.$(OBJEXT) \
++@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_TRUE@  kern/kernel_exec-buffer.$(OBJEXT) \
+ @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_TRUE@  kern/kernel_exec-command.$(OBJEXT) \
+ @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_TRUE@  kern/kernel_exec-corecmd.$(OBJEXT) \
+ @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_TRUE@  kern/kernel_exec-device.$(OBJEXT) \
+@@ -11091,6 +11106,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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_TRUE@     kern/kernel_exec-mm.$(OBJEXT) \
+ @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_TRUE@     kern/kernel_exec-time.$(OBJEXT) \
+ @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_TRUE@     kern/generic/kernel_exec-millisleep.$(OBJEXT) \
++@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_TRUE@     kern/kernel_exec-buffer.$(OBJEXT) \
+ @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_TRUE@     kern/kernel_exec-command.$(OBJEXT) \
+ @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_TRUE@     kern/kernel_exec-corecmd.$(OBJEXT) \
+ @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_TRUE@     kern/kernel_exec-device.$(OBJEXT) \
+@@ -11130,6 +11146,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @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) \
+ @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) \
+ @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/generic/kernel_exec-millisleep.$(OBJEXT) \
++@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-buffer.$(OBJEXT) \
+ @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-command.$(OBJEXT) \
+ @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-corecmd.$(OBJEXT) \
+ @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-device.$(OBJEXT) \
+@@ -11174,6 +11191,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_TRUE@    kern/kernel_exec-mm.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_TRUE@    kern/kernel_exec-time.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_TRUE@    kern/generic/kernel_exec-millisleep.$(OBJEXT) \
++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_TRUE@    kern/kernel_exec-buffer.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_TRUE@    kern/kernel_exec-command.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_TRUE@    kern/kernel_exec-corecmd.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_FALSE@@COND_i386_coreboot_TRUE@    kern/kernel_exec-device.$(OBJEXT) \
+@@ -11216,6 +11234,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_TRUE@      term/kernel_exec-tparm.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_TRUE@      commands/kernel_exec-extcmd.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_TRUE@      lib/kernel_exec-arg.$(OBJEXT) \
++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_TRUE@      kern/kernel_exec-buffer.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_TRUE@      kern/kernel_exec-command.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_TRUE@      kern/kernel_exec-corecmd.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_FALSE@@COND_emu_TRUE@      kern/kernel_exec-device.$(OBJEXT) \
+@@ -11257,6 +11276,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_TRUE@      kern/kernel_exec-mm.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_TRUE@      kern/kernel_exec-time.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_TRUE@      kern/generic/kernel_exec-millisleep.$(OBJEXT) \
++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_TRUE@      kern/kernel_exec-buffer.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_TRUE@      kern/kernel_exec-command.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_TRUE@      kern/kernel_exec-corecmd.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_FALSE@@COND_arm_uboot_TRUE@      kern/kernel_exec-device.$(OBJEXT) \
+@@ -11298,6 +11318,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@    kern/kernel_exec-mm.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@    kern/kernel_exec-time.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@    kern/generic/kernel_exec-millisleep.$(OBJEXT) \
++@COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@    kern/kernel_exec-buffer.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@    kern/kernel_exec-command.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@    kern/kernel_exec-corecmd.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_FALSE@@COND_arm_efi_TRUE@    kern/kernel_exec-device.$(OBJEXT) \
+@@ -11353,6 +11374,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_TRUE@        kern/kernel_exec-mm.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_TRUE@        kern/kernel_exec-time.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_TRUE@        kern/generic/kernel_exec-millisleep.$(OBJEXT) \
++@COND_arm64_efi_FALSE@@COND_arm_coreboot_TRUE@        kern/kernel_exec-buffer.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_TRUE@        kern/kernel_exec-command.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_TRUE@        kern/kernel_exec-corecmd.$(OBJEXT) \
+ @COND_arm64_efi_FALSE@@COND_arm_coreboot_TRUE@        kern/kernel_exec-device.$(OBJEXT) \
+@@ -11391,6 +11413,7 @@ am__kernel_exec_SOURCES_DIST = kern/arm64/efi/startup.S \
+ @COND_arm64_efi_TRUE@ kern/kernel_exec-mm.$(OBJEXT) \
+ @COND_arm64_efi_TRUE@ kern/kernel_exec-time.$(OBJEXT) \
+ @COND_arm64_efi_TRUE@ kern/generic/kernel_exec-millisleep.$(OBJEXT) \
++@COND_arm64_efi_TRUE@ kern/kernel_exec-buffer.$(OBJEXT) \
+ @COND_arm64_efi_TRUE@ kern/kernel_exec-command.$(OBJEXT) \
+ @COND_arm64_efi_TRUE@ kern/kernel_exec-corecmd.$(OBJEXT) \
+ @COND_arm64_efi_TRUE@ kern/kernel_exec-device.$(OBJEXT) \
+@@ -25607,11 +25630,12 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_arm64_efi_TRUE@ kern/acpi.c kern/efi/acpi.c kern/efi/sb.c \
+ @COND_arm64_efi_TRUE@ kern/lockdown.c kern/compiler-rt.c \
+ @COND_arm64_efi_TRUE@ kern/mm.c kern/time.c \
+-@COND_arm64_efi_TRUE@ kern/generic/millisleep.c kern/command.c \
+-@COND_arm64_efi_TRUE@ kern/corecmd.c kern/device.c kern/disk.c \
+-@COND_arm64_efi_TRUE@ kern/dl.c kern/env.c kern/err.c \
+-@COND_arm64_efi_TRUE@ kern/file.c kern/fs.c kern/list.c \
+-@COND_arm64_efi_TRUE@ kern/main.c kern/misc.c kern/parser.c \
++@COND_arm64_efi_TRUE@ kern/generic/millisleep.c kern/buffer.c \
++@COND_arm64_efi_TRUE@ kern/command.c kern/corecmd.c \
++@COND_arm64_efi_TRUE@ kern/device.c kern/disk.c kern/dl.c \
++@COND_arm64_efi_TRUE@ kern/env.c kern/err.c kern/file.c \
++@COND_arm64_efi_TRUE@ kern/fs.c kern/list.c kern/main.c \
++@COND_arm64_efi_TRUE@ kern/misc.c kern/parser.c \
+ @COND_arm64_efi_TRUE@ kern/partition.c kern/rescue_parser.c \
+ @COND_arm64_efi_TRUE@ kern/rescue_reader.c kern/term.c \
+ @COND_arm64_efi_TRUE@ kern/verifiers.c
+@@ -25639,12 +25663,13 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_arm_coreboot_TRUE@      kern/arm/compiler-rt.S lib/division.c \
+ @COND_arm_coreboot_TRUE@      kern/compiler-rt.c kern/mm.c \
+ @COND_arm_coreboot_TRUE@      kern/time.c kern/generic/millisleep.c \
+-@COND_arm_coreboot_TRUE@      kern/command.c kern/corecmd.c \
+-@COND_arm_coreboot_TRUE@      kern/device.c kern/disk.c kern/dl.c \
+-@COND_arm_coreboot_TRUE@      kern/env.c kern/err.c kern/file.c \
+-@COND_arm_coreboot_TRUE@      kern/fs.c kern/list.c kern/main.c \
+-@COND_arm_coreboot_TRUE@      kern/misc.c kern/parser.c \
+-@COND_arm_coreboot_TRUE@      kern/partition.c kern/rescue_parser.c \
++@COND_arm_coreboot_TRUE@      kern/buffer.c kern/command.c \
++@COND_arm_coreboot_TRUE@      kern/corecmd.c kern/device.c \
++@COND_arm_coreboot_TRUE@      kern/disk.c kern/dl.c kern/env.c \
++@COND_arm_coreboot_TRUE@      kern/err.c kern/file.c kern/fs.c \
++@COND_arm_coreboot_TRUE@      kern/list.c kern/main.c kern/misc.c \
++@COND_arm_coreboot_TRUE@      kern/parser.c kern/partition.c \
++@COND_arm_coreboot_TRUE@      kern/rescue_parser.c \
+ @COND_arm_coreboot_TRUE@      kern/rescue_reader.c kern/term.c \
+ @COND_arm_coreboot_TRUE@      kern/verifiers.c
+ @COND_arm_efi_TRUE@kernel_exec_SOURCES = kern/arm/efi/startup.S \
+@@ -25659,13 +25684,14 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_arm_efi_TRUE@   kern/efi/acpi.c kern/efi/sb.c \
+ @COND_arm_efi_TRUE@   kern/lockdown.c kern/compiler-rt.c \
+ @COND_arm_efi_TRUE@   kern/mm.c kern/time.c \
+-@COND_arm_efi_TRUE@   kern/generic/millisleep.c kern/command.c \
+-@COND_arm_efi_TRUE@   kern/corecmd.c kern/device.c kern/disk.c \
+-@COND_arm_efi_TRUE@   kern/dl.c kern/env.c kern/err.c kern/file.c \
+-@COND_arm_efi_TRUE@   kern/fs.c kern/list.c kern/main.c \
+-@COND_arm_efi_TRUE@   kern/misc.c kern/parser.c kern/partition.c \
+-@COND_arm_efi_TRUE@   kern/rescue_parser.c kern/rescue_reader.c \
+-@COND_arm_efi_TRUE@   kern/term.c kern/verifiers.c
++@COND_arm_efi_TRUE@   kern/generic/millisleep.c kern/buffer.c \
++@COND_arm_efi_TRUE@   kern/command.c kern/corecmd.c kern/device.c \
++@COND_arm_efi_TRUE@   kern/disk.c kern/dl.c kern/env.c kern/err.c \
++@COND_arm_efi_TRUE@   kern/file.c kern/fs.c kern/list.c \
++@COND_arm_efi_TRUE@   kern/main.c kern/misc.c kern/parser.c \
++@COND_arm_efi_TRUE@   kern/partition.c kern/rescue_parser.c \
++@COND_arm_efi_TRUE@   kern/rescue_reader.c kern/term.c \
++@COND_arm_efi_TRUE@   kern/verifiers.c
+ @COND_arm_uboot_TRUE@kernel_exec_SOURCES = kern/arm/startup.S \
+ @COND_arm_uboot_TRUE@ kern/arm/uboot/init.c \
+ @COND_arm_uboot_TRUE@ kern/arm/uboot/uboot.S \
+@@ -25679,11 +25705,12 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_arm_uboot_TRUE@ term/terminfo.c term/tparm.c \
+ @COND_arm_uboot_TRUE@ commands/extcmd.c lib/arg.c \
+ @COND_arm_uboot_TRUE@ kern/compiler-rt.c kern/mm.c kern/time.c \
+-@COND_arm_uboot_TRUE@ kern/generic/millisleep.c kern/command.c \
+-@COND_arm_uboot_TRUE@ kern/corecmd.c kern/device.c kern/disk.c \
+-@COND_arm_uboot_TRUE@ kern/dl.c kern/env.c kern/err.c \
+-@COND_arm_uboot_TRUE@ kern/file.c kern/fs.c kern/list.c \
+-@COND_arm_uboot_TRUE@ kern/main.c kern/misc.c kern/parser.c \
++@COND_arm_uboot_TRUE@ kern/generic/millisleep.c kern/buffer.c \
++@COND_arm_uboot_TRUE@ kern/command.c kern/corecmd.c \
++@COND_arm_uboot_TRUE@ kern/device.c kern/disk.c kern/dl.c \
++@COND_arm_uboot_TRUE@ kern/env.c kern/err.c kern/file.c \
++@COND_arm_uboot_TRUE@ kern/fs.c kern/list.c kern/main.c \
++@COND_arm_uboot_TRUE@ kern/misc.c kern/parser.c \
+ @COND_arm_uboot_TRUE@ kern/partition.c kern/rescue_parser.c \
+ @COND_arm_uboot_TRUE@ kern/rescue_reader.c kern/term.c \
+ @COND_arm_uboot_TRUE@ kern/verifiers.c
+@@ -25696,11 +25723,11 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_emu_TRUE@       kern/emu/cache.c osdep/emuconsole.c osdep/dl.c \
+ @COND_emu_TRUE@       osdep/sleep.c osdep/init.c osdep/emunet.c \
+ @COND_emu_TRUE@       osdep/cputime.c term/terminfo.c term/tparm.c \
+-@COND_emu_TRUE@       commands/extcmd.c lib/arg.c kern/command.c \
+-@COND_emu_TRUE@       kern/corecmd.c kern/device.c kern/disk.c \
+-@COND_emu_TRUE@       kern/dl.c kern/env.c kern/err.c kern/file.c \
+-@COND_emu_TRUE@       kern/fs.c kern/list.c kern/main.c kern/misc.c \
+-@COND_emu_TRUE@       kern/parser.c kern/partition.c \
++@COND_emu_TRUE@       commands/extcmd.c lib/arg.c kern/buffer.c \
++@COND_emu_TRUE@       kern/command.c kern/corecmd.c kern/device.c \
++@COND_emu_TRUE@       kern/disk.c kern/dl.c kern/env.c kern/err.c \
++@COND_emu_TRUE@       kern/file.c kern/fs.c kern/list.c kern/main.c \
++@COND_emu_TRUE@       kern/misc.c kern/parser.c kern/partition.c \
+ @COND_emu_TRUE@       kern/rescue_parser.c kern/rescue_reader.c \
+ @COND_emu_TRUE@       kern/term.c kern/verifiers.c
+ @COND_i386_coreboot_TRUE@kernel_exec_SOURCES =  \
+@@ -25721,12 +25748,13 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_i386_coreboot_TRUE@     kern/i386/tsc_pit.c \
+ @COND_i386_coreboot_TRUE@     kern/compiler-rt.c kern/mm.c \
+ @COND_i386_coreboot_TRUE@     kern/time.c kern/generic/millisleep.c \
+-@COND_i386_coreboot_TRUE@     kern/command.c kern/corecmd.c \
+-@COND_i386_coreboot_TRUE@     kern/device.c kern/disk.c kern/dl.c \
+-@COND_i386_coreboot_TRUE@     kern/env.c kern/err.c kern/file.c \
+-@COND_i386_coreboot_TRUE@     kern/fs.c kern/list.c kern/main.c \
+-@COND_i386_coreboot_TRUE@     kern/misc.c kern/parser.c \
+-@COND_i386_coreboot_TRUE@     kern/partition.c kern/rescue_parser.c \
++@COND_i386_coreboot_TRUE@     kern/buffer.c kern/command.c \
++@COND_i386_coreboot_TRUE@     kern/corecmd.c kern/device.c \
++@COND_i386_coreboot_TRUE@     kern/disk.c kern/dl.c kern/env.c \
++@COND_i386_coreboot_TRUE@     kern/err.c kern/file.c kern/fs.c \
++@COND_i386_coreboot_TRUE@     kern/list.c kern/main.c kern/misc.c \
++@COND_i386_coreboot_TRUE@     kern/parser.c kern/partition.c \
++@COND_i386_coreboot_TRUE@     kern/rescue_parser.c \
+ @COND_i386_coreboot_TRUE@     kern/rescue_reader.c kern/term.c \
+ @COND_i386_coreboot_TRUE@     kern/verifiers.c
+ @COND_i386_efi_TRUE@kernel_exec_SOURCES = kern/i386/efi/startup.S \
+@@ -25740,14 +25768,14 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_i386_efi_TRUE@  kern/acpi.c kern/efi/acpi.c kern/efi/sb.c \
+ @COND_i386_efi_TRUE@  kern/lockdown.c kern/compiler-rt.c \
+ @COND_i386_efi_TRUE@  kern/mm.c kern/time.c \
+-@COND_i386_efi_TRUE@  kern/generic/millisleep.c kern/command.c \
+-@COND_i386_efi_TRUE@  kern/corecmd.c kern/device.c kern/disk.c \
+-@COND_i386_efi_TRUE@  kern/dl.c kern/env.c kern/err.c \
+-@COND_i386_efi_TRUE@  kern/file.c kern/fs.c kern/list.c \
+-@COND_i386_efi_TRUE@  kern/main.c kern/misc.c kern/parser.c \
+-@COND_i386_efi_TRUE@  kern/partition.c kern/rescue_parser.c \
+-@COND_i386_efi_TRUE@  kern/rescue_reader.c kern/term.c \
+-@COND_i386_efi_TRUE@  kern/verifiers.c
++@COND_i386_efi_TRUE@  kern/generic/millisleep.c kern/buffer.c \
++@COND_i386_efi_TRUE@  kern/command.c kern/corecmd.c \
++@COND_i386_efi_TRUE@  kern/device.c kern/disk.c kern/dl.c \
++@COND_i386_efi_TRUE@  kern/env.c kern/err.c kern/file.c \
++@COND_i386_efi_TRUE@  kern/fs.c kern/list.c kern/main.c \
++@COND_i386_efi_TRUE@  kern/misc.c kern/parser.c kern/partition.c \
++@COND_i386_efi_TRUE@  kern/rescue_parser.c kern/rescue_reader.c \
++@COND_i386_efi_TRUE@  kern/term.c kern/verifiers.c
+ @COND_i386_ieee1275_TRUE@kernel_exec_SOURCES =  \
+ @COND_i386_ieee1275_TRUE@     kern/i386/ieee1275/startup.S \
+ @COND_i386_ieee1275_TRUE@     disk/ieee1275/ofdisk.c \
+@@ -25762,12 +25790,13 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_i386_ieee1275_TRUE@     commands/extcmd.c lib/arg.c \
+ @COND_i386_ieee1275_TRUE@     kern/compiler-rt.c kern/mm.c \
+ @COND_i386_ieee1275_TRUE@     kern/time.c kern/generic/millisleep.c \
+-@COND_i386_ieee1275_TRUE@     kern/command.c kern/corecmd.c \
+-@COND_i386_ieee1275_TRUE@     kern/device.c kern/disk.c kern/dl.c \
+-@COND_i386_ieee1275_TRUE@     kern/env.c kern/err.c kern/file.c \
+-@COND_i386_ieee1275_TRUE@     kern/fs.c kern/list.c kern/main.c \
+-@COND_i386_ieee1275_TRUE@     kern/misc.c kern/parser.c \
+-@COND_i386_ieee1275_TRUE@     kern/partition.c kern/rescue_parser.c \
++@COND_i386_ieee1275_TRUE@     kern/buffer.c kern/command.c \
++@COND_i386_ieee1275_TRUE@     kern/corecmd.c kern/device.c \
++@COND_i386_ieee1275_TRUE@     kern/disk.c kern/dl.c kern/env.c \
++@COND_i386_ieee1275_TRUE@     kern/err.c kern/file.c kern/fs.c \
++@COND_i386_ieee1275_TRUE@     kern/list.c kern/main.c kern/misc.c \
++@COND_i386_ieee1275_TRUE@     kern/parser.c kern/partition.c \
++@COND_i386_ieee1275_TRUE@     kern/rescue_parser.c \
+ @COND_i386_ieee1275_TRUE@     kern/rescue_reader.c kern/term.c \
+ @COND_i386_ieee1275_TRUE@     kern/verifiers.c
+ @COND_i386_multiboot_TRUE@kernel_exec_SOURCES =  \
+@@ -25781,12 +25810,12 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_i386_multiboot_TRUE@    kern/compiler-rt.c kern/mm.c \
+ @COND_i386_multiboot_TRUE@    kern/time.c \
+ @COND_i386_multiboot_TRUE@    kern/generic/millisleep.c \
+-@COND_i386_multiboot_TRUE@    kern/command.c kern/corecmd.c \
+-@COND_i386_multiboot_TRUE@    kern/device.c kern/disk.c kern/dl.c \
+-@COND_i386_multiboot_TRUE@    kern/env.c kern/err.c kern/file.c \
+-@COND_i386_multiboot_TRUE@    kern/fs.c kern/list.c kern/main.c \
+-@COND_i386_multiboot_TRUE@    kern/misc.c kern/parser.c \
+-@COND_i386_multiboot_TRUE@    kern/partition.c \
++@COND_i386_multiboot_TRUE@    kern/buffer.c kern/command.c \
++@COND_i386_multiboot_TRUE@    kern/corecmd.c kern/device.c \
++@COND_i386_multiboot_TRUE@    kern/disk.c kern/dl.c kern/env.c \
++@COND_i386_multiboot_TRUE@    kern/err.c kern/file.c kern/fs.c \
++@COND_i386_multiboot_TRUE@    kern/list.c kern/main.c kern/misc.c \
++@COND_i386_multiboot_TRUE@    kern/parser.c kern/partition.c \
+ @COND_i386_multiboot_TRUE@    kern/rescue_parser.c \
+ @COND_i386_multiboot_TRUE@    kern/rescue_reader.c kern/term.c \
+ @COND_i386_multiboot_TRUE@    kern/verifiers.c
+@@ -25795,24 +25824,26 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_i386_pc_TRUE@   term/i386/pc/console.c kern/i386/dl.c \
+ @COND_i386_pc_TRUE@   kern/i386/tsc.c kern/i386/tsc_pit.c \
+ @COND_i386_pc_TRUE@   kern/compiler-rt.c kern/mm.c kern/time.c \
+-@COND_i386_pc_TRUE@   kern/generic/millisleep.c kern/command.c \
+-@COND_i386_pc_TRUE@   kern/corecmd.c kern/device.c kern/disk.c \
+-@COND_i386_pc_TRUE@   kern/dl.c kern/env.c kern/err.c kern/file.c \
+-@COND_i386_pc_TRUE@   kern/fs.c kern/list.c kern/main.c \
+-@COND_i386_pc_TRUE@   kern/misc.c kern/parser.c kern/partition.c \
+-@COND_i386_pc_TRUE@   kern/rescue_parser.c kern/rescue_reader.c \
+-@COND_i386_pc_TRUE@   kern/term.c kern/verifiers.c
++@COND_i386_pc_TRUE@   kern/generic/millisleep.c kern/buffer.c \
++@COND_i386_pc_TRUE@   kern/command.c kern/corecmd.c kern/device.c \
++@COND_i386_pc_TRUE@   kern/disk.c kern/dl.c kern/env.c kern/err.c \
++@COND_i386_pc_TRUE@   kern/file.c kern/fs.c kern/list.c \
++@COND_i386_pc_TRUE@   kern/main.c kern/misc.c kern/parser.c \
++@COND_i386_pc_TRUE@   kern/partition.c kern/rescue_parser.c \
++@COND_i386_pc_TRUE@   kern/rescue_reader.c kern/term.c \
++@COND_i386_pc_TRUE@   kern/verifiers.c
+ @COND_i386_qemu_TRUE@kernel_exec_SOURCES = kern/i386/qemu/startup.S \
+ @COND_i386_qemu_TRUE@ kern/i386/qemu/init.c bus/pci.c \
+ @COND_i386_qemu_TRUE@ kern/vga_init.c kern/i386/qemu/mmap.c \
+ @COND_i386_qemu_TRUE@ term/i386/pc/vga_text.c kern/i386/dl.c \
+ @COND_i386_qemu_TRUE@ kern/i386/tsc.c kern/i386/tsc_pit.c \
+ @COND_i386_qemu_TRUE@ kern/compiler-rt.c kern/mm.c kern/time.c \
+-@COND_i386_qemu_TRUE@ kern/generic/millisleep.c kern/command.c \
+-@COND_i386_qemu_TRUE@ kern/corecmd.c kern/device.c kern/disk.c \
+-@COND_i386_qemu_TRUE@ kern/dl.c kern/env.c kern/err.c \
+-@COND_i386_qemu_TRUE@ kern/file.c kern/fs.c kern/list.c \
+-@COND_i386_qemu_TRUE@ kern/main.c kern/misc.c kern/parser.c \
++@COND_i386_qemu_TRUE@ kern/generic/millisleep.c kern/buffer.c \
++@COND_i386_qemu_TRUE@ kern/command.c kern/corecmd.c \
++@COND_i386_qemu_TRUE@ kern/device.c kern/disk.c kern/dl.c \
++@COND_i386_qemu_TRUE@ kern/env.c kern/err.c kern/file.c \
++@COND_i386_qemu_TRUE@ kern/fs.c kern/list.c kern/main.c \
++@COND_i386_qemu_TRUE@ kern/misc.c kern/parser.c \
+ @COND_i386_qemu_TRUE@ kern/partition.c kern/rescue_parser.c \
+ @COND_i386_qemu_TRUE@ kern/rescue_reader.c kern/term.c \
+ @COND_i386_qemu_TRUE@ kern/verifiers.c
+@@ -25824,14 +25855,14 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_i386_xen_TRUE@  term/terminfo.c term/tparm.c \
+ @COND_i386_xen_TRUE@  commands/extcmd.c lib/arg.c \
+ @COND_i386_xen_TRUE@  kern/compiler-rt.c kern/mm.c kern/time.c \
+-@COND_i386_xen_TRUE@  kern/generic/millisleep.c kern/command.c \
+-@COND_i386_xen_TRUE@  kern/corecmd.c kern/device.c kern/disk.c \
+-@COND_i386_xen_TRUE@  kern/dl.c kern/env.c kern/err.c \
+-@COND_i386_xen_TRUE@  kern/file.c kern/fs.c kern/list.c \
+-@COND_i386_xen_TRUE@  kern/main.c kern/misc.c kern/parser.c \
+-@COND_i386_xen_TRUE@  kern/partition.c kern/rescue_parser.c \
+-@COND_i386_xen_TRUE@  kern/rescue_reader.c kern/term.c \
+-@COND_i386_xen_TRUE@  kern/verifiers.c
++@COND_i386_xen_TRUE@  kern/generic/millisleep.c kern/buffer.c \
++@COND_i386_xen_TRUE@  kern/command.c kern/corecmd.c \
++@COND_i386_xen_TRUE@  kern/device.c kern/disk.c kern/dl.c \
++@COND_i386_xen_TRUE@  kern/env.c kern/err.c kern/file.c \
++@COND_i386_xen_TRUE@  kern/fs.c kern/list.c kern/main.c \
++@COND_i386_xen_TRUE@  kern/misc.c kern/parser.c kern/partition.c \
++@COND_i386_xen_TRUE@  kern/rescue_parser.c kern/rescue_reader.c \
++@COND_i386_xen_TRUE@  kern/term.c kern/verifiers.c
+ @COND_i386_xen_pvh_TRUE@kernel_exec_SOURCES =  \
+ @COND_i386_xen_pvh_TRUE@      kern/i386/xen/startup_pvh.S \
+ @COND_i386_xen_pvh_TRUE@      kern/i386/dl.c commands/boot.c \
+@@ -25842,12 +25873,13 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_i386_xen_pvh_TRUE@      term/tparm.c commands/extcmd.c \
+ @COND_i386_xen_pvh_TRUE@      lib/arg.c kern/compiler-rt.c kern/mm.c \
+ @COND_i386_xen_pvh_TRUE@      kern/time.c kern/generic/millisleep.c \
+-@COND_i386_xen_pvh_TRUE@      kern/command.c kern/corecmd.c \
+-@COND_i386_xen_pvh_TRUE@      kern/device.c kern/disk.c kern/dl.c \
+-@COND_i386_xen_pvh_TRUE@      kern/env.c kern/err.c kern/file.c \
+-@COND_i386_xen_pvh_TRUE@      kern/fs.c kern/list.c kern/main.c \
+-@COND_i386_xen_pvh_TRUE@      kern/misc.c kern/parser.c \
+-@COND_i386_xen_pvh_TRUE@      kern/partition.c kern/rescue_parser.c \
++@COND_i386_xen_pvh_TRUE@      kern/buffer.c kern/command.c \
++@COND_i386_xen_pvh_TRUE@      kern/corecmd.c kern/device.c \
++@COND_i386_xen_pvh_TRUE@      kern/disk.c kern/dl.c kern/env.c \
++@COND_i386_xen_pvh_TRUE@      kern/err.c kern/file.c kern/fs.c \
++@COND_i386_xen_pvh_TRUE@      kern/list.c kern/main.c kern/misc.c \
++@COND_i386_xen_pvh_TRUE@      kern/parser.c kern/partition.c \
++@COND_i386_xen_pvh_TRUE@      kern/rescue_parser.c \
+ @COND_i386_xen_pvh_TRUE@      kern/rescue_reader.c kern/term.c \
+ @COND_i386_xen_pvh_TRUE@      kern/verifiers.c
+ @COND_ia64_efi_TRUE@kernel_exec_SOURCES = kern/ia64/efi/startup.S \
+@@ -25859,14 +25891,14 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_ia64_efi_TRUE@  kern/acpi.c kern/efi/acpi.c kern/efi/sb.c \
+ @COND_ia64_efi_TRUE@  kern/lockdown.c kern/compiler-rt.c \
+ @COND_ia64_efi_TRUE@  kern/mm.c kern/time.c \
+-@COND_ia64_efi_TRUE@  kern/generic/millisleep.c kern/command.c \
+-@COND_ia64_efi_TRUE@  kern/corecmd.c kern/device.c kern/disk.c \
+-@COND_ia64_efi_TRUE@  kern/dl.c kern/env.c kern/err.c \
+-@COND_ia64_efi_TRUE@  kern/file.c kern/fs.c kern/list.c \
+-@COND_ia64_efi_TRUE@  kern/main.c kern/misc.c kern/parser.c \
+-@COND_ia64_efi_TRUE@  kern/partition.c kern/rescue_parser.c \
+-@COND_ia64_efi_TRUE@  kern/rescue_reader.c kern/term.c \
+-@COND_ia64_efi_TRUE@  kern/verifiers.c
++@COND_ia64_efi_TRUE@  kern/generic/millisleep.c kern/buffer.c \
++@COND_ia64_efi_TRUE@  kern/command.c kern/corecmd.c \
++@COND_ia64_efi_TRUE@  kern/device.c kern/disk.c kern/dl.c \
++@COND_ia64_efi_TRUE@  kern/env.c kern/err.c kern/file.c \
++@COND_ia64_efi_TRUE@  kern/fs.c kern/list.c kern/main.c \
++@COND_ia64_efi_TRUE@  kern/misc.c kern/parser.c kern/partition.c \
++@COND_ia64_efi_TRUE@  kern/rescue_parser.c kern/rescue_reader.c \
++@COND_ia64_efi_TRUE@  kern/term.c kern/verifiers.c
+ @COND_mips_arc_TRUE@kernel_exec_SOURCES = kern/mips/startup.S \
+ @COND_mips_arc_TRUE@  kern/mips/arc/init.c term/arc/console.c \
+ @COND_mips_arc_TRUE@  disk/arc/arcdisk.c \
+@@ -25875,14 +25907,14 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_mips_arc_TRUE@  kern/mips/init.c term/terminfo.c \
+ @COND_mips_arc_TRUE@  term/tparm.c commands/extcmd.c lib/arg.c \
+ @COND_mips_arc_TRUE@  kern/compiler-rt.c kern/mm.c kern/time.c \
+-@COND_mips_arc_TRUE@  kern/generic/millisleep.c kern/command.c \
+-@COND_mips_arc_TRUE@  kern/corecmd.c kern/device.c kern/disk.c \
+-@COND_mips_arc_TRUE@  kern/dl.c kern/env.c kern/err.c \
+-@COND_mips_arc_TRUE@  kern/file.c kern/fs.c kern/list.c \
+-@COND_mips_arc_TRUE@  kern/main.c kern/misc.c kern/parser.c \
+-@COND_mips_arc_TRUE@  kern/partition.c kern/rescue_parser.c \
+-@COND_mips_arc_TRUE@  kern/rescue_reader.c kern/term.c \
+-@COND_mips_arc_TRUE@  kern/verifiers.c
++@COND_mips_arc_TRUE@  kern/generic/millisleep.c kern/buffer.c \
++@COND_mips_arc_TRUE@  kern/command.c kern/corecmd.c \
++@COND_mips_arc_TRUE@  kern/device.c kern/disk.c kern/dl.c \
++@COND_mips_arc_TRUE@  kern/env.c kern/err.c kern/file.c \
++@COND_mips_arc_TRUE@  kern/fs.c kern/list.c kern/main.c \
++@COND_mips_arc_TRUE@  kern/misc.c kern/parser.c kern/partition.c \
++@COND_mips_arc_TRUE@  kern/rescue_parser.c kern/rescue_reader.c \
++@COND_mips_arc_TRUE@  kern/term.c kern/verifiers.c
+ @COND_mips_loongson_TRUE@kernel_exec_SOURCES = kern/mips/startup.S \
+ @COND_mips_loongson_TRUE@     term/ns8250.c bus/bonito.c \
+ @COND_mips_loongson_TRUE@     bus/cs5536.c bus/pci.c \
+@@ -25904,12 +25936,13 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_mips_loongson_TRUE@     lib/arg.c kern/compiler-rt.c \
+ @COND_mips_loongson_TRUE@     kern/mm.c kern/time.c \
+ @COND_mips_loongson_TRUE@     kern/generic/millisleep.c \
+-@COND_mips_loongson_TRUE@     kern/command.c kern/corecmd.c \
+-@COND_mips_loongson_TRUE@     kern/device.c kern/disk.c kern/dl.c \
+-@COND_mips_loongson_TRUE@     kern/env.c kern/err.c kern/file.c \
+-@COND_mips_loongson_TRUE@     kern/fs.c kern/list.c kern/main.c \
+-@COND_mips_loongson_TRUE@     kern/misc.c kern/parser.c \
+-@COND_mips_loongson_TRUE@     kern/partition.c kern/rescue_parser.c \
++@COND_mips_loongson_TRUE@     kern/buffer.c kern/command.c \
++@COND_mips_loongson_TRUE@     kern/corecmd.c kern/device.c \
++@COND_mips_loongson_TRUE@     kern/disk.c kern/dl.c kern/env.c \
++@COND_mips_loongson_TRUE@     kern/err.c kern/file.c kern/fs.c \
++@COND_mips_loongson_TRUE@     kern/list.c kern/main.c kern/misc.c \
++@COND_mips_loongson_TRUE@     kern/parser.c kern/partition.c \
++@COND_mips_loongson_TRUE@     kern/rescue_parser.c \
+ @COND_mips_loongson_TRUE@     kern/rescue_reader.c kern/term.c \
+ @COND_mips_loongson_TRUE@     kern/verifiers.c
+ @COND_mips_qemu_mips_TRUE@kernel_exec_SOURCES = kern/mips/startup.S \
+@@ -25927,12 +25960,12 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_mips_qemu_mips_TRUE@    lib/arg.c kern/compiler-rt.c \
+ @COND_mips_qemu_mips_TRUE@    kern/mm.c kern/time.c \
+ @COND_mips_qemu_mips_TRUE@    kern/generic/millisleep.c \
+-@COND_mips_qemu_mips_TRUE@    kern/command.c kern/corecmd.c \
+-@COND_mips_qemu_mips_TRUE@    kern/device.c kern/disk.c kern/dl.c \
+-@COND_mips_qemu_mips_TRUE@    kern/env.c kern/err.c kern/file.c \
+-@COND_mips_qemu_mips_TRUE@    kern/fs.c kern/list.c kern/main.c \
+-@COND_mips_qemu_mips_TRUE@    kern/misc.c kern/parser.c \
+-@COND_mips_qemu_mips_TRUE@    kern/partition.c \
++@COND_mips_qemu_mips_TRUE@    kern/buffer.c kern/command.c \
++@COND_mips_qemu_mips_TRUE@    kern/corecmd.c kern/device.c \
++@COND_mips_qemu_mips_TRUE@    kern/disk.c kern/dl.c kern/env.c \
++@COND_mips_qemu_mips_TRUE@    kern/err.c kern/file.c kern/fs.c \
++@COND_mips_qemu_mips_TRUE@    kern/list.c kern/main.c kern/misc.c \
++@COND_mips_qemu_mips_TRUE@    kern/parser.c kern/partition.c \
+ @COND_mips_qemu_mips_TRUE@    kern/rescue_parser.c \
+ @COND_mips_qemu_mips_TRUE@    kern/rescue_reader.c kern/term.c \
+ @COND_mips_qemu_mips_TRUE@    kern/verifiers.c
+@@ -25953,12 +25986,13 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_powerpc_ieee1275_TRUE@  kern/compiler-rt.c kern/mm.c \
+ @COND_powerpc_ieee1275_TRUE@  kern/time.c \
+ @COND_powerpc_ieee1275_TRUE@  kern/generic/millisleep.c \
+-@COND_powerpc_ieee1275_TRUE@  kern/command.c kern/corecmd.c \
+-@COND_powerpc_ieee1275_TRUE@  kern/device.c kern/disk.c \
+-@COND_powerpc_ieee1275_TRUE@  kern/dl.c kern/env.c kern/err.c \
+-@COND_powerpc_ieee1275_TRUE@  kern/file.c kern/fs.c kern/list.c \
+-@COND_powerpc_ieee1275_TRUE@  kern/main.c kern/misc.c \
+-@COND_powerpc_ieee1275_TRUE@  kern/parser.c kern/partition.c \
++@COND_powerpc_ieee1275_TRUE@  kern/buffer.c kern/command.c \
++@COND_powerpc_ieee1275_TRUE@  kern/corecmd.c kern/device.c \
++@COND_powerpc_ieee1275_TRUE@  kern/disk.c kern/dl.c kern/env.c \
++@COND_powerpc_ieee1275_TRUE@  kern/err.c kern/file.c kern/fs.c \
++@COND_powerpc_ieee1275_TRUE@  kern/list.c kern/main.c \
++@COND_powerpc_ieee1275_TRUE@  kern/misc.c kern/parser.c \
++@COND_powerpc_ieee1275_TRUE@  kern/partition.c \
+ @COND_powerpc_ieee1275_TRUE@  kern/rescue_parser.c \
+ @COND_powerpc_ieee1275_TRUE@  kern/rescue_reader.c kern/term.c \
+ @COND_powerpc_ieee1275_TRUE@  kern/verifiers.c
+@@ -25973,7 +26007,7 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_riscv32_efi_TRUE@       kern/efi/acpi.c kern/efi/sb.c \
+ @COND_riscv32_efi_TRUE@       kern/lockdown.c kern/compiler-rt.c \
+ @COND_riscv32_efi_TRUE@       kern/mm.c kern/time.c \
+-@COND_riscv32_efi_TRUE@       kern/generic/millisleep.c \
++@COND_riscv32_efi_TRUE@       kern/generic/millisleep.c kern/buffer.c \
+ @COND_riscv32_efi_TRUE@       kern/command.c kern/corecmd.c \
+ @COND_riscv32_efi_TRUE@       kern/device.c kern/disk.c kern/dl.c \
+ @COND_riscv32_efi_TRUE@       kern/env.c kern/err.c kern/file.c \
+@@ -25993,12 +26027,13 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_riscv64_efi_TRUE@       kern/efi/sb.c kern/lockdown.c \
+ @COND_riscv64_efi_TRUE@       kern/compiler-rt.c kern/mm.c \
+ @COND_riscv64_efi_TRUE@       kern/time.c kern/generic/millisleep.c \
+-@COND_riscv64_efi_TRUE@       kern/command.c kern/corecmd.c \
+-@COND_riscv64_efi_TRUE@       kern/device.c kern/disk.c kern/dl.c \
+-@COND_riscv64_efi_TRUE@       kern/env.c kern/err.c kern/file.c \
+-@COND_riscv64_efi_TRUE@       kern/fs.c kern/list.c kern/main.c \
+-@COND_riscv64_efi_TRUE@       kern/misc.c kern/parser.c \
+-@COND_riscv64_efi_TRUE@       kern/partition.c kern/rescue_parser.c \
++@COND_riscv64_efi_TRUE@       kern/buffer.c kern/command.c \
++@COND_riscv64_efi_TRUE@       kern/corecmd.c kern/device.c \
++@COND_riscv64_efi_TRUE@       kern/disk.c kern/dl.c kern/env.c \
++@COND_riscv64_efi_TRUE@       kern/err.c kern/file.c kern/fs.c \
++@COND_riscv64_efi_TRUE@       kern/list.c kern/main.c kern/misc.c \
++@COND_riscv64_efi_TRUE@       kern/parser.c kern/partition.c \
++@COND_riscv64_efi_TRUE@       kern/rescue_parser.c \
+ @COND_riscv64_efi_TRUE@       kern/rescue_reader.c kern/term.c \
+ @COND_riscv64_efi_TRUE@       kern/verifiers.c
+ @COND_sparc64_ieee1275_TRUE@kernel_exec_SOURCES =  \
+@@ -26019,12 +26054,13 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_sparc64_ieee1275_TRUE@  kern/compiler-rt.c kern/mm.c \
+ @COND_sparc64_ieee1275_TRUE@  kern/time.c \
+ @COND_sparc64_ieee1275_TRUE@  kern/generic/millisleep.c \
+-@COND_sparc64_ieee1275_TRUE@  kern/command.c kern/corecmd.c \
+-@COND_sparc64_ieee1275_TRUE@  kern/device.c kern/disk.c \
+-@COND_sparc64_ieee1275_TRUE@  kern/dl.c kern/env.c kern/err.c \
+-@COND_sparc64_ieee1275_TRUE@  kern/file.c kern/fs.c kern/list.c \
+-@COND_sparc64_ieee1275_TRUE@  kern/main.c kern/misc.c \
+-@COND_sparc64_ieee1275_TRUE@  kern/parser.c kern/partition.c \
++@COND_sparc64_ieee1275_TRUE@  kern/buffer.c kern/command.c \
++@COND_sparc64_ieee1275_TRUE@  kern/corecmd.c kern/device.c \
++@COND_sparc64_ieee1275_TRUE@  kern/disk.c kern/dl.c kern/env.c \
++@COND_sparc64_ieee1275_TRUE@  kern/err.c kern/file.c kern/fs.c \
++@COND_sparc64_ieee1275_TRUE@  kern/list.c kern/main.c \
++@COND_sparc64_ieee1275_TRUE@  kern/misc.c kern/parser.c \
++@COND_sparc64_ieee1275_TRUE@  kern/partition.c \
+ @COND_sparc64_ieee1275_TRUE@  kern/rescue_parser.c \
+ @COND_sparc64_ieee1275_TRUE@  kern/rescue_reader.c kern/term.c \
+ @COND_sparc64_ieee1275_TRUE@  kern/verifiers.c
+@@ -26040,11 +26076,12 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_x86_64_efi_TRUE@        kern/acpi.c kern/efi/acpi.c \
+ @COND_x86_64_efi_TRUE@        kern/efi/sb.c kern/lockdown.c \
+ @COND_x86_64_efi_TRUE@        kern/compiler-rt.c kern/mm.c kern/time.c \
+-@COND_x86_64_efi_TRUE@        kern/generic/millisleep.c kern/command.c \
+-@COND_x86_64_efi_TRUE@        kern/corecmd.c kern/device.c kern/disk.c \
+-@COND_x86_64_efi_TRUE@        kern/dl.c kern/env.c kern/err.c \
+-@COND_x86_64_efi_TRUE@        kern/file.c kern/fs.c kern/list.c \
+-@COND_x86_64_efi_TRUE@        kern/main.c kern/misc.c kern/parser.c \
++@COND_x86_64_efi_TRUE@        kern/generic/millisleep.c kern/buffer.c \
++@COND_x86_64_efi_TRUE@        kern/command.c kern/corecmd.c \
++@COND_x86_64_efi_TRUE@        kern/device.c kern/disk.c kern/dl.c \
++@COND_x86_64_efi_TRUE@        kern/env.c kern/err.c kern/file.c \
++@COND_x86_64_efi_TRUE@        kern/fs.c kern/list.c kern/main.c \
++@COND_x86_64_efi_TRUE@        kern/misc.c kern/parser.c \
+ @COND_x86_64_efi_TRUE@        kern/partition.c kern/rescue_parser.c \
+ @COND_x86_64_efi_TRUE@        kern/rescue_reader.c kern/term.c \
+ @COND_x86_64_efi_TRUE@        kern/verifiers.c
+@@ -26057,11 +26094,12 @@ gcry_whirlpool_module_DEPENDENCIES = $(TARGET_OBJ2ELF)
+ @COND_x86_64_xen_TRUE@        term/terminfo.c term/tparm.c \
+ @COND_x86_64_xen_TRUE@        commands/extcmd.c lib/arg.c \
+ @COND_x86_64_xen_TRUE@        kern/compiler-rt.c kern/mm.c kern/time.c \
+-@COND_x86_64_xen_TRUE@        kern/generic/millisleep.c kern/command.c \
+-@COND_x86_64_xen_TRUE@        kern/corecmd.c kern/device.c kern/disk.c \
+-@COND_x86_64_xen_TRUE@        kern/dl.c kern/env.c kern/err.c \
+-@COND_x86_64_xen_TRUE@        kern/file.c kern/fs.c kern/list.c \
+-@COND_x86_64_xen_TRUE@        kern/main.c kern/misc.c kern/parser.c \
++@COND_x86_64_xen_TRUE@        kern/generic/millisleep.c kern/buffer.c \
++@COND_x86_64_xen_TRUE@        kern/command.c kern/corecmd.c \
++@COND_x86_64_xen_TRUE@        kern/device.c kern/disk.c kern/dl.c \
++@COND_x86_64_xen_TRUE@        kern/env.c kern/err.c kern/file.c \
++@COND_x86_64_xen_TRUE@        kern/fs.c kern/list.c kern/main.c \
++@COND_x86_64_xen_TRUE@        kern/misc.c kern/parser.c \
+ @COND_x86_64_xen_TRUE@        kern/partition.c kern/rescue_parser.c \
+ @COND_x86_64_xen_TRUE@        kern/rescue_reader.c kern/term.c \
+ @COND_x86_64_xen_TRUE@        kern/verifiers.c
+@@ -28027,6 +28065,8 @@ kern/generic/$(DEPDIR)/$(am__dirstamp):
+ kern/generic/kernel_exec-millisleep.$(OBJEXT):  \
+       kern/generic/$(am__dirstamp) \
+       kern/generic/$(DEPDIR)/$(am__dirstamp)
++kern/kernel_exec-buffer.$(OBJEXT): kern/$(am__dirstamp) \
++      kern/$(DEPDIR)/$(am__dirstamp)
+ kern/kernel_exec-command.$(OBJEXT): kern/$(am__dirstamp) \
+       kern/$(DEPDIR)/$(am__dirstamp)
+ kern/kernel_exec-corecmd.$(OBJEXT): kern/$(am__dirstamp) \
+@@ -30952,6 +30992,7 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/acpi_module-acpi.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/elf_module-elf.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-acpi.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-buffer.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-command.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-compiler-rt.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@kern/$(DEPDIR)/kernel_exec-corecmd.Po@am__quote@
+@@ -35382,6 +35423,20 @@ kern/generic/kernel_exec-millisleep.obj: kern/generic/millisleep.c
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -c -o kern/generic/kernel_exec-millisleep.obj `if test -f 'kern/generic/millisleep.c'; then $(CYGPATH_W) 'kern/generic/millisleep.c'; else $(CYGPATH_W) '$(srcdir)/kern/generic/millisleep.c'; fi`
++kern/kernel_exec-buffer.o: kern/buffer.c
++@am__fastdepCC_TRUE@  $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -MT kern/kernel_exec-buffer.o -MD -MP -MF kern/$(DEPDIR)/kernel_exec-buffer.Tpo -c -o kern/kernel_exec-buffer.o `test -f 'kern/buffer.c' || echo '$(srcdir)/'`kern/buffer.c
++@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) kern/$(DEPDIR)/kernel_exec-buffer.Tpo kern/$(DEPDIR)/kernel_exec-buffer.Po
++@AMDEP_TRUE@@am__fastdepCC_FALSE@     $(AM_V_CC)source='kern/buffer.c' object='kern/kernel_exec-buffer.o' libtool=no @AMDEPBACKSLASH@
++@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -c -o kern/kernel_exec-buffer.o `test -f 'kern/buffer.c' || echo '$(srcdir)/'`kern/buffer.c
++
++kern/kernel_exec-buffer.obj: kern/buffer.c
++@am__fastdepCC_TRUE@  $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -MT kern/kernel_exec-buffer.obj -MD -MP -MF kern/$(DEPDIR)/kernel_exec-buffer.Tpo -c -o kern/kernel_exec-buffer.obj `if test -f 'kern/buffer.c'; then $(CYGPATH_W) 'kern/buffer.c'; else $(CYGPATH_W) '$(srcdir)/kern/buffer.c'; fi`
++@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) kern/$(DEPDIR)/kernel_exec-buffer.Tpo kern/$(DEPDIR)/kernel_exec-buffer.Po
++@AMDEP_TRUE@@am__fastdepCC_FALSE@     $(AM_V_CC)source='kern/buffer.c' object='kern/kernel_exec-buffer.obj' libtool=no @AMDEPBACKSLASH@
++@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -c -o kern/kernel_exec-buffer.obj `if test -f 'kern/buffer.c'; then $(CYGPATH_W) 'kern/buffer.c'; else $(CYGPATH_W) '$(srcdir)/kern/buffer.c'; fi`
++
+ kern/kernel_exec-command.o: kern/command.c
+ @am__fastdepCC_TRUE@  $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kernel_exec_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -MT kern/kernel_exec-command.o -MD -MP -MF kern/$(DEPDIR)/kernel_exec-command.Tpo -c -o kern/kernel_exec-command.o `test -f 'kern/command.c' || echo '$(srcdir)/'`kern/command.c
+ @am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) kern/$(DEPDIR)/kernel_exec-command.Tpo kern/$(DEPDIR)/kernel_exec-command.Po
+diff --git a/grub-core/kern/buffer.c b/grub-core/kern/buffer.c
+new file mode 100644
+index 0000000..9f5f8b8
+--- /dev/null
++++ b/grub-core/kern/buffer.c
+@@ -0,0 +1,117 @@
++/*
++ *  GRUB  --  GRand Unified Bootloader
++ *  Copyright (C) 2021  Free Software Foundation, Inc.
++ *
++ *  GRUB is free software: you can redistribute it and/or modify
++ *  it under the terms of the GNU General Public License as published by
++ *  the Free Software Foundation, either version 3 of the License, or
++ *  (at your option) any later version.
++ *
++ *  GRUB is distributed in the hope that it will be useful,
++ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *  GNU General Public License for more details.
++ *
++ *  You should have received a copy of the GNU General Public License
++ *  along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#include <grub/buffer.h>
++#include <grub/err.h>
++#include <grub/misc.h>
++#include <grub/mm.h>
++#include <grub/safemath.h>
++#include <grub/types.h>
++
++grub_buffer_t
++grub_buffer_new (grub_size_t sz)
++{
++  struct grub_buffer *ret;
++
++  ret = (struct grub_buffer *) grub_malloc (sizeof (*ret));
++  if (ret == NULL)
++    return NULL;
++
++  ret->data = (grub_uint8_t *) grub_malloc (sz);
++  if (ret->data == NULL)
++    {
++      grub_free (ret);
++      return NULL;
++    }
++
++  ret->sz = sz;
++  ret->pos = 0;
++  ret->used = 0;
++
++  return ret;
++}
++
++void
++grub_buffer_free (grub_buffer_t buf)
++{
++  grub_free (buf->data);
++  grub_free (buf);
++}
++
++grub_err_t
++grub_buffer_ensure_space (grub_buffer_t buf, grub_size_t req)
++{
++  grub_uint8_t *d;
++  grub_size_t newsz = 1;
++
++  /* Is the current buffer size adequate? */
++  if (buf->sz >= req)
++    return GRUB_ERR_NONE;
++
++  /* Find the smallest power-of-2 size that satisfies the request. */
++  while (newsz < req)
++    {
++      if (newsz == 0)
++      return grub_error (GRUB_ERR_OUT_OF_RANGE,
++                         N_("requested buffer size is too large"));
++      newsz <<= 1;
++    }
++
++  d = (grub_uint8_t *) grub_realloc (buf->data, newsz);
++  if (d == NULL)
++    return grub_errno;
++
++  buf->data = d;
++  buf->sz = newsz;
++
++  return GRUB_ERR_NONE;
++}
++
++void *
++grub_buffer_take_data (grub_buffer_t buf)
++{
++  void *data = buf->data;
++
++  buf->data = NULL;
++  buf->sz = buf->pos = buf->used = 0;
++
++  return data;
++}
++
++void
++grub_buffer_reset (grub_buffer_t buf)
++{
++  buf->pos = buf->used = 0;
++}
++
++grub_err_t
++grub_buffer_advance_read_pos (grub_buffer_t buf, grub_size_t n)
++{
++  grub_size_t newpos;
++
++  if (grub_add (buf->pos, n, &newpos))
++    return grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
++
++  if (newpos > buf->used)
++    return grub_error (GRUB_ERR_OUT_OF_RANGE,
++                     N_("new read is position beyond the end of the written data"));
++
++  buf->pos = newpos;
++
++  return GRUB_ERR_NONE;
++}
+diff --git a/include/grub/buffer.h b/include/grub/buffer.h
+new file mode 100644
+index 0000000..f4b10cf
+--- /dev/null
++++ b/include/grub/buffer.h
+@@ -0,0 +1,144 @@
++/*
++ *  GRUB  --  GRand Unified Bootloader
++ *  Copyright (C) 2021  Free Software Foundation, Inc.
++ *
++ *  GRUB is free software: you can redistribute it and/or modify
++ *  it under the terms of the GNU General Public License as published by
++ *  the Free Software Foundation, either version 3 of the License, or
++ *  (at your option) any later version.
++ *
++ *  GRUB is distributed in the hope that it will be useful,
++ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *  GNU General Public License for more details.
++ *
++ *  You should have received a copy of the GNU General Public License
++ *  along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#ifndef GRUB_BUFFER_H
++#define GRUB_BUFFER_H 1
++
++#include <grub/err.h>
++#include <grub/misc.h>
++#include <grub/mm.h>
++#include <grub/safemath.h>
++#include <grub/types.h>
++
++struct grub_buffer
++{
++  grub_uint8_t *data;
++  grub_size_t sz;
++  grub_size_t pos;
++  grub_size_t used;
++};
++
++/*
++ * grub_buffer_t represents a simple variable sized byte buffer with
++ * read and write cursors. It currently only implements
++ * functionality required by the only user in GRUB (append byte[s],
++ * peeking data at a specified position and updating the read cursor.
++ * Some things that this doesn't do yet are:
++ * - Reading a portion of the buffer by copying data from the current
++ *   read position in to a caller supplied destination buffer and then
++ *   automatically updating the read cursor.
++ * - Dropping the read part at the start of the buffer when an append
++ *   requires more space.
++ */
++typedef struct grub_buffer *grub_buffer_t;
++
++/* Allocate a new buffer with the specified initial size. */
++extern grub_buffer_t grub_buffer_new (grub_size_t sz);
++
++/* Free the buffer and its resources. */
++extern void grub_buffer_free (grub_buffer_t buf);
++
++/* Return the number of unread bytes in this buffer. */
++static inline grub_size_t
++grub_buffer_get_unread_bytes (grub_buffer_t buf)
++{
++  return buf->used - buf->pos;
++}
++
++/*
++ * Ensure that the buffer size is at least the requested
++ * number of bytes.
++ */
++extern grub_err_t grub_buffer_ensure_space (grub_buffer_t buf, grub_size_t req);
++
++/*
++ * Append the specified number of bytes from the supplied
++ * data to the buffer.
++ */
++static inline grub_err_t
++grub_buffer_append_data (grub_buffer_t buf, const void *data, grub_size_t len)
++{
++  grub_size_t req;
++
++  if (grub_add (buf->used, len, &req))
++    return grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
++
++  if (grub_buffer_ensure_space (buf, req) != GRUB_ERR_NONE)
++    return grub_errno;
++
++  grub_memcpy (&buf->data[buf->used], data, len);
++  buf->used = req;
++
++  return GRUB_ERR_NONE;
++}
++
++/* Append the supplied character to the buffer. */
++static inline grub_err_t
++grub_buffer_append_char (grub_buffer_t buf, char c)
++{
++  return grub_buffer_append_data (buf, &c, 1);
++}
++
++/*
++ * Forget and return the underlying data buffer. The caller
++ * becomes the owner of this buffer, and must free it when it
++ * is no longer required.
++ */
++extern void *grub_buffer_take_data (grub_buffer_t buf);
++
++/* Reset this buffer. Note that this does not deallocate any resources. */
++void grub_buffer_reset (grub_buffer_t buf);
++
++/*
++ * Return a pointer to the underlying data buffer at the specified
++ * offset from the current read position. Note that this pointer may
++ * become invalid if the buffer is mutated further.
++ */
++static inline void *
++grub_buffer_peek_data_at (grub_buffer_t buf, grub_size_t off)
++{
++  if (grub_add (buf->pos, off, &off))
++    {
++      grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected."));
++      return NULL;
++    }
++
++  if (off >= buf->used)
++    {
++      grub_error (GRUB_ERR_OUT_OF_RANGE, N_("peek out of range"));
++      return NULL;
++    }
++
++  return &buf->data[off];
++}
++
++/*
++ * Return a pointer to the underlying data buffer at the current
++ * read position. Note that this pointer may become invalid if the
++ * buffer is mutated further.
++ */
++static inline void *
++grub_buffer_peek_data (grub_buffer_t buf)
++{
++  return grub_buffer_peek_data_at (buf, 0);
++}
++
++/* Advance the read position by the specified number of bytes. */
++extern grub_err_t grub_buffer_advance_read_pos (grub_buffer_t buf, grub_size_t n);
++
++#endif /* GRUB_BUFFER_H */
+diff --git a/po/POTFILES.in b/po/POTFILES.in
+index 5e26845..7753ab4 100644
+--- a/po/POTFILES.in
++++ b/po/POTFILES.in
+@@ -250,6 +250,7 @@
+ ./grub-core/kern/arm64/dl.c
+ ./grub-core/kern/arm64/dl_helper.c
+ ./grub-core/kern/arm64/efi/init.c
++./grub-core/kern/buffer.c
+ ./grub-core/kern/command.c
+ ./grub-core/kern/compiler-rt.c
+ ./grub-core/kern/coreboot/cbtable.c
+@@ -1021,6 +1022,7 @@
+ ./include/grub/boottime.h
+ ./include/grub/bsdlabel.h
+ ./include/grub/btrfs.h
++./include/grub/buffer.h
+ ./include/grub/bufio.h
+ ./include/grub/cache.h
+ ./include/grub/cbfs_core.h
+-- 
+2.14.2
+
diff --git a/boot/grub2/0132-kern-parser-Fix-a-stack-buffer-overflow.patch b/boot/grub2/0132-kern-parser-Fix-a-stack-buffer-overflow.patch
new file mode 100644 (file)
index 0000000..b017c1e
--- /dev/null
@@ -0,0 +1,248 @@
+From 4ea7bae51f97e49c84dc67ea30b466ca8633b9f6 Mon Sep 17 00:00:00 2001
+From: Chris Coulson <chris.coulson@canonical.com>
+Date: Thu, 7 Jan 2021 19:21:03 +0000
+Subject: [PATCH] kern/parser: Fix a stack buffer overflow
+
+grub_parser_split_cmdline() expands variable names present in the supplied
+command line in to their corresponding variable contents and uses a 1 kiB
+stack buffer for temporary storage without sufficient bounds checking. If
+the function is called with a command line that references a variable with
+a sufficiently large payload, it is possible to overflow the stack
+buffer via tab completion, corrupt the stack frame and potentially
+control execution.
+
+Fixes: CVE-2020-27749
+
+Reported-by: Chris Coulson <chris.coulson@canonical.com>
+Signed-off-by: Chris Coulson <chris.coulson@canonical.com>
+Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/kern/parser.c | 110 +++++++++++++++++++++++++++++-------------------
+ 1 file changed, 67 insertions(+), 43 deletions(-)
+
+diff --git a/grub-core/kern/parser.c b/grub-core/kern/parser.c
+index e010eaa..6ab7aa4 100644
+--- a/grub-core/kern/parser.c
++++ b/grub-core/kern/parser.c
+@@ -18,6 +18,7 @@
+  */
+ #include <grub/parser.h>
++#include <grub/buffer.h>
+ #include <grub/env.h>
+ #include <grub/misc.h>
+ #include <grub/mm.h>
+@@ -107,8 +108,8 @@ check_varstate (grub_parser_state_t s)
+ }
+-static void
+-add_var (char *varname, char **bp, char **vp,
++static grub_err_t
++add_var (grub_buffer_t varname, grub_buffer_t buf,
+        grub_parser_state_t state, grub_parser_state_t newstate)
+ {
+   const char *val;
+@@ -116,31 +117,41 @@ add_var (char *varname, char **bp, char **vp,
+   /* Check if a variable was being read in and the end of the name
+      was reached.  */
+   if (!(check_varstate (state) && !check_varstate (newstate)))
+-    return;
++    return GRUB_ERR_NONE;
++
++  if (grub_buffer_append_char (varname, '\0') != GRUB_ERR_NONE)
++    return grub_errno;
+-  *((*vp)++) = '\0';
+-  val = grub_env_get (varname);
+-  *vp = varname;
++  val = grub_env_get ((const char *) grub_buffer_peek_data (varname));
++  grub_buffer_reset (varname);
+   if (!val)
+-    return;
++    return GRUB_ERR_NONE;
+   /* Insert the contents of the variable in the buffer.  */
+-  for (; *val; val++)
+-    *((*bp)++) = *val;
++  return grub_buffer_append_data (buf, val, grub_strlen (val));
+ }
+-static void
+-terminate_arg (char *buffer, char **bp, int *argc)
++static grub_err_t
++terminate_arg (grub_buffer_t buffer, int *argc)
+ {
+-  if (*bp != buffer && *((*bp) - 1) != '\0')
+-    {
+-      *((*bp)++) = '\0';
+-      (*argc)++;
+-    }
++  grub_size_t unread = grub_buffer_get_unread_bytes (buffer);
++
++  if (unread == 0)
++    return GRUB_ERR_NONE;
++
++  if (*(const char *) grub_buffer_peek_data_at (buffer, unread - 1) == '\0')
++    return GRUB_ERR_NONE;
++
++  if (grub_buffer_append_char (buffer, '\0') != GRUB_ERR_NONE)
++    return grub_errno;
++
++  (*argc)++;
++
++  return GRUB_ERR_NONE;
+ }
+ static grub_err_t
+-process_char (char c, char *buffer, char **bp, char *varname, char **vp,
++process_char (char c, grub_buffer_t buffer, grub_buffer_t varname,
+             grub_parser_state_t state, int *argc,
+             grub_parser_state_t *newstate)
+ {
+@@ -153,12 +164,13 @@ process_char (char c, char *buffer, char **bp, char *varname, char **vp,
+    * not describe the variable anymore, write the variable to
+    * the buffer.
+    */
+-  add_var (varname, bp, vp, state, *newstate);
++  if (add_var (varname, buffer, state, *newstate) != GRUB_ERR_NONE)
++    return grub_errno;
+   if (check_varstate (*newstate))
+     {
+       if (use)
+-      *((*vp)++) = use;
++        return grub_buffer_append_char (varname, use);
+     }
+   else if (*newstate == GRUB_PARSER_STATE_TEXT &&
+          state != GRUB_PARSER_STATE_ESC && grub_isspace (use))
+@@ -167,10 +179,10 @@ process_char (char c, char *buffer, char **bp, char *varname, char **vp,
+        * Don't add more than one argument if multiple
+        * spaces are used.
+        */
+-      terminate_arg (buffer, bp, argc);
++      return terminate_arg (buffer, argc);
+     }
+   else if (use)
+-    *((*bp)++) = use;
++    return grub_buffer_append_char (buffer, use);
+   return GRUB_ERR_NONE;
+ }
+@@ -181,19 +193,22 @@ grub_parser_split_cmdline (const char *cmdline,
+                          int *argc, char ***argv)
+ {
+   grub_parser_state_t state = GRUB_PARSER_STATE_TEXT;
+-  /* XXX: Fixed size buffer, perhaps this buffer should be dynamically
+-     allocated.  */
+-  char buffer[1024];
+-  char *bp = buffer;
++  grub_buffer_t buffer, varname;
+   char *rd = (char *) cmdline;
+   char *rp = rd;
+-  char varname[200];
+-  char *vp = varname;
+-  char *args;
+   int i;
+   *argc = 0;
+   *argv = NULL;
++
++  buffer = grub_buffer_new (1024);
++  if (buffer == NULL)
++    return grub_errno;
++
++  varname = grub_buffer_new (200);
++  if (varname == NULL)
++    goto fail;
++
+   do
+     {
+       if (rp == NULL || *rp == '\0')
+@@ -219,7 +234,7 @@ grub_parser_split_cmdline (const char *cmdline,
+       {
+         grub_parser_state_t newstate;
+-        if (process_char (*rp, buffer, &bp, varname, &vp, state, argc,
++        if (process_char (*rp, buffer, varname, state, argc,
+                           &newstate) != GRUB_ERR_NONE)
+           goto fail;
+@@ -230,10 +245,12 @@ grub_parser_split_cmdline (const char *cmdline,
+   /* A special case for when the last character was part of a
+      variable.  */
+-  add_var (varname, &bp, &vp, state, GRUB_PARSER_STATE_TEXT);
++  if (add_var (varname, buffer, state, GRUB_PARSER_STATE_TEXT) != GRUB_ERR_NONE)
++    goto fail;
+   /* Ensure that the last argument is terminated. */
+-  terminate_arg (buffer, &bp, argc);
++  if (terminate_arg (buffer, argc) != GRUB_ERR_NONE)
++    goto fail;
+   /* If there are no args, then we're done. */
+   if (!*argc)
+@@ -242,38 +259,45 @@ grub_parser_split_cmdline (const char *cmdline,
+       goto out;
+     }
+-  /* Reserve memory for the return values.  */
+-  args = grub_malloc (bp - buffer);
+-  if (!args)
+-    goto fail;
+-  grub_memcpy (args, buffer, bp - buffer);
+-
+   *argv = grub_calloc (*argc + 1, sizeof (char *));
+   if (!*argv)
+     goto fail;
+   /* The arguments are separated with 0's, setup argv so it points to
+      the right values.  */
+-  bp = args;
+   for (i = 0; i < *argc; i++)
+     {
+-      (*argv)[i] = bp;
+-      while (*bp)
+-      bp++;
+-      bp++;
++      char *arg;
++
++      if (i > 0)
++      {
++        if (grub_buffer_advance_read_pos (buffer, 1) != GRUB_ERR_NONE)
++          goto fail;
++      }
++
++      arg = (char *) grub_buffer_peek_data (buffer);
++      if (arg == NULL ||
++        grub_buffer_advance_read_pos (buffer, grub_strlen (arg)) != GRUB_ERR_NONE)
++      goto fail;
++
++      (*argv)[i] = arg;
+     }
++  /* Keep memory for the return values. */
++  grub_buffer_take_data (buffer);
++
+   grub_errno = GRUB_ERR_NONE;
+  out:
+   if (rd != cmdline)
+     grub_free (rd);
++  grub_buffer_free (buffer);
++  grub_buffer_free (varname);
+   return grub_errno;
+  fail:
+   grub_free (*argv);
+-  grub_free (args);
+   goto out;
+ }
+-- 
+2.14.2
+
diff --git a/boot/grub2/0133-kern-efi-Add-initial-stack-protector-implementation.patch b/boot/grub2/0133-kern-efi-Add-initial-stack-protector-implementation.patch
new file mode 100644 (file)
index 0000000..c0b6bf6
--- /dev/null
@@ -0,0 +1,466 @@
+From 133d73079c5771bbf3d8311281b6772846357ec1 Mon Sep 17 00:00:00 2001
+From: Chris Coulson <chris.coulson@canonical.com>
+Date: Tue, 1 Dec 2020 23:03:39 +0000
+Subject: [PATCH] kern/efi: Add initial stack protector implementation
+
+It works only on UEFI platforms but can be quite easily extended to
+others architectures and platforms if needed.
+
+Signed-off-by: Chris Coulson <chris.coulson@canonical.com>
+Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
+Reviewed-by: Marco A Benatto <mbenatto@redhat.com>
+Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ acinclude.m4                   | 38 ++++++++++++++++-
+ configure                      | 97 +++++++++++++++++++++++++++++++++++++++---
+ configure.ac                   | 44 ++++++++++++++++---
+ grub-core/Makefile.am          |  1 +
+ grub-core/Makefile.in          |  1 +
+ grub-core/kern/efi/init.c      | 54 +++++++++++++++++++++++
+ include/grub/efi/api.h         | 19 +++++++++
+ include/grub/stack_protector.h | 30 +++++++++++++
+ po/POTFILES.in                 |  1 +
+ 9 files changed, 272 insertions(+), 13 deletions(-)
+ create mode 100644 include/grub/stack_protector.h
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index 78cdf6e..6e14bb5 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -305,9 +305,9 @@ fi
+ ])
\f
+-dnl Check if the C compiler supports `-fstack-protector'.
++dnl Check if the C compiler supports the stack protector
+ AC_DEFUN([grub_CHECK_STACK_PROTECTOR],[
+-[# Smashing stack protector.
++[# Stack smashing protector.
+ ssp_possible=yes]
+ AC_MSG_CHECKING([whether `$CC' accepts `-fstack-protector'])
+ # Is this a reliable test case?
+@@ -324,6 +324,40 @@ else
+   ssp_possible=no]
+   AC_MSG_RESULT([no])
+ [fi]
++[# Strong stack smashing protector.
++ssp_strong_possible=yes]
++AC_MSG_CHECKING([whether `$CC' accepts `-fstack-protector-strong'])
++# Is this a reliable test case?
++AC_LANG_CONFTEST([AC_LANG_SOURCE([[
++void foo (void) { volatile char a[8]; a[3]; }
++]])])
++[# `$CC -c -o ...' might not be portable.  But, oh, well...  Is calling
++# `ac_compile' like this correct, after all?
++if eval "$ac_compile -S -fstack-protector-strong -o conftest.s" 2> /dev/null; then]
++  AC_MSG_RESULT([yes])
++  [# Should we clear up other files as well, having called `AC_LANG_CONFTEST'?
++  rm -f conftest.s
++else
++  ssp_strong_possible=no]
++  AC_MSG_RESULT([no])
++[fi]
++[# Global stack smashing protector.
++ssp_global_possible=yes]
++AC_MSG_CHECKING([whether `$CC' accepts `-mstack-protector-guard=global'])
++# Is this a reliable test case?
++AC_LANG_CONFTEST([AC_LANG_SOURCE([[
++void foo (void) { volatile char a[8]; a[3]; }
++]])])
++[# `$CC -c -o ...' might not be portable.  But, oh, well...  Is calling
++# `ac_compile' like this correct, after all?
++if eval "$ac_compile -S -fstack-protector -mstack-protector-guard=global -o conftest.s" 2> /dev/null; then]
++  AC_MSG_RESULT([yes])
++  [# Should we clear up other files as well, having called `AC_LANG_CONFTEST'?
++  rm -f conftest.s
++else
++  ssp_global_possible=no]
++  AC_MSG_RESULT([no])
++[fi]
+ ])
+ dnl Check if the C compiler supports `-mstack-arg-probe' (Cygwin).
+diff --git a/configure b/configure
+index 9290ae8..973f702 100755
+--- a/configure
++++ b/configure
+@@ -1778,6 +1778,7 @@ with_libintl_prefix
+ with_libpth_prefix
+ with_included_regex
+ enable_efiemu
++enable_stack_protector
+ enable_mm_debug
+ enable_cache_stats
+ enable_boot_time
+@@ -2459,6 +2460,8 @@ Optional Features:
+   --disable-rpath         do not hardcode runtime library paths
+   --enable-efiemu         build and install the efiemu runtimes
+                           (default=guessed)
++  --enable-stack-protector
++                          enable the stack protector
+   --enable-mm-debug       include memory manager debugging
+   --enable-cache-stats    enable disk cache statistics collection
+   --enable-boot-time      enable boot time statistics collection
+@@ -32348,9 +32351,9 @@ fi
+ CFLAGS="$TARGET_CFLAGS"
+-# Smashing stack protector.
++# Stack smashing protector.
+-# Smashing stack protector.
++# Stack smashing protector.
+ ssp_possible=yes
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`$CC' accepts \`-fstack-protector'" >&5
+ $as_echo_n "checking whether \`$CC' accepts \`-fstack-protector'... " >&6; }
+@@ -32373,11 +32376,88 @@ else
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+ fi
++# Strong stack smashing protector.
++ssp_strong_possible=yes
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`$CC' accepts \`-fstack-protector-strong'" >&5
++$as_echo_n "checking whether \`$CC' accepts \`-fstack-protector-strong'... " >&6; }
++# Is this a reliable test case?
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
+-# Need that, because some distributions ship compilers that include
+-# `-fstack-protector' in the default specs.
+-if test "x$ssp_possible" = xyes; then
+-  TARGET_CFLAGS="$TARGET_CFLAGS -fno-stack-protector"
++void foo (void) { volatile char a[8]; a[3]; }
++
++_ACEOF
++# `$CC -c -o ...' might not be portable.  But, oh, well...  Is calling
++# `ac_compile' like this correct, after all?
++if eval "$ac_compile -S -fstack-protector-strong -o conftest.s" 2> /dev/null; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
++$as_echo "yes" >&6; }
++  # Should we clear up other files as well, having called `AC_LANG_CONFTEST'?
++  rm -f conftest.s
++else
++  ssp_strong_possible=no
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++# Global stack smashing protector.
++ssp_global_possible=yes
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`$CC' accepts \`-mstack-protector-guard=global'" >&5
++$as_echo_n "checking whether \`$CC' accepts \`-mstack-protector-guard=global'... " >&6; }
++# Is this a reliable test case?
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++void foo (void) { volatile char a[8]; a[3]; }
++
++_ACEOF
++# `$CC -c -o ...' might not be portable.  But, oh, well...  Is calling
++# `ac_compile' like this correct, after all?
++if eval "$ac_compile -S -fstack-protector -mstack-protector-guard=global -o conftest.s" 2> /dev/null; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
++$as_echo "yes" >&6; }
++  # Should we clear up other files as well, having called `AC_LANG_CONFTEST'?
++  rm -f conftest.s
++else
++  ssp_global_possible=no
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++# Check whether --enable-stack-protector was given.
++if test "${enable_stack_protector+set}" = set; then :
++  enableval=$enable_stack_protector;
++else
++  enable_stack_protector=no
++fi
++
++if test "x$enable_stack_protector" = xno; then
++  if test "x$ssp_possible" = xyes; then
++    # Need that, because some distributions ship compilers that include
++    # `-fstack-protector' in the default specs.
++    TARGET_CFLAGS="$TARGET_CFLAGS -fno-stack-protector"
++  fi
++elif test "x$platform" != xefi; then
++  as_fn_error $? "--enable-stack-protector is only supported on EFI platforms" "$LINENO" 5
++elif test "x$ssp_global_possible" != xyes; then
++  as_fn_error $? "--enable-stack-protector is not supported (compiler doesn't support -mstack-protector-guard=global)" "$LINENO" 5
++else
++  TARGET_CFLAGS="$TARGET_CFLAGS -mstack-protector-guard=global"
++  if test "x$enable_stack_protector" = xyes; then
++    if test "x$ssp_possible" != xyes; then
++      as_fn_error $? "--enable-stack-protector is not supported (compiler doesn't support -fstack-protector)" "$LINENO" 5
++    fi
++    TARGET_CFLAGS="$TARGET_CFLAGS -fstack-protector"
++  elif test "x$enable_stack_protector" = xstrong; then
++    if test "x$ssp_strong_possible" != xyes; then
++      as_fn_error $? "--enable-stack-protector=strong is not supported (compiler doesn't support -fstack-protector-strong)" "$LINENO" 5
++    fi
++    TARGET_CFLAGS="$TARGET_CFLAGS -fstack-protector-strong"
++  else
++    # Note, -fstack-protector-all requires that the protector is disabled for
++    # functions that appear in the call stack when the canary is initialized.
++    as_fn_error $? "invalid value $enable_stack_protector for --enable-stack-protector" "$LINENO" 5
++  fi
++  TARGET_CPPFLAGS="$TARGET_CPPFLAGS -DGRUB_STACK_PROTECTOR=1"
+ fi
+ CFLAGS="$TARGET_CFLAGS"
+@@ -37054,5 +37134,10 @@ echo "Without liblzma (no support for XZ-compressed mips images) ($liblzma_excus
+ else
+ echo "With liblzma from $LIBLZMA (support for XZ-compressed mips images)"
+ fi
++if test "x$enable_stack_protector" != xno; then
++echo "With stack smashing protector: Yes"
++else
++echo "With stack smashing protector: No"
++fi
+ echo "*******************************************************"
+diff --git a/configure.ac b/configure.ac
+index 7656f24..bb6b02a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1285,12 +1285,41 @@ fi]
+ CFLAGS="$TARGET_CFLAGS"
+-# Smashing stack protector.
++# Stack smashing protector.
+ grub_CHECK_STACK_PROTECTOR
+-# Need that, because some distributions ship compilers that include
+-# `-fstack-protector' in the default specs.
+-if test "x$ssp_possible" = xyes; then
+-  TARGET_CFLAGS="$TARGET_CFLAGS -fno-stack-protector"
++AC_ARG_ENABLE([stack-protector],
++            AS_HELP_STRING([--enable-stack-protector],
++                           [enable the stack protector]),
++            [],
++            [enable_stack_protector=no])
++if test "x$enable_stack_protector" = xno; then
++  if test "x$ssp_possible" = xyes; then
++    # Need that, because some distributions ship compilers that include
++    # `-fstack-protector' in the default specs.
++    TARGET_CFLAGS="$TARGET_CFLAGS -fno-stack-protector"
++  fi
++elif test "x$platform" != xefi; then
++  AC_MSG_ERROR([--enable-stack-protector is only supported on EFI platforms])
++elif test "x$ssp_global_possible" != xyes; then
++  AC_MSG_ERROR([--enable-stack-protector is not supported (compiler doesn't support -mstack-protector-guard=global)])
++else
++  TARGET_CFLAGS="$TARGET_CFLAGS -mstack-protector-guard=global"
++  if test "x$enable_stack_protector" = xyes; then
++    if test "x$ssp_possible" != xyes; then
++      AC_MSG_ERROR([--enable-stack-protector is not supported (compiler doesn't support -fstack-protector)])
++    fi
++    TARGET_CFLAGS="$TARGET_CFLAGS -fstack-protector"
++  elif test "x$enable_stack_protector" = xstrong; then
++    if test "x$ssp_strong_possible" != xyes; then
++      AC_MSG_ERROR([--enable-stack-protector=strong is not supported (compiler doesn't support -fstack-protector-strong)])
++    fi
++    TARGET_CFLAGS="$TARGET_CFLAGS -fstack-protector-strong"
++  else
++    # Note, -fstack-protector-all requires that the protector is disabled for
++    # functions that appear in the call stack when the canary is initialized.
++    AC_MSG_ERROR([invalid value $enable_stack_protector for --enable-stack-protector])
++  fi
++  TARGET_CPPFLAGS="$TARGET_CPPFLAGS -DGRUB_STACK_PROTECTOR=1"
+ fi
+ CFLAGS="$TARGET_CFLAGS"
+@@ -2103,5 +2132,10 @@ echo "Without liblzma (no support for XZ-compressed mips images) ($liblzma_excus
+ else
+ echo "With liblzma from $LIBLZMA (support for XZ-compressed mips images)"
+ fi
++if test "x$enable_stack_protector" != xno; then
++echo "With stack smashing protector: Yes"
++else
++echo "With stack smashing protector: No"
++fi
+ echo "*******************************************************"
+ ]
+diff --git a/grub-core/Makefile.am b/grub-core/Makefile.am
+index 30e23ad..ee88e44 100644
+--- a/grub-core/Makefile.am
++++ b/grub-core/Makefile.am
+@@ -90,6 +90,7 @@ endif
+ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/mm.h
+ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/parser.h
+ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/partition.h
++KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/stack_protector.h
+ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/term.h
+ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/time.h
+ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/verify.h
+diff --git a/grub-core/Makefile.in b/grub-core/Makefile.in
+index 1f8133b..50c70b5 100644
+--- a/grub-core/Makefile.in
++++ b/grub-core/Makefile.in
+@@ -16425,6 +16425,7 @@ KERNEL_HEADER_FILES = $(top_srcdir)/include/grub/cache.h \
+       $(am__append_5795) $(top_srcdir)/include/grub/mm.h \
+       $(top_srcdir)/include/grub/parser.h \
+       $(top_srcdir)/include/grub/partition.h \
++      $(top_srcdir)/include/grub/stack_protector.h \
+       $(top_srcdir)/include/grub/term.h \
+       $(top_srcdir)/include/grub/time.h \
+       $(top_srcdir)/include/grub/verify.h \
+diff --git a/grub-core/kern/efi/init.c b/grub-core/kern/efi/init.c
+index 1333465..7facacf 100644
+--- a/grub-core/kern/efi/init.c
++++ b/grub-core/kern/efi/init.c
+@@ -27,6 +27,58 @@
+ #include <grub/env.h>
+ #include <grub/mm.h>
+ #include <grub/kernel.h>
++#include <grub/stack_protector.h>
++
++#ifdef GRUB_STACK_PROTECTOR
++
++static grub_efi_guid_t rng_protocol_guid = GRUB_EFI_RNG_PROTOCOL_GUID;
++
++/*
++ * Don't put this on grub_efi_init()'s local stack to avoid it
++ * getting a stack check.
++ */
++static grub_efi_uint8_t stack_chk_guard_buf[32];
++
++grub_addr_t __stack_chk_guard;
++
++void __attribute__ ((noreturn))
++__stack_chk_fail (void)
++{
++  /*
++   * Assume it's not safe to call into EFI Boot Services. Sorry, that
++   * means no console message here.
++   */
++  do
++    {
++      /* Do not optimize out the loop. */
++      asm volatile ("");
++    }
++  while (1);
++}
++
++static void
++stack_protector_init (void)
++{
++  grub_efi_rng_protocol_t *rng;
++
++  /* Set up the stack canary. Make errors here non-fatal for now. */
++  rng = grub_efi_locate_protocol (&rng_protocol_guid, NULL);
++  if (rng != NULL)
++    {
++      grub_efi_status_t status;
++
++      status = efi_call_4 (rng->get_rng, rng, NULL, sizeof (stack_chk_guard_buf),
++                         stack_chk_guard_buf);
++      if (status == GRUB_EFI_SUCCESS)
++      grub_memcpy (&__stack_chk_guard, stack_chk_guard_buf, sizeof (__stack_chk_guard));
++    }
++}
++#else
++static void
++stack_protector_init (void)
++{
++}
++#endif
+ grub_addr_t grub_modbase;
+@@ -38,6 +90,8 @@ grub_efi_init (void)
+      messages.  */
+   grub_console_init ();
++  stack_protector_init ();
++
+   /* Initialize the memory management system.  */
+   grub_efi_mm_init ();
+diff --git a/include/grub/efi/api.h b/include/grub/efi/api.h
+index 13e5715..5517f7e 100644
+--- a/include/grub/efi/api.h
++++ b/include/grub/efi/api.h
+@@ -339,6 +339,11 @@
+     { 0xab, 0xb6, 0x3d, 0xd8, 0x10, 0xdd, 0x8b, 0x23 } \
+   }
++#define GRUB_EFI_RNG_PROTOCOL_GUID \
++  { 0x3152bca5, 0xeade, 0x433d, \
++    { 0x86, 0x2e, 0xc0, 0x1c, 0xdc, 0x29, 0x1f, 0x44 } \
++  }
++
+ struct grub_efi_sal_system_table
+ {
+   grub_uint32_t signature;
+@@ -1700,6 +1705,20 @@ struct grub_efi_shim_lock_protocol
+ };
+ typedef struct grub_efi_shim_lock_protocol grub_efi_shim_lock_protocol_t;
++typedef grub_efi_guid_t grub_efi_rng_algorithm_t;
++
++struct grub_efi_rng_protocol
++{
++  grub_efi_status_t (*get_info) (struct grub_efi_rng_protocol *this,
++                               grub_efi_uintn_t *rng_algorithm_list_size,
++                               grub_efi_rng_algorithm_t *rng_algorithm_list);
++  grub_efi_status_t (*get_rng) (struct grub_efi_rng_protocol *this,
++                              grub_efi_rng_algorithm_t *rng_algorithm,
++                              grub_efi_uintn_t rng_value_length,
++                              grub_efi_uint8_t *rng_value);
++};
++typedef struct grub_efi_rng_protocol grub_efi_rng_protocol_t;
++
+ #if (GRUB_TARGET_SIZEOF_VOID_P == 4) || defined (__ia64__) \
+   || defined (__aarch64__) || defined (__MINGW64__) || defined (__CYGWIN__) \
+   || defined(__riscv)
+diff --git a/include/grub/stack_protector.h b/include/grub/stack_protector.h
+new file mode 100644
+index 0000000..c88dc00
+--- /dev/null
++++ b/include/grub/stack_protector.h
+@@ -0,0 +1,30 @@
++/*
++ *  GRUB  --  GRand Unified Bootloader
++ *  Copyright (C) 2021  Free Software Foundation, Inc.
++ *
++ *  GRUB is free software: you can redistribute it and/or modify
++ *  it under the terms of the GNU General Public License as published by
++ *  the Free Software Foundation, either version 3 of the License, or
++ *  (at your option) any later version.
++ *
++ *  GRUB is distributed in the hope that it will be useful,
++ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *  GNU General Public License for more details.
++ *
++ *  You should have received a copy of the GNU General Public License
++ *  along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#ifndef GRUB_STACK_PROTECTOR_H
++#define GRUB_STACK_PROTECTOR_H        1
++
++#include <grub/symbol.h>
++#include <grub/types.h>
++
++#ifdef GRUB_STACK_PROTECTOR
++extern grub_addr_t EXPORT_VAR (__stack_chk_guard);
++extern void __attribute__ ((noreturn)) EXPORT_FUNC (__stack_chk_fail) (void);
++#endif
++
++#endif /* GRUB_STACK_PROTECTOR_H */
+diff --git a/po/POTFILES.in b/po/POTFILES.in
+index 7753ab4..ef42c7d 100644
+--- a/po/POTFILES.in
++++ b/po/POTFILES.in
+@@ -1319,6 +1319,7 @@
+ ./include/grub/sparc64/time.h
+ ./include/grub/sparc64/types.h
+ ./include/grub/speaker.h
++./include/grub/stack_protector.h
+ ./include/grub/symbol.h
+ ./include/grub/syslinux_parse.h
+ ./include/grub/term.h
+-- 
+2.14.2
+
diff --git a/boot/grub2/0134-util-mkimage-Remove-unused-code-to-add-BSS-section.patch b/boot/grub2/0134-util-mkimage-Remove-unused-code-to-add-BSS-section.patch
new file mode 100644 (file)
index 0000000..a3eb78e
--- /dev/null
@@ -0,0 +1,61 @@
+From d52f78def1b9c4f435fdbf6b24fd899208580c76 Mon Sep 17 00:00:00 2001
+From: Javier Martinez Canillas <javierm@redhat.com>
+Date: Thu, 11 Feb 2021 17:06:49 +0100
+Subject: [PATCH] util/mkimage: Remove unused code to add BSS section
+
+The code is compiled out so there is no reason to keep it.
+
+Additionally, don't set bss_size field since we do not add a BSS section.
+
+Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ util/mkimage.c | 17 -----------------
+ 1 file changed, 17 deletions(-)
+
+diff --git a/util/mkimage.c b/util/mkimage.c
+index 37d6249..32bb8ea 100644
+--- a/util/mkimage.c
++++ b/util/mkimage.c
+@@ -1304,7 +1304,6 @@ grub_install_generate_image (const char *dir, const char *prefix,
+           o->code_size = grub_host_to_target32 (layout.exec_size);
+           o->data_size = grub_cpu_to_le32 (reloc_addr - layout.exec_size
+                                            - header_size);
+-          o->bss_size = grub_cpu_to_le32 (layout.bss_size);
+           o->entry_addr = grub_cpu_to_le32 (layout.start_address);
+           o->code_base = grub_cpu_to_le32 (header_size);
+@@ -1342,7 +1341,6 @@ grub_install_generate_image (const char *dir, const char *prefix,
+           o->code_size = grub_host_to_target32 (layout.exec_size);
+           o->data_size = grub_cpu_to_le32 (reloc_addr - layout.exec_size
+                                            - header_size);
+-          o->bss_size = grub_cpu_to_le32 (layout.bss_size);
+           o->entry_addr = grub_cpu_to_le32 (layout.start_address);
+           o->code_base = grub_cpu_to_le32 (header_size);
+           o->image_base = 0;
+@@ -1387,21 +1385,6 @@ grub_install_generate_image (const char *dir, const char *prefix,
+         = grub_cpu_to_le32_compile_time (GRUB_PE32_SCN_CNT_INITIALIZED_DATA
+                             | GRUB_PE32_SCN_MEM_READ
+                             | GRUB_PE32_SCN_MEM_WRITE);
+-
+-#if 0
+-      bss_section = data_section + 1;
+-      strcpy (bss_section->name, ".bss");
+-      bss_section->virtual_size = grub_cpu_to_le32 (layout.bss_size);
+-      bss_section->virtual_address = grub_cpu_to_le32 (header_size + layout.kernel_size);
+-      bss_section->raw_data_size = 0;
+-      bss_section->raw_data_offset = 0;
+-      bss_section->characteristics
+-        = grub_cpu_to_le32_compile_time (GRUB_PE32_SCN_MEM_READ
+-                            | GRUB_PE32_SCN_MEM_WRITE
+-                            | GRUB_PE32_SCN_ALIGN_64BYTES
+-                            | GRUB_PE32_SCN_CNT_INITIALIZED_DATA
+-                            | 0x80);
+-#endif
+     
+       mods_section = data_section + 1;
+       strcpy (mods_section->name, "mods");
+-- 
+2.14.2
+
diff --git a/boot/grub2/0135-util-mkimage-Use-grub_host_to_target32-instead-of-gr.patch b/boot/grub2/0135-util-mkimage-Use-grub_host_to_target32-instead-of-gr.patch
new file mode 100644 (file)
index 0000000..778065c
--- /dev/null
@@ -0,0 +1,113 @@
+From 1710452aca05ccdd21e74390ec08c63fdf0ee10a Mon Sep 17 00:00:00 2001
+From: Peter Jones <pjones@redhat.com>
+Date: Mon, 15 Feb 2021 13:59:21 +0100
+Subject: [PATCH] util/mkimage: Use grub_host_to_target32() instead of
+ grub_cpu_to_le32()
+
+The latter doesn't take into account the target image endianness. There is
+a grub_cpu_to_le32_compile_time() but no compile time variant for function
+grub_host_to_target32(). So, let's keep using the other one for this case.
+
+Signed-off-by: Peter Jones <pjones@redhat.com>
+Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ util/mkimage.c | 44 ++++++++++++++++++++++----------------------
+ 1 file changed, 22 insertions(+), 22 deletions(-)
+
+diff --git a/util/mkimage.c b/util/mkimage.c
+index 32bb8ea..02944f2 100644
+--- a/util/mkimage.c
++++ b/util/mkimage.c
+@@ -1302,10 +1302,10 @@ grub_install_generate_image (const char *dir, const char *prefix,
+              + sizeof (struct grub_pe32_coff_header));
+           o->magic = grub_host_to_target16 (GRUB_PE32_PE32_MAGIC);
+           o->code_size = grub_host_to_target32 (layout.exec_size);
+-          o->data_size = grub_cpu_to_le32 (reloc_addr - layout.exec_size
++          o->data_size = grub_host_to_target32 (reloc_addr - layout.exec_size
+                                            - header_size);
+-          o->entry_addr = grub_cpu_to_le32 (layout.start_address);
+-          o->code_base = grub_cpu_to_le32 (header_size);
++          o->entry_addr = grub_host_to_target32 (layout.start_address);
++          o->code_base = grub_host_to_target32 (header_size);
+           o->data_base = grub_host_to_target32 (header_size + layout.exec_size);
+@@ -1339,10 +1339,10 @@ grub_install_generate_image (const char *dir, const char *prefix,
+              + sizeof (struct grub_pe32_coff_header));
+           o->magic = grub_host_to_target16 (GRUB_PE32_PE64_MAGIC);
+           o->code_size = grub_host_to_target32 (layout.exec_size);
+-          o->data_size = grub_cpu_to_le32 (reloc_addr - layout.exec_size
++          o->data_size = grub_host_to_target32 (reloc_addr - layout.exec_size
+                                            - header_size);
+-          o->entry_addr = grub_cpu_to_le32 (layout.start_address);
+-          o->code_base = grub_cpu_to_le32 (header_size);
++          o->entry_addr = grub_host_to_target32 (layout.start_address);
++          o->code_base = grub_host_to_target32 (header_size);
+           o->image_base = 0;
+           o->section_alignment = grub_host_to_target32 (image_target->section_align);
+           o->file_alignment = grub_host_to_target32 (GRUB_PE32_FILE_ALIGNMENT);
+@@ -1366,10 +1366,10 @@ grub_install_generate_image (const char *dir, const char *prefix,
+       /* The sections.  */
+       text_section = sections;
+       strcpy (text_section->name, ".text");
+-      text_section->virtual_size = grub_cpu_to_le32 (layout.exec_size);
+-      text_section->virtual_address = grub_cpu_to_le32 (header_size);
+-      text_section->raw_data_size = grub_cpu_to_le32 (layout.exec_size);
+-      text_section->raw_data_offset = grub_cpu_to_le32 (header_size);
++      text_section->virtual_size = grub_host_to_target32 (layout.exec_size);
++      text_section->virtual_address = grub_host_to_target32 (header_size);
++      text_section->raw_data_size = grub_host_to_target32 (layout.exec_size);
++      text_section->raw_data_offset = grub_host_to_target32 (header_size);
+       text_section->characteristics = grub_cpu_to_le32_compile_time (
+                                                 GRUB_PE32_SCN_CNT_CODE
+                                               | GRUB_PE32_SCN_MEM_EXECUTE
+@@ -1377,10 +1377,10 @@ grub_install_generate_image (const char *dir, const char *prefix,
+       data_section = text_section + 1;
+       strcpy (data_section->name, ".data");
+-      data_section->virtual_size = grub_cpu_to_le32 (layout.kernel_size - layout.exec_size);
+-      data_section->virtual_address = grub_cpu_to_le32 (header_size + layout.exec_size);
+-      data_section->raw_data_size = grub_cpu_to_le32 (layout.kernel_size - layout.exec_size);
+-      data_section->raw_data_offset = grub_cpu_to_le32 (header_size + layout.exec_size);
++      data_section->virtual_size = grub_host_to_target32 (layout.kernel_size - layout.exec_size);
++      data_section->virtual_address = grub_host_to_target32 (header_size + layout.exec_size);
++      data_section->raw_data_size = grub_host_to_target32 (layout.kernel_size - layout.exec_size);
++      data_section->raw_data_offset = grub_host_to_target32 (header_size + layout.exec_size);
+       data_section->characteristics
+         = grub_cpu_to_le32_compile_time (GRUB_PE32_SCN_CNT_INITIALIZED_DATA
+                             | GRUB_PE32_SCN_MEM_READ
+@@ -1388,10 +1388,10 @@ grub_install_generate_image (const char *dir, const char *prefix,
+     
+       mods_section = data_section + 1;
+       strcpy (mods_section->name, "mods");
+-      mods_section->virtual_size = grub_cpu_to_le32 (reloc_addr - layout.kernel_size - header_size);
+-      mods_section->virtual_address = grub_cpu_to_le32 (header_size + layout.kernel_size + layout.bss_size);
+-      mods_section->raw_data_size = grub_cpu_to_le32 (reloc_addr - layout.kernel_size - header_size);
+-      mods_section->raw_data_offset = grub_cpu_to_le32 (header_size + layout.kernel_size);
++      mods_section->virtual_size = grub_host_to_target32 (reloc_addr - layout.kernel_size - header_size);
++      mods_section->virtual_address = grub_host_to_target32 (header_size + layout.kernel_size + layout.bss_size);
++      mods_section->raw_data_size = grub_host_to_target32 (reloc_addr - layout.kernel_size - header_size);
++      mods_section->raw_data_offset = grub_host_to_target32 (header_size + layout.kernel_size);
+       mods_section->characteristics
+         = grub_cpu_to_le32_compile_time (GRUB_PE32_SCN_CNT_INITIALIZED_DATA
+                             | GRUB_PE32_SCN_MEM_READ
+@@ -1399,10 +1399,10 @@ grub_install_generate_image (const char *dir, const char *prefix,
+       reloc_section = mods_section + 1;
+       strcpy (reloc_section->name, ".reloc");
+-      reloc_section->virtual_size = grub_cpu_to_le32 (layout.reloc_size);
+-      reloc_section->virtual_address = grub_cpu_to_le32 (reloc_addr + layout.bss_size);
+-      reloc_section->raw_data_size = grub_cpu_to_le32 (layout.reloc_size);
+-      reloc_section->raw_data_offset = grub_cpu_to_le32 (reloc_addr);
++      reloc_section->virtual_size = grub_host_to_target32 (layout.reloc_size);
++      reloc_section->virtual_address = grub_host_to_target32 (reloc_addr + layout.bss_size);
++      reloc_section->raw_data_size = grub_host_to_target32 (layout.reloc_size);
++      reloc_section->raw_data_offset = grub_host_to_target32 (reloc_addr);
+       reloc_section->characteristics
+         = grub_cpu_to_le32_compile_time (GRUB_PE32_SCN_CNT_INITIALIZED_DATA
+                             | GRUB_PE32_SCN_MEM_DISCARDABLE
+-- 
+2.14.2
+
diff --git a/boot/grub2/0136-util-mkimage-Always-use-grub_host_to_target32-to-ini.patch b/boot/grub2/0136-util-mkimage-Always-use-grub_host_to_target32-to-ini.patch
new file mode 100644 (file)
index 0000000..81d7d01
--- /dev/null
@@ -0,0 +1,39 @@
+From ae8936f9c375e1a38129e85a1b5d573fb451f288 Mon Sep 17 00:00:00 2001
+From: Peter Jones <pjones@redhat.com>
+Date: Mon, 15 Feb 2021 14:14:24 +0100
+Subject: [PATCH] util/mkimage: Always use grub_host_to_target32() to
+ initialize PE stack and heap stuff
+
+This change does not impact final result of initialization itself.
+However, it eases PE code unification in subsequent patches.
+
+Signed-off-by: Peter Jones <pjones@redhat.com>
+Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ util/mkimage.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/util/mkimage.c b/util/mkimage.c
+index 02944f2..b94bfb7 100644
+--- a/util/mkimage.c
++++ b/util/mkimage.c
+@@ -1351,10 +1351,10 @@ grub_install_generate_image (const char *dir, const char *prefix,
+           o->subsystem = grub_host_to_target16 (GRUB_PE32_SUBSYSTEM_EFI_APPLICATION);
+           /* Do these really matter? */
+-          o->stack_reserve_size = grub_host_to_target64 (0x10000);
+-          o->stack_commit_size = grub_host_to_target64 (0x10000);
+-          o->heap_reserve_size = grub_host_to_target64 (0x10000);
+-          o->heap_commit_size = grub_host_to_target64 (0x10000);
++          o->stack_reserve_size = grub_host_to_target32 (0x10000);
++          o->stack_commit_size = grub_host_to_target32 (0x10000);
++          o->heap_reserve_size = grub_host_to_target32 (0x10000);
++          o->heap_commit_size = grub_host_to_target32 (0x10000);
+     
+           o->num_data_directories
+             = grub_host_to_target32 (GRUB_PE32_NUM_DATA_DIRECTORIES);
+-- 
+2.14.2
+
diff --git a/boot/grub2/0137-util-mkimage-Unify-more-of-the-PE32-and-PE32-header-.patch b/boot/grub2/0137-util-mkimage-Unify-more-of-the-PE32-and-PE32-header-.patch
new file mode 100644 (file)
index 0000000..1f8cb8e
--- /dev/null
@@ -0,0 +1,169 @@
+From a4e8936f010a8e928e973b80390c8f83ad6b8000 Mon Sep 17 00:00:00 2001
+From: Peter Jones <pjones@redhat.com>
+Date: Mon, 15 Feb 2021 14:19:31 +0100
+Subject: [PATCH] util/mkimage: Unify more of the PE32 and PE32+ header set-up
+
+There's quite a bit of code duplication in the code that sets the optional
+header for PE32 and PE32+. The two are very similar with the exception of
+a few fields that have type grub_uint64_t instead of grub_uint32_t.
+
+Factor out the common code and add a PE_OHDR() macro that simplifies the
+set-up and make the code more readable.
+
+Signed-off-by: Peter Jones <pjones@redhat.com>
+Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ util/mkimage.c | 111 ++++++++++++++++++++++++++-------------------------------
+ 1 file changed, 51 insertions(+), 60 deletions(-)
+
+diff --git a/util/mkimage.c b/util/mkimage.c
+index b94bfb7..a039039 100644
+--- a/util/mkimage.c
++++ b/util/mkimage.c
+@@ -816,6 +816,21 @@ grub_install_get_image_targets_string (void)
+   return formats;
+ }
++/*
++ * tmp_ is just here so the compiler knows we'll never derefernce a NULL.
++ * It should get fully optimized away.
++ */
++#define PE_OHDR(o32, o64, field) (*(          \
++{                                             \
++  __typeof__((o64)->field) tmp_;              \
++  __typeof__((o64)->field) *ret_ = &tmp_;     \
++  if (o32)                                    \
++    ret_ = (void *)(&((o32)->field));         \
++  else if (o64)                               \
++    ret_ = (void *)(&((o64)->field));         \
++  ret_;                                       \
++}))
++
+ void
+ grub_install_generate_image (const char *dir, const char *prefix,
+                            FILE *out, const char *outname, char *mods[],
+@@ -1252,6 +1267,8 @@ grub_install_generate_image (const char *dir, const char *prefix,
+       static const grub_uint8_t stub[] = GRUB_PE32_MSDOS_STUB;
+       int header_size;
+       int reloc_addr;
++      struct grub_pe32_optional_header *o32 = NULL;
++      struct grub_pe64_optional_header *o64 = NULL;
+       if (image_target->voidp_sizeof == 4)
+         header_size = EFI32_HEADER_SIZE;
+@@ -1293,76 +1310,50 @@ grub_install_generate_image (const char *dir, const char *prefix,
+       /* The PE Optional header.  */
+       if (image_target->voidp_sizeof == 4)
+         {
+-          struct grub_pe32_optional_header *o;
+-
+           c->optional_header_size = grub_host_to_target16 (sizeof (struct grub_pe32_optional_header));
+-          o = (struct grub_pe32_optional_header *)
+-            (header + GRUB_PE32_MSDOS_STUB_SIZE + GRUB_PE32_SIGNATURE_SIZE
+-             + sizeof (struct grub_pe32_coff_header));
+-          o->magic = grub_host_to_target16 (GRUB_PE32_PE32_MAGIC);
+-          o->code_size = grub_host_to_target32 (layout.exec_size);
+-          o->data_size = grub_host_to_target32 (reloc_addr - layout.exec_size
+-                                           - header_size);
+-          o->entry_addr = grub_host_to_target32 (layout.start_address);
+-          o->code_base = grub_host_to_target32 (header_size);
+-
+-          o->data_base = grub_host_to_target32 (header_size + layout.exec_size);
+-
+-          o->image_base = 0;
+-          o->section_alignment = grub_host_to_target32 (image_target->section_align);
+-          o->file_alignment = grub_host_to_target32 (GRUB_PE32_FILE_ALIGNMENT);
+-          o->image_size = grub_host_to_target32 (pe_size);
+-          o->header_size = grub_host_to_target32 (header_size);
+-          o->subsystem = grub_host_to_target16 (GRUB_PE32_SUBSYSTEM_EFI_APPLICATION);
+-
+-          /* Do these really matter? */
+-          o->stack_reserve_size = grub_host_to_target32 (0x10000);
+-          o->stack_commit_size = grub_host_to_target32 (0x10000);
+-          o->heap_reserve_size = grub_host_to_target32 (0x10000);
+-          o->heap_commit_size = grub_host_to_target32 (0x10000);
+-    
+-          o->num_data_directories = grub_host_to_target32 (GRUB_PE32_NUM_DATA_DIRECTORIES);
++          o32 = (struct grub_pe32_optional_header *)
++              (header + GRUB_PE32_MSDOS_STUB_SIZE + GRUB_PE32_SIGNATURE_SIZE +
++               sizeof (struct grub_pe32_coff_header));
++          o32->magic = grub_host_to_target16 (GRUB_PE32_PE32_MAGIC);
++          o32->data_base = grub_host_to_target32 (header_size + layout.exec_size);
+-          o->base_relocation_table.rva = grub_host_to_target32 (reloc_addr);
+-          o->base_relocation_table.size = grub_host_to_target32 (layout.reloc_size);
+-          sections = o + 1;
++          sections = o32 + 1;
+         }
+       else
+         {
+-          struct grub_pe64_optional_header *o;
+-
+           c->optional_header_size = grub_host_to_target16 (sizeof (struct grub_pe64_optional_header));
+-          o = (struct grub_pe64_optional_header *) 
+-            (header + GRUB_PE32_MSDOS_STUB_SIZE + GRUB_PE32_SIGNATURE_SIZE
+-             + sizeof (struct grub_pe32_coff_header));
+-          o->magic = grub_host_to_target16 (GRUB_PE32_PE64_MAGIC);
+-          o->code_size = grub_host_to_target32 (layout.exec_size);
+-          o->data_size = grub_host_to_target32 (reloc_addr - layout.exec_size
+-                                           - header_size);
+-          o->entry_addr = grub_host_to_target32 (layout.start_address);
+-          o->code_base = grub_host_to_target32 (header_size);
+-          o->image_base = 0;
+-          o->section_alignment = grub_host_to_target32 (image_target->section_align);
+-          o->file_alignment = grub_host_to_target32 (GRUB_PE32_FILE_ALIGNMENT);
+-          o->image_size = grub_host_to_target32 (pe_size);
+-          o->header_size = grub_host_to_target32 (header_size);
+-          o->subsystem = grub_host_to_target16 (GRUB_PE32_SUBSYSTEM_EFI_APPLICATION);
+-
+-          /* Do these really matter? */
+-          o->stack_reserve_size = grub_host_to_target32 (0x10000);
+-          o->stack_commit_size = grub_host_to_target32 (0x10000);
+-          o->heap_reserve_size = grub_host_to_target32 (0x10000);
+-          o->heap_commit_size = grub_host_to_target32 (0x10000);
+-    
+-          o->num_data_directories
+-            = grub_host_to_target32 (GRUB_PE32_NUM_DATA_DIRECTORIES);
++          o64 = (struct grub_pe64_optional_header *)
++                (header + GRUB_PE32_MSDOS_STUB_SIZE + GRUB_PE32_SIGNATURE_SIZE +
++                   sizeof (struct grub_pe32_coff_header));
++          o64->magic = grub_host_to_target16 (GRUB_PE32_PE64_MAGIC);
+-          o->base_relocation_table.rva = grub_host_to_target32 (reloc_addr);
+-          o->base_relocation_table.size = grub_host_to_target32 (layout.reloc_size);
+-          sections = o + 1;
++          sections = o64 + 1;
+         }
++
++      PE_OHDR (o32, o64, code_size) = grub_host_to_target32 (layout.exec_size);
++      PE_OHDR (o32, o64, data_size) = grub_host_to_target32 (reloc_addr - layout.exec_size - header_size);
++      PE_OHDR (o32, o64, entry_addr) = grub_host_to_target32 (layout.start_address);
++      PE_OHDR (o32, o64, code_base) = grub_host_to_target32 (header_size);
++
++      PE_OHDR (o32, o64, image_base) = 0;
++      PE_OHDR (o32, o64, section_alignment) = grub_host_to_target32 (image_target->section_align);
++      PE_OHDR (o32, o64, file_alignment) = grub_host_to_target32 (GRUB_PE32_FILE_ALIGNMENT);
++      PE_OHDR (o32, o64, image_size) = grub_host_to_target32 (pe_size);
++      PE_OHDR (o32, o64, header_size) = grub_host_to_target32 (header_size);
++      PE_OHDR (o32, o64, subsystem) = grub_host_to_target16 (GRUB_PE32_SUBSYSTEM_EFI_APPLICATION);
++
++      /* Do these really matter? */
++      PE_OHDR (o32, o64, stack_reserve_size) = grub_host_to_target32 (0x10000);
++      PE_OHDR (o32, o64, stack_commit_size) = grub_host_to_target32 (0x10000);
++      PE_OHDR (o32, o64, heap_reserve_size) = grub_host_to_target32 (0x10000);
++      PE_OHDR (o32, o64, heap_commit_size) = grub_host_to_target32 (0x10000);
++
++      PE_OHDR (o32, o64, num_data_directories) = grub_host_to_target32 (GRUB_PE32_NUM_DATA_DIRECTORIES);
++      PE_OHDR (o32, o64, base_relocation_table.rva) = grub_host_to_target32 (reloc_addr);
++      PE_OHDR (o32, o64, base_relocation_table.size) = grub_host_to_target32 (layout.reloc_size);
++
+       /* The sections.  */
+       text_section = sections;
+       strcpy (text_section->name, ".text");
+-- 
+2.14.2
+
diff --git a/boot/grub2/0138-util-mkimage-Reorder-PE-optional-header-fields-set-u.patch b/boot/grub2/0138-util-mkimage-Reorder-PE-optional-header-fields-set-u.patch
new file mode 100644 (file)
index 0000000..cb65f96
--- /dev/null
@@ -0,0 +1,73 @@
+From ba44c87e56a8bccde235ebb7d41d5aa54604d241 Mon Sep 17 00:00:00 2001
+From: Peter Jones <pjones@redhat.com>
+Date: Mon, 15 Feb 2021 14:21:48 +0100
+Subject: [PATCH] util/mkimage: Reorder PE optional header fields set-up
+
+This makes the PE32 and PE32+ header fields set-up easier to follow by
+setting them closer to the initialization of their related sections.
+
+Signed-off-by: Peter Jones <pjones@redhat.com>
+Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ util/mkimage.c | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/util/mkimage.c b/util/mkimage.c
+index a039039..deaef56 100644
+--- a/util/mkimage.c
++++ b/util/mkimage.c
+@@ -1332,16 +1332,12 @@ grub_install_generate_image (const char *dir, const char *prefix,
+           sections = o64 + 1;
+         }
+-      PE_OHDR (o32, o64, code_size) = grub_host_to_target32 (layout.exec_size);
+-      PE_OHDR (o32, o64, data_size) = grub_host_to_target32 (reloc_addr - layout.exec_size - header_size);
++      PE_OHDR (o32, o64, header_size) = grub_host_to_target32 (header_size);
+       PE_OHDR (o32, o64, entry_addr) = grub_host_to_target32 (layout.start_address);
+-      PE_OHDR (o32, o64, code_base) = grub_host_to_target32 (header_size);
+-
+       PE_OHDR (o32, o64, image_base) = 0;
++      PE_OHDR (o32, o64, image_size) = grub_host_to_target32 (pe_size);
+       PE_OHDR (o32, o64, section_alignment) = grub_host_to_target32 (image_target->section_align);
+       PE_OHDR (o32, o64, file_alignment) = grub_host_to_target32 (GRUB_PE32_FILE_ALIGNMENT);
+-      PE_OHDR (o32, o64, image_size) = grub_host_to_target32 (pe_size);
+-      PE_OHDR (o32, o64, header_size) = grub_host_to_target32 (header_size);
+       PE_OHDR (o32, o64, subsystem) = grub_host_to_target16 (GRUB_PE32_SUBSYSTEM_EFI_APPLICATION);
+       /* Do these really matter? */
+@@ -1351,10 +1347,10 @@ grub_install_generate_image (const char *dir, const char *prefix,
+       PE_OHDR (o32, o64, heap_commit_size) = grub_host_to_target32 (0x10000);
+       PE_OHDR (o32, o64, num_data_directories) = grub_host_to_target32 (GRUB_PE32_NUM_DATA_DIRECTORIES);
+-      PE_OHDR (o32, o64, base_relocation_table.rva) = grub_host_to_target32 (reloc_addr);
+-      PE_OHDR (o32, o64, base_relocation_table.size) = grub_host_to_target32 (layout.reloc_size);
+       /* The sections.  */
++      PE_OHDR (o32, o64, code_base) = grub_host_to_target32 (header_size);
++      PE_OHDR (o32, o64, code_size) = grub_host_to_target32 (layout.exec_size);
+       text_section = sections;
+       strcpy (text_section->name, ".text");
+       text_section->virtual_size = grub_host_to_target32 (layout.exec_size);
+@@ -1366,6 +1362,8 @@ grub_install_generate_image (const char *dir, const char *prefix,
+                                               | GRUB_PE32_SCN_MEM_EXECUTE
+                                               | GRUB_PE32_SCN_MEM_READ);
++      PE_OHDR (o32, o64, data_size) = grub_host_to_target32 (reloc_addr - layout.exec_size - header_size);
++
+       data_section = text_section + 1;
+       strcpy (data_section->name, ".data");
+       data_section->virtual_size = grub_host_to_target32 (layout.kernel_size - layout.exec_size);
+@@ -1388,6 +1386,8 @@ grub_install_generate_image (const char *dir, const char *prefix,
+                             | GRUB_PE32_SCN_MEM_READ
+                             | GRUB_PE32_SCN_MEM_WRITE);
++      PE_OHDR (o32, o64, base_relocation_table.rva) = grub_host_to_target32 (reloc_addr);
++      PE_OHDR (o32, o64, base_relocation_table.size) = grub_host_to_target32 (layout.reloc_size);
+       reloc_section = mods_section + 1;
+       strcpy (reloc_section->name, ".reloc");
+       reloc_section->virtual_size = grub_host_to_target32 (layout.reloc_size);
+-- 
+2.14.2
+
diff --git a/boot/grub2/0139-util-mkimage-Improve-data_size-value-calculation.patch b/boot/grub2/0139-util-mkimage-Improve-data_size-value-calculation.patch
new file mode 100644 (file)
index 0000000..cc25519
--- /dev/null
@@ -0,0 +1,50 @@
+From ff406eff25465932b97a2857ee5a75fd0957e9b9 Mon Sep 17 00:00:00 2001
+From: Peter Jones <pjones@redhat.com>
+Date: Thu, 11 Feb 2021 17:07:33 +0100
+Subject: [PATCH] util/mkimage: Improve data_size value calculation
+
+According to "Microsoft Portable Executable and Common Object File Format
+Specification", the Optional Header SizeOfInitializedData field contains:
+
+  Size of the initialized data section, or the sum of all such sections if
+  there are multiple data sections.
+
+Make this explicit by adding the GRUB kernel data size to the sum of all
+the modules sizes. The ALIGN_UP() is not required by the PE spec but do
+it to avoid alignment issues.
+
+Signed-off-by: Peter Jones <pjones@redhat.com>
+Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ util/mkimage.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/util/mkimage.c b/util/mkimage.c
+index deaef56..853a521 100644
+--- a/util/mkimage.c
++++ b/util/mkimage.c
+@@ -1260,6 +1260,7 @@ grub_install_generate_image (const char *dir, const char *prefix,
+       void *pe_img;
+       grub_uint8_t *header;
+       void *sections;
++      size_t scn_size;
+       size_t pe_size;
+       struct grub_pe32_coff_header *c;
+       struct grub_pe32_section_table *text_section, *data_section;
+@@ -1362,7 +1363,10 @@ grub_install_generate_image (const char *dir, const char *prefix,
+                                               | GRUB_PE32_SCN_MEM_EXECUTE
+                                               | GRUB_PE32_SCN_MEM_READ);
+-      PE_OHDR (o32, o64, data_size) = grub_host_to_target32 (reloc_addr - layout.exec_size - header_size);
++      scn_size = ALIGN_UP (layout.kernel_size - layout.exec_size, GRUB_PE32_FILE_ALIGNMENT);
++      PE_OHDR (o32, o64, data_size) = grub_host_to_target32 (scn_size +
++                                                             ALIGN_UP (total_module_size,
++                                                                       GRUB_PE32_FILE_ALIGNMENT));
+       data_section = text_section + 1;
+       strcpy (data_section->name, ".data");
+-- 
+2.14.2
+
diff --git a/boot/grub2/0140-util-mkimage-Refactor-section-setup-to-use-a-helper.patch b/boot/grub2/0140-util-mkimage-Refactor-section-setup-to-use-a-helper.patch
new file mode 100644 (file)
index 0000000..cc0270e
--- /dev/null
@@ -0,0 +1,221 @@
+From f60ba9e5945892e835e53f0619406d96002f7f70 Mon Sep 17 00:00:00 2001
+From: Peter Jones <pjones@redhat.com>
+Date: Mon, 15 Feb 2021 14:58:06 +0100
+Subject: [PATCH] util/mkimage: Refactor section setup to use a helper
+
+Add a init_pe_section() helper function to setup PE sections. This makes
+the code simpler and easier to read.
+
+Signed-off-by: Peter Jones <pjones@redhat.com>
+Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ util/mkimage.c | 143 +++++++++++++++++++++++++++++++--------------------------
+ 1 file changed, 77 insertions(+), 66 deletions(-)
+
+diff --git a/util/mkimage.c b/util/mkimage.c
+index 853a521..8b475a6 100644
+--- a/util/mkimage.c
++++ b/util/mkimage.c
+@@ -816,6 +816,38 @@ grub_install_get_image_targets_string (void)
+   return formats;
+ }
++/*
++ * The image_target parameter is used by the grub_host_to_target32() macro.
++ */
++static struct grub_pe32_section_table *
++init_pe_section(const struct grub_install_image_target_desc *image_target,
++              struct grub_pe32_section_table *section,
++              const char * const name,
++              grub_uint32_t *vma, grub_uint32_t vsz, grub_uint32_t valign,
++              grub_uint32_t *rda, grub_uint32_t rsz,
++              grub_uint32_t characteristics)
++{
++  size_t len = strlen (name);
++
++  if (len > sizeof (section->name))
++    grub_util_error (_("section name %s length is bigger than %lu"),
++                   name, (unsigned long) sizeof (section->name));
++
++  memcpy (section->name, name, len);
++
++  section->virtual_address = grub_host_to_target32 (*vma);
++  section->virtual_size = grub_host_to_target32 (vsz);
++  (*vma) = ALIGN_UP (*vma + vsz, valign);
++
++  section->raw_data_offset = grub_host_to_target32 (*rda);
++  section->raw_data_size = grub_host_to_target32 (rsz);
++  (*rda) = ALIGN_UP (*rda + rsz, GRUB_PE32_FILE_ALIGNMENT);
++
++  section->characteristics = grub_host_to_target32 (characteristics);
++
++  return section + 1;
++}
++
+ /*
+  * tmp_ is just here so the compiler knows we'll never derefernce a NULL.
+  * It should get fully optimized away.
+@@ -1257,17 +1289,13 @@ grub_install_generate_image (const char *dir, const char *prefix,
+       break;
+     case IMAGE_EFI:
+       {
+-      void *pe_img;
+-      grub_uint8_t *header;
+-      void *sections;
++      char *pe_img, *header;
++      struct grub_pe32_section_table *section;
+       size_t scn_size;
+-      size_t pe_size;
++      grub_uint32_t vma, raw_data;
++      size_t pe_size, header_size;
+       struct grub_pe32_coff_header *c;
+-      struct grub_pe32_section_table *text_section, *data_section;
+-      struct grub_pe32_section_table *mods_section, *reloc_section;
+       static const grub_uint8_t stub[] = GRUB_PE32_MSDOS_STUB;
+-      int header_size;
+-      int reloc_addr;
+       struct grub_pe32_optional_header *o32 = NULL;
+       struct grub_pe64_optional_header *o64 = NULL;
+@@ -1276,17 +1304,12 @@ grub_install_generate_image (const char *dir, const char *prefix,
+       else
+         header_size = EFI64_HEADER_SIZE;
+-      reloc_addr = ALIGN_UP (header_size + core_size,
+-                             GRUB_PE32_FILE_ALIGNMENT);
++      vma = raw_data = header_size;
++      pe_size = ALIGN_UP (header_size + core_size, GRUB_PE32_FILE_ALIGNMENT) +
++          ALIGN_UP (layout.reloc_size, GRUB_PE32_FILE_ALIGNMENT);
++      header = pe_img = xcalloc (1, pe_size);
+-      pe_size = ALIGN_UP (reloc_addr + layout.reloc_size,
+-                          GRUB_PE32_FILE_ALIGNMENT);
+-      pe_img = xmalloc (reloc_addr + layout.reloc_size);
+-      memset (pe_img, 0, header_size);
+-      memcpy ((char *) pe_img + header_size, core_img, core_size);
+-      memset ((char *) pe_img + header_size + core_size, 0, reloc_addr - (header_size + core_size));
+-      memcpy ((char *) pe_img + reloc_addr, layout.reloc_section, layout.reloc_size);
+-      header = pe_img;
++      memcpy (pe_img + raw_data, core_img, core_size);
+       /* The magic.  */
+       memcpy (header, stub, GRUB_PE32_MSDOS_STUB_SIZE);
+@@ -1319,18 +1342,17 @@ grub_install_generate_image (const char *dir, const char *prefix,
+           o32->magic = grub_host_to_target16 (GRUB_PE32_PE32_MAGIC);
+           o32->data_base = grub_host_to_target32 (header_size + layout.exec_size);
+-          sections = o32 + 1;
++          section = (struct grub_pe32_section_table *)(o32 + 1);
+         }
+       else
+         {
+           c->optional_header_size = grub_host_to_target16 (sizeof (struct grub_pe64_optional_header));
+-
+           o64 = (struct grub_pe64_optional_header *)
+                 (header + GRUB_PE32_MSDOS_STUB_SIZE + GRUB_PE32_SIGNATURE_SIZE +
+                    sizeof (struct grub_pe32_coff_header));
+           o64->magic = grub_host_to_target16 (GRUB_PE32_PE64_MAGIC);
+-          sections = o64 + 1;
++          section = (struct grub_pe32_section_table *)(o64 + 1);
+         }
+       PE_OHDR (o32, o64, header_size) = grub_host_to_target32 (header_size);
+@@ -1350,58 +1372,47 @@ grub_install_generate_image (const char *dir, const char *prefix,
+       PE_OHDR (o32, o64, num_data_directories) = grub_host_to_target32 (GRUB_PE32_NUM_DATA_DIRECTORIES);
+       /* The sections.  */
+-      PE_OHDR (o32, o64, code_base) = grub_host_to_target32 (header_size);
++      PE_OHDR (o32, o64, code_base) = grub_host_to_target32 (vma);
+       PE_OHDR (o32, o64, code_size) = grub_host_to_target32 (layout.exec_size);
+-      text_section = sections;
+-      strcpy (text_section->name, ".text");
+-      text_section->virtual_size = grub_host_to_target32 (layout.exec_size);
+-      text_section->virtual_address = grub_host_to_target32 (header_size);
+-      text_section->raw_data_size = grub_host_to_target32 (layout.exec_size);
+-      text_section->raw_data_offset = grub_host_to_target32 (header_size);
+-      text_section->characteristics = grub_cpu_to_le32_compile_time (
+-                                                GRUB_PE32_SCN_CNT_CODE
+-                                              | GRUB_PE32_SCN_MEM_EXECUTE
+-                                              | GRUB_PE32_SCN_MEM_READ);
++      section = init_pe_section (image_target, section, ".text",
++                                 &vma, layout.exec_size,
++                                 image_target->section_align,
++                                 &raw_data, layout.exec_size,
++                                 GRUB_PE32_SCN_CNT_CODE |
++                                 GRUB_PE32_SCN_MEM_EXECUTE |
++                                 GRUB_PE32_SCN_MEM_READ);
+       scn_size = ALIGN_UP (layout.kernel_size - layout.exec_size, GRUB_PE32_FILE_ALIGNMENT);
+       PE_OHDR (o32, o64, data_size) = grub_host_to_target32 (scn_size +
+                                                              ALIGN_UP (total_module_size,
+                                                                        GRUB_PE32_FILE_ALIGNMENT));
+-      data_section = text_section + 1;
+-      strcpy (data_section->name, ".data");
+-      data_section->virtual_size = grub_host_to_target32 (layout.kernel_size - layout.exec_size);
+-      data_section->virtual_address = grub_host_to_target32 (header_size + layout.exec_size);
+-      data_section->raw_data_size = grub_host_to_target32 (layout.kernel_size - layout.exec_size);
+-      data_section->raw_data_offset = grub_host_to_target32 (header_size + layout.exec_size);
+-      data_section->characteristics
+-        = grub_cpu_to_le32_compile_time (GRUB_PE32_SCN_CNT_INITIALIZED_DATA
+-                            | GRUB_PE32_SCN_MEM_READ
+-                            | GRUB_PE32_SCN_MEM_WRITE);
+-    
+-      mods_section = data_section + 1;
+-      strcpy (mods_section->name, "mods");
+-      mods_section->virtual_size = grub_host_to_target32 (reloc_addr - layout.kernel_size - header_size);
+-      mods_section->virtual_address = grub_host_to_target32 (header_size + layout.kernel_size + layout.bss_size);
+-      mods_section->raw_data_size = grub_host_to_target32 (reloc_addr - layout.kernel_size - header_size);
+-      mods_section->raw_data_offset = grub_host_to_target32 (header_size + layout.kernel_size);
+-      mods_section->characteristics
+-        = grub_cpu_to_le32_compile_time (GRUB_PE32_SCN_CNT_INITIALIZED_DATA
+-                            | GRUB_PE32_SCN_MEM_READ
+-                            | GRUB_PE32_SCN_MEM_WRITE);
+-
+-      PE_OHDR (o32, o64, base_relocation_table.rva) = grub_host_to_target32 (reloc_addr);
+-      PE_OHDR (o32, o64, base_relocation_table.size) = grub_host_to_target32 (layout.reloc_size);
+-      reloc_section = mods_section + 1;
+-      strcpy (reloc_section->name, ".reloc");
+-      reloc_section->virtual_size = grub_host_to_target32 (layout.reloc_size);
+-      reloc_section->virtual_address = grub_host_to_target32 (reloc_addr + layout.bss_size);
+-      reloc_section->raw_data_size = grub_host_to_target32 (layout.reloc_size);
+-      reloc_section->raw_data_offset = grub_host_to_target32 (reloc_addr);
+-      reloc_section->characteristics
+-        = grub_cpu_to_le32_compile_time (GRUB_PE32_SCN_CNT_INITIALIZED_DATA
+-                            | GRUB_PE32_SCN_MEM_DISCARDABLE
+-                            | GRUB_PE32_SCN_MEM_READ);
++      section = init_pe_section (image_target, section, ".data",
++                                 &vma, scn_size, image_target->section_align,
++                                 &raw_data, scn_size,
++                                 GRUB_PE32_SCN_CNT_INITIALIZED_DATA |
++                                 GRUB_PE32_SCN_MEM_READ |
++                                 GRUB_PE32_SCN_MEM_WRITE);
++
++      scn_size = pe_size - layout.reloc_size - raw_data;
++      section = init_pe_section (image_target, section, "mods",
++                                 &vma, scn_size, image_target->section_align,
++                                 &raw_data, scn_size,
++                                 GRUB_PE32_SCN_CNT_INITIALIZED_DATA |
++                                 GRUB_PE32_SCN_MEM_READ |
++                                 GRUB_PE32_SCN_MEM_WRITE);
++
++      scn_size = layout.reloc_size;
++      PE_OHDR (o32, o64, base_relocation_table.rva) = grub_host_to_target32 (vma);
++      PE_OHDR (o32, o64, base_relocation_table.size) = grub_host_to_target32 (scn_size);
++      memcpy (pe_img + raw_data, layout.reloc_section, scn_size);
++      init_pe_section (image_target, section, ".reloc",
++                       &vma, scn_size, image_target->section_align,
++                       &raw_data, scn_size,
++                       GRUB_PE32_SCN_CNT_INITIALIZED_DATA |
++                       GRUB_PE32_SCN_MEM_DISCARDABLE |
++                       GRUB_PE32_SCN_MEM_READ);
++
+       free (core_img);
+       core_img = pe_img;
+       core_size = pe_size;
+-- 
+2.14.2
+
diff --git a/boot/grub2/0141-util-mkimage-Add-an-option-to-import-SBAT-metadata-i.patch b/boot/grub2/0141-util-mkimage-Add-an-option-to-import-SBAT-metadata-i.patch
new file mode 100644 (file)
index 0000000..3cc6b49
--- /dev/null
@@ -0,0 +1,264 @@
+From b11547137703bbc642114a816233a5b6fed61b06 Mon Sep 17 00:00:00 2001
+From: Peter Jones <pjones@redhat.com>
+Date: Mon, 15 Feb 2021 17:07:00 +0100
+Subject: [PATCH] util/mkimage: Add an option to import SBAT metadata into a
+ .sbat section
+
+Add a --sbat option to the grub-mkimage tool which allows us to import
+an SBAT metadata formatted as a CSV file into a .sbat section of the
+EFI binary.
+
+Signed-off-by: Peter Jones <pjones@redhat.com>
+Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ docs/grub.texi              | 19 +++++++++++++++++++
+ include/grub/util/install.h |  3 ++-
+ include/grub/util/mkimage.h |  1 +
+ util/grub-install-common.c  |  2 +-
+ util/grub-mkimage.c         | 15 ++++++++++++++-
+ util/mkimage.c              | 43 ++++++++++++++++++++++++++++++++++++-------
+ 6 files changed, 73 insertions(+), 10 deletions(-)
+
+diff --git a/docs/grub.texi b/docs/grub.texi
+index 8518cc0..bff6dfc 100644
+--- a/docs/grub.texi
++++ b/docs/grub.texi
+@@ -5616,6 +5616,7 @@ environment variables and commands are listed in the same order.
+ * Authentication and authorisation:: Users and access control
+ * Using digital signatures::         Booting digitally signed code
+ * UEFI secure boot and shim::        Booting digitally signed PE files
++* Secure Boot Advanced Targeting::   Embedded information for generation number based revocation
+ * Measured Boot::                    Measuring boot components
+ * Lockdown::                         Lockdown when booting on a secure setup
+ @end menu
+@@ -5795,6 +5796,24 @@ and @command{memrw} will not be available when the UEFI secure boot is enabled.
+ This is done for security reasons and are enforced by the GRUB Lockdown mechanism
+ (@pxref{Lockdown}).
++@node Secure Boot Advanced Targeting
++@section Embedded information for generation number based revocation
++
++The Secure Boot Advanced Targeting (SBAT) is a mechanism to allow the revocation
++of components in the boot path by using generation numbers embedded into the EFI
++binaries. The SBAT metadata is located in an .sbat data section that has set of
++UTF-8 strings as comma-separated values (CSV). See
++@uref{https://github.com/rhboot/shim/blob/main/SBAT.md} for more details.
++
++To add a data section containing the SBAT information into the binary, the
++@option{--sbat} option of @command{grub-mkimage} command should be used. The content
++of a CSV file, encoded with UTF-8, is copied as is to the .sbat data section into
++the generated EFI binary. The CSV file can be stored anywhere on the file system.
++
++@example
++grub-mkimage -O x86_64-efi -o grubx64.efi -p '(tftp)/grub' --sbat sbat.csv efinet tftp
++@end example
++
+ @node Measured Boot
+ @section Measuring boot components
+diff --git a/include/grub/util/install.h b/include/grub/util/install.h
+index 2631b10..c03befd 100644
+--- a/include/grub/util/install.h
++++ b/include/grub/util/install.h
+@@ -183,7 +183,8 @@ grub_install_generate_image (const char *dir, const char *prefix,
+                            char *config_path,
+                            const struct grub_install_image_target_desc *image_target,
+                            int note,
+-                           grub_compression_t comp, const char *dtb_file);
++                           grub_compression_t comp, const char *dtb_file,
++                           const char *sbat_path);
+ const struct grub_install_image_target_desc *
+ grub_install_get_image_target (const char *arg);
+diff --git a/include/grub/util/mkimage.h b/include/grub/util/mkimage.h
+index ba9f568..3819a67 100644
+--- a/include/grub/util/mkimage.h
++++ b/include/grub/util/mkimage.h
+@@ -24,6 +24,7 @@ struct grub_mkimage_layout
+   size_t exec_size;
+   size_t kernel_size;
+   size_t bss_size;
++  size_t sbat_size;
+   grub_uint64_t start_address;
+   void *reloc_section;
+   size_t reloc_size;
+diff --git a/util/grub-install-common.c b/util/grub-install-common.c
+index 0295d40..5d43ed1 100644
+--- a/util/grub-install-common.c
++++ b/util/grub-install-common.c
+@@ -511,7 +511,7 @@ grub_install_make_image_wrap_file (const char *dir, const char *prefix,
+   grub_install_generate_image (dir, prefix, fp, outname,
+                              modules.entries, memdisk_path,
+                              pubkeys, npubkeys, config_path, tgt,
+-                             note, compression, dtb);
++                             note, compression, dtb, NULL);
+   while (dc--)
+     grub_install_pop_module ();
+ }
+diff --git a/util/grub-mkimage.c b/util/grub-mkimage.c
+index 912564e..75b8847 100644
+--- a/util/grub-mkimage.c
++++ b/util/grub-mkimage.c
+@@ -81,6 +81,7 @@ static struct argp_option options[] = {
+   {"output",  'o', N_("FILE"), 0, N_("output a generated image to FILE [default=stdout]"), 0},
+   {"format",  'O', N_("FORMAT"), 0, 0, 0},
+   {"compression",  'C', "(xz|none|auto)", 0, N_("choose the compression to use for core image"), 0},
++  {"sbat", 's', N_("FILE"), 0, N_("SBAT metadata"), 0},
+   {"verbose",     'v', 0,      0, N_("print verbose messages."), 0},
+   { 0, 0, 0, 0, 0, 0 }
+ };
+@@ -123,6 +124,7 @@ struct arguments
+   size_t npubkeys;
+   char *font;
+   char *config;
++  char *sbat;
+   int note;
+   const struct grub_install_image_target_desc *image_target;
+   grub_compression_t comp;
+@@ -224,6 +226,13 @@ argp_parser (int key, char *arg, struct argp_state *state)
+       arguments->prefix = xstrdup (arg);
+       break;
++    case 's':
++      if (arguments->sbat)
++      free (arguments->sbat);
++
++      arguments->sbat = xstrdup (arg);
++      break;
++
+     case 'v':
+       verbosity++;
+       break;
+@@ -309,7 +318,8 @@ main (int argc, char *argv[])
+                              arguments.memdisk, arguments.pubkeys,
+                              arguments.npubkeys, arguments.config,
+                              arguments.image_target, arguments.note,
+-                             arguments.comp, arguments.dtb);
++                             arguments.comp, arguments.dtb,
++                             arguments.sbat);
+   if (grub_util_file_sync (fp) < 0)
+     grub_util_error (_("cannot sync `%s': %s"), arguments.output ? : "stdout",
+@@ -328,5 +338,8 @@ main (int argc, char *argv[])
+   if (arguments.output)
+     free (arguments.output);
++  if (arguments.sbat)
++    free (arguments.sbat);
++
+   return 0;
+ }
+diff --git a/util/mkimage.c b/util/mkimage.c
+index 8b475a6..b354ec1 100644
+--- a/util/mkimage.c
++++ b/util/mkimage.c
+@@ -869,12 +869,13 @@ grub_install_generate_image (const char *dir, const char *prefix,
+                            char *memdisk_path, char **pubkey_paths,
+                            size_t npubkeys, char *config_path,
+                            const struct grub_install_image_target_desc *image_target,
+-                           int note, grub_compression_t comp, const char *dtb_path)
++                           int note, grub_compression_t comp, const char *dtb_path,
++                           const char *sbat_path)
+ {
+   char *kernel_img, *core_img;
+   size_t total_module_size, core_size;
+   size_t memdisk_size = 0, config_size = 0;
+-  size_t prefix_size = 0, dtb_size = 0;
++  size_t prefix_size = 0, dtb_size = 0, sbat_size = 0;
+   char *kernel_path;
+   size_t offset;
+   struct grub_util_path_list *path_list, *p;
+@@ -925,6 +926,9 @@ grub_install_generate_image (const char *dir, const char *prefix,
+       total_module_size += dtb_size + sizeof (struct grub_module_header);
+     }
++  if (sbat_path != NULL && image_target->id != IMAGE_EFI)
++    grub_util_error (_(".sbat section can be embedded into EFI images only"));
++
+   if (config_path)
+     {
+       config_size = ALIGN_ADDR (grub_util_get_image_size (config_path) + 1);
+@@ -1289,8 +1293,9 @@ grub_install_generate_image (const char *dir, const char *prefix,
+       break;
+     case IMAGE_EFI:
+       {
+-      char *pe_img, *header;
++      char *pe_img, *pe_sbat, *header;
+       struct grub_pe32_section_table *section;
++      size_t n_sections = 4;
+       size_t scn_size;
+       grub_uint32_t vma, raw_data;
+       size_t pe_size, header_size;
+@@ -1305,8 +1310,15 @@ grub_install_generate_image (const char *dir, const char *prefix,
+         header_size = EFI64_HEADER_SIZE;
+       vma = raw_data = header_size;
++
++      if (sbat_path != NULL)
++        {
++          sbat_size = ALIGN_ADDR (grub_util_get_image_size (sbat_path));
++          sbat_size = ALIGN_UP (sbat_size, GRUB_PE32_FILE_ALIGNMENT);
++        }
++
+       pe_size = ALIGN_UP (header_size + core_size, GRUB_PE32_FILE_ALIGNMENT) +
+-          ALIGN_UP (layout.reloc_size, GRUB_PE32_FILE_ALIGNMENT);
++          ALIGN_UP (layout.reloc_size, GRUB_PE32_FILE_ALIGNMENT) + sbat_size;
+       header = pe_img = xcalloc (1, pe_size);
+       memcpy (pe_img + raw_data, core_img, core_size);
+@@ -1321,7 +1333,10 @@ grub_install_generate_image (const char *dir, const char *prefix,
+                                             + GRUB_PE32_SIGNATURE_SIZE);
+       c->machine = grub_host_to_target16 (image_target->pe_target);
+-      c->num_sections = grub_host_to_target16 (4);
++      if (sbat_path != NULL)
++        n_sections++;
++
++      c->num_sections = grub_host_to_target16 (n_sections);
+       c->time = grub_host_to_target32 (STABLE_EMBEDDING_TIMESTAMP);
+       c->characteristics = grub_host_to_target16 (GRUB_PE32_EXECUTABLE_IMAGE
+                                                   | GRUB_PE32_LINE_NUMS_STRIPPED
+@@ -1383,7 +1398,8 @@ grub_install_generate_image (const char *dir, const char *prefix,
+                                  GRUB_PE32_SCN_MEM_READ);
+       scn_size = ALIGN_UP (layout.kernel_size - layout.exec_size, GRUB_PE32_FILE_ALIGNMENT);
+-      PE_OHDR (o32, o64, data_size) = grub_host_to_target32 (scn_size +
++      /* ALIGN_UP (sbat_size, GRUB_PE32_FILE_ALIGNMENT) is done earlier. */
++      PE_OHDR (o32, o64, data_size) = grub_host_to_target32 (scn_size + sbat_size +
+                                                              ALIGN_UP (total_module_size,
+                                                                        GRUB_PE32_FILE_ALIGNMENT));
+@@ -1394,7 +1410,7 @@ grub_install_generate_image (const char *dir, const char *prefix,
+                                  GRUB_PE32_SCN_MEM_READ |
+                                  GRUB_PE32_SCN_MEM_WRITE);
+-      scn_size = pe_size - layout.reloc_size - raw_data;
++      scn_size = pe_size - layout.reloc_size - sbat_size - raw_data;
+       section = init_pe_section (image_target, section, "mods",
+                                  &vma, scn_size, image_target->section_align,
+                                  &raw_data, scn_size,
+@@ -1402,6 +1418,19 @@ grub_install_generate_image (const char *dir, const char *prefix,
+                                  GRUB_PE32_SCN_MEM_READ |
+                                  GRUB_PE32_SCN_MEM_WRITE);
++      if (sbat_path != NULL)
++        {
++          pe_sbat = pe_img + raw_data;
++          grub_util_load_image (sbat_path, pe_sbat);
++
++          section = init_pe_section (image_target, section, ".sbat",
++                                     &vma, sbat_size,
++                                     image_target->section_align,
++                                     &raw_data, sbat_size,
++                                     GRUB_PE32_SCN_CNT_INITIALIZED_DATA |
++                                     GRUB_PE32_SCN_MEM_READ);
++        }
++
+       scn_size = layout.reloc_size;
+       PE_OHDR (o32, o64, base_relocation_table.rva) = grub_host_to_target32 (vma);
+       PE_OHDR (o32, o64, base_relocation_table.size) = grub_host_to_target32 (scn_size);
+-- 
+2.14.2
+
diff --git a/boot/grub2/0142-grub-install-common-Add-sbat-option.patch b/boot/grub2/0142-grub-install-common-Add-sbat-option.patch
new file mode 100644 (file)
index 0000000..13f71ff
--- /dev/null
@@ -0,0 +1,85 @@
+From bb51ee2b49fbda0f66c1fa580a33442ff578f110 Mon Sep 17 00:00:00 2001
+From: Dimitri John Ledkov <xnox@ubuntu.com>
+Date: Mon, 22 Feb 2021 17:05:25 +0000
+Subject: [PATCH] grub-install-common: Add --sbat option
+
+Signed-off-by: Dimitri John Ledkov <xnox@ubuntu.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ include/grub/util/install.h |  5 ++++-
+ util/grub-install-common.c  | 12 ++++++++++--
+ 2 files changed, 14 insertions(+), 3 deletions(-)
+
+diff --git a/include/grub/util/install.h b/include/grub/util/install.h
+index c03befd..8cb5056 100644
+--- a/include/grub/util/install.h
++++ b/include/grub/util/install.h
+@@ -63,6 +63,8 @@
+     /* TRANSLATORS: "embed" is a verb (command description).  "*/     \
+   { "pubkey",   'k', N_("FILE"), 0,                                   \
+       N_("embed FILE as public key for signature checking"), 0},      \
++  { "sbat", GRUB_INSTALL_OPTIONS_SBAT, N_("FILE"), 0,                 \
++      N_("SBAT metadata"), 0 },                                               \
+   { "verbose", 'v', 0, 0,                                             \
+     N_("print verbose messages."), 1 }
+@@ -122,7 +124,8 @@ enum grub_install_options {
+   GRUB_INSTALL_OPTIONS_THEMES_DIRECTORY,
+   GRUB_INSTALL_OPTIONS_GRUB_MKIMAGE,
+   GRUB_INSTALL_OPTIONS_INSTALL_CORE_COMPRESS,
+-  GRUB_INSTALL_OPTIONS_DTB
++  GRUB_INSTALL_OPTIONS_DTB,
++  GRUB_INSTALL_OPTIONS_SBAT
+ };
+ extern char *grub_install_source_directory;
+diff --git a/util/grub-install-common.c b/util/grub-install-common.c
+index 5d43ed1..1fcccd2 100644
+--- a/util/grub-install-common.c
++++ b/util/grub-install-common.c
+@@ -307,6 +307,7 @@ handle_install_list (struct install_list *il, const char *val,
+ static char **pubkeys;
+ static size_t npubkeys;
++static char *sbat;
+ static grub_compression_t compression;
+ int
+@@ -337,6 +338,12 @@ grub_install_parse (int key, char *arg)
+                         * (npubkeys + 1));
+       pubkeys[npubkeys++] = xstrdup (arg);
+       return 1;
++    case GRUB_INSTALL_OPTIONS_SBAT:
++      if (sbat)
++      free (sbat);
++
++      sbat = xstrdup (arg);
++      return 1;
+     case GRUB_INSTALL_OPTIONS_VERBOSITY:
+       verbosity++;
+@@ -498,9 +505,10 @@ grub_install_make_image_wrap_file (const char *dir, const char *prefix,
+   grub_util_info ("grub-mkimage --directory '%s' --prefix '%s'"
+                 " --output '%s' "
+                 " --dtb '%s' "
++                "--sbat '%s' "
+                 "--format '%s' --compression '%s' %s %s\n",
+                 dir, prefix,
+-                outname, dtb ? : "", mkimage_target,
++                outname, dtb ? : "", sbat ? : "", mkimage_target,
+                 compnames[compression], note ? "--note" : "", s);
+   free (s);
+@@ -511,7 +519,7 @@ grub_install_make_image_wrap_file (const char *dir, const char *prefix,
+   grub_install_generate_image (dir, prefix, fp, outname,
+                              modules.entries, memdisk_path,
+                              pubkeys, npubkeys, config_path, tgt,
+-                             note, compression, dtb, NULL);
++                             note, compression, dtb, sbat);
+   while (dc--)
+     grub_install_pop_module ();
+ }
+-- 
+2.14.2
+
diff --git a/boot/grub2/0143-shim_lock-Only-skip-loading-shim_lock-verifier-with-.patch b/boot/grub2/0143-shim_lock-Only-skip-loading-shim_lock-verifier-with-.patch
new file mode 100644 (file)
index 0000000..ef20639
--- /dev/null
@@ -0,0 +1,270 @@
+From 968de8c23c1cba0f18230f778ebcf6c412ec8ec5 Mon Sep 17 00:00:00 2001
+From: Dimitri John Ledkov <xnox@ubuntu.com>
+Date: Sat, 20 Feb 2021 17:10:34 +0000
+Subject: [PATCH] shim_lock: Only skip loading shim_lock verifier with explicit
+ consent
+
+Commit 32ddc42c (efi: Only register shim_lock verifier if shim_lock
+protocol is found and SB enabled) reintroduced CVE-2020-15705 which
+previously only existed in the out-of-tree linuxefi patches and was
+fixed as part of the BootHole patch series.
+
+Under Secure Boot enforce loading shim_lock verifier. Allow skipping
+shim_lock verifier if SecureBoot/MokSBState EFI variables indicate
+skipping validations, or if GRUB image is built with --disable-shim-lock.
+
+Fixes: 132ddc42c (efi: Only register shim_lock verifier if shim_lock
+       protocol is found and SB enabled)
+Fixes: CVE-2020-15705
+Fixes: CVE-2021-3418
+
+Reported-by: Dimitri John Ledkov <xnox@ubuntu.com>
+Signed-off-by: Dimitri John Ledkov <xnox@ubuntu.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ docs/grub.texi              |  5 ++++-
+ grub-core/kern/efi/sb.c     | 17 ++++++++++++++++-
+ include/grub/kernel.h       |  3 ++-
+ include/grub/util/install.h |  7 +++++--
+ util/grub-install-common.c  | 12 +++++++++---
+ util/grub-mkimage.c         |  8 +++++++-
+ util/mkimage.c              | 15 ++++++++++++++-
+ 7 files changed, 57 insertions(+), 10 deletions(-)
+
+diff --git a/docs/grub.texi b/docs/grub.texi
+index bff6dfc..e302797 100644
+--- a/docs/grub.texi
++++ b/docs/grub.texi
+@@ -5787,7 +5787,10 @@ secure boot chain.
+ The GRUB, except the @command{chainloader} command, works with the UEFI secure
+ boot and the shim. This functionality is provided by the shim_lock verifier. It
+ is built into the @file{core.img} and is registered if the UEFI secure boot is
+-enabled.
++enabled. The @samp{shim_lock} variable is set to @samp{y} when shim_lock verifier
++is registered. If it is desired to use UEFI secure boot without shim, one can
++disable shim_lock by disabling shim verification with MokSbState UEFI variable
++or by building grub image with @samp{--disable-shim-lock} option.
+ All GRUB modules not stored in the @file{core.img}, OS kernels, ACPI tables,
+ Device Trees, etc. have to be signed, e.g, using PGP. Additionally, the commands
+diff --git a/grub-core/kern/efi/sb.c b/grub-core/kern/efi/sb.c
+index 5d7210a..41dadcd 100644
+--- a/grub-core/kern/efi/sb.c
++++ b/grub-core/kern/efi/sb.c
+@@ -21,9 +21,11 @@
+ #include <grub/efi/efi.h>
+ #include <grub/efi/pe32.h>
+ #include <grub/efi/sb.h>
++#include <grub/env.h>
+ #include <grub/err.h>
+ #include <grub/file.h>
+ #include <grub/i386/linux.h>
++#include <grub/kernel.h>
+ #include <grub/mm.h>
+ #include <grub/types.h>
+ #include <grub/verify.h>
+@@ -160,14 +162,27 @@ struct grub_file_verifier shim_lock_verifier =
+ void
+ grub_shim_lock_verifier_setup (void)
+ {
++  struct grub_module_header *header;
+   grub_efi_shim_lock_protocol_t *sl =
+     grub_efi_locate_protocol (&shim_lock_guid, 0);
++  /* shim_lock is missing, check if GRUB image is built with --disable-shim-lock. */
+   if (!sl)
+-    return;
++    {
++      FOR_MODULES (header)
++      {
++        if (header->type == OBJ_TYPE_DISABLE_SHIM_LOCK)
++          return;
++      }
++    }
++  /* Secure Boot is off. Do not load shim_lock. */
+   if (grub_efi_get_secureboot () != GRUB_EFI_SECUREBOOT_MODE_ENABLED)
+     return;
++  /* Enforce shim_lock_verifier. */
+   grub_verifier_register (&shim_lock_verifier);
++
++  grub_env_set ("shim_lock", "y");
++  grub_env_export ("shim_lock");
+ }
+diff --git a/include/grub/kernel.h b/include/grub/kernel.h
+index 133a37c..abbca5e 100644
+--- a/include/grub/kernel.h
++++ b/include/grub/kernel.h
+@@ -29,7 +29,8 @@ enum
+   OBJ_TYPE_CONFIG,
+   OBJ_TYPE_PREFIX,
+   OBJ_TYPE_PUBKEY,
+-  OBJ_TYPE_DTB
++  OBJ_TYPE_DTB,
++  OBJ_TYPE_DISABLE_SHIM_LOCK
+ };
+ /* The module header.  */
+diff --git a/include/grub/util/install.h b/include/grub/util/install.h
+index 8cb5056..11a8df8 100644
+--- a/include/grub/util/install.h
++++ b/include/grub/util/install.h
+@@ -65,6 +65,8 @@
+       N_("embed FILE as public key for signature checking"), 0},      \
+   { "sbat", GRUB_INSTALL_OPTIONS_SBAT, N_("FILE"), 0,                 \
+       N_("SBAT metadata"), 0 },                                               \
++  { "disable-shim-lock", GRUB_INSTALL_OPTIONS_DISABLE_SHIM_LOCK, 0, 0,        \
++      N_("disable shim_lock verifier"), 0 },                          \
+   { "verbose", 'v', 0, 0,                                             \
+     N_("print verbose messages."), 1 }
+@@ -125,7 +127,8 @@ enum grub_install_options {
+   GRUB_INSTALL_OPTIONS_GRUB_MKIMAGE,
+   GRUB_INSTALL_OPTIONS_INSTALL_CORE_COMPRESS,
+   GRUB_INSTALL_OPTIONS_DTB,
+-  GRUB_INSTALL_OPTIONS_SBAT
++  GRUB_INSTALL_OPTIONS_SBAT,
++  GRUB_INSTALL_OPTIONS_DISABLE_SHIM_LOCK
+ };
+ extern char *grub_install_source_directory;
+@@ -187,7 +190,7 @@ grub_install_generate_image (const char *dir, const char *prefix,
+                            const struct grub_install_image_target_desc *image_target,
+                            int note,
+                            grub_compression_t comp, const char *dtb_file,
+-                           const char *sbat_path);
++                           const char *sbat_path, const int disable_shim_lock);
+ const struct grub_install_image_target_desc *
+ grub_install_get_image_target (const char *arg);
+diff --git a/util/grub-install-common.c b/util/grub-install-common.c
+index 1fcccd2..13d9fe9 100644
+--- a/util/grub-install-common.c
++++ b/util/grub-install-common.c
+@@ -308,6 +308,7 @@ handle_install_list (struct install_list *il, const char *val,
+ static char **pubkeys;
+ static size_t npubkeys;
+ static char *sbat;
++static int disable_shim_lock;
+ static grub_compression_t compression;
+ int
+@@ -344,6 +345,9 @@ grub_install_parse (int key, char *arg)
+       sbat = xstrdup (arg);
+       return 1;
++    case GRUB_INSTALL_OPTIONS_DISABLE_SHIM_LOCK:
++      disable_shim_lock = 1;
++      return 1;
+     case GRUB_INSTALL_OPTIONS_VERBOSITY:
+       verbosity++;
+@@ -506,10 +510,11 @@ grub_install_make_image_wrap_file (const char *dir, const char *prefix,
+                 " --output '%s' "
+                 " --dtb '%s' "
+                 "--sbat '%s' "
+-                "--format '%s' --compression '%s' %s %s\n",
++                "--format '%s' --compression '%s' %s %s %s\n",
+                 dir, prefix,
+                 outname, dtb ? : "", sbat ? : "", mkimage_target,
+-                compnames[compression], note ? "--note" : "", s);
++                compnames[compression], note ? "--note" : "",
++                disable_shim_lock ? "--disable-shim-lock" : "", s);
+   free (s);
+   tgt = grub_install_get_image_target (mkimage_target);
+@@ -519,7 +524,8 @@ grub_install_make_image_wrap_file (const char *dir, const char *prefix,
+   grub_install_generate_image (dir, prefix, fp, outname,
+                              modules.entries, memdisk_path,
+                              pubkeys, npubkeys, config_path, tgt,
+-                             note, compression, dtb, sbat);
++                             note, compression, dtb, sbat,
++                             disable_shim_lock);
+   while (dc--)
+     grub_install_pop_module ();
+ }
+diff --git a/util/grub-mkimage.c b/util/grub-mkimage.c
+index 75b8847..c0d5599 100644
+--- a/util/grub-mkimage.c
++++ b/util/grub-mkimage.c
+@@ -82,6 +82,7 @@ static struct argp_option options[] = {
+   {"format",  'O', N_("FORMAT"), 0, 0, 0},
+   {"compression",  'C', "(xz|none|auto)", 0, N_("choose the compression to use for core image"), 0},
+   {"sbat", 's', N_("FILE"), 0, N_("SBAT metadata"), 0},
++  {"disable-shim-lock", GRUB_INSTALL_OPTIONS_DISABLE_SHIM_LOCK, 0, 0, N_("disable shim_lock verifier"), 0},
+   {"verbose",     'v', 0,      0, N_("print verbose messages."), 0},
+   { 0, 0, 0, 0, 0, 0 }
+ };
+@@ -126,6 +127,7 @@ struct arguments
+   char *config;
+   char *sbat;
+   int note;
++  int disable_shim_lock;
+   const struct grub_install_image_target_desc *image_target;
+   grub_compression_t comp;
+ };
+@@ -233,6 +235,10 @@ argp_parser (int key, char *arg, struct argp_state *state)
+       arguments->sbat = xstrdup (arg);
+       break;
++    case GRUB_INSTALL_OPTIONS_DISABLE_SHIM_LOCK:
++      arguments->disable_shim_lock = 1;
++      break;
++
+     case 'v':
+       verbosity++;
+       break;
+@@ -319,7 +325,7 @@ main (int argc, char *argv[])
+                              arguments.npubkeys, arguments.config,
+                              arguments.image_target, arguments.note,
+                              arguments.comp, arguments.dtb,
+-                             arguments.sbat);
++                             arguments.sbat, arguments.disable_shim_lock);
+   if (grub_util_file_sync (fp) < 0)
+     grub_util_error (_("cannot sync `%s': %s"), arguments.output ? : "stdout",
+diff --git a/util/mkimage.c b/util/mkimage.c
+index b354ec1..a26cf76 100644
+--- a/util/mkimage.c
++++ b/util/mkimage.c
+@@ -870,7 +870,7 @@ grub_install_generate_image (const char *dir, const char *prefix,
+                            size_t npubkeys, char *config_path,
+                            const struct grub_install_image_target_desc *image_target,
+                            int note, grub_compression_t comp, const char *dtb_path,
+-                           const char *sbat_path)
++                           const char *sbat_path, int disable_shim_lock)
+ {
+   char *kernel_img, *core_img;
+   size_t total_module_size, core_size;
+@@ -929,6 +929,9 @@ grub_install_generate_image (const char *dir, const char *prefix,
+   if (sbat_path != NULL && image_target->id != IMAGE_EFI)
+     grub_util_error (_(".sbat section can be embedded into EFI images only"));
++  if (disable_shim_lock)
++    total_module_size += sizeof (struct grub_module_header);
++
+   if (config_path)
+     {
+       config_size = ALIGN_ADDR (grub_util_get_image_size (config_path) + 1);
+@@ -1065,6 +1068,16 @@ grub_install_generate_image (const char *dir, const char *prefix,
+       offset += dtb_size;
+     }
++  if (disable_shim_lock)
++    {
++      struct grub_module_header *header;
++
++      header = (struct grub_module_header *) (kernel_img + offset);
++      header->type = grub_host_to_target32 (OBJ_TYPE_DISABLE_SHIM_LOCK);
++      header->size = grub_host_to_target32 (sizeof (*header));
++      offset += sizeof (*header);
++    }
++
+   if (config_path)
+     {
+       struct grub_module_header *header;
+-- 
+2.14.2
+
diff --git a/boot/grub2/0144-kern-misc-Split-parse_printf_args-into-format-parsin.patch b/boot/grub2/0144-kern-misc-Split-parse_printf_args-into-format-parsin.patch
new file mode 100644 (file)
index 0000000..74fdc1d
--- /dev/null
@@ -0,0 +1,50 @@
+From 7f11bde3143b21b40d8225ea1d641e0f83b5a01e Mon Sep 17 00:00:00 2001
+From: Thomas Frauendorfer | Miray Software <tf@miray.de>
+Date: Mon, 15 Feb 2021 13:40:16 +0100
+Subject: [PATCH] kern/misc: Split parse_printf_args() into format parsing and
+ va_list handling
+
+This patch is preparing for a follow up patch which will use
+the format parsing part to compare the arguments in a printf()
+format from an external source against a printf() format with
+expected arguments.
+
+Signed-off-by: Thomas Frauendorfer | Miray Software <tf@miray.de>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/kern/misc.c | 11 +++++++++--
+ 1 file changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/grub-core/kern/misc.c b/grub-core/kern/misc.c
+index b02693b..50bf3ee 100644
+--- a/grub-core/kern/misc.c
++++ b/grub-core/kern/misc.c
+@@ -632,8 +632,7 @@ grub_lltoa (char *str, int c, unsigned long long n)
+ }
+ static void
+-parse_printf_args (const char *fmt0, struct printf_args *args,
+-                 va_list args_in)
++parse_printf_arg_fmt (const char *fmt0, struct printf_args *args)
+ {
+   const char *fmt;
+   char c;
+@@ -789,6 +788,14 @@ parse_printf_args (const char *fmt0, struct printf_args *args,
+         break;
+       }
+     }
++}
++
++static void
++parse_printf_args (const char *fmt0, struct printf_args *args, va_list args_in)
++{
++  grub_size_t n;
++
++  parse_printf_arg_fmt (fmt0, args);
+   for (n = 0; n < args->count; n++)
+     switch (args->ptr[n].type)
+-- 
+2.14.2
+
diff --git a/boot/grub2/0145-kern-misc-Add-STRING-type-for-internal-printf-format.patch b/boot/grub2/0145-kern-misc-Add-STRING-type-for-internal-printf-format.patch
new file mode 100644 (file)
index 0000000..56463b0
--- /dev/null
@@ -0,0 +1,68 @@
+From 1a2a5aff71e8edba436398492279de434abfe7a3 Mon Sep 17 00:00:00 2001
+From: Thomas Frauendorfer | Miray Software <tf@miray.de>
+Date: Mon, 15 Feb 2021 14:04:26 +0100
+Subject: [PATCH] kern/misc: Add STRING type for internal printf() format
+ handling
+
+Set printf() argument type for "%s" to new type STRING. This is in
+preparation for a follow up patch to compare a printf() format string
+against an expected printf() format string.
+
+For "%s" the corresponding printf() argument is dereferenced as pointer
+while all other argument types are defined as integer value. However,
+when validating a printf() format it is necessary to differentiate "%s"
+from "%p" and other integers. So, let's do that.
+
+Signed-off-by: Thomas Frauendorfer | Miray Software <tf@miray.de>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/kern/misc.c | 13 +++++++++++--
+ 1 file changed, 11 insertions(+), 2 deletions(-)
+
+diff --git a/grub-core/kern/misc.c b/grub-core/kern/misc.c
+index 50bf3ee..22417f7 100644
+--- a/grub-core/kern/misc.c
++++ b/grub-core/kern/misc.c
+@@ -33,7 +33,8 @@ union printf_arg
+   enum
+     {
+       INT, LONG, LONGLONG,
+-      UNSIGNED_INT = 3, UNSIGNED_LONG, UNSIGNED_LONGLONG
++      UNSIGNED_INT = 3, UNSIGNED_LONG, UNSIGNED_LONGLONG,
++      STRING
+     } type;
+   long long ll;
+ };
+@@ -776,12 +777,14 @@ parse_printf_arg_fmt (const char *fmt0, struct printf_args *args)
+         args->ptr[curn].type = INT + longfmt;
+         break;
+       case 'p':
+-      case 's':
+         if (sizeof (void *) == sizeof (long long))
+           args->ptr[curn].type = UNSIGNED_LONGLONG;
+         else
+           args->ptr[curn].type = UNSIGNED_INT;
+         break;
++      case 's':
++        args->ptr[curn].type = STRING;
++        break;
+       case 'C':
+       case 'c':
+         args->ptr[curn].type = INT;
+@@ -816,6 +819,12 @@ parse_printf_args (const char *fmt0, struct printf_args *args, va_list args_in)
+       case UNSIGNED_LONGLONG:
+       args->ptr[n].ll = va_arg (args_in, long long);
+       break;
++      case STRING:
++      if (sizeof (void *) == sizeof (long long))
++        args->ptr[n].ll = va_arg (args_in, long long);
++      else
++        args->ptr[n].ll = va_arg (args_in, unsigned int);
++      break;
+       }
+ }
+-- 
+2.14.2
+
diff --git a/boot/grub2/0146-kern-misc-Add-function-to-check-printf-format-agains.patch b/boot/grub2/0146-kern-misc-Add-function-to-check-printf-format-agains.patch
new file mode 100644 (file)
index 0000000..1b0d673
--- /dev/null
@@ -0,0 +1,219 @@
+From 83603bea6ce8fdff5ab3fbc4c9e592a8c71a8706 Mon Sep 17 00:00:00 2001
+From: Thomas Frauendorfer | Miray Software <tf@miray.de>
+Date: Thu, 4 Feb 2021 19:02:33 +0100
+Subject: [PATCH] kern/misc: Add function to check printf() format against
+ expected format
+
+The grub_printf_fmt_check() function parses the arguments of an untrusted
+printf() format and an expected printf() format and then compares the
+arguments counts and arguments types. The arguments count in the untrusted
+format string must be less or equal to the arguments count in the expected
+format string and both arguments types must match.
+
+To do this the parse_printf_arg_fmt() helper function is extended in the
+following way:
+
+  1. Add a return value to report errors to the grub_printf_fmt_check().
+
+  2. Add the fmt_check argument to enable stricter format verification:
+     - the function expects that arguments definitions are always
+       terminated by a supported conversion specifier.
+     - positional parameters, "$", are not allowed, as they cannot be
+       validated correctly with the current implementation. For example
+       "%s%1$d" would assign the first args entry twice while leaving the
+       second one unchanged.
+     - Return an error if preallocated space in args is too small and
+       allocation fails for the needed size. The grub_printf_fmt_check()
+       should verify all arguments. So, if validation is not possible for
+       any reason it should return an error.
+     This also adds a case entry to handle "%%", which is the escape
+     sequence to print "%" character.
+
+  3. Add the max_args argument to check for the maximum allowed arguments
+     count in a printf() string. This should be set to the arguments count
+     of the expected format. Then the parse_printf_arg_fmt() function will
+     return an error if the arguments count is exceeded.
+
+The two additional arguments allow us to use parse_printf_arg_fmt() in
+printf() and grub_printf_fmt_check() calls.
+
+When parse_printf_arg_fmt() is used by grub_printf_fmt_check() the
+function parse user provided untrusted format string too. So, in
+that case it is better to be too strict than too lenient.
+
+Signed-off-by: Thomas Frauendorfer | Miray Software <tf@miray.de>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/kern/misc.c | 82 ++++++++++++++++++++++++++++++++++++++++++++++++---
+ include/grub/misc.h   | 16 ++++++++++
+ 2 files changed, 94 insertions(+), 4 deletions(-)
+
+diff --git a/grub-core/kern/misc.c b/grub-core/kern/misc.c
+index 22417f7..90317b6 100644
+--- a/grub-core/kern/misc.c
++++ b/grub-core/kern/misc.c
+@@ -632,8 +632,26 @@ grub_lltoa (char *str, int c, unsigned long long n)
+   return p;
+ }
+-static void
+-parse_printf_arg_fmt (const char *fmt0, struct printf_args *args)
++/*
++ * Parse printf() fmt0 string into args arguments.
++ *
++ * The parsed arguments are either used by a printf() function to format the fmt0
++ * string or they are used to compare a format string from an untrusted source
++ * against a format string with expected arguments.
++ *
++ * When the fmt_check is set to !0, e.g. 1, then this function is executed in
++ * printf() format check mode. This enforces stricter rules for parsing the
++ * fmt0 to limit exposure to possible errors in printf() handling. It also
++ * disables positional parameters, "$", because some formats, e.g "%s%1$d",
++ * cannot be validated with the current implementation.
++ *
++ * The max_args allows to set a maximum number of accepted arguments. If the fmt0
++ * string defines more arguments than the max_args then the parse_printf_arg_fmt()
++ * function returns an error. This is currently used for format check only.
++ */
++static grub_err_t
++parse_printf_arg_fmt (const char *fmt0, struct printf_args *args,
++                    int fmt_check, grub_size_t max_args)
+ {
+   const char *fmt;
+   char c;
+@@ -660,7 +678,12 @@ parse_printf_arg_fmt (const char *fmt0, struct printf_args *args)
+       fmt++;
+       if (*fmt == '$')
+-      fmt++;
++      {
++        if (fmt_check)
++          return grub_error (GRUB_ERR_BAD_ARGUMENT,
++                             "positional arguments are not supported");
++        fmt++;
++      }
+       if (*fmt =='-')
+       fmt++;
+@@ -691,9 +714,19 @@ parse_printf_arg_fmt (const char *fmt0, struct printf_args *args)
+       case 's':
+         args->count++;
+         break;
++      case '%':
++        /* "%%" is the escape sequence to output "%". */
++        break;
++      default:
++        if (fmt_check)
++          return grub_error (GRUB_ERR_BAD_ARGUMENT, "unexpected format");
++        break;
+       }
+     }
++  if (fmt_check && args->count > max_args)
++    return grub_error (GRUB_ERR_BAD_ARGUMENT, "too many arguments");
++
+   if (args->count <= ARRAY_SIZE (args->prealloc))
+     args->ptr = args->prealloc;
+   else
+@@ -701,6 +734,9 @@ parse_printf_arg_fmt (const char *fmt0, struct printf_args *args)
+       args->ptr = grub_calloc (args->count, sizeof (args->ptr[0]));
+       if (!args->ptr)
+       {
++        if (fmt_check)
++          return grub_errno;
++
+         grub_errno = GRUB_ERR_NONE;
+         args->ptr = args->prealloc;
+         args->count = ARRAY_SIZE (args->prealloc);
+@@ -791,6 +827,8 @@ parse_printf_arg_fmt (const char *fmt0, struct printf_args *args)
+         break;
+       }
+     }
++
++  return GRUB_ERR_NONE;
+ }
+ static void
+@@ -798,7 +836,7 @@ parse_printf_args (const char *fmt0, struct printf_args *args, va_list args_in)
+ {
+   grub_size_t n;
+-  parse_printf_arg_fmt (fmt0, args);
++  parse_printf_arg_fmt (fmt0, args, 0, 0);
+   for (n = 0; n < args->count; n++)
+     switch (args->ptr[n].type)
+@@ -1105,6 +1143,42 @@ grub_xasprintf (const char *fmt, ...)
+   return ret;
+ }
++grub_err_t
++grub_printf_fmt_check (const char *fmt, const char *fmt_expected)
++{
++  struct printf_args args_expected, args_fmt;
++  grub_err_t ret;
++  grub_size_t n;
++
++  if (fmt == NULL || fmt_expected == NULL)
++    return grub_error (GRUB_ERR_BAD_ARGUMENT, "invalid format");
++
++  ret = parse_printf_arg_fmt (fmt_expected, &args_expected, 1, GRUB_SIZE_MAX);
++  if (ret != GRUB_ERR_NONE)
++    return ret;
++
++  /* Limit parsing to the number of expected arguments. */
++  ret = parse_printf_arg_fmt (fmt, &args_fmt, 1, args_expected.count);
++  if (ret != GRUB_ERR_NONE)
++    {
++      free_printf_args (&args_expected);
++      return ret;
++    }
++
++  for (n = 0; n < args_fmt.count; n++)
++    if (args_fmt.ptr[n].type != args_expected.ptr[n].type)
++     {
++      ret = grub_error (GRUB_ERR_BAD_ARGUMENT, "arguments types do not match");
++      break;
++     }
++
++  free_printf_args (&args_expected);
++  free_printf_args (&args_fmt);
++
++  return ret;
++}
++
++
+ /* Abort GRUB. This function does not return.  */
+ static void __attribute__ ((noreturn))
+ grub_abort (void)
+diff --git a/include/grub/misc.h b/include/grub/misc.h
+index ee48eb7..d1c5709 100644
+--- a/include/grub/misc.h
++++ b/include/grub/misc.h
+@@ -440,6 +440,22 @@ grub_error_load (const struct grub_error_saved *save)
+   grub_errno = save->grub_errno;
+ }
++/*
++ * grub_printf_fmt_checks() a fmt string for printf() against an expected
++ * format. It is intended for cases where the fmt string could come from
++ * an outside source and cannot be trusted.
++ *
++ * While expected fmt accepts a printf() format string it should be kept
++ * as simple as possible. The printf() format strings with positional
++ * parameters are NOT accepted, neither for fmt nor for fmt_expected.
++ *
++ * The fmt is accepted if it has equal or less arguments than fmt_expected
++ * and if the type of all arguments match.
++ *
++ * Returns GRUB_ERR_NONE if fmt is acceptable.
++ */
++grub_err_t EXPORT_FUNC (grub_printf_fmt_check) (const char *fmt, const char *fmt_expected);
++
+ #if BOOT_TIME_STATS
+ struct grub_boot_time
+ {
+-- 
+2.14.2
+
diff --git a/boot/grub2/0147-gfxmenu-gui-Check-printf-format-in-the-gui_progress_.patch b/boot/grub2/0147-gfxmenu-gui-Check-printf-format-in-the-gui_progress_.patch
new file mode 100644 (file)
index 0000000..e0acb07
--- /dev/null
@@ -0,0 +1,62 @@
+From 42facd577231cf5ffe4c7128fed15b7e7d99cbca Mon Sep 17 00:00:00 2001
+From: Thomas Frauendorfer | Miray Software <tf@miray.de>
+Date: Tue, 4 Aug 2020 13:49:51 +0200
+Subject: [PATCH] gfxmenu/gui: Check printf() format in the gui_progress_bar
+ and gui_label
+
+The gui_progress_bar and gui_label components can display the timeout
+value. The format string can be set through a theme file. This patch
+adds a validation step to the format string.
+
+If a user loads a theme file into the GRUB without this patch then
+a GUI label with the following settings
+
+  + label {
+  ...
+  id = "__timeout__"
+  text = "%s"
+  }
+
+will interpret the current timeout value as string pointer and print the
+memory at that position on the screen. It is not desired behavior.
+
+Signed-off-by: Thomas Frauendorfer | Miray Software <tf@miray.de>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/gfxmenu/gui_label.c        | 4 ++++
+ grub-core/gfxmenu/gui_progress_bar.c | 3 +++
+ 2 files changed, 7 insertions(+)
+
+diff --git a/grub-core/gfxmenu/gui_label.c b/grub-core/gfxmenu/gui_label.c
+index a4c8178..1c19054 100644
+--- a/grub-core/gfxmenu/gui_label.c
++++ b/grub-core/gfxmenu/gui_label.c
+@@ -193,6 +193,10 @@ label_set_property (void *vself, const char *name, const char *value)
+          else if (grub_strcmp (value, "@KEYMAP_SHORT@") == 0)
+           value = _("enter: boot, `e': options, `c': cmd-line");
+          /* FIXME: Add more templates here if needed.  */
++
++        if (grub_printf_fmt_check(value, "%d") != GRUB_ERR_NONE)
++          value = ""; /* Unsupported format. */
++
+         self->template = grub_strdup (value);
+         self->text = grub_xasprintf (value, self->value);
+       }
+diff --git a/grub-core/gfxmenu/gui_progress_bar.c b/grub-core/gfxmenu/gui_progress_bar.c
+index b128f08..ace85a1 100644
+--- a/grub-core/gfxmenu/gui_progress_bar.c
++++ b/grub-core/gfxmenu/gui_progress_bar.c
+@@ -348,6 +348,9 @@ progress_bar_set_property (void *vself, const char *name, const char *value)
+          Please use the shortest form available in you language.  */
+       value = _("%ds");
++      if (grub_printf_fmt_check(value, "%d") != GRUB_ERR_NONE)
++      value = ""; /* Unsupported format. */
++
+       self->template = grub_strdup (value);
+     }
+   else if (grub_strcmp (name, "font") == 0)
+-- 
+2.14.2
+
diff --git a/boot/grub2/0148-templates-Disable-the-os-prober-by-default.patch b/boot/grub2/0148-templates-Disable-the-os-prober-by-default.patch
new file mode 100644 (file)
index 0000000..7cc89c2
--- /dev/null
@@ -0,0 +1,87 @@
+From e346414725a70e5c74ee87ca14e580c66f517666 Mon Sep 17 00:00:00 2001
+From: Alex Burmashev <alexander.burmashev@oracle.com>
+Date: Tue, 16 Feb 2021 11:12:12 +0100
+Subject: [PATCH] templates: Disable the os-prober by default
+
+The os-prober is enabled by default what may lead to potentially
+dangerous use cases and borderline opening attack vectors. This
+patch disables the os-prober, adds warning messages and updates
+GRUB_DISABLE_OS_PROBER configuration option documentation. This
+way we make it clear that the os-prober usage is not recommended.
+
+Simplistic nature of this change allows downstream vendors, who
+really want os-prober to be enabled out of the box in their
+relevant products, easily revert to it's old behavior.
+
+Reported-by: NyankoSec (<nyanko@10x.moe>, https://twitter.com/NyankoSec),
+             working with SSD Secure Disclosure
+Signed-off-by: Alex Burmashev <alexander.burmashev@oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ docs/grub.texi              | 18 ++++++++++--------
+ util/grub.d/30_os-prober.in |  5 ++++-
+ 2 files changed, 14 insertions(+), 9 deletions(-)
+
+diff --git a/docs/grub.texi b/docs/grub.texi
+index e302797..45a9f80 100644
+--- a/docs/grub.texi
++++ b/docs/grub.texi
+@@ -1481,10 +1481,13 @@ boot sequence.  If you have problems, set this option to @samp{text} and
+ GRUB will tell Linux to boot in normal text mode.
+ @item GRUB_DISABLE_OS_PROBER
+-Normally, @command{grub-mkconfig} will try to use the external
+-@command{os-prober} program, if installed, to discover other operating
+-systems installed on the same system and generate appropriate menu entries
+-for them.  Set this option to @samp{true} to disable this.
++The @command{grub-mkconfig} has a feature to use the external
++@command{os-prober} program to discover other operating systems installed on
++the same machine and generate appropriate menu entries for them. It is disabled
++by default since automatic and silent execution of @command{os-prober}, and
++creating boot entries based on that data, is a potential attack vector. Set
++this option to @samp{false} to enable this feature in the
++@command{grub-mkconfig} command.
+ @item GRUB_OS_PROBER_SKIP_LIST
+ List of space-separated FS UUIDs of filesystems to be ignored from os-prober
+@@ -1812,10 +1815,9 @@ than zero; otherwise 0.
+ @section Multi-boot manual config
+ Currently autogenerating config files for multi-boot environments depends on
+-os-prober and has several shortcomings. While fixing it is scheduled for the
+-next release, meanwhile you can make use of the power of GRUB syntax and do it
+-yourself. A possible configuration is detailed here, feel free to adjust to your
+-needs.
++os-prober and has several shortcomings. Due to that it is disabled by default.
++It is advised to use the power of GRUB syntax and do it yourself. A possible
++configuration is detailed here, feel free to adjust to your needs.
+ First create a separate GRUB partition, big enough to hold GRUB. Some of the
+ following entries show how to load OS installer images from this same partition,
+diff --git a/util/grub.d/30_os-prober.in b/util/grub.d/30_os-prober.in
+index 515a68c..99de043 100644
+--- a/util/grub.d/30_os-prober.in
++++ b/util/grub.d/30_os-prober.in
+@@ -26,7 +26,8 @@ export TEXTDOMAINDIR="@localedir@"
+ . "$pkgdatadir/grub-mkconfig_lib"
+-if [ "x${GRUB_DISABLE_OS_PROBER}" = "xtrue" ]; then
++if [ "x${GRUB_DISABLE_OS_PROBER}" = "xfalse" ]; then
++  gettext_printf "os-prober will not be executed to detect other bootable partitions.\nSystems on them will not be added to the GRUB boot configuration.\nCheck GRUB_DISABLE_OS_PROBER documentation entry.\n"
+   exit 0
+ fi
+@@ -39,6 +40,8 @@ OSPROBED="`os-prober | tr ' ' '^' | paste -s -d ' '`"
+ if [ -z "${OSPROBED}" ] ; then
+   # empty os-prober output, nothing doing
+   exit 0
++else
++  grub_warn "$(gettext_printf "os-prober was executed to detect other bootable partitions.\nIt's output will be used to detect bootable binaries on them and create new boot entries.")"
+ fi
+ osx_entry() {
+-- 
+2.14.2
+
diff --git a/boot/grub2/0149-kern-mm-Fix-grub_debug_calloc-compilation-error.patch b/boot/grub2/0149-kern-mm-Fix-grub_debug_calloc-compilation-error.patch
new file mode 100644 (file)
index 0000000..bda0507
--- /dev/null
@@ -0,0 +1,33 @@
+From a9d8de960834f376087856f9d60a214b47c76f61 Mon Sep 17 00:00:00 2001
+From: Marco A Benatto <mbenatto@redhat.com>
+Date: Tue, 9 Feb 2021 12:33:06 -0300
+Subject: [PATCH] kern/mm: Fix grub_debug_calloc() compilation error
+
+Fix compilation error due to missing parameter to
+grub_printf() when MM_DEBUG is defined.
+
+Fixes: 64e26162e (calloc: Make sure we always have an overflow-checking calloc() available)
+
+Signed-off-by: Marco A Benatto <mbenatto@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
+---
+ grub-core/kern/mm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/grub-core/kern/mm.c b/grub-core/kern/mm.c
+index f2822a8..c070afc 100644
+--- a/grub-core/kern/mm.c
++++ b/grub-core/kern/mm.c
+@@ -594,7 +594,7 @@ grub_debug_calloc (const char *file, int line, grub_size_t nmemb, grub_size_t si
+   if (grub_mm_debug)
+     grub_printf ("%s:%d: calloc (0x%" PRIxGRUB_SIZE ", 0x%" PRIxGRUB_SIZE ") = ",
+-               file, line, size);
++               file, line, nmemb, size);
+   ptr = grub_calloc (nmemb, size);
+   if (grub_mm_debug)
+     grub_printf ("%p\n", ptr);
+-- 
+2.14.2
+
index 9686815f4d8faa25fedefe1d72f1a7d6c32360d7..c5742ede71ab1d8d79e631346a909040fb5e1205 100644 (file)
@@ -13,10 +13,13 @@ GRUB2_DEPENDENCIES = host-bison host-flex host-grub2
 HOST_GRUB2_DEPENDENCIES = host-bison host-flex
 GRUB2_INSTALL_IMAGES = YES
 
-# 0001-build-Fix-GRUB-i386-pc-build-with-Ubuntu-gcc.patch
+# 0001-build-Fix-GRUB-i386-pc-build-with-Ubuntu-gcc.patch and 2021/03/02
+# security fixes (patches 0029-0149)
 define GRUB2_AVOID_AUTORECONF
        $(Q)touch $(@D)/Makefile.util.am
+       $(Q)touch $(@D)/aclocal.m4
        $(Q)touch $(@D)/Makefile.in
+       $(Q)touch $(@D)/configure
 endef
 GRUB2_POST_PATCH_HOOKS += GRUB2_AVOID_AUTORECONF
 HOST_GRUB2_POST_PATCH_HOOKS += GRUB2_AVOID_AUTORECONF
@@ -31,6 +34,9 @@ GRUB2_IGNORE_CVES += CVE-2020-14309 CVE-2020-14310 CVE-2020-14311
 GRUB2_IGNORE_CVES += CVE-2020-15706
 # 0028-linux-Fix-integer-overflows-in-initrd-size-handling.patch
 GRUB2_IGNORE_CVES += CVE-2020-15707
+# 2021/03/02 security fixes - patches 0029-0149
+GRUB2_IGNORE_CVES += CVE-2020-25632 CVE-2020-25647 CVE-2020-27749 \
+       CVE-2020-27779 CVE-2021-3418 CVE-2021-20225 CVE-2021-20233
 
 ifeq ($(BR2_TARGET_GRUB2_INSTALL_TOOLS),y)
 GRUB2_INSTALL_TARGET = YES