summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Shubin <n.shubin@yadro.com>2022-02-11 14:11:54 +0300
committerAnup Patel <anup@brainfault.org>2022-02-15 18:29:38 +0300
commitf2ccf2f783b43e8ca2b42cdeade7663599284a86 (patch)
tree82cc44778551db003ab58188c9d50f5f9be38dc8
parent3a69cc1487dc318aadede61c7e580d6fb1109fe8 (diff)
downloadopensbi-f2ccf2f783b43e8ca2b42cdeade7663599284a86.tar.xz
lib: sbi: verbose sbi_domain_root_add_memregion
Be more verbose on region confict, print addresses in conflict. Signed-off-by: Nikita Shubin <n.shubin@yadro.com> Reviewed-by: Xiang W <wxjstz@126.com> Reviewed-by: Anup Patel <anup@brainfault.org>
-rw-r--r--include/sbi/sbi_domain.h4
-rw-r--r--lib/sbi/sbi_domain.c8
2 files changed, 9 insertions, 3 deletions
diff --git a/include/sbi/sbi_domain.h b/include/sbi/sbi_domain.h
index 15e3a53..b90f59c 100644
--- a/include/sbi/sbi_domain.h
+++ b/include/sbi/sbi_domain.h
@@ -174,7 +174,9 @@ int sbi_domain_register(struct sbi_domain *dom,
* Add a memory region to the root domain
* @param reg pointer to the memory region to be added
*
- * @return 0 on success and negative error code on failure
+ * @return 0 on success
+ * @return SBI_EALREADY if memory region conflicts with existing
+ * @return SBI_EINVAL otherwise
*/
int sbi_domain_root_add_memregion(const struct sbi_domain_memregion *reg);
diff --git a/lib/sbi/sbi_domain.c b/lib/sbi/sbi_domain.c
index a1ac1bb..4e4c1e1 100644
--- a/lib/sbi/sbi_domain.c
+++ b/lib/sbi/sbi_domain.c
@@ -471,8 +471,12 @@ int sbi_domain_root_add_memregion(const struct sbi_domain_memregion *reg)
/* Check for conflicts */
sbi_domain_for_each_memregion(&root, nreg) {
- if (is_region_conflict(reg, nreg))
- return SBI_EINVAL;
+ if (is_region_conflict(reg, nreg)) {
+ sbi_printf("%s: is_region_conflict check failed"
+ " 0x%lx conflicts existing 0x%lx\n", __func__,
+ reg->base, nreg->base);
+ return SBI_EALREADY;
+ }
}
/* Append the memregion to root memregions */