Lines Matching refs:src
48 static int e820_sanitize(libxl__gc *gc, struct e820entry src[], in e820_sanitize() argument
57 if (!src || !map_limitkb || !nr_entries) in e820_sanitize()
69 if (src[i].addr > 0x100000) in e820_sanitize()
72 src[i].type = 0; in e820_sanitize()
73 src[i].size = 0; in e820_sanitize()
74 src[i].addr = -1ULL; in e820_sanitize()
82 if ((src[i].type == E820_RAM) || in e820_sanitize()
83 (src[i].type == E820_UNUSABLE) || in e820_sanitize()
84 (src[i].type == 0)) in e820_sanitize()
87 start = src[i].addr < start ? src[i].addr : start; in e820_sanitize()
88 last = src[i].addr + src[i].size > last ? in e820_sanitize()
89 src[i].addr + src[i].size > last : last; in e820_sanitize()
130 uint64_t end = src[i].addr + src[i].size; in e820_sanitize()
136 if ((src[i].type == E820_UNUSABLE) || in e820_sanitize()
140 src[i].type = 0; in e820_sanitize()
145 if (src[i].type != E820_RAM) in e820_sanitize()
149 if (src[i].addr >= (1ULL<<32)) in e820_sanitize()
153 if (src[i].addr < ram_end) { in e820_sanitize()
156 src[i].type = E820_UNUSABLE; in e820_sanitize()
157 delta = ram_end - src[i].addr; in e820_sanitize()
159 if (src[i].size < delta) in e820_sanitize()
160 src[i].type = 0; in e820_sanitize()
162 src[i].size -= delta; in e820_sanitize()
163 src[i].addr = ram_end; in e820_sanitize()
165 if (src[i].addr + src[i].size != end) { in e820_sanitize()
167 src[i].type = 0; in e820_sanitize()
176 src[i].type = E820_UNUSABLE; in e820_sanitize()
183 if (src[i].type != E820_UNUSABLE) in e820_sanitize()
185 if (ram_end != src[i].addr) in e820_sanitize()
187 if (start != src[i].addr + src[i].size) { in e820_sanitize()
189 src[i].size = start - src[i].addr; in e820_sanitize()
206 if ((src[i].type == E820_RAM) || in e820_sanitize()
207 (src[i].type == 0)) in e820_sanitize()
210 e820[idx].type = src[i].type; in e820_sanitize()
211 e820[idx].addr = src[i].addr; in e820_sanitize()
212 e820[idx].size = src[i].size; in e820_sanitize()
236 memcpy(src, e820, nr * sizeof(struct e820entry)); in e820_sanitize()