[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] arm64/xen: Add missing #address-cells and #size-cells properties




-----Original Message-----
From: Grub-devel 
[mailto:grub-devel-bounces+wojciech.m.szyfelbein=intel.com@xxxxxxx] On Behalf 
Of Daniel Kiper
Sent: Thursday, November 30, 2017 10:23 PM
To: Julien Grall <julien.grall@xxxxxxxxxx>
Cc: grub-devel@xxxxxxx; fu.wei@xxxxxxxxxx; xen-devel@xxxxxxxxxxxxx
Subject: Re: [PATCH] arm64/xen: Add missing #address-cells and #size-cells 
properties

On Thu, Nov 30, 2017 at 01:22:37PM +0000, Julien Grall wrote:
> Hi Daniel,
>
> On 30/11/17 13:06, Daniel Kiper wrote:
> >On Wed, Nov 29, 2017 at 05:08:12PM +0000, Julien Grall wrote:
> >>The properties #address-cells and #size-cells are used to know the 
> >>number of cells for ranges provided by "regs". If they don't exist, 
> >>the value are resp. 2 and 1.
> >>
> >>Currently, when multiboot nodes are created it is assumed that 
> >>#address-cells
> >
> >IIRC ARM boot protocol is not related to Multiboot protocol in any way.
> >So, calling it in that way is very confusing. Could you invent a 
> >better not confusion name. Or at least provide a spec. I am happy to 
> >see it in GRUB2 tree.
>
> That's the name of the node see the MODULE_CUSTOM_COMPATIBLE in the 
> code... But this it not the Linux Arm boot protocol, it is an 
> extension currently only used by Xen. See [1].

Oh, boy! It is unfortunate. Sadly it looks that we have to live with this right 
now... Too late for change... I would just add the comment to this file that 
this is not related to the Multiboot protocol family in any way.

> >>and #size-cells are exactly 2. However, they are never set by GRUB 
> >>and will result to later failure when the device-tree is generated 
> >>by GRUB or contain different values.
> >>
> >>To prevent this failure, create the both properties in the chosen nodes.
> >>
> >>Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx>
> >>---
> >>  grub-core/loader/arm64/xen_boot.c | 11 +++++++++++
> >>  1 file changed, 11 insertions(+)
> >>
> >>diff --git a/grub-core/loader/arm64/xen_boot.c 
> >>b/grub-core/loader/arm64/xen_boot.c
> >>index c95d6c5a8..6780b1f0c 100644
> >>--- a/grub-core/loader/arm64/xen_boot.c
> >>+++ b/grub-core/loader/arm64/xen_boot.c
> >>@@ -115,6 +115,17 @@ prepare_xen_hypervisor_params (void *xen_boot_fdt)
> >>    if (chosen_node < 1)
> >>      return grub_error (GRUB_ERR_IO, "failed to get chosen node in 
> >>FDT");
> >>
> >>+  /*
> >>+   * The address and size are always written using 64-bits value. 
> >>+ Set
> >
> >Here you say "64-bits value"...
> >
> >>+   * #address-cells and #size-cells accordingly.
> >>+   */
> >>+  retval = grub_fdt_set_prop32 (xen_boot_fdt, chosen_node, 
> >>+ "#address-cells", 2);
> >
> >...and then call grub_fdt_set_prop32(). I am confused...
>
> #address-cells and #size-cells are property to know the number of 
> cells per address/size.
>
> The address and size are 64-bit (i.e 2 cells) as you can see the call 
> to grub_fdt_set_reg64 in the prepare_xen_module_params.

Understood! I will apply this patch next week.

Daniel

_______________________________________________
Grub-devel mailing list
Grub-devel@xxxxxxx
https://lists.gnu.org/mailman/listinfo/grub-devel
--------------------------------------------------------------------

Intel Technology Poland sp. z o.o.
ul. Slowackiego 173 | 80-298 Gdansk | Sad Rejonowy Gdansk Polnoc | VII Wydzial 
Gospodarczy Krajowego Rejestru Sadowego - KRS 101882 | NIP 957-07-52-316 | 
Kapital zakladowy 200.000 PLN.

Ta wiadomosc wraz z zalacznikami jest przeznaczona dla okreslonego adresata i 
moze zawierac informacje poufne. W razie przypadkowego otrzymania tej 
wiadomosci, prosimy o powiadomienie nadawcy oraz trwale jej usuniecie; 
jakiekolwiek
przegladanie lub rozpowszechnianie jest zabronione.
This e-mail and any attachments may contain confidential material for the sole 
use of the intended recipient(s). If you are not the intended recipient, please 
contact the sender and delete all copies; any review or distribution by
others is strictly prohibited.


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

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