31cddd6fc0
Signed-off-by: Peter Jones <pjones@redhat.com>
61 lines
2.4 KiB
Diff
61 lines
2.4 KiB
Diff
From d33045ce7ffcb7c1e4a60c14d5ca64b36e3c5abe Mon Sep 17 00:00:00 2001
|
|
From: Fu Wei <fu.wei@linaro.org>
|
|
Date: Sun, 14 May 2017 15:43:46 +0800
|
|
Subject: [PATCH] util/grub.d/20_linux_xen.in: Add xen_boot command support for
|
|
aarch64
|
|
|
|
This patch adds the support of xen_boot command for aarch64:
|
|
xen_hypervisor
|
|
xen_module
|
|
These two commands are only for aarch64, since it has its own protocol and
|
|
commands to boot xen hypervisor and Dom0, but not multiboot.
|
|
|
|
For other architectures, they are still using multiboot and module
|
|
commands.
|
|
|
|
Signed-off-by: Fu Wei <fu.wei@linaro.org>
|
|
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
|
---
|
|
util/grub.d/20_linux_xen.in | 14 +++++++++++---
|
|
1 file changed, 11 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/util/grub.d/20_linux_xen.in b/util/grub.d/20_linux_xen.in
|
|
index c48af948d6e..c002fc9f946 100644
|
|
--- a/util/grub.d/20_linux_xen.in
|
|
+++ b/util/grub.d/20_linux_xen.in
|
|
@@ -122,16 +122,16 @@ linux_entry ()
|
|
else
|
|
xen_rm_opts="no-real-mode edd=off"
|
|
fi
|
|
- multiboot ${rel_xen_dirname}/${xen_basename} placeholder ${xen_args} \${xen_rm_opts}
|
|
+ ${xen_loader} ${rel_xen_dirname}/${xen_basename} placeholder ${xen_args} \${xen_rm_opts}
|
|
echo '$(echo "$lmessage" | grub_quote)'
|
|
- module ${rel_dirname}/${basename} placeholder root=${linux_root_device_thisversion} ro ${args}
|
|
+ ${module_loader} ${rel_dirname}/${basename} placeholder root=${linux_root_device_thisversion} ro ${args}
|
|
EOF
|
|
if test -n "${initrd}" ; then
|
|
# TRANSLATORS: ramdisk isn't identifier. Should be translated.
|
|
message="$(gettext_printf "Loading initial ramdisk ...")"
|
|
sed "s/^/$submenu_indentation/" << EOF
|
|
echo '$(echo "$message" | grub_quote)'
|
|
- module --nounzip ${rel_dirname}/${initrd}
|
|
+ ${module_loader} --nounzip ${rel_dirname}/${initrd}
|
|
EOF
|
|
fi
|
|
sed "s/^/$submenu_indentation/" << EOF
|
|
@@ -206,6 +206,14 @@ while [ "x${xen_list}" != "x" ] ; do
|
|
if [ "x$is_top_level" != xtrue ]; then
|
|
echo " submenu '$(gettext_printf "Xen hypervisor, version %s" "${xen_version}" | grub_quote)' \$menuentry_id_option 'xen-hypervisor-$xen_version-$boot_device_id' {"
|
|
fi
|
|
+ $grub_file --is-arm64-efi $current_xen
|
|
+ if [ $? -ne 0 ]; then
|
|
+ xen_loader="multiboot"
|
|
+ module_loader="module"
|
|
+ else
|
|
+ xen_loader="xen_hypervisor"
|
|
+ module_loader="xen_module"
|
|
+ fi
|
|
while [ "x$list" != "x" ] ; do
|
|
linux=`version_find_latest $list`
|
|
gettext_printf "Found linux image: %s\n" "$linux" >&2
|