diff options
author | Udit Kumar <u-kumar1@ti.com> | 2023-10-10 21:47:43 +0530 |
---|---|---|
committer | Udit Kumar <u-kumar1@ti.com> | 2023-10-12 21:09:02 +0530 |
commit | effb67a5cb290ee138b21d5636e5fbcf16ccde3c (patch) | |
tree | d3976cd2a040a49699901aef5034cc722ec5c7fa | |
parent | 680a3d3c4c9b43ce7ca75879fa02aedacef5158e (diff) |
test: lmb: Add test for coalescing and overlap range
commit 4a6105e7830e9e945a6dc556a43ffaf26f0156e5 upstream.
Add test case for an address range which is coalescing with one of
range and overlapping with next range
Cc: Simon Glass <sjg@google.com>
Signed-off-by: Udit Kumar <u-kumar1@ti.com>
-rw-r--r-- | test/lib/lmb.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/test/lib/lmb.c b/test/lib/lmb.c index 16288750358..15c68ce3961 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; } |