All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ivan Gorinov <ivan.gorinov@intel.com>
To: Rob Herring <robh+dt@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Frank Rowand <frowand.list@gmail.com>,
	Andy Shevchenko <andy.shevchenko@gmail.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Ingo Molnar <mingo@redhat.com>,
	Mark Rutland <mark.rutland@arm.com>
Subject: Re: [PATCH v6 1/2] of: Documentation: Specify local APIC ID in "reg"
Date: Tue, 20 Mar 2018 11:10:18 -0700	[thread overview]
Message-ID: <20180320181018.GA8670@intel.com> (raw)
In-Reply-To: <CAL_JsqLvV6-MY_4ui8T3nYnqG0q=QN6nnCVxbxD0aarhLqjNKA@mail.gmail.com>

On Mon, Mar 19, 2018 at 07:39:52PM -0500, Rob Herring wrote:
> On Tue, Mar 13, 2018 at 5:05 PM, Ivan Gorinov <ivan.gorinov@intel.com> wrote:
> > Use the "reg" property to specify the processor's local APIC ID.
> > Local APIC ID is assigned by hardware and may differ from CPU number.
> 
> Is "CPU number" a s/w visible h/w number or has it just been an index
> for DT? In the latter case, I'm okay with this change. In the former
> case, you should stick to the existing numbering. For example on ARM,
> the number here corresponds to a core ID number in a register called
> MPIDR.

The latter case. Apparently, "CPU number" was just an index in the list.
Local APIC ID is the s/w visible h/w assigned number.
Some processor models allow local APIC ID to be changed by software, but
CPUID instruction executed with %eax = 0x0b always returns the initial ID
assigned by hardware in %edx.

APIC ID does not match index in the list in many systems.

> >
> > Signed-off-by: Ivan Gorinov <ivan.gorinov@intel.com>
> > ---
> >  Documentation/devicetree/bindings/x86/ce4100.txt | 37 ++++++++++++++++++------
> >  1 file changed, 28 insertions(+), 9 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/x86/ce4100.txt b/Documentation/devicetree/bindings/x86/ce4100.txt
> > index b49ae59..1c41cbd 100644
> > --- a/Documentation/devicetree/bindings/x86/ce4100.txt
> > +++ b/Documentation/devicetree/bindings/x86/ce4100.txt
> > @@ -7,17 +7,36 @@ Many of the "generic" devices like HPET or IO APIC have the ce4100
> >  name in their compatible property because they first appeared in this
> >  SoC.
> >
> > -The CPU node
> > -------------
> > -       cpu@0 {
> > -               device_type = "cpu";
> > -               compatible = "intel,ce4100";
> > -               reg = <0>;
> > -               lapic = <&lapic0>;
> > +The CPU nodes
> > +-------------
> > +
> > +       cpus {
> > +               #address-cells = <1>;
> > +               #size-cells = <0>;
> > +
> > +               cpu@0x00 {
> 
> Drop the '0x' and leading 0s.
> 
> > +                       device_type = "cpu";
> > +                       compatible = "intel,ce4100";
> > +                       reg = <0x00>;
> > +               };
> > +
> > +               cpu@0x02 {
> > +                       device_type = "cpu";
> > +                       compatible = "intel,ce4100";
> > +                       reg = <0x02>;
> > +               };
> >         };
> >
> > -The reg property describes the CPU number. The lapic property points to
> > -the local APIC timer.
> > +A "cpu" node describes one logical processor (hardware thread).
> > +
> > +Required properties:
> > +
> > +- device_type
> > +       Device type, must be "cpu".
> > +
> > +- reg
> > +       Local APIC ID, the unique number assigned to each processor by
> > +       system hardware.
> >
> >  The SoC node
> >  ------------
> > --
> > 2.7.4
> >

  reply	other threads:[~2018-03-20 18:18 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-13 22:04 [PATCH v6 0/2] x86/devicetree: Enable multiprocessing Ivan Gorinov
2018-03-13 22:05 ` [PATCH v6 1/2] of: Documentation: Specify local APIC ID in "reg" Ivan Gorinov
2018-03-19 13:06   ` Thomas Gleixner
2018-03-20  0:39   ` Rob Herring
2018-03-20 18:10     ` Ivan Gorinov [this message]
2018-03-20 18:26       ` Thomas Gleixner
2018-03-13 22:05 ` [PATCH v6 2/2] x86/devicetree: Use CPU description from Device Tree Ivan Gorinov
2018-03-19 22:29   ` kbuild test robot

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=20180320181018.GA8670@intel.com \
    --to=ivan.gorinov@intel.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=frowand.list@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mingo@redhat.com \
    --cc=robh+dt@kernel.org \
    --cc=tglx@linutronix.de \
    /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.