Re: [PATCH 1/4] Documentation: arm: [U]EFI runtime services

From: Leif Lindholm
Date: Wed Jun 26 2013 - 10:05:15 EST


On Wed, Jun 26, 2013 at 02:13:39PM +0100, Grant Likely wrote:
> > diff --git a/Documentation/arm/uefi.txt b/Documentation/arm/uefi.txt
> > +It (early) parses the FDT for the following parameters:
>
> Need to state which node these properties can be found in. I recommend /chosen

Will do.

> I would also prefix all of the following properties with "linux,"
> since they are very much about what the Linux kernel needs for
> booting. EFI stub will be creating these properties specifically for
> Linux, and the LinuxLoader should do the same (until we eventually
> kill it).

And that.

> > +- 'efi-system-table':
> > + Physical address of the system table. (required)
>
> Need to mention the size of this address. Is it 64 bit or 32 bit? I
> would follow the lead of 'linux,initrd-start' here and make the size
> of property the size of the address. ie. If it is 8 bytes long, then
> it is a 64 bit address.

Currently, it's a 4-byte address.
Although technically possible to be >32-bit in an LPAE system, the 1:1
mappign requirement of the UEFI spec forces it to reside in the lower
4GB on a 32-bit system.

> > +- 'efi-runtime-mmap':
> > + Physical address of an EFI memory map, containing at least
> > + the regions to be preserved. (required)
> > +- 'efi-runtime-mmap-size':
> > + Size in bytes of the provided memory map. (required)
>
> I would collapse the above two properties into a single property that
> actually contains the memory map instead of pointing to it. You will
> also need to specify the exact format of the data in this property.

Ok, that makes sense.

Hmm. The data is an array of struct EFI_MEMORY_DESCRIPTOR entries,
known in Linux as efi_memory_desc_t. Is that a good enough description?

> > +- 'efi-mmap-desc-size':
> > + Size of each descriptor in the memory map. (override default)
> > +- 'efi-mmap-desc-ver':
> > + Memory descriptor format version. (override default)
>
> I don't understand how these properties will actually work. What
> changes in the parsing if these properties are set?

I guess the intended use is that these options would permit you to
append new fields to the struct and have old code correctly parse the
array anyway.

/
Leif
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/