[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