diff options
| author | Gregor Haas <[email protected]> | 2024-08-08 20:47:12 -0700 |
|---|---|---|
| committer | Anup Patel <[email protected]> | 2024-08-24 14:08:00 +0530 |
| commit | b0ad9e0bdd7804fad76dac4228b8a79e3c953310 (patch) | |
| tree | e5a3a025cc46cfc89205c1bcaf799a9859189523 /lib | |
| parent | c5b6ebd141ee33a6280f77bd84be8d0603ef7f77 (diff) | |
lib: utils: fdt_domain: Make opensbi-domain optional in CPU node
The domain_support.md documentation states that "the HART to domain instance
assignment can be parsed from the device tree using *optional* DT property
opensbi-domain in each CPU DT node". However, the current implementation does
not treat this parameter as optional when determining which HARTs to assign to
a freshly discovered domain from the device tree, causing an effect where every
HART in the system must be explicitly assigned to a domain only if a domain is
specified in the device tree. Instead, this patch simply ignores CPUs that do
not specify a domain, and does not attempt to assign them into the recently
discovered domain.
Signed-off-by: Gregor Haas <[email protected]>
Reviewed-by: Anup Patel <[email protected]>
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/utils/fdt/fdt_domain.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/utils/fdt/fdt_domain.c b/lib/utils/fdt/fdt_domain.c index 8683bb3e..4fde50f5 100644 --- a/lib/utils/fdt/fdt_domain.c +++ b/lib/utils/fdt/fdt_domain.c @@ -475,12 +475,12 @@ static int __fdt_parse_domain(const void *fdt, int domain_offset, void *opaque) if (!fdt_node_is_enabled(fdt, cpu_offset)) continue; + /* This is an optional property */ val = fdt_getprop(fdt, cpu_offset, "opensbi-domain", &len); - if (!val || len < 4) { - err = SBI_EINVAL; - goto fail_free_all; - } + if (!val || len < 4) + continue; + /* However, it should be valid if specified */ doffset = fdt_node_offset_by_phandle(fdt, fdt32_to_cpu(*val)); if (doffset < 0) { err = doffset; |
