diff options
Diffstat (limited to 'main/grub/0001-util-grub.d-20_linux_xen.in-Add-xen_boot-command-sup.patch')
-rw-r--r-- | main/grub/0001-util-grub.d-20_linux_xen.in-Add-xen_boot-command-sup.patch | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/main/grub/0001-util-grub.d-20_linux_xen.in-Add-xen_boot-command-sup.patch b/main/grub/0001-util-grub.d-20_linux_xen.in-Add-xen_boot-command-sup.patch new file mode 100644 index 0000000000..350180b49a --- /dev/null +++ b/main/grub/0001-util-grub.d-20_linux_xen.in-Add-xen_boot-command-sup.patch @@ -0,0 +1,64 @@ +From cb8fc4eee92e19fe2977026ba45bad6ecf68f55f 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 1/3] 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> +(cherry picked from commit d33045ce7ffcb7c1e4a60c14d5ca64b36e3c5abe) +--- + 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 c48af948d..c002fc9f9 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 +-- +2.24.1 + |