| // SPDX-License-Identifier: GPL-2.0-or-later |
| #include "tests/common.h" |
| #include <string.h> |
| |
| #define INIT_MEMBLOCK_REGIONS 128 |
| #define INIT_MEMBLOCK_RESERVED_REGIONS INIT_MEMBLOCK_REGIONS |
| |
| static struct test_memory memory_block; |
| |
| void reset_memblock_regions(void) |
| { |
| memset(memblock.memory.regions, 0, |
| memblock.memory.cnt * sizeof(struct memblock_region)); |
| memblock.memory.cnt = 1; |
| memblock.memory.max = INIT_MEMBLOCK_REGIONS; |
| memblock.memory.total_size = 0; |
| |
| memset(memblock.reserved.regions, 0, |
| memblock.reserved.cnt * sizeof(struct memblock_region)); |
| memblock.reserved.cnt = 1; |
| memblock.reserved.max = INIT_MEMBLOCK_RESERVED_REGIONS; |
| memblock.reserved.total_size = 0; |
| } |
| |
| void reset_memblock_attributes(void) |
| { |
| memblock.memory.name = "memory"; |
| memblock.reserved.name = "reserved"; |
| memblock.bottom_up = false; |
| memblock.current_limit = MEMBLOCK_ALLOC_ANYWHERE; |
| } |
| |
| void setup_memblock(void) |
| { |
| reset_memblock_regions(); |
| memblock_add((phys_addr_t)memory_block.base, MEM_SIZE); |
| } |
| |
| void dummy_physical_memory_init(void) |
| { |
| memory_block.base = malloc(MEM_SIZE); |
| assert(memory_block.base); |
| } |
| |
| void dummy_physical_memory_cleanup(void) |
| { |
| free(memory_block.base); |
| } |