diff options
-rw-r--r-- | include/sbi/sbi_domain.h | 4 | ||||
-rw-r--r-- | lib/sbi/sbi_domain.c | 8 |
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 */ |