Skip to content

Commit

Permalink
specification: zero cpu-mask is "all the CPUs"
Browse files Browse the repository at this point in the history
Extend the execution domain binding to say that a cpu-mask cell value
of 0 means that the domain runs on all of the CPUs in the cluster.

This seems like a common case, and it is a useful shorthand which may
help users, who could define a self-documenting macro like
"DOMAIN_CPU_MASK_ALL" or so for this.

Fixes: devicetree-org#166
Signed-off-by: Martí Bolívar <[email protected]>
Reviewed-by: Stefano Stabellini <[email protected]>
  • Loading branch information
mbolivar-nordic committed May 10, 2023
1 parent 7b231b9 commit 4ab918f
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions specification/source/chapter3-execution-domains.rst
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,33 @@ Within the triplet:
the domain runs on
- *execution-level* is a cluster-specific execution level for the domain

A zero value for the *cpu-mask* cell must be treated as though the bits for all
CPUs in the node with phandle *cpu-cluster* were set. For example, with the
following CPU cluster:

.. code-block:: DTS
cpus_r5: cpus-r5 {
compatible = "cpus,cluster";
/* ... */
cpu@0 { /* ... */ };
cpu@1 { /* ... */ };
};
This *cpus* property value:

.. code-block:: none
cpus = <&cpus_r5 0x0 0x80000001>;
must be treated identically to:

.. code-block:: none
cpus = <&cpus_r5 0x3 0x80000001>;
The execution level is the most privileged level that the domain can
make use of. The permissible values for the *execution-level* cell in a
*cpus* property depend on the CPU cluster hardware. The following
Expand Down

0 comments on commit 4ab918f

Please sign in to comment.