All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: Randy Dunlap <rdunlap@infradead.org>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
	Jonathan Corbet <corbet@lwn.net>, Cloud Hsu <cloudhsu@google.com>,
	Chris Koch <chrisko@google.com>
Subject: Re: [PATCH v1 1/1] x86/Documentation: Update algo in init_size description of boot protocol
Date: Mon, 25 Nov 2024 09:45:36 +0100	[thread overview]
Message-ID: <Z0Q5MIjy0yx6jyNq@gmail.com> (raw)
In-Reply-To: <d2dfc0a4-d9dc-4dd2-a669-097dcf3491b5@infradead.org>


* Randy Dunlap <rdunlap@infradead.org> wrote:

> Hi Andy,
> 
> On 11/25/24 12:31 AM, Andy Shevchenko wrote:
> > The init_size description of boot protocol has an example of the runtime
> > start address for the compressed bzImage. For non-relocatable kernel
> > it relies on the pref_address value (if not 0), but for relocatable case
> > only pays respect to the load_addres and kernel_alignment, and it is
> > inaccurate for the latter. Boot loader must consider the pref_address
> > as the Linux kernel relocates to it before being decompressed as nicely
> > described in the commit 43b1d3e68ee7 message.
> > 
> > Due to this inaccuracy some of the bootloaders (*) made a mistake in
> > the calculations and if kernel image is big enough, this may lead to
> > unbootable configurations.
> > 
> > *)
> >   In particular, kexec-tools missed that and resently got a couple of
> >   changes which will be part of v2.0.30 release. For the record,
> >   the 43b1d3e68ee7 fixed only kernel kexec implementation and also missed
> >   to update the init_size description.
> > 
> > While at it, make an example C-like looking as it's done elsewhere in
> > the document and fix indentation, so the syntax highliting will work
> > properly in some editors (vim).
> > 
> > Fixes: 43b1d3e68ee7 ("kexec: Allocate kernel above bzImage's pref_address")
> > Fixes: d297366ba692 ("x86: document new bzImage fields")
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> > ---
> >  Documentation/arch/x86/boot.rst | 17 +++++++++++++----
> >  1 file changed, 13 insertions(+), 4 deletions(-)
> > 
> > diff --git a/Documentation/arch/x86/boot.rst b/Documentation/arch/x86/boot.rst
> > index 4fd492cb4970..01f08d94e8df 100644
> > --- a/Documentation/arch/x86/boot.rst
> > +++ b/Documentation/arch/x86/boot.rst
> > @@ -896,10 +896,19 @@ Offset/size:	0x260/4
> >  
> >    The kernel runtime start address is determined by the following algorithm::
> >  
> > -	if (relocatable_kernel)
> > -	runtime_start = align_up(load_address, kernel_alignment)
> > -	else
> > -	runtime_start = pref_address
> > +    if ( relocatable_kernel ) {
> > +      if ( load_address < pref_address )
> 
> What's up with the extra spaces around ( and ) ... and inconsistent with
> the lines below?

Also, even pseudocode should follow the kernel's coding style and use 
tabs in particular - which it already does in (some...) other places of 
this document, such as the 'Sample Boot Configuration' chapter.

Thanks,

	Ingo

  reply	other threads:[~2024-11-25  8:45 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-25  8:31 [PATCH v1 1/1] x86/Documentation: Update algo in init_size description of boot protocol Andy Shevchenko
2024-11-25  8:38 ` Randy Dunlap
2024-11-25  8:45   ` Ingo Molnar [this message]
2024-11-25 10:46     ` Andy Shevchenko
2024-11-25 10:50       ` Andy Shevchenko
2024-11-25 20:43       ` Ingo Molnar
2024-11-25 20:55         ` H. Peter Anvin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Z0Q5MIjy0yx6jyNq@gmail.com \
    --to=mingo@kernel.org \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=bp@alien8.de \
    --cc=chrisko@google.com \
    --cc=cloudhsu@google.com \
    --cc=corbet@lwn.net \
    --cc=dave.hansen@linux.intel.com \
    --cc=hpa@zytor.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=rdunlap@infradead.org \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.