[Xen-devel] [PATCH] arm64: xen_boot: Fix xen boot using Grub on AARCH64

2016-02-19 Thread Julien Grall
Xen is currently crashing because of malformed compatible property for
the boot module. This is because the property string is not
null-terminated as requested by the ePAR spec.
---
 grub-core/loader/arm64/xen_boot.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/grub-core/loader/arm64/xen_boot.c 
b/grub-core/loader/arm64/xen_boot.c
index a914eb8..8ae43d7 100644
--- a/grub-core/loader/arm64/xen_boot.c
+++ b/grub-core/loader/arm64/xen_boot.c
@@ -156,7 +156,7 @@ prepare_xen_module_params (struct xen_boot_binary *module, 
void *xen_boot_fdt)
   grub_fdt_add_subnode (xen_boot_fdt, chosen_node, module_name);
 
   retval = grub_fdt_set_prop (xen_boot_fdt, module_node, "compatible",
- MODULE_CUSTOM_COMPATIBLE, 
sizeof(MODULE_CUSTOM_COMPATIBLE) - 1);
+ MODULE_CUSTOM_COMPATIBLE, 
sizeof(MODULE_CUSTOM_COMPATIBLE));
   if (retval)
 return grub_error (GRUB_ERR_IO, "failed to update FDT");
 
-- 
1.9.1


___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH] arm64: xen_boot: Fix xen boot using Grub on AARCH64

2016-02-22 Thread Fu Wei
Hi Julien,

On 20 February 2016 at 00:28, Julien Grall  wrote:
> Xen is currently crashing because of malformed compatible property for
> the boot module. This is because the property string is not
> null-terminated as requested by the ePAR spec.
> ---
>  grub-core/loader/arm64/xen_boot.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/grub-core/loader/arm64/xen_boot.c 
> b/grub-core/loader/arm64/xen_boot.c
> index a914eb8..8ae43d7 100644
> --- a/grub-core/loader/arm64/xen_boot.c
> +++ b/grub-core/loader/arm64/xen_boot.c
> @@ -156,7 +156,7 @@ prepare_xen_module_params (struct xen_boot_binary 
> *module, void *xen_boot_fdt)
>grub_fdt_add_subnode (xen_boot_fdt, chosen_node, module_name);
>
>retval = grub_fdt_set_prop (xen_boot_fdt, module_node, "compatible",
> - MODULE_CUSTOM_COMPATIBLE, 
> sizeof(MODULE_CUSTOM_COMPATIBLE) - 1);
> + MODULE_CUSTOM_COMPATIBLE, 
> sizeof(MODULE_CUSTOM_COMPATIBLE));
>if (retval)
>  return grub_error (GRUB_ERR_IO, "failed to update FDT");
>
> --
> 1.9.1

I have tested it. yes, xen will crash without this patch.
Tested-by: Fu Wei 

BTW, since Vladimir has simplified the xen boot code , and Now Xen
distinguishes modules by order.
--
menuentry 'Foundation Model Xen test with initramfs' {
xen_hypervisor /xen -- no-bootscrub console=dtuart conswitch=x
dtuart=serial0 dom0_mem=512M dom0_max_vcpus=2
xen_module /dom0_kernel_Image console=hvc0 root=/dev/ram0 ro
xen_module /dom0_initramfs.cpio
xen_module /xsm
devicetree /fvp-base-gicv2-psci.dtb
}
-

Maybe we should update doc to  coordinate with this change.

And another problem is: How does XEN identify XSM?
Test with the config file above, I got "(XEN) MODULE[3]:
0008fabb4000 - 0008fabb65e7 Unknown"

Please correct me if I miss something.


>



-- 
Best regards,

Fu Wei
Software Engineer
Red Hat Software (Beijing) Co.,Ltd.Shanghai Branch
Ph: +86 21 61221326(direct)
Ph: +86 186 2020 4684 (mobile)
Room 1512, Regus One Corporate Avenue,Level 15,
One Corporate Avenue,222 Hubin Road,Huangpu District,
Shanghai,China 200021

___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH] arm64: xen_boot: Fix xen boot using Grub on AARCH64

