[PATCH 1/2] lib: Check region base for merging in sbi_domain_root_add_memregion()
Xiang W
wxjstz at 126.com
Thu May 20 23:38:52 PDT 2021
在 2021-05-20四的 21:29 +0530,Anup Patel写道:
> 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>
Reviewed-by: Xiang W <wxjstz at 126.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
>
>
More information about the opensbi
mailing list