diff options
author | Yu Chien Peter Lin <peterlin@andestech.com> | 2022-10-14 03:32:42 +0300 |
---|---|---|
committer | Anup Patel <anup@brainfault.org> | 2022-10-23 07:51:21 +0300 |
commit | dcdaf3027489cadd513767eda6dcaa0c1ecd2d29 (patch) | |
tree | be58d2b9242725c70f1ebd1377f20c40c36947a7 /include/sbi | |
parent | 60b78fee9225155ac6e9d4733bf3dc0f7a8a9933 (diff) | |
download | opensbi-dcdaf3027489cadd513767eda6dcaa0c1ecd2d29.tar.xz |
lib: sbi: Add sbi_domain_root_add_memrange() API
This patch generalizes the logic to add a memory range with desired
alignment and flags of consecutive regions to the root domain.
Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
Diffstat (limited to 'include/sbi')
-rw-r--r-- | include/sbi/sbi_domain.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/sbi/sbi_domain.h b/include/sbi/sbi_domain.h index 00662a1..5553d21 100644 --- a/include/sbi/sbi_domain.h +++ b/include/sbi/sbi_domain.h @@ -180,6 +180,20 @@ int sbi_domain_register(struct sbi_domain *dom, */ int sbi_domain_root_add_memregion(const struct sbi_domain_memregion *reg); +/** + * Add a memory range with its flags to the root domain + * @param addr start physical address of memory range + * @param size physical size of memory range + * @param align alignment of memory region + * @param region_flags memory range flags + * + * @return 0 on success + * @return SBI_EALREADY if memory region conflicts with the existing one + * @return SBI_EINVAL otherwise + */ +int sbi_domain_root_add_memrange(unsigned long addr, unsigned long size, + unsigned long align, unsigned long region_flags); + /** Finalize domain tables and startup non-root domains */ int sbi_domain_finalize(struct sbi_scratch *scratch, u32 cold_hartid); |