[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v7 2/3] * util/grub.d/20_linux_xen.in: Add xen_boot command support for aarch64
Hi Vladimir On 9 May 2017 at 17:02, Fu Wei <fu.wei@xxxxxxxxxx> wrote: > Hi Vladimir > > On 9 May 2017 at 14:59, Vladimir 'phcoder' Serbinenko <phcoder@xxxxxxxxx> > wrote: >> >> >> Le Tue, May 2, 2017 à 9:06 AM, <fu.wei@xxxxxxxxxx> a écrit : >>> >>> From: Fu Wei <fu.wei@xxxxxxxxxx> >>> >>> 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@xxxxxxxxxx> >>> --- >>> 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? Dose this patch make sense to you? diff --git a/util/grub.d/20_linux_xen.in b/util/grub.d/20_linux_xen.in index c48af94..0c26cbb 100644 --- a/util/grub.d/20_linux_xen.in +++ b/util/grub.d/20_linux_xen.in @@ -122,16 +122,23 @@ linux_entry () else xen_rm_opts="no-real-mode edd=off" fi - multiboot ${rel_xen_dirname}/${xen_basename} placeholder ${xen_args} \${xen_rm_opts} + if [ "x\$grub_cpu" != xarm64 ]; then + xen_loader="multiboot" + module_loader="module" + else + xen_loader="xen_hypervisor" + module_loader="xen_module" + fi + \${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 > > 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 -- Best regards, Fu Wei Software Engineer Red Hat _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |