summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/domain_support.md6
-rw-r--r--lib/utils/fdt/fdt_domain.c5
2 files changed, 4 insertions, 7 deletions
diff --git a/docs/domain_support.md b/docs/domain_support.md
index 93186c4a..c01e445f 100644
--- a/docs/domain_support.md
+++ b/docs/domain_support.md
@@ -173,9 +173,9 @@ The DT properties of a domain instance DT node are as follows:
Any region of a domain defined in DT node cannot have only M-bits set
in access permissions i.e. it cannot be an m-mode only accessible region.
* **boot-hart** (Optional) - The DT node phandle of the HART booting the
- domain instance. If coldboot HART is assigned to the domain instance then
- this DT property is ignored and the coldboot HART is assumed to be the
- boot HART of the domain instance.
+ domain instance. If not specified, defaults to the coldboot HART. Note that
+ if the coldboot HART is assigned to this domain, it will be forced as
+ the boot HART regardless of this property.
* **next-arg1** (Optional) - The 64 bit next booting stage arg1 for the
domain instance. If this DT property is not available and coldboot HART
is not assigned to the domain instance then **next booting stage arg1 of coldboot HART**
diff --git a/lib/utils/fdt/fdt_domain.c b/lib/utils/fdt/fdt_domain.c
index b2fa8633..1b039533 100644
--- a/lib/utils/fdt/fdt_domain.c
+++ b/lib/utils/fdt/fdt_domain.c
@@ -396,16 +396,13 @@ static int __fdt_parse_domain(const void *fdt, int domain_offset, void *opaque)
dom->fw_region_inited = root.fw_region_inited;
/* Read "boot-hart" DT property */
- val32 = -1U;
+ val32 = current_hartid();
val = fdt_getprop(fdt, domain_offset, "boot-hart", &len);
if (val && len >= 4) {
cpu_offset = fdt_node_offset_by_phandle(fdt,
fdt32_to_cpu(*val));
if (cpu_offset >= 0 && fdt_node_is_enabled(fdt, cpu_offset))
fdt_parse_hart_id(fdt, cpu_offset, &val32);
- } else {
- if (domain_offset == *cold_domain_offset)
- val32 = current_hartid();
}
dom->boot_hartid = val32;