summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 */