Hi Vladimir On 9 May 2017 at 14:59, Vladimir 'phcoder' Serbinenko <phco...@gmail.com> wrote: > > > Le Tue, May 2, 2017 à 9:06 AM, <fu....@linaro.org> a écrit : >> >> From: Fu Wei <fu....@linaro.org> >> >> 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....@linaro.org> >> --- >> util/grub.d/20_linux_xen.in | 13 ++++++++++--- >> 1 file changed, 10 insertions(+), 3 deletions(-) >> >> diff --git a/util/grub.d/20_linux_xen.in b/util/grub.d/20_linux_xen.in >> index c48af94..9777719 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,13 @@ 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 >> + if [ "x$machine" != xaarch64 ]; then > > Machine of grub-mkconfig doesn't necessarily match the kernel. Think of > chroot or of having 32-bit userspace with 64-bit kernel. Better to do this > on runtime. I know, it's not very nice but the whole grub-mkconfig is > trouble that needs redesign that I'm working on.
So if we need to do this at run time(in grub shell), can I use "grub_cpu" variable instead? Thanks! >> >> + 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.9.3 >> > -- Best regards, Fu Wei Software Engineer Red Hat _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel