[RFC PATCH v3 02/17] Documentation: devicetree: arm: cpus/cpu nodes bindings updates
Marc Zyngier
marc.zyngier at arm.com
Fri Apr 26 08:16:12 EDT 2013
On 26/04/13 12:48, Mark Rutland wrote:
> On Fri, Apr 26, 2013 at 11:18:40AM +0100, Lorenzo Pieralisi wrote:
>> On Fri, Apr 26, 2013 at 03:51:10AM +0100, Rob Herring wrote:
>>> On Wed, Apr 24, 2013 at 12:28 PM, Lorenzo Pieralisi
>>> <lorenzo.pieralisi at arm.com> wrote:
>>>> In order to extend the current cpu nodes bindings to newer CPUs
>>>> inclusive of AArch64 and to update support for older ARM CPUs this
>>>> patch updates device tree documentation for the cpu nodes bindings.
>>>>
>>>> Main changes:
>>>> - adds 64-bit bindings
>>>> - define usage of #address-cells
>>>> - define 32/64 dts compatibility settings
>>>> - defines behaviour on pre and post v7 uniprocessor systems
>>>> - adds ARM 11MPcore specific reg property definition
>>>>
>>>> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi at arm.com>
>>>> ---
>>>
>>> [...]
>>>
>>>> + - enable-method
>>>> + Value type: <stringlist>
>>>> + Usage and definition depend on ARM architecture version and
>>>> + configuration:
>>>> + # On ARM v8 64-bit systems running the OS in AArch64,
>>>> + this property is required and must be "spin-table".
>>>
>>> What about PSCI?
>>
>> I should add it, at least for ARM v8.
>
> It's worth noting KVM uses it on v7 too, so it should be available for CPUs
> that are v7+.
>
>>
>>> I don't think the ePAPR spin-table definition is sufficient for ARM.
>>> How do you define wake up by SGI or sev instruction.
>>
>> I think Will described the wfe/sev mechanism in:
>>
>> Documentation/arm64/booting.txt
>>
>> and the ePAPR does the same in 5.5.2.2/5.5.2.3. Since this is a document
>> describing cpus/cpu nodes bindings I assume that description does not
>> belong here. Question is: do we need to specify an ARM implementation
>> specific enable-method to describe SGI/sev wake-up (ePAPR 5.5.3) ?
>>
>>>> + # On ARM 32-bit systems or ARM v8 systems running
>>>> + the OS in AArch32 this property is prohibited.
>>>
>>> Why?
>>
>> Because if we define it optional with no possible set of values basically
>> it can be whatever string. I could define it optional with the same
>> allowed values as ARM v8 even if it is currently ignored, at least in Linux,
>> until PSCI implementations get merged.
>
> I believe kvmtool sets the enable-method to "psci" on v7, though I may be
> mistaken. Adding Marc to Cc as he knows better.
Indeed, kvmtool feeds the exact same DT to an ARMv7 guest:
[...]
cpu at 1 {
device_type = "cpu";
compatible = "arm,cortex-a15";
enable-method = "psci";
reg = <0x1>;
};
[...]
The 32bit kernel doesn't check it, though.
M.
--
Jazz is not dead. It just smells funny...
More information about the linux-arm-kernel
mailing list