2016-02-23 Thread Ian Campbell
On Mon, 2016-02-22 at 17:29 +0800, Fu Wei wrote:
> Hi Julien,
> 
> On 20 February 2016 at 00:28, Julien Grall 
> wrote:
> > Xen is currently crashing because of malformed compatible property for
> > the boot module. This is because the property string is not
> > null-terminated as requested by the ePAR spec.
> > ---
> >  grub-core/loader/arm64/xen_boot.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/grub-core/loader/arm64/xen_boot.c b/grub-
> > core/loader/arm64/xen_boot.c
> > index a914eb8..8ae43d7 100644
> > --- a/grub-core/loader/arm64/xen_boot.c
> > +++ b/grub-core/loader/arm64/xen_boot.c
> > @@ -156,7 +156,7 @@ prepare_xen_module_params (struct xen_boot_binary
> > *module, void *xen_boot_fdt)
> >    grub_fdt_add_subnode (xen_boot_fdt, chosen_node, module_name);
> > 
> >    retval = grub_fdt_set_prop (xen_boot_fdt, module_node, "compatible",
> > - MODULE_CUSTOM_COMPATIBLE,
> > sizeof(MODULE_CUSTOM_COMPATIBLE) - 1);
> > + MODULE_CUSTOM_COMPATIBLE,
> > sizeof(MODULE_CUSTOM_COMPATIBLE));
> >    if (retval)
> >  return grub_error (GRUB_ERR_IO, "failed to update FDT");
> > 
> > --
> > 1.9.1
> 
> I have tested it. yes, xen will crash without this patch.
> Tested-by: Fu Wei 
> 
> BTW, since Vladimir has simplified the xen boot code , and Now Xen
> distinguishes modules by order.
> --
> menuentry 'Foundation Model Xen test with initramfs' {
> xen_hypervisor /xen -- no-bootscrub console=dtuart conswitch=x
> dtuart=serial0 dom0_mem=512M dom0_max_vcpus=2
> xen_module /dom0_kernel_Image console=hvc0 root=/dev/ram0 ro
> xen_module /dom0_initramfs.cpio
> xen_module /xsm
> devicetree /fvp-base-gicv2-psci.dtb
> }
> -
> 
> Maybe we should update doc to  coordinate with this change.
> 
> And another problem is: How does XEN identify XSM?
> Test with the config file above, I got "(XEN) MODULE[3]:
> 0008fabb4000 - 0008fabb65e7 Unknown"

I must confess when Vlad proposed this change I thought Xen was able to
automatically probe for whether a module was an XSM module. Perhaps it is
either broken or that functionality never existed to start with?

Ian.

___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH] arm64: xen_boot: Fix xen boot using Grub on AARCH64

2016-02-23 Thread Fu Wei
Hi Ian

On 23 February 2016 at 18:00, Ian Campbell  wrote:
> On Mon, 2016-02-22 at 17:29 +0800, Fu Wei wrote:
>> Hi Julien,
>>
>> On 20 February 2016 at 00:28, Julien Grall 
>> wrote:
>> > Xen is currently crashing because of malformed compatible property for
>> > the boot module. This is because the property string is not
>> > null-terminated as requested by the ePAR spec.
>> > ---
>> >  grub-core/loader/arm64/xen_boot.c | 2 +-
>> >  1 file changed, 1 insertion(+), 1 deletion(-)
>> >
>> > diff --git a/grub-core/loader/arm64/xen_boot.c b/grub-
>> > core/loader/arm64/xen_boot.c
>> > index a914eb8..8ae43d7 100644
>> > --- a/grub-core/loader/arm64/xen_boot.c
>> > +++ b/grub-core/loader/arm64/xen_boot.c
>> > @@ -156,7 +156,7 @@ prepare_xen_module_params (struct xen_boot_binary
>> > *module, void *xen_boot_fdt)
>> >grub_fdt_add_subnode (xen_boot_fdt, chosen_node, module_name);
>> >
>> >retval = grub_fdt_set_prop (xen_boot_fdt, module_node, "compatible",
>> > - MODULE_CUSTOM_COMPATIBLE,
>> > sizeof(MODULE_CUSTOM_COMPATIBLE) - 1);
>> > + MODULE_CUSTOM_COMPATIBLE,
>> > sizeof(MODULE_CUSTOM_COMPATIBLE));
>> >if (retval)
>> >  return grub_error (GRUB_ERR_IO, "failed to update FDT");
>> >
>> > --
>> > 1.9.1
>>
>> I have tested it. yes, xen will crash without this patch.
>> Tested-by: Fu Wei 
>>
>> BTW, since Vladimir has simplified the xen boot code , and Now Xen
>> distinguishes modules by order.
>> --
>> menuentry 'Foundation Model Xen test with initramfs' {
>> xen_hypervisor /xen -- no-bootscrub console=dtuart conswitch=x
>> dtuart=serial0 dom0_mem=512M dom0_max_vcpus=2
>> xen_module /dom0_kernel_Image console=hvc0 root=/dev/ram0 ro
>> xen_module /dom0_initramfs.cpio
>> xen_module /xsm
>> devicetree /fvp-base-gicv2-psci.dtb
>> }
>> -
>>
>> Maybe we should update doc to  coordinate with this change.
>>
>> And another problem is: How does XEN identify XSM?
>> Test with the config file above, I got "(XEN) MODULE[3]:
>> 0008fabb4000 - 0008fabb65e7 Unknown"
>
> I must confess when Vlad proposed this change I thought Xen was able to
> automatically probe for whether a module was an XSM module. Perhaps it is
> either broken or that functionality never existed to start with?
>

