From 26d39b5c7798648827f5a38f21d1f8182ffc563f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mart=C3=AD=20Bol=C3=ADvar?= Date: Tue, 21 Mar 2023 15:23:12 -0700 Subject: [PATCH] specification: domains: make id sometimes optional MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previous use cases for execution domains generally required an id property. However, as the specification is applied in more contexts, it's becoming clear that it may not always be needed. In particular, the Zephyr RTOS is not expected to have initial use cases for this property (though it may in the future start using it). To avoid forcing these users to maintain unique id properties that are not needed, refine the binding so that 'id' is only needed in some cases. Fixes: #163 Signed-off-by: Martí Bolívar Reviewed-by: Stefano Stabellini --- .../source/chapter3-execution-domains.rst | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/specification/source/chapter3-execution-domains.rst b/specification/source/chapter3-execution-domains.rst index 9c481c27..f2f6b140 100644 --- a/specification/source/chapter3-execution-domains.rst +++ b/specification/source/chapter3-execution-domains.rst @@ -104,8 +104,8 @@ Execution Domain Binding, v1 the default value is zero. ``sram`` SD ```` the MMIO SRAM assigned to the domain. - ``id`` R ```` A 32-bit integer that uniquely - identifies the domain + ``id`` SD ```` See :numref:`domains-id`. A 32-bit integer + that uniquely identifies the domain. ``os,type`` SD ```` See :numref:`domains-os-type` ``#access-implicit-default-cells`` SD ```` See :numref:`domains-implicit-flags` ``access-implicit-default`` SD array See :numref:`domains-implicit-flags` @@ -298,6 +298,24 @@ Within each triplet: - *flags* contains domain-specific flags. The number of cells in each flag is defined by the *#sram-flags-cells* property of the execution domain. +.. _domains-id: + +id Property +~~~~~~~~~~~ + +This property may be used to provide a unique numeric identifier for the +domain. + +Although it is optional in general, the *id* property is required if the +*compatible* property of the domain node contains any string which matches one +of the following patterns: + +- "xilinx,subsystem*" +- "xen,domain*" + +For example, a domain whose *compatible* property includes +"xilinx,subsystem-v1" must have an *id* property. + .. _domains-os-type: os,type Property