Revision fb1c2cd7 exec.c
b/exec.c | ||
---|---|---|
305 | 305 |
if (!p) { |
306 | 306 |
/* allocate if not found */ |
307 | 307 |
#if defined(CONFIG_USER_ONLY) |
308 |
unsigned long addr; |
|
309 | 308 |
size_t len = sizeof(PageDesc) * L2_SIZE; |
310 | 309 |
/* Don't use qemu_malloc because it may recurse. */ |
311 | 310 |
p = mmap(0, len, PROT_READ | PROT_WRITE, |
312 | 311 |
MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); |
313 | 312 |
*lp = p; |
314 |
addr = h2g(p);
|
|
315 |
if (addr == (target_ulong)addr) {
|
|
313 |
if (h2g_valid(p)) {
|
|
314 |
unsigned long addr = h2g(p);
|
|
316 | 315 |
page_set_flags(addr & TARGET_PAGE_MASK, |
317 | 316 |
TARGET_PAGE_ALIGN(addr + len), |
318 | 317 |
PAGE_RESERVED); |
Also available in: Unified diff