On Tue, May 9, 2017, 11:02 Fu Wei <fu....@linaro.org> wrote: > 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? > Yes, you can. Another possibility, probably better, is to check actual file type, see grub-file
> > 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