From: Udit Kumar Date: Tue, 26 Sep 2023 11:24:43 +0000 (+0530) Subject: test: lmb: Add test for coalescing and overlap range X-Git-Url: http://git.dujemihanovic.xyz/?a=commitdiff_plain;h=4a6105e7830e9e945a6dc556a43ffaf26f0156e5;p=u-boot.git test: lmb: Add test for coalescing and overlap range Add test case for an address range which is coalescing with one of range and overlapping with next range Cc: Simon Glass Signed-off-by: Udit Kumar Reviewed-by: Simon Glass --- diff --git a/test/lib/lmb.c b/test/lib/lmb.c index 1628875035..15c68ce396 100644 --- a/test/lib/lmb.c +++ b/test/lib/lmb.c @@ -451,12 +451,23 @@ static int lib_test_lmb_overlapping_reserve(struct unit_test_state *uts) ut_asserteq(ret, 0); ASSERT_LMB(&lmb, ram, ram_size, 2, 0x40010000, 0x10000, 0x40030000, 0x10000, 0, 0); - /* allocate 2nd region */ + /* allocate 2nd region , This should coalesced all region into one */ ret = lmb_reserve(&lmb, 0x40020000, 0x10000); ut_assert(ret >= 0); ASSERT_LMB(&lmb, ram, ram_size, 1, 0x40010000, 0x30000, 0, 0, 0, 0); + /* allocate 2nd region, which should be added as first region */ + ret = lmb_reserve(&lmb, 0x40000000, 0x8000); + ut_assert(ret >= 0); + ASSERT_LMB(&lmb, ram, ram_size, 2, 0x40000000, 0x8000, + 0x40010000, 0x30000, 0, 0); + + /* allocate 3rd region, coalesce with first and overlap with second */ + ret = lmb_reserve(&lmb, 0x40008000, 0x10000); + ut_assert(ret >= 0); + ASSERT_LMB(&lmb, ram, ram_size, 1, 0x40000000, 0x40000, + 0, 0, 0, 0); return 0; }