[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 11 May 2017 at 06:01, Vladimir 'phcoder' Serbinenko
<phcoder@xxxxxxxxx> wrote:
>
>
> On Tue, May 9, 2017, 11: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?
>
> Yes, you can. Another possibility, probably better, is to check actual file
> type, see grub-file

Very good idea, will do in my v8 patchset, will send v8 in a day.

>>
>>
>> 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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.