Lines Matching full:ram

47  * Test helper function that reserves 64 KiB somewhere in the simulated RAM and
50 static int test_multi_alloc(struct unit_test_state *uts, const phys_addr_t ram, in test_multi_alloc() argument
55 const phys_addr_t ram_end = ram + ram_size; in test_multi_alloc()
63 ut_assert(ram_end == 0 || ram_end > ram); in test_multi_alloc()
66 ut_assert(alloc_64k_addr >= ram + 8); in test_multi_alloc()
76 ret = lmb_add(&lmb, ram, ram_size); in test_multi_alloc()
83 ut_asserteq(lmb.memory.region[1].base, ram); in test_multi_alloc()
87 ut_asserteq(lmb.memory.region[0].base, ram); in test_multi_alloc()
97 /* allocate somewhere, should be at the end of RAM */ in test_multi_alloc()
161 ut_asserteq(lmb.memory.region[1].base, ram); in test_multi_alloc()
165 ut_asserteq(lmb.memory.region[0].base, ram); in test_multi_alloc()
173 const phys_addr_t ram) in test_multi_alloc_512mb() argument
175 return test_multi_alloc(uts, ram, 0x20000000, 0, 0, ram + 0x10000000); in test_multi_alloc_512mb()
179 const phys_addr_t ram, in test_multi_alloc_512mb_x2() argument
182 return test_multi_alloc(uts, ram, 0x20000000, ram0, 0x20000000, in test_multi_alloc_512mb_x2()
183 ram + 0x10000000); in test_multi_alloc_512mb_x2()
191 /* simulate 512 MiB RAM beginning at 1GiB */ in lib_test_lmb_simple()
196 /* simulate 512 MiB RAM beginning at 1.5GiB */ in lib_test_lmb_simple()
207 /* simulate 512 MiB RAM beginning at 2GiB and 1 GiB */ in lib_test_lmb_simple_x2()
212 /* simulate 512 MiB RAM beginning at 3.5GiB and 1 GiB */ in lib_test_lmb_simple_x2()
218 /* Simulate 512 MiB RAM, allocate some blocks that fit/don't fit */
219 static int test_bigblock(struct unit_test_state *uts, const phys_addr_t ram) in test_bigblock() argument
223 const phys_addr_t ram_end = ram + ram_size; in test_bigblock()
224 const phys_addr_t alloc_64k_addr = ram + 0x10000000; in test_bigblock()
230 ut_assert(ram_end == 0 || ram_end > ram); in test_bigblock()
234 ret = lmb_add(&lmb, ram, ram_size); in test_bigblock()
237 /* reserve 64KiB in the middle of RAM */ in test_bigblock()
240 ASSERT_LMB(&lmb, ram, ram_size, 1, alloc_64k_addr, 0x10000, in test_bigblock()
245 ut_asserteq(a, ram); in test_bigblock()
246 ASSERT_LMB(&lmb, ram, ram_size, 1, a, in test_bigblock()
252 ASSERT_LMB(&lmb, ram, ram_size, 1, a, in test_bigblock()
257 ASSERT_LMB(&lmb, ram, ram_size, 1, alloc_64k_addr, 0x10000, in test_bigblock()
264 ASSERT_LMB(&lmb, ram, ram_size, 1, alloc_64k_addr, 0x10000, in test_bigblock()
274 /* simulate 512 MiB RAM beginning at 1GiB */ in lib_test_lmb_big()
279 /* simulate 512 MiB RAM beginning at 1.5GiB */ in lib_test_lmb_big()
285 /* Simulate 512 MiB RAM, allocate a block without previous reservation */
286 static int test_noreserved(struct unit_test_state *uts, const phys_addr_t ram, in test_noreserved() argument
290 const phys_addr_t ram_end = ram + ram_size; in test_noreserved()
298 ut_assert(ram_end == 0 || ram_end > ram); in test_noreserved()
302 ret = lmb_add(&lmb, ram, ram_size); in test_noreserved()
304 ASSERT_LMB(&lmb, ram, ram_size, 0, 0, 0, 0, 0, 0, 0); in test_noreserved()
309 ASSERT_LMB(&lmb, ram, ram_size, 1, ram + ram_size - alloc_size_aligned, in test_noreserved()
315 ASSERT_LMB(&lmb, ram, ram_size, 1, ram + ram_size - in test_noreserved()
319 ASSERT_LMB(&lmb, ram, ram_size, 2, ram + ram_size - in test_noreserved()
320 (alloc_size_aligned * 2), alloc_size, ram + ram_size in test_noreserved()
326 ASSERT_LMB(&lmb, ram, ram_size, 1, ram + ram_size - alloc_size_aligned, in test_noreserved()
330 ASSERT_LMB(&lmb, ram, ram_size, 0, 0, 0, 0, 0, 0, 0); in test_noreserved()
335 ASSERT_LMB(&lmb, ram, ram_size, 1, ram + ram_size - alloc_size_aligned, in test_noreserved()
340 ASSERT_LMB(&lmb, ram, ram_size, 0, 0, 0, 0, 0, 0, 0); in test_noreserved()
349 /* simulate 512 MiB RAM beginning at 1GiB */ in lib_test_lmb_noreserved()
354 /* simulate 512 MiB RAM beginning at 1.5GiB */ in lib_test_lmb_noreserved()
364 /* simulate 512 MiB RAM beginning at 1GiB */ in lib_test_lmb_unaligned_size()
369 /* simulate 512 MiB RAM beginning at 1.5GiB */ in lib_test_lmb_unaligned_size()
375 * Simulate a RAM that starts at 0 and allocate down to address 0, which must
380 const phys_addr_t ram = 0; in lib_test_lmb_at_0() local
388 ret = lmb_add(&lmb, ram, ram_size); in lib_test_lmb_at_0()
393 ut_asserteq(a, ram + 4); in lib_test_lmb_at_0()
394 ASSERT_LMB(&lmb, ram, ram_size, 1, a, ram_size - 4, in lib_test_lmb_at_0()
401 ASSERT_LMB(&lmb, ram, ram_size, 1, a, ram_size - 4, in lib_test_lmb_at_0()
406 ASSERT_LMB(&lmb, ram, ram_size, 1, a, ram_size - 4, in lib_test_lmb_at_0()
411 ASSERT_LMB(&lmb, ram, ram_size, 0, 0, 0, 0, 0, 0, 0); in lib_test_lmb_at_0()
421 const phys_addr_t ram = 0x40000000; in lib_test_lmb_overlapping_reserve() local
428 ret = lmb_add(&lmb, ram, ram_size); in lib_test_lmb_overlapping_reserve()
433 ASSERT_LMB(&lmb, ram, ram_size, 1, 0x40010000, 0x10000, in lib_test_lmb_overlapping_reserve()
438 ASSERT_LMB(&lmb, ram, ram_size, 1, 0x40010000, 0x10000, in lib_test_lmb_overlapping_reserve()
443 ASSERT_LMB(&lmb, ram, ram_size, 2, 0x40010000, 0x10000, in lib_test_lmb_overlapping_reserve()
448 ASSERT_LMB(&lmb, ram, ram_size, 1, 0x40010000, 0x30000, in lib_test_lmb_overlapping_reserve()
458 * Simulate 512 MiB RAM, reserve 3 blocks, allocate addresses in between.
461 static int test_alloc_addr(struct unit_test_state *uts, const phys_addr_t ram) in test_alloc_addr() argument
464 const phys_addr_t ram_end = ram + ram_size; in test_alloc_addr()
465 const phys_size_t alloc_addr_a = ram + 0x8000000; in test_alloc_addr()
466 const phys_size_t alloc_addr_b = ram + 0x8000000 * 2; in test_alloc_addr()
467 const phys_size_t alloc_addr_c = ram + 0x8000000 * 3; in test_alloc_addr()
473 ut_assert(ram_end == 0 || ram_end > ram); in test_alloc_addr()
477 ret = lmb_add(&lmb, ram, ram_size); in test_alloc_addr()
487 ASSERT_LMB(&lmb, ram, ram_size, 3, alloc_addr_a, 0x10000, in test_alloc_addr()
491 a = lmb_alloc_addr(&lmb, ram, alloc_addr_a - ram); in test_alloc_addr()
492 ut_asserteq(a, ram); in test_alloc_addr()
493 ASSERT_LMB(&lmb, ram, ram_size, 3, ram, 0x8010000, in test_alloc_addr()
498 ASSERT_LMB(&lmb, ram, ram_size, 2, ram, 0x10010000, in test_alloc_addr()
503 ASSERT_LMB(&lmb, ram, ram_size, 1, ram, 0x18010000, in test_alloc_addr()
508 ASSERT_LMB(&lmb, ram, ram_size, 1, ram, ram_size, in test_alloc_addr()
514 ASSERT_LMB(&lmb, ram, ram_size, 1, ram, ram_size, in test_alloc_addr()
524 ASSERT_LMB(&lmb, ram, ram_size, 2, ram, 0x18010000, in test_alloc_addr()
528 ASSERT_LMB(&lmb, ram, ram_size, 1, ram, 0x18010000, in test_alloc_addr()
533 ASSERT_LMB(&lmb, ram, ram_size, 2, ram, 0x18010000, in test_alloc_addr()
537 ASSERT_LMB(&lmb, ram, ram_size, 1, ram, 0x18010000, in test_alloc_addr()
542 ASSERT_LMB(&lmb, ram, ram_size, 1, ram, 0x18010004, in test_alloc_addr()
546 ASSERT_LMB(&lmb, ram, ram_size, 1, ram, 0x18010000, in test_alloc_addr()
550 ret = lmb_free(&lmb, a, alloc_addr_a - ram); in test_alloc_addr()
552 ASSERT_LMB(&lmb, ram, ram_size, 1, ram + 0x8000000, 0x10010000, in test_alloc_addr()
554 d = lmb_alloc_addr(&lmb, ram, 4); in test_alloc_addr()
555 ut_asserteq(d, ram); in test_alloc_addr()
556 ASSERT_LMB(&lmb, ram, ram_size, 2, d, 4, in test_alloc_addr()
557 ram + 0x8000000, 0x10010000, 0, 0); in test_alloc_addr()
564 if (ram != 0) { in test_alloc_addr()
565 ret = lmb_alloc_addr(&lmb, ram - 1, 1); in test_alloc_addr()
576 /* simulate 512 MiB RAM beginning at 1GiB */ in lib_test_lmb_alloc_addr()
581 /* simulate 512 MiB RAM beginning at 1.5GiB */ in lib_test_lmb_alloc_addr()
587 /* Simulate 512 MiB RAM, reserve 3 blocks, check addresses in between */
589 const phys_addr_t ram) in test_get_unreserved_size() argument
592 const phys_addr_t ram_end = ram + ram_size; in test_get_unreserved_size()
593 const phys_size_t alloc_addr_a = ram + 0x8000000; in test_get_unreserved_size()
594 const phys_size_t alloc_addr_b = ram + 0x8000000 * 2; in test_get_unreserved_size()
595 const phys_size_t alloc_addr_c = ram + 0x8000000 * 3; in test_get_unreserved_size()
601 ut_assert(ram_end == 0 || ram_end > ram); in test_get_unreserved_size()
605 ret = lmb_add(&lmb, ram, ram_size); in test_get_unreserved_size()
615 ASSERT_LMB(&lmb, ram, ram_size, 3, alloc_addr_a, 0x10000, in test_get_unreserved_size()
619 s = lmb_get_free_size(&lmb, ram); in test_get_unreserved_size()
620 ut_asserteq(s, alloc_addr_a - ram); in test_get_unreserved_size()
621 s = lmb_get_free_size(&lmb, ram + 0x10000); in test_get_unreserved_size()
622 ut_asserteq(s, alloc_addr_a - ram - 0x10000); in test_get_unreserved_size()
647 /* simulate 512 MiB RAM beginning at 1GiB */ in lib_test_lmb_get_free_size()
652 /* simulate 512 MiB RAM beginning at 1.5GiB */ in lib_test_lmb_get_free_size()