[PATCH 1/2] lib: Check region base for merging in sbi_domain_root_add_memregion()
Atish Patra
atishp at atishpatra.org
Thu May 20 22:46:48 PDT 2021
On Thu, May 20, 2021 at 9:01 AM Anup Patel <anup.patel at wdc.com> wrote:
>
> We can merge region B onto region A only if base of region A is
> aligned to region A order + 1.
>
> Signed-off-by: Anup Patel <anup.patel at wdc.com>
> ---
> lib/sbi/sbi_domain.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/lib/sbi/sbi_domain.c b/lib/sbi/sbi_domain.c
> index 84f30b9..3096af0 100644
> --- a/lib/sbi/sbi_domain.c
> +++ b/lib/sbi/sbi_domain.c
> @@ -511,7 +511,8 @@ int sbi_domain_root_add_memregion(const struct sbi_domain_memregion *reg)
> if (!nreg1->order)
> continue;
>
> - if ((nreg->base + BIT(nreg->order)) == nreg1->base &&
> + if (!(nreg->base & (BIT(nreg->order + 1) - 1)) &&
> + (nreg->base + BIT(nreg->order)) == nreg1->base &&
> nreg->order == nreg1->order &&
> nreg->flags == nreg1->flags) {
> nreg->order++;
> --
> 2.25.1
>
>
> --
> opensbi mailing list
> opensbi at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/opensbi
Reviewed-by: Atish Patra <atish.patra at wdc.com>
--
Regards,
Atish
More information about the opensbi
mailing list