forked from Mirrors/opensbi
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 <gregorhaas1997@gmail.com> Reviewed-by: Anup Patel <anup@brainfault.org>
This commit is contained in:
@@ -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;
|
||||
|
Reference in New Issue
Block a user