Re: [RFC PATCH] x86/doc/boot_protocol: Correct the description of "reloc"

From: Ingo Molnar
Date: Thu Sep 26 2019 - 02:01:50 EST


* Cao jin <caoj.fnst@xxxxxxxxxxxxxx> wrote:

> The fields marked with (reloc) actually are not dedicated for writing,
> but communicating info for relocatable kernel with boot loaders. For
> example:
>
> ============ ============
> Field name: pref_address
> Type: read (reloc)
> Offset/size: 0x258/8
> Protocol: 2.10+
> ============ ============
>
> ============ ========================
> Field name: code32_start
> Type: modify (optional, reloc)
> Offset/size: 0x214/4
> Protocol: 2.00+
> ============ ========================
>
> Signed-off-by: Cao jin <caoj.fnst@xxxxxxxxxxxxxx>
> ---
> Unless I have incorrect non-native understanding for "fill in", I think
> this is inaccurate.
>
> Documentation/x86/boot.rst | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/Documentation/x86/boot.rst b/Documentation/x86/boot.rst
> index 08a2f100c0e6..a611bf04492d 100644
> --- a/Documentation/x86/boot.rst
> +++ b/Documentation/x86/boot.rst
> @@ -243,7 +243,7 @@ bootloader ("modify").
>
> All general purpose boot loaders should write the fields marked
> (obligatory). Boot loaders who want to load the kernel at a
> -nonstandard address should fill in the fields marked (reloc); other
> +nonstandard address should consult with the fields marked (reloc); other
> boot loaders can ignore those fields.
>
> The byte order of all fields is littleendian (this is x86, after all.)

Well, this documentation is written from the point of view of a
*bootloader*, not the kernel. So the 'fill in' says that the bootloader
should write those fields - which is correct, right?

Thanks,

Ingo