[PATCH v3 0/3] OpenSBI domain initialization order

Anup Patel anup.patel at oss.qualcomm.com
Sat Sep 5 06:17:45 PDT 2026


Currently, we rely on the "opensbi-domain" DT property of CPU DT nodes
to select the domain assigned to each HART at boot-time but unfortunately
this is only suitable if we have two non-ROOT domains (aka trused and
non-trusted. For more than two non-ROOT domains, the domain initialization
order should be much more predictable where users should define the exact
order via some DT property under domain DT nodes.

These patches can also be found in sbi_domain_init_order_v3 branch
at: https://github.com/avpatel/opensbi.git

Changes since v2:
- Drop unused cpus_offset variable in PATCH2
- Update documentation of next-arg1, next-addr, and next-mode DT
  properties in PATCH2
- Added documentation of init-order DT property in PATCH3

Changes since v1:
- Removed unwanted "break" from the loop in sbi_domain_context_exit()
- Use root values when "next-arg1", "next-addr" and "next-mode" DT
  properties are absent in the domain DT node.

Anup Patel (3):
  lib: sbi_domain: Check possible harts in
    sbi_domain_context_enter/exit()
  lib: sbi_domain: Re-work boot-time assignment of HARTs to non-ROOT
    domains
  lib: sbi_domain: Introduce domain intialization order

 docs/domain_support.md             |  49 ++++++-------
 include/sbi/sbi_domain.h           |   6 +-
 include/sbi_utils/fdt/fdt_domain.h |   3 +-
 lib/sbi/sbi_domain.c               |  45 +++++++-----
 lib/sbi/sbi_domain_context.c       |  31 +++++---
 lib/utils/fdt/fdt_domain.c         | 110 ++++-------------------------
 6 files changed, 89 insertions(+), 155 deletions(-)

-- 
2.43.0




More information about the opensbi mailing list