[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 Julien,

On 5 May 2017 at 18:11, Julien Grall <julien.grall@xxxxxxx> wrote:
> Hi Andrew,
> On 05/05/17 10:01, Andrew Cooper wrote:
>> On 05/05/17 09:57, Fu Wei wrote:
>>> Hi Stefano,
>>> On 4 May 2017 at 04:53, Stefano Stabellini <sstabellini@xxxxxxxxxx>
>>> wrote:
>>>> On Wed, 3 May 2017, Andrew Cooper wrote:
>>>>> On 02/05/17 08:06, fu.wei@xxxxxxxxxx wrote:
>>>>>> 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>
>>>>> Sorry if I am jumping in late and asking awkward questions, but what is
>>>>> special about Xen/aarch64 here?  Why is it using a non-standard entry
>>>>> mechanism?
>>>> Multiboot is not available on ARM. The boot protocol we have on ARM is
>>>> FDT based:
>>>> http://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=docs/misc/arm/device-tree/booting.txt
>>>> We often refer to it as "multiboot for arm" but in fact it is not
>>>> related to the x86 multiboot in any way.
>>>> In Grub, the two protocols (multiboot and
>>>> docs/misc/arm/device-tree/booting.txt) are kept clearly distinct
>>>> (55A687E5.4070106@xxxxxxxxx). Hence, the need for this patch.
>>> Exactly, great thanks for your explanation! :-)
>> So it really is an entirely custom Xen booting protocol.
> Not really, Xen is using the Linux boot protocol. It does not allow to pass
> multiple modules. The multiboot used by x86 does not support ARM (see [1])
> and hence not supported by any bootloaders existing on ARM.
> The "multiboot for ARM" has been designed to be generic enough to be used by
> anyone (see [2]). And the original intention was to use "module" in
> grub.cfg. I don't know why we did this change.

yes, in the early patchset, I used multiboot and module command name,
But since the protocol we are using is not a real multiboot, so I
followed the suggestion (using xen_hypervisor and xen_module) to do
this change.

We don't want to confuse people. "module" is a command in the real
multiboot module.
if we don't use the real multiboot protocol, we avoid re-using its commands.

>> It is unfortunate that this wasn't reviewed sensibly at the time (and
>> implemented in a project-neutral way), but it looks like the time to fix
>> that properly has long since passed.
> The bindings are project neutral. Only the commands in grub are not neutral,
> I cannot find why it is not.
> Cheers,
> [1] https://www.gnu.org/software/grub/manual/multiboot/multiboot.html
> [2]
> https://wiki.xen.org/wiki/Xen_ARM_with_Virtualization_Extensions/Multiboot
> --
> Julien Grall

Best regards,

Fu Wei
Software Engineer
Red Hat

Xen-devel mailing list



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