of/Documentation: Specify local APIC ID in "reg"

Use the "reg" property to specify the processor's local APIC ID instead of
setting it to the CPU node index in Device Tree.

Local APIC ID is assigned by hardware and visible in the APIC ID register.
Some processor models allow APIC ID to be changed by software, but CPUID
instruction executed with %eax = 0x0b always returns the initial ID in %edx.

Local APIC ID does not match the node index in many systems.

Signed-off-by: Ivan Gorinov <ivan.gorinov@intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Frank Rowand <frowand.list@gmail.com>
Link: https://lkml.kernel.org/r/4b1a471a56ac0ebd7510f4759afce9104595d6da.1521753738.git.ivan.gorinov@intel.com
This commit is contained in:
Ivan Gorinov 2018-03-22 14:35:33 -07:00 committed by Thomas Gleixner
parent e21c963c0f
commit 7f2e858408

View File

@ -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 name in their compatible property because they first appeared in this
SoC. SoC.
The CPU node The CPU nodes
------------ -------------
cpu@0 {
device_type = "cpu"; cpus {
compatible = "intel,ce4100"; #address-cells = <1>;
reg = <0>; #size-cells = <0>;
lapic = <&lapic0>;
cpu@0 {
device_type = "cpu";
compatible = "intel,ce4100";
reg = <0x00>;
};
cpu@2 {
device_type = "cpu";
compatible = "intel,ce4100";
reg = <0x02>;
};
}; };
The reg property describes the CPU number. The lapic property points to A "cpu" node describes one logical processor (hardware thread).
the local APIC timer.
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 The SoC node
------------ ------------