>From the test result, it seems that the latest xen can NOT
automatically probe XSM module, even we load xsm as the third module.

the test branch is master branch. Please correct me if I tested it in wrong way.

> Ian.



-- 
Best regards,

Fu Wei
Software Engineer
Red Hat Software (Beijing) Co.,Ltd.Shanghai Branch
Ph: +86 21 61221326(direct)
Ph: +86 186 2020 4684 (mobile)
Room 1512, Regus One Corporate Avenue,Level 15,
One Corporate Avenue,222 Hubin Road,Huangpu District,
Shanghai,China 200021

___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH] arm64: xen_boot: Fix xen boot using Grub on AARCH64

2016-02-27 Thread Andrei Borzenkov
23.02.2016 17:16, Fu Wei пишет:
> Hi Ian
> 
> On 23 February 2016 at 18:00, Ian Campbell  wrote:
>> On Mon, 2016-02-22 at 17:29 +0800, Fu Wei wrote:
>>> Hi Julien,
>>>
>>> On 20 February 2016 at 00:28, Julien Grall 
>>> wrote:
 Xen is currently crashing because of malformed compatible property for
 the boot module. This is because the property string is not
 null-terminated as requested by the ePAR spec.
 ---
  grub-core/loader/arm64/xen_boot.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

 diff --git a/grub-core/loader/arm64/xen_boot.c b/grub-
 core/loader/arm64/xen_boot.c
 index a914eb8..8ae43d7 100644
 --- a/grub-core/loader/arm64/xen_boot.c
 +++ b/grub-core/loader/arm64/xen_boot.c
 @@ -156,7 +156,7 @@ prepare_xen_module_params (struct xen_boot_binary
 *module, void *xen_boot_fdt)
grub_fdt_add_subnode (xen_boot_fdt, chosen_node, module_name);

retval = grub_fdt_set_prop (xen_boot_fdt, module_node, "compatible",
 - MODULE_CUSTOM_COMPATIBLE,
 sizeof(MODULE_CUSTOM_COMPATIBLE) - 1);
 + MODULE_CUSTOM_COMPATIBLE,
 sizeof(MODULE_CUSTOM_COMPATIBLE));
if (retval)
  return grub_error (GRUB_ERR_IO, "failed to update FDT");

 --
 1.9.1
