diff --git a/grub-core/loader/arm64/xen_boot.c b/grub-core/loader/arm64/xen_boot.c index 33a855df4..a742868a4 100644 --- a/grub-core/loader/arm64/xen_boot.c +++ b/grub-core/loader/arm64/xen_boot.c @@ -429,9 +429,9 @@ grub_cmd_xen_module (grub_command_t cmd __attribute__((unused)), grub_dprintf ("xen_loader", "Init module and node info\n"); - if (nounzip) - grub_file_filter_disable_compression (); - file = grub_file_open (argv[0]); + file = grub_file_open (argv[0], GRUB_FILE_TYPE_XEN_MODULE + | (nounzip ? GRUB_FILE_TYPE_NO_DECOMPRESS + : GRUB_FILE_TYPE_NONE)); if (!file) goto fail; @@ -463,7 +463,7 @@ grub_cmd_xen_hypervisor (grub_command_t cmd __attribute__ ((unused)), goto fail; } - file = grub_file_open (argv[0]); + file = grub_file_open (argv[0], GRUB_FILE_TYPE_XEN_HYPERVISOR); if (!file) goto fail; diff --git a/include/grub/file.h b/include/grub/file.h index 9aae46355..cbbd29465 100644 --- a/include/grub/file.h +++ b/include/grub/file.h @@ -42,6 +42,11 @@ enum grub_file_type /* Multiboot module. */ GRUB_FILE_TYPE_MULTIBOOT_MODULE, + /* Xen hypervisor - used on ARM only. */ + GRUB_FILE_TYPE_XEN_HYPERVISOR, + /* Xen module - used on ARM only. */ + GRUB_FILE_TYPE_XEN_MODULE, + GRUB_FILE_TYPE_BSD_KERNEL, GRUB_FILE_TYPE_FREEBSD_ENV, GRUB_FILE_TYPE_FREEBSD_MODULE,