blob: d50d0c9c7b50cf533133a3dc4b6aca8c022e18b7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#include "../addlist.c"
#include "../freelist.c"
#include "../movebits.c"
struct syslinux_memmap *test_build_mmap(struct test_memmap_entry *entries,
size_t nr_entries)
{
struct syslinux_memmap *mmap;
int i;
mmap = syslinux_init_memmap();
if (!mmap)
goto bail;
for (i = 0; i < nr_entries; i++) {
enum syslinux_memmap_types type = entries[i].type;
addr_t start = entries[i].start;
addr_t size = entries[i].size;
if (syslinux_add_memmap(&mmap, start, size, type))
goto bail;
}
return mmap;
bail:
syslinux_free_memmap(mmap);
return NULL;
}
int test_attempt_movelist(struct syslinux_memmap *mmap, addr_t dst,
addr_t src, size_t len)
{
struct syslinux_movelist *frags = NULL;
struct syslinux_movelist *moves = NULL;
int rv;
rv = syslinux_add_movelist(&frags, dst, src, len);
if (rv)
goto bail;
rv = syslinux_compute_movelist(&moves, frags, mmap);
bail:
syslinux_free_movelist(frags);
syslinux_free_movelist(moves);
return rv;
}
|