All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
To: Matthias Schiffer
	<matthias.schiffer-W3o+9BuWjQaZox4op4iWzw@public.gmane.org>
Cc: Mailing List
	<devicetree-spec-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Frank Rowand
	<frowand.list-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Subject: Re: [PATCH] Describe "fail" status for /cpus/cpu* nodes
Date: Tue, 30 Nov 2021 11:01:43 -0600	[thread overview]
Message-ID: <CAL_JsqJ6eHjeRX8wpaw4YOwrCce6OLeujXHmbUTqhcrawGfD0g@mail.gmail.com> (raw)
In-Reply-To: <20210916141028.32058-1-matthias.schiffer-W3o+9BuWjQaZox4op4iWzw@public.gmane.org>

On Thu, Sep 16, 2021 at 9:10 AM Matthias Schiffer
<matthias.schiffer-W3o+9BuWjQaZox4op4iWzw@public.gmane.org> wrote:
>
> There are situations where it is desirable to use the same base Device
> Tree for devices with a different number of CPUs: There may be CPU
> variants with different numbers of cores that can be used interchangably
> on the same mainboard, or there are multiple CPU sockets. Not needing to
> explicitly build a device tree for each such variant can make
> maintenance significantly easier.
>
> For this to work, a system firmware / bootloader needs to adjust the
> Device Tree by removing or disabling the excess CPU nodes. However, this
> is currently not easily possible due to the special meaning of the
> "disabled" status for CPU nodes:
>
> - A "disabled" CPU node is interpreted as inactive, but existent. The
>   Linux kernel will attempt to enable such CPUs on boot, which will
>   obviously fail for non-existent CPUs
> - Removing the CPU node altogether from a Device Tree is much more
>   complex than setting a single property, as it may leave dangling
>   phandle references, often requiring specific knowledge of other nodes'
>   structure to deal with them.
>
> In the discussion [1] it was suggested to introduce a new status value
> for CPUs that should really not be used at all. Rob proposed to use the
> value "fail", which already exists in the generic definitions of the
> status property.
>
> [1] https://www.lkml.org/lkml/2020/8/26/1237
>
> Suggested-by: Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
> Signed-off-by: Matthias Schiffer <matthias.schiffer-W3o+9BuWjQaZox4op4iWzw@public.gmane.org>
> ---
>  source/chapter3-devicenodes.rst | 12 ++++++++++--
>  1 file changed, 10 insertions(+), 2 deletions(-)

Applied, thanks.

Rob

      parent reply	other threads:[~2021-11-30 17:01 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-16 14:10 [PATCH] Describe "fail" status for /cpus/cpu* nodes Matthias Schiffer
2021-10-08 10:31 ` Matthias Schiffer
2021-10-08 10:31   ` Matthias Schiffer
2021-10-08 13:19   ` Rob Herring
2021-10-08 13:19     ` Rob Herring
     [not found] ` <20210916141028.32058-1-matthias.schiffer-W3o+9BuWjQaZox4op4iWzw@public.gmane.org>
2021-11-30 17:01   ` Rob Herring [this message]

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=CAL_JsqJ6eHjeRX8wpaw4YOwrCce6OLeujXHmbUTqhcrawGfD0g@mail.gmail.com \
    --to=robh+dt-dgejt+ai2ygdnm+yrofe0a@public.gmane.org \
    --cc=devicetree-spec-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=frowand.list-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=matthias.schiffer-W3o+9BuWjQaZox4op4iWzw@public.gmane.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.