>>>
>>> I have tested it. yes, xen will crash without this patch.
>>> Tested-by: Fu Wei 
>>>
>>> BTW, since Vladimir has simplified the xen boot code , and Now Xen
>>> distinguishes modules by order.
>>> --
>>> menuentry 'Foundation Model Xen test with initramfs' {
>>> xen_hypervisor /xen -- no-bootscrub console=dtuart conswitch=x
>>> dtuart=serial0 dom0_mem=512M dom0_max_vcpus=2
>>> xen_module /dom0_kernel_Image console=hvc0 root=/dev/ram0 ro
>>> xen_module /dom0_initramfs.cpio
>>> xen_module /xsm
>>> devicetree /fvp-base-gicv2-psci.dtb
>>> }
>>> -
>>>
>>> Maybe we should update doc to  coordinate with this change.
>>>
>>> And another problem is: How does XEN identify XSM?
>>> Test with the config file above, I got "(XEN) MODULE[3]:
>>> 0008fabb4000 - 0008fabb65e7 Unknown"
>>
>> I must confess when Vlad proposed this change I thought Xen was able to
>> automatically probe for whether a module was an XSM module. Perhaps it is
>> either broken or that functionality never existed to start with?
>>
> 
> From the test result, it seems that the latest xen can NOT
> automatically probe XSM module, even we load xsm as the third module.
> 
> the test branch is master branch. Please correct me if I tested it in wrong 
> way.
> 

That's exactly what code looks like. I.e. XSM is recognized only if
bootloader provided xen,xsm-policy compatible property.

OTOH looking at xsm_dt_policy_init(), XSM module has defined magic and
multiboot version actually detects module type based on this magic. So I
think it makes sense to extend process_multiboot_node() to check for XSM
magic in case of unknown modules. This will make ARM behavior compatible
with x86. Otherwise we simply won't be able to load XSM on ARM at all,
given current implementation in GRUB.

___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH] arm64: xen_boot: Fix xen boot using Grub on AARCH64

2016-03-30 Thread Julien Grall

Hello,

Ping?

Regards,

On 19/02/16 16:28, Julien Grall wrote:

Xen is currently crashing because of malformed compatible property for
the boot module. This is because the property string is not
null-terminated as requested by the ePAR spec.
---
  grub-core/loader/arm64/xen_boot.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/grub-core/loader/arm64/xen_boot.c 
b/grub-core/loader/arm64/xen_boot.c
index a914eb8..8ae43d7 100644
--- a/grub-core/loader/arm64/xen_boot.c
+++ b/grub-core/loader/arm64/xen_boot.c
@@ -156,7 +156,7 @@ prepare_xen_module_params (struct xen_boot_binary *module, 
void *xen_boot_fdt)
grub_fdt_add_subnode (xen_boot_fdt, chosen_node, module_name);

retval = grub_fdt_set_prop (xen_boot_fdt, module_node, "compatible",
- MODULE_CUSTOM_COMPATIBLE, 
sizeof(MODULE_CUSTOM_COMPATIBLE) - 1);
+ MODULE_CUSTOM_COMPATIBLE, 
sizeof(MODULE_CUSTOM_COMPATIBLE));
if (retval)
  return grub_error (GRUB_ERR_IO, "failed to update FDT");




--
Julien Grall

___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH] arm64: xen_boot: Fix xen boot using Grub on AARCH64

2016-03-30 Thread Fu Wei
Hi Julien,

I have posted the v3 , please check
http://lists.xen.org/archives/html/xen-devel/2016-03/msg03564.html

And I hope GRUB patch can be merged :-)

On 30 March 2016 at 23:52, Julien Grall  wrote:
> Hello,
>
> Ping?
>
> Regards,
>
>
> On 19/02/16 16:28, Julien Grall wrote:
>>
>> Xen is currently crashing because of malformed compatible property for
>> the boot module. This is because the property string is not
>> null-terminated as requested by the ePAR spec.
>> ---
>>   grub-core/loader/arm64/xen_boot.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/grub-core/loader/arm64/xen_boot.c
>> b/grub-core/loader/arm64/xen_boot.c
>> index a914eb8..8ae43d7 100644
>> --- a/grub-core/loader/arm64/xen_boot.c
>> +++ b/grub-core/loader/arm64/xen_boot.c
>> @@ -156,7 +156,7 @@ prepare_xen_module_params (struct xen_boot_binary
>> *module, void *xen_boot_fdt)
>> grub_fdt_add_subnode (xen_boot_fdt, chosen_node, module_name);
>>
>> retval = grub_fdt_set_prop (xen_boot_fdt, module_node, "compatible",
>> - MODULE_CUSTOM_COMPATIBLE,
>> sizeof(MODULE_CUSTOM_COMPATIBLE) - 1);
>> + MODULE_CUSTOM_COMPATIBLE,
>> sizeof(MODULE_CUSTOM_COMPATIBLE));
>> if (retval)
>>   return grub_error (GRUB_ERR_IO, "failed to update FDT");
>>
>>
>
> --
> Julien Grall



-- 
Best regards,

Fu Wei
Software Engineer
Red Hat Software (Beijing) Co.,Ltd.Shanghai Branch
Ph: +86 21 61221326(direct)
Ph: +86 186 2020 4684 (mobile)
Room 1512, Regus One Corporate Avenue,Level 15,
One Corporate Avenue,222 Hubin Road,Huangpu District,
Shanghai,China 200021

___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH] arm64: xen_boot: Fix xen boot using Grub on AARCH64

2016-11-03 Thread Daniel Kiper
On Fri, Feb 19, 2016 at 04:28:52PM +, Julien Grall wrote:
> Xen is currently crashing because of malformed compatible property for
> the boot module. This is because the property string is not
> null-terminated as requested by the ePAR spec.

Just two nitpicks. Could you change subject to "arm64/xen_boot: Fix
xen boot using Grub on AARCH64" and add your SOB? You can also repost
this patch with: Reviewed-by: Daniel Kiper 

Daniel

___
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH] arm64: xen_boot: Fix xen boot using Grub on AARCH64

2016-07-26 Thread Fu Wei
Hi all

On 22 February 2016 at 17:29, Fu Wei  wrote:
> Hi Julien,
>
> On 20 February 2016 at 00:28, Julien Grall  wrote:
>> Xen is currently crashing because of malformed compatible property for
>> the boot module. This is because the property string is not
>> null-terminated as requested by the ePAR spec.
>> ---
>>  grub-core/loader/arm64/xen_boot.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/grub-core/loader/arm64/xen_boot.c 
>> b/grub-core/loader/arm64/xen_boot.c
>> index a914eb8..8ae43d7 100644
>> --- a/grub-core/loader/arm64/xen_boot.c
>> +++ b/grub-core/loader/arm64/xen_boot.c
>> @@ -156,7 +156,7 @@ prepare_xen_module_params (struct xen_boot_binary 
>> *module, void *xen_boot_fdt)
>>grub_fdt_add_subnode (xen_boot_fdt, chosen_node, module_name);
>>
>>retval = grub_fdt_set_prop (xen_boot_fdt, module_node, "compatible",
>> - MODULE_CUSTOM_COMPATIBLE, 
>> sizeof(MODULE_CUSTOM_COMPATIBLE) - 1);
>> + MODULE_CUSTOM_COMPATIBLE, 
>> sizeof(MODULE_CUSTOM_COMPATIBLE));
>>if (retval)
>>  return grub_error (GRUB_ERR_IO, "failed to update FDT");
>>
>> --
>> 1.9.1
>
> I have tested it. yes, xen will crash without this patch.
> Tested-by: Fu Wei 

I guess this bugfix haven't been merged yet,
Hope this fix can be merged soon :-)

>
> BTW, since Vladimir has simplified the xen boot code , and Now Xen
> distinguishes modules by order.
> --
> menuentry 'Foundation Model Xen test with initramfs' {
> xen_hypervisor /xen -- no-bootscrub console=dtuart conswitch=x
> dtuart=serial0 dom0_mem=512M dom0_max_vcpus=2
> xen_module /dom0_kernel_Image console=hvc0 root=/dev/ram0 ro
> xen_module /dom0_initramfs.cpio
> xen_module /xsm
> devicetree /fvp-base-gicv2-psci.dtb
> }
> -
>
> Maybe we should update doc to  coordinate with this change.
>
> And another problem is: How does XEN identify XSM?
> Test with the config file above, I got "(XEN) MODULE[3]:
> 0008fabb4000 - 0008fabb65e7 Unknown"
>
> Please correct me if I miss something.
>
>
>>
>
>
>
> --
> Best regards,
>
> Fu Wei
> Software Engineer
> Red Hat Software (Beijing) Co.,Ltd.Shanghai Branch
> Ph: +86 21 61221326(direct)
> Ph: +86 186 2020 4684 (mobile)
> Room 1512, Regus One Corporate Avenue,Level 15,
> One Corporate Avenue,222 Hubin Road,Huangpu District,
> Shanghai,China 200021



-- 
Best regards,

Fu Wei
Software Engineer
Red Hat

___
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel